當前位置:
首頁 > 新聞 > Windows 日誌攻防之攻擊篇

Windows 日誌攻防之攻擊篇

本文首發於 TreatHubter社區

引言

從防禦者視角來說,回溯攻擊過程中日誌分析是不可或缺的一個環節,國內對此日誌方面的攻防探討甚少,筆者結合自己滲透過程中的一些經驗,淺顯的談一談在攻擊者的角度如何來利用日誌,希望此文能拋磚引玉,改變國內安全從業者跪舔國外安全研究人員的這種「拿來主義」。

思路

就日誌來說,見過不少較為暴力的方式是將整個日誌進行刪除,此種攻擊行為筆者通常稱之為不優雅,真正高階的滲透應該是悄然而入再隱秘而出。因此,可以總結出如下能夠在滲透過程中對日誌發起的攻擊:

1.有選擇性的刪除(修改)日誌

2.阻止本地日誌的產生

3.對抗實時日誌採集系統

選擇性日誌刪除實現

我們知道Windows日誌是以實體文件保存在磁碟上的,因此可以很容易的想到一個實現選擇性修改或者刪除日誌的方式,既是通過修改文件內容來達到此目的。

Windows日誌文件的格式在NT5及NT6上有較大的差異,主要異同如下:

NT5中的日誌文件結構為二進位文件,涉及的結構體可以通過翻閱MSDN查到( EVENTLOGHEADER、EVENTLOGRECORD、EVENTLOGEOF 其一地址為 https://msdn.microsoft.com/en-us/library/windows/desktop/aa363646(v=vs.85).aspx ),NT5下日誌文件的保存路徑為 %SystemPath%system32config ,文件擴展名為 evt ,可以通過wmi的nteventlog對象來操作。

NT6中的日誌文件結構則類似於XML文檔,微軟直接提供了一組API對其進行操作,通過翻閱MSDN查到 ( EvTXXXX https://msdn.microsoft.com/en-us/library/windows/desktop/aa385784(v=vs.85).aspx ),NT6下日誌文件保存的路徑為 %SystemPath%winevtlogs (x64下需要注意路徑映射問題),文件擴展名為 evtx ,可以通過命令 wevtutil 進行相關操作。

要對日誌文件進行修改,那麼首先需要解決的問題是文件占坑,我們打開調試器之後可以很清楚的看到日誌服務的對應的宿主進程為 Services.exe (NT6下為svchost.exe),所調用的動態鏈接庫文件為 eventlog.dll(NT6下為 wevtsvc.dll) ,於是很自然的我們可以通過注入進程的方式來遍歷打開的文件句柄,同時掛起動態鏈接庫文件的操作線程,解決占坑之後就可以對日誌文件進行刪除與修改了。

介於NT5內核的系統已經退出歷史舞台,這裡也不再做過多討論,有了結構體說明之後可以很容易的像操作其他二進位文件那樣來操作日誌文件。剛才說過NT6內核下直接有對應API來完成此日誌的操作,所以通過查閱MSDN我們可以很方便的找到對應的API,或者通過讀寫XML文件的方式(自己解析結構稍微麻煩一點)來進行日誌文件的修改。修改完成後保存即可,此後再恢復現場既實現了有選擇性的日誌刪除或者修改。

阻止本地日誌的產生

有很多情況下,攻陷了一台Windows終端之後,為了方便我們在此終端上進行的一些猥瑣操作,我們不不希望被記錄到,除了在事後對先前產生的日誌進行有選擇的篡改之外,我們還可以用更為粗暴的方式來阻止本地日誌的產生。

前面說過對於產生日誌的主要服務是哪些,那麼我們可以很容易的整理出如下思路來阻止本地日誌的產生:

1. 通過遍歷進程找到日誌服務對應的宿主進程PID

2. 通過甄別載入的動態鏈接庫文件找到對應的線程ID

3. 非常暴力的幹掉對應線程

至此,Windows Event Log 服務便失去了它原有的活力的,成為了啞巴 ;)

對抗實時日誌採集系統

現在越來越多的大型採用ELK架構(ElasticSearch + Logstash + Kibana),通常在Windows又會採用流行的nxlog作為日誌採集的agent,那麼一個常見的實時日誌採集流程如下:

1. nxlog 使用模塊 im_file 收集日誌文件,開啟位置記錄功能

2.nxlog 使用模塊tcp輸出日誌

3.logstash 使用input/tcp ,收集日誌,輸出至es

通過閱讀源碼可知 nxlog 的tcp通信 apr_socket_send 來發送數據,在Windows對應的動態鏈接庫文件為libapr-1-0.dll,知曉了對應的函數,我們可以很容易的通過注入進程後Hook apr_socket_send 的函數來修改想要傳送的數據包,從而達到欺騙實時日誌採集系統的目的。

如果需要做得較為完美,可以通過 nxlog 的配置文件來獲取其使用何種通道及文件格式來傳輸日誌,針對不同類型的方式,在傳輸過程中進行Hook(如以上例子中TCP模式),或者在產生日誌信息時進行Hook(如大部分情況下會Json)。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

屢禁不止:一個敢於將自己注入到殺毒軟體中的鬥士
愛奇藝等18家視頻網站遭破解,會員視頻可免費觀看
組合利用 AdminSDHolder和SDProp 打造隱蔽域控後門
滲透技巧——Windows日誌的刪除與繞過
實用教程:手動安卓應用中注入msf後門

TAG:嘶吼RoarTalk |

您可能感興趣

WordPress黑客攻防戰
Web安全攻防靶場之WebGoat–1
Apple iCloud帳戶的破解與保護攻防戰
情人節攻防戰之3大 Show Off 戰場
記一次主機入侵攻防大戰:firewalld指定的IP段埠訪問控制
群創強化MicroLED布局:中韓攻防戰一觸即發
overlord第四季「全網首播」!都市攻防戰!安茲隕落?
DDoS攻防之反射放大攻擊
GeekPwn對抗樣本攻防賽重金招募:你有信心致盲AI嗎?
FinTech玩家攻防戰:BATJ引流、金融IT服務商做全產業鏈、技術獨角獸被集成
牛逼!SKT與JAK這場比賽破了LCK各種記錄,網友:LOL攻防戰?
對抗樣本攻防戰,清華大學TSAIL團隊再獲CAAD攻防賽第一
區域網攻防之IP衝突攻擊
專訪 | 對抗樣本攻防戰,清華大學TSAIL團隊再獲CAAD攻防賽第一
難以置信!NBAmath最新攻防貢獻表:哈登竟然已經和倫納德同檔
報名 | AI會識破「魔術」嗎?CAAD對抗樣本攻防賽等你來戰
《Web安全攻防:滲透測試實戰指南》
統治攻防!巴特勒單防大帽沃克&命中絕殺三分
GIF-攻防節奏太快了,裁判輕微受傷
移動APP外掛應如何攻防?