足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

首頁 > 業界動態 > 正文

Noriben沙箱:分分鐘搞定惡意軟件
2016-02-20 19:45:08   來源: dawner FreeBuf    評論:0 點擊:

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

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

Noriben沙箱:分分鐘搞定惡意軟件

介紹

如果你在推特上關注了我,或者對本博客以前的內容有所了解,你可能就會熟悉Noriben。不管怎樣,我這里先做個介紹,它是一個非常簡單的腳本。在典型行為的分析中,可能會在沙箱里運行惡意軟件,看它會如何創建,如何運行進程,以及對系統產生了什么影響。大多數團隊所用的方法,是將惡意軟件上傳到如VirtusTotal之類的反病毒測試網站,或者鐘情于在線沙箱如Malwr,或者干脆使用本地的Cuckoo沙箱。

對于那些上傳文件到互聯網的團隊,我只能說著這種行為對APT攻擊來講是非常不明智的。黑客如果有心的話,其實是可以發現他們的文件已經被上傳到在線監控網站里。

本地檢測惡意軟件通常可以通過Cuckoo來做,這是一個不錯的開源沙箱,它可以用來分析惡意軟件,獲取較為全面的分析結果。然而,用這玩意兒其實挺費勁,在不同的環境里進行正確設置會相對困難。它在Linux下安裝相對容易,而安裝在Windows和OSX下有點蛋疼。就我而言,在外面隨便拿出一個筆記本電腦,就可能會需要安上沙箱開始做事。

如果你上過惡意軟件分析的培訓,你可能也會使用SysInternals Procmon工具來監控系統環境。某些人或許學了使用Regmon和Filemon,這些都是古董知識了。某些人可能會使用Regshot,這工具其實現在已經跟不上時代。

Noriben是Procmon工具的簡單的包裝改造,它收集了成千上萬的事件,然后使用自定義的白名單設置,精簡后對系統審查。下面是2015年黑帽大會Arsenal分會場進行的片段,ppt如下:

http://www.slideshare.net/bbaskin/slideshelf

這個視頻沒有對工具細節本身做太多關注,你可以看這里:

http://www.ghettoforensics.com/noriben

Vmware里的自動化沙箱

Noriben會要求你在沙箱里交互式運行惡意軟件。在啟動Noriben后,它會在你運行惡意軟件時收集系統整體信息。分析人員希望在沙箱里與惡意軟件進行交互時,會使用它進行惡意指標收集,比如這個視頻里的VM檢查。

<iframe height="450" src="http://cache.tv.qq.com/qqplayerout.swf?vid=r0181qmev3s" frameborder="0" width="500" scrolling="no"></iframe>

Youtube地址:https://www.youtube.com/watch?v=kmCzAmqMeTY

然而,本文強調的是通過自動化的方式,直接從你的主機系統中提取,避免以上的情況。隨后提交樣本,接收結果報告。

使用了Vmware里的vmrun命令后,這個腳本會將VM恢復到某已知的快照中,將惡意軟件copy進去,然后運行Noriben,最后將報告zip打包取出。從下面的命令行里,我們可以在60秒內獲取某個文件的惡意軟件報告,下面是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" exitfi DELAY=10MALWAREFILE=$1VMRUN="/Applications/VMware Fusion.app/Contents/Library/vmrun"VMX="/Users/bbaskin/VMs/RSA Victim.vmwarevm/Windows XP Professional.vmx"VM_SNAPSHOT="Baseline"VM_USER=AdministratorVM_PASS=passwordFILENAME=$(basename $MALWAREFILE)NORIBEN_PATH="C:\Documents and Settings\$VM_USER\Desktop\Noriben.py"ZIP_PATH=C:\Tools\zip.exeLOG_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" --t $DELAY --cmd "C:\Malware\Malware.exe" --output "$LOG_PATH"if [ $? -gt 0 ]; then    echo "[!] File did not execute in VM correctly."    exitfi"$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."    exitfi"$VMRUN" -gu $VM_USER -gp $VM_PASS copyFileFromGuestToHost "$VMX" C:\NoribenReports.zip $PWD/NoribenReports_$FILENAME.zip

