動態(tài)Shellcode注入工具——Shellter
最近Shellter已經(jīng)被正式收錄到Kali Linux中,這是該項(xiàng)目發(fā)展至今最重要的一個(gè)里程碑。由于目前用于輔助滲透測試人員躲避安全軟件的工具比較少,所以這里就請大家容我多少幾句。
Shellter是什么
這是一款真正意義上的動態(tài)Shellcode注入工具。“動態(tài)”二字就能夠說明注入代碼不可能存在于規(guī)則嚴(yán)格的地方,例如可執(zhí)行文件的入口點(diǎn)等。Shellter目前僅支持32位可執(zhí)行文件,為這個(gè)項(xiàng)目已經(jīng)花費(fèi)了我近兩年多時(shí)間。
如何選擇注入點(diǎn)
注入點(diǎn)是基于可執(zhí)行文件的執(zhí)行流程,實(shí)際上Shellter會追蹤應(yīng)用程序的用戶空間執(zhí)行流程,記錄下這些指令,可執(zhí)行文件發(fā)生注入的位置區(qū)間。完成追蹤之后,Shellter將基于注入代碼的大小過濾執(zhí)行流程,并且有多種過濾參數(shù)可得出有效的注入點(diǎn)。
Shellter還提供了其他特性
對于反病毒軟件繞過來說,避免使用靜態(tài)注入點(diǎn)是非常重要的。但是,Shellter的能力并不僅限于此,它能提供某些額外的高級功能。
兼容Windows XP3及以上,以及Wine/CrossOver for Linux/Mac
便攜式--無須安裝
不需要額外的依賴(python, .net, etc…).
不影響輸出大小(輸入及輸出)
沒有靜態(tài)PE模板,框架包裝等
支持所有32位的有效載荷(通過metasploit生成或用戶定制)
支持所有的編碼
支持用戶創(chuàng)建的自定義編碼
廢棄代碼多變引擎
用戶可自定義多變代碼
利用動態(tài)線程背景信息防止靜態(tài)分析--目前僅手動模式
檢測自修改代碼
追蹤單線程或多線程應(yīng)用程序
基于執(zhí)行流程的位置進(jìn)行動態(tài)注入
反匯編向用戶顯示可用注射點(diǎn)
用戶可自主選擇如何注入,何時(shí)注入,在哪里進(jìn)行注入
命令行注入
最重要的是免費(fèi)
即將發(fā)布的新版Shellter將會帶有更多額外的功能,該版本的Shellter將會在BsidesLisbon 2015上進(jìn)行正式的公開發(fā)布。