# TeamT5 Security Camp 2023 惡意程式分析 ## Author:Tonya ## 前言 有什麼比剛考完期末考就寫TeamT5 Security Camp 2023還絕望的嗎?沒錯,那就是在延後繳交一宣布後就立刻確診的碩士生,直接在床上躺了一周,我恨我的人生。 ## 郵件分析 * 首先我們在VM中開啟這封郵件,我們可以從這封郵件找到幾個訊息。 *  * 寄件人是John Doe * John Doe是一個當某人的真實姓名未知或被故意隱藏時使用的名字,所以我們可以把這封信當成是匿名信件,只要是匿名信件,幾乎都能當成是惡意信件,不是垃圾信就是夾病毒。 * 寄件者信箱地址是John@example.gov.pl * 我們可以觀察到該信箱的域名帶有【gov】,該縮寫通常用於表示政府機構,這東西通常被歸類在 Generic Top-Level Domain,通常搭配所謂的 Country Code Top-Level Domain 使用,舉例來說【.gov.tw】就代表著台灣的政府,這種後輟的域名都有審核限制,不是一般人能申請到的,例如衛生福利部的發信信箱就會是【eservice@nhi.gov.tw】 * 以這封信來說【pl】是波蘭的國碼,【.gov.pl】就會代表從波蘭政府寄出的信(你無法僅從這點判別他是不是惡意郵件,天曉得波蘭政府的信箱有沒有被駭),但總之起碼能確定來源。這裡補充一點,如果gov前方有其他字元,例如【.aigov.pl】、【.admingov.pl】都是假的。 * 收件者信箱地址是Nalty@example.gov.pl * 同樣看起來也是波蘭政府機關的人士 * 附件是一個名為【Important document.7z】的壓縮檔 * 首先這裡就有一個問題,用可疑的命名【Important document】重要文件,試圖誘導使用者開啟他。 ## 分析流程 * 我們解壓縮後來分析這個惡意程式想幹嘛,首先我們可以來比對看看,左方是壓縮檔預覽,右方則是實際解壓縮後的檔案。我們可以發現以下幾件事情 * 解壓縮後右方的####資料夾是淺色的,表示他是個隱藏資料夾 * 左方的檔名是【.docx.lnk】,lnk表示這是個捷徑檔案,並不是像右邊顯示的他是個docx檔案,所以他有偽造副檔名誘拐使用者點擊的情況在。  * 我們可以進一步點開該檔案的詳細資訊查看,可以發現右邊是正常的docx檔,左邊則是偽造的docx檔。可以發現相差甚遠,我們還能看到這個lnk檔案其實指到了被隱藏資料夾內部的text.tmt,太有鬼了。  * 我們可以追到該路徑,結果點進去發現,怎麼可能,什麼都沒有,這裡副檔名跟隱藏項目都有打開,發生什麼了。  * 我們直接dir看看,奇怪了,所有檔案都在,怎麼好端端的就是看不到呢?這就是黑科技嗎?  * 就算我是個windows菜雞,我就不信換個環境我還看不到你了,果斷切kali,抓到。  * 起手先看這三個是什麼,有兩個是PE檔案,一個是data檔案  * 我就是好奇試試看,但是好棒,雖然我不知道原因,但我學到了一個疑似黑科技的技巧。總之將上面在kali看到的檔案重新壓縮  * 然後重新扔回windows系統裡面解壓縮,我就看到他們了。這也太酷了吧?現在是時候召喚PE熊熊跟IDA來助陣了。  * 這裡我會選擇先去看dll檔案,原因是,通常使用者的dll檔案最毒了,首先用PE bear打開看。這裡我有慣性動作,40代表的ASLR我都會關掉啦,就算這是個dll檔。  * 先看File Header,這個表示程式的編譯時間(一般來說啦,很多惡意程式也會特地改掉),但初步看起來這時間應該是正確的。所以這隻惡意程式應該是在2022/10/05編譯的  * 注意到Optional Hdr這裡有個OS Ver.(Major),這是API版本,所以代表說這傢伙能打Vista以上的Windosw OS。我記得我以前第一次看到的時候以為這是代表他用Vista寫的。  * 帳面上看起來這傢伙沒有上殼,但為了以防萬一還是看一下,免得等等逆向的時候哭出來。的確,應該是沒有上殼的  * 那也順便檢查一下這傢伙import了什麼API好了,看起來有一些檔案跟process操作相關的API,還有TLS,挖最好不要給我在裡面藏code。反倒是沒有看到加解密相關的API滿驚訝的,WinCrypt、BCrypt啥的。該不會他自己刻吧...  * 也看看export了啥,沒意外應該就是給另外一個tmt用的,等下重點照顧這幾個function  * 進到逆向環節,首先來重點關照一下DistMain,恩,真的是毫不意外,吐了。這解下去我大概能確診第二次了吧。  * 改變主意,我要先processmonitor看看他想幹嘛,開起來放30秒給他  * 好,總之先treed看看,抓到,給我跑test.tmt,來看看有沒有什麼東西能看的  * 他看起來生出了很多pf檔案,什麼東西,他是想在下次啟動的時候幹些什麼嗎?  * 挖,還去讀dat,該不會是什麼組合式的malware吧  * Create了大量的dll檔  * 找到了看起來有用的東西,這些東西是負責開機自己啟動的,看起來他想嘗試修改它嗎?   * 偏疑惑,跟CTF不一樣,不知道現在該做些什麼,那就開始逆向吧。先來逆看看test.tmt想幹嘛,先去winmain() * 馬上就看到了,跑去檢查我們剛剛懷疑過的那個dll檔,然後直接塞了lpCmdLine進去給它,用完之後free掉,太狠了。  * 直接跑到dll的DistMain來看,這裡發現了超級大量的XOR,要我猜大概就是那種xor完之後變成code,然後就能跑的操作了。 * 後來看了一下jmp的條件式,結果發現不管怎麼jmp,會跑大量XOR的地方就是會跑,看起來那一大坨是混淆用的。  * 發現了一個對時間跟thread做相關操作的function  * 然後之後又看了滿長一段時間IDA,但我實在看不出所以然。所以雖然我本身是幾乎沒有在看不出所以然的情況下嘗試靜態分析過,但我可能必須得直接x32dbg來看看會不會有突破口了。 * 直接殺到他呼叫DistMain前,準備步入看看他想幹嘛  * 來到了這串大加解密的部分  * 看到一個奇怪的部分,這裡的字串原本應該是mptfvs.dll,但是被他修改成wjlmpsv'lgf,看起來像是用完清掉的過程  * 然後繼續追,發現他這邊又變成winhttp.dll,狀況明瞭。所以他那邊一連串的xor and or的操作之類的,就是為了不讓人發現他在敲哪些api,看他敲得這個肯定要連網沒跑了。 * 要連網的malware,是木馬還是要去C2載shell code,至少我知道他大概想幹嘛了(希望啦)  * 更加確定了,多跑幾次連cmd都跑出來了,哭了,看了好久終於有進展了。  * 發現有push https的動作,總之先記錄下來,之後繼續跑,然後他就把word打開之後自己exitprocess了。  * 我好像,只能到這裡了嗎 QQ ## 分析相關樣本 ### 受害者觸發惡意程式的方式(載入流程/誘發方式/可能有的加解密 等等) * 受害者解壓縮文件 * 發現偽造的docx檔案 * 實際點擊會去執行隱藏在#/資料夾下的test.tmt * test.tmt會在執行惡意程式的同時調用Office的執行檔去打開一個office文件,該文件會在temp/下能找到 * 惡意程式透過了xor的技術對他要用的API進行加密,要使用時才解開,導致靜態分析有難度 ### 惡意程式族群 * 由於有聯網相關的API操作,並且在執行後電腦本身沒有任何明顯異狀。因此我會將此惡意程式歸類在木馬,木馬是以獲取使用者電腦權限或資料或控制電腦。並且不被使用者發現為目的而製作,我認為符合它在我分析時所產生的行為。 ### 編譯&攻擊時間 timeline * 透過PE Bear的File Header來看這隻惡意程式應該是在2022/10/05編譯完成。不排除有偽造的可能性。 ### C2 * 有發現幾個奇怪的網址,但是OSCP?我認為應該不是,嗎?  ### 常駐方式 * 透過更改機碼的方式讓自己開機自啟動並且在背景執行。可以在processmonitor上看到她對相關的機碼進行了操作。 ## 分析受害/攻擊者身分 * 根據信件以及惡意程式的行為目的來看,攻擊目標應該是波蘭的政府機關,我會判斷是烏俄戰爭後期資訊戰為目的而產出的。攻擊時間也符合邏輯。 * 如果以上陳述屬實,則攻擊者身分應該是俄羅斯的APT組織,以獲取政府內部重要資訊或掌握電子設備權限為目的。 ## 結論 * 第一次玩這種測驗,還不錯玩(?)但是跟CTF差距很大,難度跟目的都是。沒有FLAG能找,也不確定malware的行為,有點瞎子摸象的感覺,只能說現實的惡意程式分析跟CTF還是完全不一樣嗎。 * 對了想到一個雙關,如果上面攻擊者我沒猜錯的話。那這真的是一個【俄裔程式分析】的題目。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up