新聞中心
我們希望大家能在新的一年里做的更好,尤其是能更快更有效地分析惡意軟件。數(shù)年前,我構(gòu)建了一個惡意軟件分析沙箱腳本,用于每日的分析和逆向工作。現(xiàn)在讓我給大家展示下如何在幾秒鐘內(nèi),不用太多設(shè)置,就能進行惡意軟件分析。

岳西ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
介紹
如果你在推特上關(guān)注了我,或者對本博客以前的內(nèi)容有所了解,你可能就會熟悉Noriben。不管怎樣,我這里先做個介紹,它是一個非常簡單的腳本。在典型行為的分析中,可能會在沙箱里運行惡意軟件,看它會如何創(chuàng)建,如何運行進程,以及對系統(tǒng)產(chǎn)生了什么影響。大多數(shù)團隊所用的方法,是將惡意軟件上傳到如VirtusTotal之類的反病毒測試網(wǎng)站,或者鐘情于在線沙箱如Malwr,或者干脆使用本地的Cuckoo沙箱。
對于那些上傳文件到互聯(lián)網(wǎng)的團隊,我只能說著這種行為對APT攻擊來講是非常不明智的。黑客如果有心的話,其實是可以發(fā)現(xiàn)他們的文件已經(jīng)被上傳到在線監(jiān)控網(wǎng)站里。
本地檢測惡意軟件通??梢酝ㄟ^Cuckoo來做,這是一個不錯的開源沙箱,它可以用來分析惡意軟件,獲取較為全面的分析結(jié)果。然而,用這玩意兒其實挺費勁,在不同的環(huán)境里進行正確設(shè)置會相對困難。它在Linux下安裝相對容易,而安裝在Windows和OSX下有點蛋疼。就我而言,在外面隨便拿出一個筆記本電腦,就可能會需要安上沙箱開始做事。
如果你上過惡意軟件分析的培訓(xùn),你可能也會使用SysInternals Procmon工具來監(jiān)控系統(tǒng)環(huán)境。某些人或許學(xué)了使用Regmon和Filemon,這些都是古董知識了。某些人可能會使用Regshot,這工具其實現(xiàn)在已經(jīng)跟不上時代。
Noriben是Procmon工具的簡單的包裝改造,它收集了成千上萬的事件,然后使用自定義的白名單設(shè)置,精簡后對系統(tǒng)審查。下面是2015年黑帽大會Arsenal分會場進行的片段,ppt如下:
http://www.slideshare.net/bbaskin/slideshelf
這個視頻沒有對工具細節(jié)本身做太多關(guān)注,你可以看這里:
http://www.ghettoforensics.com/noriben
Vmware里的自動化沙箱
Noriben會要求你在沙箱里交互式運行惡意軟件。在啟動Noriben后,它會在你運行惡意軟件時收集系統(tǒng)整體信息。分析人員希望在沙箱里與惡意軟件進行交互時,會使用它進行惡意指標(biāo)收集,比如這個視頻里的VM檢查。
Youtube地址:https://www.youtube.com/watch?v=kmCzAmqMeTY
然而,本文強調(diào)的是通過自動化的方式,直接從你的主機系統(tǒng)中提取,避免以上的情況。隨后提交樣本,接收結(jié)果報告。
使用了Vmware里的vmrun命令后,這個腳本會將VM恢復(fù)到某已知的快照中,將惡意軟件copy進去,然后運行Noriben,最后將報告zip打包取出。從下面的命令行里,我們可以在60秒內(nèi)獲取某個文件的惡意軟件報告,下面是OSX下的bash腳本:
#!/bin/bash#Noriben Sandbox Automation Script#Responsible for:#* Copying malware into a known VM#* Running malware sample#* Copying off results##Ensure you set the environment variables below to match your systemif [ ! -f $1 ]; then echo "Please provide executable filename as an argument." echo "For example:" echo "$0 ~/malware/ef8188aa1dfa2ab07af527bab6c8baf7" exit fi DELAY=10 MALWAREFILE=$1 VMRUN="/Applications/VMware Fusion.app/Contents/Library/vmrun" VMX="/Users/bbaskin/VMs/RSA Victim.vmwarevm/Windows XP Professional.vmx" VM_SNAPSHOT="Baseline" VM_USER=Administrator VM_PASS=password FILENAME=$(basename $MALWAREFILE) NORIBEN_PATH="C:\\Documents and Settings\\$VM_USER\\Desktop\\Noriben.py" ZIP_PATH=C:\\Tools\\zip.exe LOG_PATH=C:\\Noriben_Logs "$VMRUN" -T ws revertToSnapshot "$VMX" $VM_SNAPSHOT "$VMRUN" -T ws start "$VMX""$VMRUN" -gu $VM_USER -gp $VM_PASS copyFileFromHostToGuest "$VMX" "$MALWAREFILE" C:\\Malware\\malware.exe "$VMRUN" -T ws -gu $VM_USER -gp $VM_PASS runProgramInGuest "$VMX" C:\\Python27\\Python.exe "$NORIBEN_PATH" -d -t $DELAY --cmd "C:\\Malware\\Malware.exe" --output "$LOG_PATH"if [ $? -gt 0 ]; then echo "[!] File did not execute in VM correctly." exit fi"$VMRUN" -T ws -gu $VM_USER -gp $VM_PASS runProgramInGuest "$VMX" "$ZIP_PATH" -j C:\\NoribenReports.zip "$LOG_PATH\\*.*"if [ $? -eq 12 ]; then echo "[!] ERROR: No files found in Noriben output folder to ZIP." exit fi"$VMRUN" -gu $VM_USER -gp $VM_PASS copyFileFromGuestToHost "$VMX" C:\\NoribenReports.zip $PWD/NoribenReports_$FILENAME.zip
顯然,這個腳本需要你編輯部分內(nèi)容,設(shè)置正確的路徑。這里默認(rèn)是“C:\Malware\malware.exe”,使用administrator賬戶運行Noriben,并輸出結(jié)果到C:\Noriben_Logs\。
在這里,我們有個使用該腳本掃描惡意文件的視頻:
Youtube地址:https://www.youtube.com/watch?v=Xpt6RdBElCQ
類似的,下面是一個Github上用來在Windows上跑的腳本:
Noriben Sandbox Automation Script:Responsible for::* Copying malware into a known VM :* Running malware sample :* Copying off results ::Ensure you set the environment variables below to match your system @echo off if "%1"=="" goto HELP if not exist "%1" goto HELP set DELAY=10set CWD=%CD%set VMRUN="C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"set VMX="e:\VMs\WinXP_Malware\WinXP_Malware.vmx"set VM_SNAPSHOT="Baseline" SET VM_USER=Administratorset VM_PASS=password set FILENAME=%~nx1 set NORIBEN_PATH="C:\Documents and Settings\%VM_USER%\Desktop\Noriben.py"set LOG_PATH="C:\Noriben_Logs"set ZIP_PATH="C:\Tools\zip.exe" %VMRUN% -T ws revertToSnapshot %VMX% %VM_SNAPSHOT%%VMRUN% -T ws start %VMX%%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromHostToGuest %VMX% "%1" C:\Malware\malware.exe echo %VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% C:\Python27\Python.exe %NORIBEN_PATH% -d -t %DELAY% --cmd "C:\Malware\Malware.exe" --output %LOG_PATH%%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% C:\Python27\Python.exe %NORIBEN_PATH% -d -t %DELAY% --cmd "C:\Malware\Malware.exe" --output %LOG_PATH%if %ERRORLEVEL%==1 goto ERROR1 %VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% %ZIP_PATH% -j C:\NoribenReports.zip %LOG_PATH%\*.*%VMRUN% -gu %VM_USER% -gp %VM_PASS% copyFileFromGuestToHost %VMX% C:\NoribenReports.zip %CWD%\NoribenReports_%FILENAME%.zip goto END :ERROR1 echo [!] File did not execute in VM correctly.goto END :HELP echo Please provide executable filename as an argument. echo For example: echo %~nx0 C:\Malware\ef8188aa1dfa2ab07af527bab6c8baf7 goto END :END
類似的腳本也可以應(yīng)用到VirtualBox。然而,我在實際用guestcontrol copyto在虛擬機和物理機之間copy文件時遇到了麻煩,不過大家盡管可以試試。
如何幫助我
作為開源軟件的開發(fā)者,最大的問題就是處理細節(jié)bug。我目前是這款腳本軟件的唯一開發(fā)者,所以我在里面寫了一些介紹。我希望大家都來提交bug,畢竟每個人都有自己的想法。
如果你想要來幫助我,鄙人不勝感激。下面有兩種幫助方式:
幫助我利用您的編程知識來改善它。
幫助我開發(fā)新的白名單過濾器。
第一個能做的估計只有小部分人,但是,更多的人可以幫助我第二條。我使用自己的VM建立了白名單過濾器。但是我看到別人的報告后,發(fā)現(xiàn)有許多內(nèi)容可以加入我的白名單。曾經(jīng)有一位分析人員寄給我一份報告,里面有數(shù)以百計的列項,我自己的系統(tǒng)產(chǎn)生的要少很多。他里面有許多我不曾預(yù)估到的后端應(yīng)用,如ngen.exe(本機映像生成器)。
您可以在這里下載這個腳本軟件到您的VM虛擬機里,然后運行幾分鐘。此間,您需要簡單的開下計算器或者記事本,然后停止應(yīng)用,最后把生成的結(jié)果給我。由于此間并沒有任何惡意軟件運行,所以按理說結(jié)果應(yīng)該可以加進白名單。勞煩您把結(jié)果報告電郵給我,我的地址是:[email protected]。
下載信息相關(guān)
最后,附上腳本軟件地址:
https://github.com/Rurik/Noriben
你可以下載Noriben.Py然后運行。當(dāng)然,你下載ProcmonConfiguration.Pmc,把它和該腳本文件放一起會更好。這個配置文件包含眾多的系統(tǒng)白名單,可以減少你的生成的日志量,不超過10M。
文章標(biāo)題:Noriben沙箱:分分鐘搞定惡意軟件
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/dhjhgij.html


咨詢
建站咨詢
