當前位置:
首頁 > 新聞 > 通過APC實現Dll注入——繞過Sysmon監控

通過APC實現Dll注入——繞過Sysmon監控

0x00 前言


要對指定進程進行遠程注入,通常使用Windows提供的API CreateRemoteThread創建一個遠程線程,進而注入dll或是執行shellcode


Sysmon可用來監控和記錄系統活動,可記錄CreateRemoteThread操作


注入的方法不只有CreateRemoteThread,能否通過其他注入方式繞過Sysmon的監控呢?


Casey Smith@subTee在他的文章中給出了答案:

Shellcode Injection via QueueUserAPC - Hiding From Sysmon


地址如下:


http://subt0x10.blogspot.com/2017/01/shellcode-injection-via-queueuserapc.html


0x01 簡介


本文將要介紹如下內容:


1. Sysmon配置測試,監控CreateRemoteThread操作


2. c++實現通過APC對Dll注入


3. 繞過Sysmon測試


4. Casey Smith@subTee分享的C#實現代碼和用途


Sysmon:

可用來監控和記錄系統活動,並記錄到windows事件日誌,包含如下事件:


Event ID 1: Process creationEvent ID 2: A process changed a file creation timeEvent ID 3: Network connectionEvent ID 4: Sysmon service state changedEvent ID 5: Process terminatedEvent ID 6: Driver loadedEvent ID 7: Image loadedEvent ID 8: CreateRemoteThreadEvent ID 9: RawAccessReadEvent ID 10: ProcessAccessEvent ID 11: FileCreateEvent ID 12: RegistryEvent (Object create and delete)Event ID 13: RegistryEvent (Value Set)Event ID 14: RegistryEvent (Key and Value Rename)Event ID 15: FileCreateStreamHashEvent ID 255: Error


詳情見https://technet.microsoft.com/en-us/sysinternals/sysmon


註:CreateRemoteThread為Event ID 8


Dll注入


常見方法:


創建新線程設置線程上下背景文,修改寄存器插入Apc隊列修改註冊表掛鉤窗口消息遠程手動實現LoadLibrary


引用自http://www.cnblogs.com/uAreKongqi/p/6012353.html


Shellcode Injection via QueueUserAPC - Hiding From Sysmon:


c#實現,通過調用QueueUserAPC執行shellcode,可應用於InstallUtil.exe和Msbuild.exe,能夠繞過Sysmon對Event ID 8: CreateRemoteThread的監控

0x02 Sysmon簡介


下載地址:


以系統服務和驅動的方式安裝在系統上


用來監控和記錄系統活動,並記錄到windows事件日誌中


提供進程創建、網路連接以及文件創建時間更改等操作的詳細信息


通過事件日誌,可識別異常活動,了解攻擊者在網路上的操作


註:


系統安裝Sysmon後,新增服務Sysmon


如圖

通過APC實現Dll注入——繞過Sysmon監控


也就是說,如果攻擊者獲得了主機許可權,通過查看已安裝服務可以看到Sysmon的安裝


安裝


以默認配置安裝:


sysmon -accepteula –i -n


以配置文件安裝:


sysmon -c config.xml


配置文件config.xml格式示例如下:


註:


xml大小寫敏感

* microsoft windows


443 80 iexplore.exe


註:


該示例引用自http://www.freebuf.com/sectool/122779.html


查看配置


sysmon -c


註:


配置屬性保存在註冊表如下位置:


HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesSysmonDrvParameters


如圖

通過APC實現Dll注入——繞過Sysmon監控



查看日誌記錄


1.通過面板


位置如下:


Control PanelSystem and Security-View event logsApplications and Services Logs-Microsoft-Windows-Sysmon-Operational


如圖

通過APC實現Dll注入——繞過Sysmon監控



2.通過powershell查看,命令如下:

(管理員許可權)


Get-WinEvent -FilterHashtable @


監控並記錄CreateRemoteThread


配置文件如下:


* calc.exe


保存為RecordCreateRemoteTh.xml


註:


該配置文件表示對進程calc.exe監控,如果捕獲到CreateRemoteThread,將會寫入事件日誌


