【翻译】变脸BianLian用PowerShell重写了 BianLian GO后门
字数 1985 2025-08-23 18:31:34
BianLian PowerShell后门分析与防御指南
1. 背景概述
BianLian是一个勒索软件组织,在2023年1月Avast发布其解密工具后,该组织转向了仅勒索的运营模式。近期发现BianLian组织使用PowerShell重写了其原本用GO语言编写的后门程序,以绕过安全检测。
2. 初始入侵手段
2.1 漏洞利用
- 利用TeamCity服务器漏洞(CVE-2024-27198或CVE-2023-42793)获取初始访问权限
- 在TeamCity中创建新用户
- 在TeamCity服务账户下执行恶意命令
2.2 初始侦察
攻击者使用以下Windows原生命令进行网络侦察:
net usersysteminfonltestwhoami
3. 横向移动与工具部署
3.1 合法工具滥用
- 部署
winpty-agent.exe和winpty.dll(合法工具)到构建服务器 - 使用
winpty-agent.exe从被攻陷的TeamCity服务器远程执行命令
3.2 恶意工具传输
- 使用BITSAdmin传输工具到目标服务器,包括:
- 恶意PowerShell脚本
web.ps1 - 多个DLL文件(被Windows Defender检测为Win64/BianDoor.D)
- 恶意PowerShell脚本
3.3 其他活动
- 尝试使用FuzzySecurity的PowerShell工具套件转储凭据
- 在构建服务器上创建新账户并添加到用户组
- 尝试执行SAM凭证转储技术(触发安全警报)
4. PowerShell后门技术分析
4.1 第一层混淆
[byte[]]$payload = 88,83,97,68,74,8,40,40,85,8,0,22,25,10,25,45,38,57,117,30,58,16,9,15,37,2,51,3,116,35,47,9,12,49,57,62,8,25,115,42,46,60,46,62,52,17,63,62,100,24,...redacted...
function x($pt, $key) {
$ct = ""
$kp = 0
$ka = $key.ToCharArray()
$pt.ToCharArray() | foreach-object -process {
$ct += [char]([byte][char]$_ -bxor $ka[$kp])
$kp += 1
if ($kp -eq $key.Length) { $kp = 0 }
}
return $ct
}
$key = <redacted>
$ps = [System.Text.Encoding]::UTF8.GetString($payload)
$cmd = x $ps $key
$cmd | iex
解密方法:
- 使用简单的XOR加密算法
- 密钥循环使用
- 解密后执行第二层PowerShell脚本
4.2 第二层分析
主要功能组件:
cakes函数:解析IP地址cookies函数:主后门功能
关键字符串:
Write-Host "Connecting to Server. . ."
Write-Host "Connected"
网络相关方法:
- SSL流处理
- TCP套接字操作
4.3 去混淆后分析
cakes函数
- 根据输入参数解析IP地址
- 用于验证C2服务器提供的IP地址或主机名
cookies函数
- 默认参数
0x7F000001(127.0.0.1的十六进制表示) - 使用Runspace Pool实现异步代码执行
- 利用
.NET PowerShell.Create()方法调用ScriptBlock - 通过SSL流在C2和受感染系统间传递数据
4.4 网络功能
- 使用
RemoteCertificateValidationCallback验证远程SSL证书 - 使用
GetCertHashString获取X.509证书哈希值 - 建立加密的SSL流通信通道
- 支持异步命令执行
5. BianLian关联证据
-
C2基础设施关联:
136[.]0[.]3[.]71与已知BianLian GO后门服务器相关联- 转换为十进制即为136.0.3.71
-
杀毒软件检测:
- 多次检测到
Win64/BianDoor.D签名
- 多次检测到
-
功能相似性:
- 与BianLian GO后门具有相同的功能特性
- 相同的证书验证机制
6. 防御建议
6.1 预防措施
- 及时修补互联网暴露面的应用程序,特别是TeamCity服务器
- 禁用不必要的PowerShell功能
- 限制PowerShell脚本执行策略
6.2 检测措施
- 监控以下异常活动:
- TeamCity服务器上的新用户创建
- BITSAdmin工具的使用
winpty-agent.exe和winpty.dll的异常使用- 异常的PowerShell执行行为
6.3 响应措施
- 演练事件响应计划
- 进行威胁情报驱动的渗透测试
- 建立有效的威胁情报收集和分析流程
7. 入侵指标(IOCs)
文件相关
| 类型 | 值 | 描述 |
|---|---|---|
| Filename | web.ps1 | BianLian GO后门的PowerShell实现 |
| MD5 | 977ff17cd1fbaf0753d4d5aa892af7aa | Web.ps1哈希 |
| SHA1 | 1af5616fa3b4d2a384000f83e450e4047f04cb57 | Web.ps1哈希 |
| SHA256 | 7981cdb91b8bad8b0b894cfb71b090fc9773d830fe110bd4dd8f52549152b448 | Web.ps1哈希 |
IP地址
136[.]0[.]3[.]71 - BianLian C2基础设施
88[.]169[.]109[.]111 - 与TeamCity恶意认证相关
165[.]227[.]151[.]123 - 与TeamCity恶意认证相关
77[.]75[.]230[.]164 - 与TeamCity恶意认证相关
164[.]92[.]243[.]252 - 与TeamCity恶意认证相关
64[.]176[.]229[.]97 - 与TeamCity恶意认证相关
164[.]92[.]251[.]25 - 与TeamCity恶意认证相关
126[.]126[.]112[.]143 - 与TeamCity恶意认证相关
38[.]207[.]148[.]147 - 与TeamCity恶意认证相关
101[.]53[.]136[.]60 - 与TeamCity恶意认证相关
188[.]166[.]236[.]38 - 与TeamCity恶意认证相关
185[.]174[.]137[.]26 - 与TeamCity恶意认证相关
URL
hxxp://136[.]0[.]3[.]71:8001/win64.exe - BianLian C2基础设施
hxxp://136[.]0[.]3[.]71:8001/64.dll - BianLian C2基础设施
8. 总结
BianLian组织展示了高度的适应能力,从GO语言后门转向PowerShell实现以绕过检测。该PowerShell后门具有以下特点:
- 多层混淆技术
- 异步命令执行能力
- 加密通信通道
- 证书验证机制
防御此类攻击需要多层防护策略,包括及时修补漏洞、严格监控PowerShell活动以及建立有效的事件响应机制。