首页 >> 网络安全 >>渗透测试 >> 记一次简单的Win Server渗透
详细内容

记一次简单的Win Server渗透

0x00

对某单位的某主机系统一次渗透,敏感信息皆已打码

目标环境Windows Server 2008 R2 + IIS7.5 + ASP.NET2.0.50727


0x01

该系统为一个预约系统,先进行端口扫描,发现开放了很多端口,其中称为的135、445、3389端口被防火墙过滤,1433端口开放。爆破1433的sa密码往往很有潜力,所以暂时先放着

1.png

0x02

手工测试功能点,fuzz发现几乎所有的SELECT SQL参数点都不可以注入,这时可以猜到后台使用了统一的查询方式(参数化或ORM),所以就没必要接着尝试SELECT参数了,可以转而将目光放在UPDATE或INSERT,说不定会有转机

果然,测试后发现用户邮箱修改处存在基于时间的盲注

2.png

这里对邮箱格式存在一个前端验证,简单绕过就可以了

3.png

之后getshell后查看原始代码也证实是由于UPDATE语句没有做参数化查询


0x03

SQLMap一把梭,先测试是否有DBA权限

很幸运

4.png

尝试直接使用xp_cmdshell组件执行命令,这里由于是sa用户,所以经常对应的系统权限也很高,这里直接就是SYSTEM权限

5.png

0x04

想继续发掘有用的信息,但发现一个问题,通过时间盲注来获取命令回显很慢,一条dir指令回显几乎需要5-10min,所以需要考虑获取一个WebShell或Meterpreter

WebShell由于不知道绝对路径且获取回显困难,所以暂且搁置

尝试从VPS下载远控,certuril,vbs,无一例外失败了

6.png

接下来需要确定是由于下载失败还是下载成功但被杀,尝试下载普通文本文件————成功。

接着尝试直接执行CS生成的ps1发现一样失败了,猜测是服务器的杀软进行了动态行为的二次确认


0x05

冷静下来再想想,接下来可以尝试写WebShell;或者找到SQL SERVER的配置文件,直接通过开放在公网的1433端口连接,然后xp_cmdshell执行命令(这个的回显当然比时间盲注快多了) ,但找配置文件的索引还是得找到WEB目录。通过已有的时间盲注来翻目录怕是得找一天,所以我需要通过减少少的回显来获知绝对路径

通过wmic先确定目标系统的所有盘符:

wmic logicaldisk where DriveType=3 get DeviceID

7.png

接着通过web路径中某些特征文件名来通配查找:

for /r C:\ %i in (dir1\dir2\special_name.asp*) do @echo %i

for /r C:\ %i in (dir1\dir2\special_name.asp*) do @echo %i

这里由于回显需要时间,就不在os-shell中复现了,通过AntSword演示

8.png

这里回显了7个路径,挨个尝试echo 1> xx\xx\1.txt,最后确定了WEB目录为E:\Program files (x86)\下的某目录

愉快的编写WebShell

9.png

连接

10.png

0x06

WebShell拥有iis权限,所以翻一翻配置文件

11.png

12.png

这个回显就方便多了

0x07

最开始扫目录有管理员登录后台,查询管理员密码,发现密码是80个字节的加密字符串

13.png

没有找到原始码的加密函数(部分原始码只有binary没有.cs),如果有师父知道这是什么加密,欢迎交流

最后想了想,嗯,直接把我普通用户的加密密码插入admin表吧

14.png

成功登录后台


0x08

还记得目标开了3389,尝试连接

通过xp_cmdshell的SYSTEM权限添加用户

net user iv4n$ xxxxxxx /add

net localgroup administrators iv4n$ /add

15.png

但防火墙限制了3389的外网访问,尝试通过socks代理转发

(考虑到EXE需要免杀,所以本打算使用系统netsh组件端口转发,连接时却转发异常,之后使用reGeorge访问目标内网端口)

16.png

一切似乎都很好,测试一下没问题

17.png

编辑代理链的配置为本地4444端口的socks4代理,通过代理链套rdesktop连接

18.png

0x09

目标系统没有域环境,所以测试就到此为止了

《原文:记一次简单的Win Server渗透

技术支持: 建站ABC | 管理登录