安裝配置文件:


Sysmon.exe -c RecordCreateRemoteTh.xml

通過APC實現Dll注入——繞過Sysmon監控



查看配置信息


Sysmon.exe -c


如圖

通過APC實現Dll注入——繞過Sysmon監控



啟動calc.exe


執行CreateRemoteTh.exe,calc.exe被注入,彈框,如圖

通過APC實現Dll注入——繞過Sysmon監控


CreateRemoteTh.exe的源代碼可參照:


https://github.com/3gstudent/CreateRemoteThread/blob/master/CreateRemoteThreadTest.cpp


查看日誌,發現Event ID 8


如下圖,檢測到CreateRemoteThread

通過APC實現Dll注入——繞過Sysmon監控



通過powershell查看Event ID 8


Get-WinEvent -FilterHashtable @


如下圖,獲取日誌Event ID 8


0x03 c++實現通過APC對Dll注入


使用APC注入:


代碼如下:


https://github.com/3gstudent/Inject-dll-by-APC/blob/master/test.cpp


關於代碼的詳細說明可參照:


http://blogs.microsoft.co.il/pavely/2017/03/14/injecting-a-dll-without-a-remote-thread/


如圖,成功注入到calc.exe

通過APC實現Dll注入——繞過Sysmon監控



使用ProcessExplorer查看calc.exe載入的dll,如下圖,成功注入testdll

通過APC實現Dll注入——繞過Sysmon監控



查看日誌,並沒有產生Event ID 8,成功繞過Sysmon對CreateRemoteThread的監控


0x04 Casey Smith@subTee分享的C#實現代碼和用途


可應用到 InstallUtil.exe和Msbuild.exe的利用上面


InstallUtil.exe:


https://gist.github.com/subTee/7bbd8e995ed8e8b1f8dab1dc926def8a


Msbuild.exe:


https://gist.github.com/subTee/cf3e1b06cf58fcc9e0255190d30c2d38


調用過程中沒有產生Event ID 8


0x05 小結


本文對Sysmon的監控功能做了測試,並介紹如何通過APC實現Dll注入,繞過Sysmon對CreateRemoteThread的監控


在特定環境下,如果無法手動關閉Sysmon服務,利用APC能在一定程度上繞過Sysmon對CreateRemoteThread的監控


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

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


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

深入了解惡意軟體如何濫用TeamViewer?
俄羅斯黑客暗網出售勒索軟體服務,價格低廉人人可用
如何使用加密的Payload來識別並利用SQL注入漏洞?
安卓APP破解利器Frida之破解實戰
追蹤IP地址你需要這幾款工具加持

TAG:嘶吼RoarTalk |

您可能感興趣

新曝WordPress REST API內容注入漏洞詳解
WordPress又曝漏洞:REST API由於許可權控制失效致內容注入
小心!Google Play 中出現首個使用代碼注入Android惡意軟體——Dvmap
日本傳統藍染注入-Vans 推出全新「Japan Blue Collection」
Hibernate HQL注入攻擊入門
Katyusha掃描器:基於Telegram的全自動SQL注入工具
Oracle在OpenWorld上宣布要將AI注入更多雲應用中
Android系統中也存在Web注入嗎?
Onitsuka Tiger鬼塚虎「TIGER CORSAIR」復刻系列,為當下潮搭注入經典之魂!
為經典注入現代技術 - Nike Cortez Flyknit 快將上架
數碼紋理注入!Reebok Pump Supreme 國內入手地址釋出
ThinkPHP5 SQL注入漏洞&PDO真/偽預處理分析
新鮮血液注入!Paradis3新品即將上架DSM!
Converse Neighborhood 經典輪廓注入日系街頭型格態度
給你的街頭腕錶注入藝術氣息,Eric Haze x Casio G-SHOCK別注腕錶新作
Kasina x Reebok Workout Lo Clean 九十年代复古运动风注入
注入新資金 HPE為「The Machine」制定發展藍圖
ASP.NET Core MVC 控制器創建與依賴注入
Kasina x Reebok Workout Lo Clean 九十年代復古運動風注入