XLL_Phishing:一款功能強(qiáng)大的XLL網(wǎng)絡(luò)釣魚研究工具

發(fā)布時間 2022-10-09

一、關(guān)于XLL關(guān)和XLL_Phishing


XLL是專門為Microsoft Excel設(shè)計的DLL,對于普通人來說,它們看起來就跟普通的Excel文檔一樣。


39b4f69a3d72e1597aee6c7421f1307.jpg


XLL為UDA提供了一個非常有吸引力的選項(xiàng),因?yàn)樗鼈冇蒑icrosoft Excel執(zhí)行,這是客戶端網(wǎng)絡(luò)中非常常見的軟件。另一個好處是,由于它們是由Excel執(zhí)行的,我們的Payload大概率會繞過應(yīng)用程序白名單規(guī)則,因?yàn)槭苄湃蔚膽?yīng)用程序(Excel)正在執(zhí)行它。XLL可以用C、C++或C#編寫,與VBA宏相比,它提供了更多的靈活性和功能(以及健全性),這進(jìn)一步使它們成為了攻擊者的一個理想選擇。


當(dāng)然,其缺點(diǎn)是XLL的合法用途很少,因此檢查組織是否通過電子郵件和web下載以阻止該文件擴(kuò)展名的下載應(yīng)該是一個非常簡單的實(shí)現(xiàn)方式。但不幸的是,許多組織已經(jīng)落后多年,因此XLL在一段時間內(nèi)將一直是一種可行的網(wǎng)絡(luò)釣魚方法。


有一系列不同的事件可用于在XLL中執(zhí)行代碼,其中最著名的是xlAutoOpen。完整列表如下:


abbffc0a45ba4ea0f3597004e825831.jpg


雙擊XLL后,用戶會看到以下屏幕:


81d1527de85e0c6fe9e46cb1b342422.jpg


這個對話框就是用戶和代碼執(zhí)行中間的橋梁了,而且這種場景下代碼被執(zhí)行的可能性非常大。


必須記住的是,作為可執(zhí)行文件的XLL是特定于體系結(jié)構(gòu)的,這意味著你必須了解你的目標(biāo),即根據(jù)目標(biāo)組織所使用的Microsoft Office/Excel版本來決定構(gòu)建何種體系架構(gòu)的Payload:


Office 2016或更早版本:x86

Office 2019或更新版本:x64


二、工具下載


廣大研究人員可以使用下列命令將該項(xiàng)目源碼克隆至本地:


git clone https://github.com/Octoberfest7/XLL_Phishing.git



三、代碼編譯


我們可以使用下列命令編譯項(xiàng)目源碼(ingestfile.c):


gcc -o ingestfile ingestfile.c


x64編譯:


x86_64-w64-mingw32-gcc snippet.c 
2013_Office_System_Developer_Resources/Excel2013XLL*SDK/LIB/x64/XLCALL32.LIB -o 
importantdoc.xll -s -Os -DUNICODE -shared -I 
2013_Office_System_Developer_Resources/Excel2013XLL*SDK/INCLUDE/


x86編譯:


i686-w64-mingw32-gcc snippet.c 
2013_Office_System_Developer_Resources/Excel2013XLL*SDK/LIB/XLCALL32.LIB -o 
HelloWorldXll.xll -s -DUNICODE -Os -shared -I 
2013_Office_System_Developer_Resources/Excel2013XLL*SDK/INCLUDE/


編譯完成后,你需要新建一個文件夾,然后把XLL拷貝到這個文件夾中,然后使用下列命令進(jìn)行壓縮:


zip -r <myzipname>.zip <foldername>/


請注意,你還需要將代碼片段中的一些變量與你命名的XLL和zip文件相匹配。



四、許可證協(xié)議


本項(xiàng)目的開發(fā)與發(fā)布遵循MIT開源許可證協(xié)議。



五、項(xiàng)目地址


XLL_Phishing:【GitHub傳送門