Go 語言項目圖片中隱藏Shellcode
前言
最近在 Github 上發現一個有趣的項目:
https://github.com/Hangingsword/HouQing
該項目是用 Go 語言編寫的免殺項目,可以將生成的 Shellcode 隱藏進圖片中,然后讓目標主機進行遠程加載調用。
項目中有兩個兩個主要文件:

image-20210926172410513
?code.go:用于生成含有 Shellcode 的圖片。
?Loader.go:用于遠程加載圖片里的 Shellcode。
實戰演示
首先需要修改項目中 code.go 和 Loader.go 的源碼:

image-20210921145406091
改一下兩個 KEY 的值,需要同時修改并且兩個問價中的數值相同。
然后使用 CobaltStrike 生成 Java 類型的 Shellcode:

image-20210921145546888
生成 payload.java,把里面的核心 Shellcode 取出來放入到 code.go 里:

image-20210921150226175
然后隨便找一張 jpg 圖片進行 Shellcode 的注入:
go run code.go shell.jpg

image-20210921150833041
然后將圖片上傳到未經壓縮過的圖床上:

image-20210921151024277
在 Loader.go 中寫入圖片 shell.jpg 的遠程地址:
i
mage-20210921151142587
在本地執行以下命令測試:
go run Loader.go

image-20210921152640372
如上圖所示,目標主機成功上線。
最后,我們執行以下命令,將加載器 Loader.go 編譯成可執行文件:
go build -ldflags="-H windowsgui" Loader.go // -ldflags="-H windowsgui" 防止彈窗

image-20210921153012573
在目標主機上執行 Loader.exe 即可上線:

image-20210921153314834
查殺測試
該圖片 shell.png 在 virustotal 上的查殺率為 0/57:

image-20210921153927844
Loader.exe 在 virustotal 上的查殺率為 8/62:

image-20210921154445190