顯然,這個腳本需要你編輯部分內容,設置正確的路徑。這里默認是“C:Malwaremalware.exe”,使用administrator賬戶運行Noriben,并輸出結果到C:Noriben_Logs。

在這里,我們有個使用該腳本掃描惡意文件的視頻:

<iframe height="450" src="http://cache.tv.qq.com/qqplayerout.swf?vid=k0181dofb0r" frameborder="0" scrolling="no"></iframe>

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 offif "%1"=="" goto HELPif not exist "%1" goto HELP set DELAY=10set CWD=%CD%set VMRUN="C:Program Files (x86)VMwareVMware Workstationvmrun.exe"set VMX="e:VMsWinXP_MalwareWinXP_Malware.vmx"set VM_SNAPSHOT="Baseline"SET VM_USER=Administratorset VM_PASS=passwordset FILENAME=%~nx1set NORIBEN_PATH="C:Documents and Settings%VM_USER%DesktopNoriben.py"set LOG_PATH="C:Noriben_Logs"set ZIP_PATH="C:Toolszip.exe"   %VMRUN% -T ws revertToSnapshot %VMX% %VM_SNAPSHOT%%VMRUN% -T ws start %VMX%%VMRUN% -gu %VM_USER%  -gp %VM_PASS% copyFileFromHostToGuest %VMX% "%1" C:Malwaremalware.exeecho %VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% C:Python27Python.exe %NORIBEN_PATH% --%DELAY% --cmd "C:MalwareMalware.exe" --output %LOG_PATH%%VMRUN% -T ws -gu %VM_USER% -gp %VM_PASS% runProgramInGuest %VMX% C:Python27Python.exe %NORIBEN_PATH% --%DELAY% --cmd "C:MalwareMalware.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%.zipgoto END :ERROR1echo [!] File did not execute in VM correctly.goto END :HELPecho Please provide executable filename as an argument.echo For example:echo %~nx0 C:Malwareef8188aa1dfa2ab07af527bab6c8baf7goto END :END

類似的腳本也可以應用到VirtualBox。然而,我在實際用guestcontrol copyto在虛擬機和物理機之間copy文件時遇到了麻煩,不過大家盡管可以試試。

如何幫助我

作為開源軟件的開發者,最大的問題就是處理細節bug。我目前是這款腳本軟件的唯一開發者,所以我在里面寫了一些介紹。我希望大家都來提交bug,畢竟每個人都有自己的想法。

如果你想要來幫助我,鄙人不勝感激。下面有兩種幫助方式:

幫助我利用您的編程知識來改善它。

幫助我開發新的白名單過濾器。

第一個能做的估計只有小部分人,但是,更多的人可以幫助我第二條。我使用自己的VM建立了白名單過濾器。但是我看到別人的報告后,發現有許多內容可以加入我的白名單。曾經有一位分析人員寄給我一份報告,里面有數以百計的列項,我自己的系統產生的要少很多。他里面有許多我不曾預估到的后端應用,如ngen.exe(本機映像生成器)。

您可以在這里下載這個腳本軟件到您的VM虛擬機里,然后運行幾分鐘。此間,您需要簡單的開下計算器或者記事本,然后停止應用,最后把生成的結果給我。由于此間并沒有任何惡意軟件運行,所以按理說結果應該可以加進白名單。勞煩您把結果報告電郵給我,我的地址是:brian@thebaskins.com。

下載信息相關

最后,附上腳本軟件地址:

https://github.com/Rurik/Noriben

你可以下載Noriben.Py然后運行。當然,你下載ProcmonConfiguration.Pmc,把它和該腳本文件放一起會更好。這個配置文件包含眾多的系統白名單,可以減少你的生成的日志量,不超過10M。

【責任編輯:藍雨淚 TEL:(010)68476606】

相關熱詞搜索:Noriben 沙箱 惡意軟件分析

上一篇:外媒解讀烏克蘭電網遭遇黑客事故
下一篇:世界經濟論壇2016年全球風險報告 網絡攻擊位列前五

分享到: 收藏