网络安全之红蓝对抗实战

核心提示前言背景介绍:目标是拿到企业www.xxx.com的《上市商业计划书.docx》,通过OPENVPN访问。特别提出的得分规则修改,权限的得分必须有WEBSHELL/交互式SHELL,只有一个漏洞回显不给分,更加偏向考察**漏洞利用**而非漏

简介:目标是获得“上市商业计划书”。并通过OPENVPN访问它。修改了特殊评分规则。权限的评分必须有WEBSHELL/ interactive SHELL,只有一个漏洞echo不会评分,更倾向于考察* *利用* *而不是漏洞验证。

非军事区

DMZ里大概有9台机器,3个入口点和官网被防火墙映射出来模拟互联网,4个页面对应xxx.com的4个子域。

【外链图片传输失败,源站可能有防盗链机制,建议保存图片直接上传】

Ngnix解析漏洞

我在网站目录下写了一个upload.html页面来检查路径扫描。上传的页面被列入白名单。本来是考察在WAF的情况下如何判断黑白名单的。如果一开始就上传了webshell,就很难判断是程序不允许还是WAF屏蔽了,会浪费一些时间。然而,由于实际工艺中的困难,WAF并未启用。细心的同学可能看到Ngnix版本信息会联想到解析漏洞,有经验的老师可能第一时间看到PHP+白名单会联想到解析漏洞。测试时发现“白名单可以绕过”,win环境+文件上传后没有重命名。文件名中不允许使用/* "等符号。所以有:

1.php:。png可以登陆1.php,但是文件内容是0kb,所以无法绕过。等一个高手落地,webshell。

【1】所有资源关注我,私信回复“信息”获取。

PHPStudy后门

通用RCE漏洞+win环境+软杀调查,留下php探针页面。一些常用的下载执行命令无法使用,会被拦截,可以绕过自测LOLBAS。其实这个漏洞的本质是php代码执行。可以直接用file_put_contents写一个句子:

很多人还在用系统写,但是查杀软件并没有帮助PHP_CGI.exe调整powershll/certutil写或者解码文件,进程链也没有被拦截。初衷是不用调用命令就可以执行代码。

JSON漏洞

本来想部署的靶场是四郎JRMP链+win+软杀,但是我不懂java,时间久了也没弄出来。

本来想让大家修改yso实现代码并执行,打希罗JRMP实现内存马/下载执行【java实现】/静态资源写webshell,但是死了。考察JNDI注入+win环境+查杀软件上线,常用的方法是内存木马/下载执行【java实现】/静态资源写webshell。需要自己编写恶意类来实现上述功能。以静态资源为例,如何获取web路径:

其中一个攻击队的学生由echo编写,然后由certutil解码:

如果使用JAVA代码在线下载执行恶意EXE,建议先判断System.getProperty和System.getProperty。Git有很多优秀的JNDI工具可以使用,但初衷是自己实现上述场景中定制的恶意类。一包就成功了,攻击流量不要太多。

办公室网

办公网大概有7台主机通过DMZ区域的redis调用,SMB泄露的账号密码直接被impacket数据包横向移动的脚本使用。同事帮忙搭建了log4j漏洞环境,完善了办公网络的路径划分。log4j的利用类似于fastjson。跨域办公网络仍使用上次保存的RDP连接记录。需要提到的是如何从域外发现域,除了网络侧的netbios扫描或者88389等常用端口的扫描【你需要知道网段,可能会触发大量流量】。如果工作组主机的DNS服务器是域控制的,nslookup域名可以根据返回的DNS服务器名判断是否有域,主机端可以收集的信息是cmdkey /list |findstr Domain和mimikatz收集的凭证。

shell目录/a % user profile % AppData Local Microsoft Credentials *

领域环境

域中有8台主机,目标在corp1.com域,需要获得corp1的域管理权限才能登录。域中的某些主机无法从网络中注销。以下方便的再现为VPSIP提供了一个退出网络的白名单。实用的解决方案,可以使用RDP破解的* * beacon _ bind _ pipe/beacon _ bind _ TCP/pivot listener * * dev user 02登录C06。还有applocker,限制执行的程序,所以dll上线。白+黑参考LOLBAS。

De01.dev.corp1.com-10.5.12.248,从socks4A代理域外开始,sAMAccountName欺骗会直接打出来,使用成功会生成一个域管理的ST访问dev01,PTT会使用secretsdump.py获取krbtgt:

生成黄金账单:

域内横向移动的常用方法:sc,at/schtasks,psexec,wmi,winrm,DCOM。

上线,dev01,CS自己的remote-exec wmi报错。psexec执行上线了,但是又掉线了,这是不稳定的,或者用手敲的:

shell wmic /node:dev01进程调用create "C:xxbeacon.exe "

在DEV01-beacon中运行mimikatz获取凭证,找到corp1jeff用户和steajeff用户的令牌,然后是Kerberoasting,并报告错误:

拥有pth,simulate corp1jeff权限:

SPNuser->在corp1域的Kerberoasting发布中找到user_S02:

execute-assembly C: Users rube us . exe Kerberos ast/outfile:C: Users Jeff TGS . txthashcat-m 13100-a 0-force TGS . txt/usr/share/word lists/fast PWDs . txt

在dev01-beacon,会话是用corp1user_S02派生的,登录失败,所以会话是在C06上派生的,进入corp1域,用corp1user_S02:

发现corp1user_S02是S02的管理员:

与在线设备01相同,在线S02:

找到在S02上运行corp1域管道的进程:

窃取令牌corp1的域管理权限,成功拿下目标S03,窃取目标文件:

离题

追根溯源是可遇不可求的。通过攻击流量或者反制C2来找人,攻击的通常是与自己的域名信息相关联的VPS,或者是带有自己ID的有效载荷,或者是踩在蜜罐上。相反,可能是攻击者在不适当的目录中打开了http服务。上次攻防对抗用UNC获取攻击者ID,挺好的:

用desktop.ini获取ntlm请求访问诱饵文件,然后压缩成www.zip,等人下载解压。

错误启用/根目录中的python-http服务导致的对策:

 
友情链接
鄂ICP备19019357号-22