1. 程式人生 > >使用shellcode打造MSF免殺payload及shellcode載入技術

使用shellcode打造MSF免殺payload及shellcode載入技術

0x00 前言
    經常有同學提及MSF payload的免殺問題,其實除了Veil之處,還有另一種比較輕巧的方案可以打造免殺的payload,那就是shellcode。 
0x01 從哪裡開始
    shellcode是什麼,可以去drops搜尋學習,但這並不是本文的重點。因為MSF已經為我們提供了shellcode的生成功能,接下來我們就拿最常用的payload:reverse_tcp來做測試吧!(其它的payload均可以) 
CobaltStrike:payload>windows>meterpreter>reverse_tcp設定選項如下:監聽9527埠。 
1.jpg
    接下來以同樣的方式生成c格式的payload,開啟payload檢視: 

2.jpg
    沒錯,你看到的是shellcode,那麼如何編譯成我們需要的exe呢? 
0x02 如何執行shellcode
    經過一番搜尋,大致得到了這麼幾種執行shellcode的方法(c語言,其它語言執行shellcode的方法可自己去尋找) 
1: 
3.jpg
2: 
4.jpg
3: 
5.jpg
4: 
6.jpg
5: 
7.jpg
6: 
8.jpg
7: 
9.jpg
8: 
10.jpg
    使用vc6預設的Debug方式編譯cpp程式碼,得到8個payload: 
11.jpg
分別使用360安全衛士(開啟QVM及小紅傘引擎,最新病毒庫)和360防毒掃描: 
12.jpg
13.jpg
    看起來,免殺是沒有問題了,那麼這些shellcode是否能正常執行呢?執行生成的8個exe測試下連線效果: 
14.jpg
0x03 總結
實際測試過程中發現,減小exe的體積會增加被查殺的風險,使用預設的編譯選項即可完美兔殺!

不同的編譯器編譯生成的exe免殺效果也不同哦!