Mitre ATT&CK矩陣中的三種流程注入手法
Mitre ATT&CK矩陣中的三種進程注入手法:經典的進程注入、Process Hollowing
和Process Doppelgänging
。
惡意軟體使用進程注入的主要目的大致是為了躲避殺軟的偵測或進行提權操作。這裡我們將主要針對第一種情況下的3種手段進行詳細的討論。
一:經典的進程注入(DLL注入)
這是最為經典的手段,流程也十分簡潔明了即:
OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread
##二:Process Hollowing
這就是一種相當古老的手段了,中文一般譯為”創建傀儡進程”,使用該手法創建的進程可以偽裝為任意的合法進程,比如偽裝為IE,在內存中使用process hacker查看時其圖標資源、描述、數位簽章均為IE的值。這樣緊急應變人員在進行排查的時候可能難以發現。 用簡潔的語言概括該手法,即惡意進程首先創建一個掛起狀態的進程,然後取消其原先的記憶體映射並替換成事先準備的惡意程式碼,在對修改後的映像檔進行重定向後再恢復該行程的運作狀態。 實現想法:1、透過CreateProcess建立目標進程,傳入參數CREATE_SUSPENDED使進程掛起
三:Process Doppelgänging
這是一種比較新的注入手段,首次提出於2017年的歐洲black hat大會。此手段在原理及表現上與Process Hollowing是類似的,利用Process Doppelgänging創建的進程在內存中使用process hacker查看時其圖標資源、描述、數字簽名均為指定的目標程序。 該手法利用了windows事務(TxF)的特性,在事務中使用惡意文件覆蓋合法文件,此時不提交事務(即覆蓋不會在磁碟上發生),然後創建一個section(當前事務的拷貝)。在取得了section的句柄後,就將事務回滾,防止惡意檔案在磁碟上真正地覆寫合法檔案。之後就使用記憶體中section的句柄進行進程建立操作。而創建的進程是擁有合法可執行檔的資訊的。 可以看到,由於需要在事務中覆寫文件,所以該手法需要對目標文件有寫入權限。 實作想法:1、建立一個TxF交易物件(NtCreateTransaction)6、回滾事務,使剛剛的覆寫恢復成合法執行檔(NtRollbackTransaction)
7、使用記憶體中的section來建立進程物件(NtCreateProcessEx )
8、取得惡意檔案的入口點,建立進程參數區塊,然後將進程區塊寫入進程記憶體中(NtQueryInformationProcess -> RtlInitUnicodeString -> RtlCreateProcessParametersEx)
9、更新PEB中的進程參數區塊,為目標進程物件建立線程,執行惡意程式碼(NtCreateThreadEx)
對抗思路:
從步驟上看,Hook關鍵函數(如NtCreateThreadEx)進行判斷即可偵測該手法。
總結
從上述3種手法的演進可以看到幾點趨勢。
第一點,記憶體中的隱藏能力越來越強,由最開始的毫無隱蔽性可言,到現在可以做到在記憶體中表現得與合法程序一致。
第二點,payload釋放到記憶體中的手段越來越難以檢測,最初payload是直接拷貝到記憶體中的,現在攻擊者可以利用一些特性(如TxF)來進一步隱藏釋放過程。
第三點,最終階段的關鍵函數幾乎沒有變化,即使payload的釋放越來越隱蔽,但是最終還是要釋放到記憶體中並且呼叫執行的。透過對有限的關鍵函數進行Hook,應該就能dump出最終的payload。
更多相關教學推薦:web伺服器安全性
#以上是Mitre ATT&CK矩陣中的三種流程注入手法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本系列的第一篇文章中,我們討論了人工智慧、機器學習、深度學習、資料科學等領域的關聯和差異。我們也為整個系列將使用的程式語言、工具等做出了一些艱難的選擇。最後,我們也介紹了一點矩陣的知識。在本文中,我們將深入討論人工智慧的核心——矩陣。不過在此之前,我們先來了解一下人工智慧的歷史我們為什麼需要了解人工智慧的歷史呢?歷史上曾出現過多次人工智慧熱潮,但在許多情況下,對人工智慧潛力的巨大期望都未能達成。了解人工智慧的歷史,有助於讓我們看清這次人工智浪潮是會創造奇蹟,抑或只是另一個即將破滅的泡沫。我們

