软件赛区域半决2026misc题解
原来是区域线下赛啊,我还以为是不隔离内网环境、没有任何屏蔽器、随便用线上agent、渗透别人机子、赛前公众号透题的野鸡比赛呢
ai题放在ai提示词注入浅析那个文章里了,这里存一下流量。
pth_attack
抓了别人渗透横向移动的流量,刚好学习一下怎么看渗透流量
这题有点套,包括ntlm、winrm、smb、tls、rdp的键盘 的流量解密。
拿到流量可以发现他前面试了很多的ntlm的尝试,直到后面三次才成功
也就是图中绿的这三次,后面三次黄色的ntlm爆破不出来的,因为没有domain(域名)
绿的这三次虽然有些不一样,但是最后hashcat爆破出来的密码是一样的,我提取到的一次是:
1 | administrator::pc:e4191b09461ba455:74a74f048964fa4a31781a5f55d4aed9:0101000000000000a2fcff67bc72dc01cb089a6f021e84960000000002000a0044004500310041005900010004005000430004001200640065003100610079002e0063006f006d0003001800500043002e00640065003100610079002e0063006f006d0005001200640065003100610079002e0063006f006d0007000800a2fcff67bc72dc010600040002000000080030003000000000000000000000000030000026544cc05c735b21ae876ab6adeaf35030fb649315896d1d685326c99ddb5f6b0a001000000000000000000000000000000000000900220048005400540050002f00310030002e00310030002e00310030002e00320030003100000000000000000000000000 |
hashcat爆破一下得到密码:pass@word1
这个pass@word1是winrm的默认密码,我们需要那这个密码去解密(ctfneta的解密不完全,少了后面一半,不要用。)
我这里用解密脚本decrypt-winrm,拿到一堆xml的东西(出错的话稍微改改)
稍微搞一下把所有base64的东西留下,解密一下就能知道他在干嘛了。
他执行了:
1 | pc\administrator |
就是下了个猕猴桃然后从内存中导出所有登录用户的密码,那我们也可以找到密码了。
拿到hash之后解密后面两个没有域名的流量,用smb的脚本SMB Decryption - TryHackMe
(这里解密smb流量可以参考谍影重重五)
passwordhash是刚刚猕猴桃里找到的,其他ntProofStr、serverChallenge、sessionKey都能在流量里找到
1 | from Crypto.Cipher import ARC4 |
得到key:3252507a61756f507132585748475953
session id 也能在流量中找到:0x0000480000000055
转化为小端序(也就是去掉0x每两个字节反转):5500000000480000
现在得到了Session Key 3252507a61756f507132585748475953和Session ID 5500000000480000组合起来,放入Wireshark中的SMB2解密(编辑->首选项->Protocols->SMB2)
然后我们就能在导出对象-smb里看到很多东西了
在%5csvcctl文件中可以看到他执行了
1 | %COMSPEC% /Q /c echo net group "Domain Admins" admin /add /domain ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat |
但是我们需求的东西在导出的文件里是找不到的,应该是wireshark导出时候的问题,我们还是一条条自己看,着重看那些CreateServiceW request 的流量。
在3347条能发现
1 | %COMSPEC% /Q /c echo net user admin kPxQ1GT9zA9E /add ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & %COMSPEC% /Q /c %TEMP%\execute.bat & del %TEMP%\execute.bat |
就能得到admin的密码了。
所以这个人就是创建了一个密码是kPxQ1GT9zA9E的admin用户,然后把他放到了Domain Admins组里面
继续解密第二段smb流量,跟上面的方法差不多
1 | from Crypto.Cipher import ARC4 |
得到 Session Key is: 4e6939527a31453673734f3665337337,Session Id:6500000000480000(0x0000480000000065)
然后就能发现一个ptx文件了,导出
使用openssl把ptx转为pem 如何使用Wireshark解密RDP协议
1 | openssl pkcs12 -in '%5cLOCAL_MACHINE_Remote Desktop_0_WIN-PJQQGRU9QOC.pfx' -out rdp.pem -nodes -legacy |
密码是默认密码:mimikatz,就导出了pem文件
把tls导入第二个流量,就能发现有很多键鼠流量
现在就是解密rdp下的键鼠流量了,协议在这:Scan Codes Demystified
对照表大概就是:
先过滤rdp分组,然后导出分组解析结果-为纯文本-packet details选All expanded
使用脚本:
1 | import re |
得到flag:DART{5B3A641F-9454-4518-A85D-6F7D4D6EAEFB}









