【翻译】变脸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 user
  • systeminfo
  • nltest
  • whoami

3. 横向移动与工具部署

3.1 合法工具滥用

  • 部署winpty-agent.exewinpty.dll(合法工具)到构建服务器
  • 使用winpty-agent.exe从被攻陷的TeamCity服务器远程执行命令

3.2 恶意工具传输

  • 使用BITSAdmin传输工具到目标服务器,包括:
    • 恶意PowerShell脚本web.ps1
    • 多个DLL文件(被Windows Defender检测为Win64/BianDoor.D)

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关联证据

  1. C2基础设施关联:

    • 136[.]0[.]3[.]71与已知BianLian GO后门服务器相关联
    • 转换为十进制即为136.0.3.71
  2. 杀毒软件检测:

    • 多次检测到Win64/BianDoor.D签名
  3. 功能相似性:

    • 与BianLian GO后门具有相同的功能特性
    • 相同的证书验证机制

6. 防御建议

6.1 预防措施

  • 及时修补互联网暴露面的应用程序,特别是TeamCity服务器
  • 禁用不必要的PowerShell功能
  • 限制PowerShell脚本执行策略

6.2 检测措施

  • 监控以下异常活动:
    • TeamCity服务器上的新用户创建
    • BITSAdmin工具的使用
    • winpty-agent.exewinpty.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活动以及建立有效的事件响应机制。

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 user systeminfo nltest whoami 3. 横向移动与工具部署 3.1 合法工具滥用 部署 winpty-agent.exe 和 winpty.dll (合法工具)到构建服务器 使用 winpty-agent.exe 从被攻陷的TeamCity服务器远程执行命令 3.2 恶意工具传输 使用BITSAdmin传输工具到目标服务器,包括: 恶意PowerShell脚本 web.ps1 多个DLL文件(被Windows Defender检测为Win64/BianDoor.D) 3.3 其他活动 尝试使用FuzzySecurity的PowerShell工具套件转储凭据 在构建服务器上创建新账户并添加到用户组 尝试执行SAM凭证转储技术(触发安全警报) 4. PowerShell后门技术分析 4.1 第一层混淆 解密方法 : 使用简单的XOR加密算法 密钥循环使用 解密后执行第二层PowerShell脚本 4.2 第二层分析 主要功能组件: cakes 函数:解析IP地址 cookies 函数:主后门功能 关键字符串: 网络相关方法: 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地址 URL 8. 总结 BianLian组织展示了高度的适应能力,从GO语言后门转向PowerShell实现以绕过检测。该PowerShell后门具有以下特点: 多层混淆技术 异步命令执行能力 加密通信通道 证书验证机制 防御此类攻击需要多层防护策略,包括及时修补漏洞、严格监控PowerShell活动以及建立有效的事件响应机制。