close

01、簡介

簡單介紹一下,LSASS(本地安全機構子系統服務)在本地或域中登錄Windows時,用戶生成的各種憑證將會存儲在LSASS進程的內存中,以便用戶不必每次訪問系統時重新登錄。

攻擊者在獲得起始攻擊點後,需要獲取目標主機上的相關憑證,以便通過用戶憑證進行橫向移動,這個技術點最容易關聯到的就是獲取LSASS內存中保存的用戶憑證。

一般LSASS竊取憑證有兩種方式,第一種就是直接從LSASS內存解析獲取密碼,第二種是將LSASS進程轉儲到本地進行離線解析。

02、LSASS竊取憑證

(1)mimikatz

mimikatz僅需一行命令,就可以直接從lsass內存中提取用戶hash。

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > log.txt

在眾多的Windows安全日誌中,通過監測訪問lsass,exe的進程,可發現異常進程,因此可以將事件ID:4663 作為關鍵日誌特徵。

事件ID:4663 顯示已使用訪問權限,4663是沒有失敗事件的,可以看到進程名mimikatz.exe 嘗試訪問內存對象lsass.exe。

(2)Procdump轉儲

procdump是微軟官方提供的一個小工具,可以將lsass.exe進程轉儲為dump文件,將lsass.dmp文件下載到本地進行離線破解。

Procdump64.exe -accepteula -ma lsass.exe lsass.dmp

在Windows事件ID:4663 中,可以看到進程名Procdump64.exe 嘗試訪問內存對象lsass.exe。

(3)MSF中的mimikatz

MSF加載mimikatz模塊,抓取明文密碼

meterpreret > load mimikatzmeterpreret > wdigest

在Windows事件ID:4663 中,可以看到進程名shell.exe 嘗試訪問內存對象lsass.exe。

(4)CS模塊獲取用戶哈希

使用hashdump或logopasswords 獲取用戶密碼哈希值

在Windows事件ID:4663 中,可以看到進程名rundll32.exe 嘗試訪問內存對象lsass.exe。

03、LSASS憑證竊取攻擊檢測

基於幾種常見的LSASS進程竊取憑證的方式以及識別到的AD Event日誌特徵,可以實時監測異常進程訪問lsass,exe,找到哪個用戶什麼時間執行了異常進程訪問了lsass.exe進程,從而實現LSASS憑證竊取攻擊的檢測。

eventtype=wineventlog_security EventCode=4663 Object_Name="*lsass.exe"| regex process="^((?!MsMpEng|vmtoolsd|VsTskMgr|WmiPrvSE).)*$"| stats count min(_time) as start_time max(_time) as end_time by dest user Object_Name Process_Name| eval start_time=strftime(start_time,"%Y-%m-%d %H:%M:%S")| eval end_time=strftime(end_time,"%Y-%m-%d %H:%M:%S") |eval message="在"+start_time+"到"+end_time+"時間內,服務器:"+dest +" 檢測到lsass竊取憑證,進程名:" +Process_Name+" 操作賬號:"+user+" 操作次數:"+count+"次"|table start_time end_time dest message user

安全告警效果如下圖:

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()