一種受歡迎的通用程式語言是Python。它被應用於各種行業,包括桌面應用程式、網頁開發和機器學習。幸運的是,Python具有簡單易懂的文法,適合初學者使用。在本文中,我們將使用Python來計算矩陣的右對角線總和。什麼是矩陣?在數學中,我們使用一個矩形排列或矩陣,用於描述一個數學物件或其屬性,它是一個包含數字、符號或表達式的矩形數組或表格,這些數字、符號或表達式按行和列排列。例如−234512367574因此,這是一個有3行4列的矩陣,表示為3*4矩陣。現在,矩陣中有兩條對角線,即主對角線和次對

在本文中,我們將學習如何使用Python中的numpy函式庫計算矩陣的行列式。矩陣的行列式是一個可以以緊湊形式表示矩陣的標量值。它是線性代數中一個有用的量,並且在物理學、工程學和計算機科學等各個領域都有多種應用。在本文中,我們首先將討論行列式的定義和性質。然後我們將學習如何使用numpy計算矩陣的行列式,並透過一些實例來看它在實踐中的應用。行列式的定義與性質Thedeterminantofamatrixisascalarvaluethatcanbeusedtodescribethepropertie

矩陣是按行和列排列的一組數字。 m行n列的矩陣稱為mXn矩陣,m和n稱為其維度。矩陣是一個二維數組,在Python中使用列表或NumPy數組創建。一般來說,矩陣乘法可以透過將第一個矩陣的行乘以第二個矩陣的列來完成。這裡,第一矩陣的列數應等於第二矩陣的行數。輸入輸出場景假設我們有兩個矩陣A和B,這兩個矩陣的維度分別為2X3和3X2。相乘後得到的矩陣將有2行1列。 [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

使用者必須輸入兩個矩陣的順序以及兩個矩陣的元素。然後,比較這兩個矩陣。如果矩陣元素和大小都相等,則表示兩個矩陣相等。如果矩陣大小相等但元素相等不相等,則顯示矩陣可以比較,但不相等。如果大小和元素不匹配,則顯示矩陣無法比較。程式以下是C程序,用以比較兩個矩陣是否相等-#include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10]; in

矩陣是由許多按行和列形式排列的數字組成的二維數組。 Python沒有任何資料類型來表示矩陣,但我們可以使用嵌套列表或NumPy數組作為矩陣。請參閱以下輸入輸出場景,以了解如何互換矩陣的第一列和最後一列元素。輸入輸出場景假設我們有一個使用列表列表表示的3X3矩陣。輸出矩陣將是交換第一列和最後一列元素的結果矩陣。 Inputmatrix:[1,3,4][4,5,6][7,8,3]Outputmatrix:[4,3,1][4,5,6][3,8,7]讓我們考慮另一個行和列不相等的矩陣。 Inputmatrix:

在社群媒體運作中,矩陣帳號倒流是一種常見的策略,透過在不同帳號之間相互引導流量,實現粉絲的互相補充和活躍度的提升。矩陣帳號之間的倒流需要精心策劃和執行,不是一件簡單的事。本文將詳細探討如何在不同帳號之間實現倒流,以及矩陣倒置的意義。一、矩陣間的帳號如何進行倒流?在矩陣帳號中,選擇一個主線帳號至關重要,它將成為主要的流量來源和核心內容發佈的平台。內容規劃是根據帳號特色和目標受眾,制定相應的內容計劃,以確保內容品質和風格統一。 3.互推互贊:在矩陣帳號之間進行互推互贊,透過合理的佈局與安排,引導粉絲

隨著短影片產業的快速發展,抖音已成為國內最受歡迎的短影片平台之一。許多企業和自營商都希望透過建構抖音帳號矩陣來擴大自己的影響力。那麼,如何搭建好抖音帳號矩陣呢?本文將為你解答這個問題,並介紹解決帳號問題的方法。一、抖音帳號矩陣怎麼搭建好?在建立抖音帳號矩陣時,首要任務是準確地決定每個帳號的定位。根據品牌或個人的特色,明確各帳號的主題和風格,從而能夠吸引目標受眾。確定內容策略是關鍵,它包括內容主題、發布頻率和拍攝技巧等方面。這些步驟能夠幫助帳號矩陣充分發揮效益。 3.帳號間互動:在各個帳號之間建立良
