giuseppe-maglione/fr33d

GitHub: giuseppe-maglione/fr33d

一个基于 C 语言的红队 Dropper/Injector PoC,演示在 Windows 环境下绕过 Defender 静态与动态检测并实现远程 shellcode 注入与反弹 Shell。

Stars: 1 | Forks: 0

# fr33d - 基于 C 语言的 Dropper 和 Injector (PoC) 本项目是一个模块化 Dropper 的**概念验证**,使用 C 语言编写,旨在用于教育目的以及研究 Windows 环境下的高级规避和代码注入技术。该植入物旨在规避 Windows Defender 的静态和动态分析。 ## 🚀 高级功能 ### 1. 静态规避与混淆 - **API 哈希 (DJB2)**:在导入地址表 (IAT) 中没有直接的 Windows API 调用。函数在运行时通过字符串名称哈希进行解析。 - **XOR 字符串加密**:所有敏感字符串(DLL 名称、目标进程、注册表键)均使用动态密钥进行 XOR 加密,并仅在即将使用前在堆栈中解密。 - **OPSEC**:所有敏感字符串在使用后立即重新加密,以防止内存抓取。 - **二进制剥离**:可执行文件在编译期间被剥离了调试符号和元数据。 ### 2. 动态规避(反分析) - **反调试**:在运行时检测可能附加的调试器。 - **反虚拟机**:通过 `__cpuid` 指令直接查询处理器以检测虚拟机管理程序。 - **反沙箱**:验证系统运行时间,作为动态启动的沙箱环境的常见指标。 - **智能延迟**:一个“智能”计算循环,用于在不使用 `Sleep()` 函数的情况下绕过沙箱等待时间。 - **资源检查**:硬件资源检查,以检测受限的分析环境。 - **多态性**:Python 武器化脚本通过在文件末尾的 overlay 中追加随机字节,为每次构建生成唯一的 SHA-256 哈希。 ### 3. 持久化与控制 - **标识互斥锁**:检查是否存在唯一(已加密)的 Mutex,以防止在同一主机上执行多次冗余的运行。 - **模块化持久化**:可在 Windows 注册表和 PowerShell 配置文件持久化模块之间进行选择。 - **绕过 PowerShell 执行策略**:如果启用了通过 PowerShell 配置文件的持久化,则通过在相应的 Windows 注册表路径中配置 `ExecutionPolicy` 值来绕过 PowerShell 的执行策略。 ### 4. 进程注入与网络 - **模块化下载器**:使用 WinINet 从远程 C2 服务器下载加密的 shellcode/payload。 - **隐蔽注入**:将 shellcode 注入到系统进程中 (`svchost.exe`)。 ### 5. 自动化 C2 基础设施 - **一键部署**:专用的 Bash 脚本 (`start_c2.sh`) 可自动化完成完整的攻击者基础设施设置。 ## 🛠️ 项目架构 ``` . ├── src/ │ ├── main.c # Entry point and core logic │ ├── evasion.c # Anti-VM, Hashing, XOR, Mutex │ ├── network.c # Payload download manager │ ├── injection.c # Injection logic (Remote Thread) │ ├── persistence_reg.c # Registry persistence module │ ├── persistence_ps.c # PowerShell Profiles persistence module │ ├── config.h # Definitions and constants │ └── ... # Header files ├── tools/ │ ├── builder.py # Polymorphic builder and stripping │ ├── stack_string.py # C Macro generator for Stack String with XOR │ ├── string_encryptor.py # Strings encryptor based on secret key │ └── hasher.py # DJB2 hash generator for APIs ├── attacker/ │ ├── www/ │ │ └── ... # Web Server Folder │ └── start_c2.sh # Launch Automated C2 Infrastructure ├── payloads/ │ └── calc.c # Light testing shellcode ├── build/ │ └── malware.exe # Final executable ├── docs/ │ └── ... # Documentation └── README.md ``` ## 🔨 配置与部署 该项目需要在 Linux 上使用 `mingw-w64` 交叉编译器。 **⚠️ 配置要求:** 在构建之前,您必须更新以下两个文件中的攻击者 IP 和端口,以匹配您的本地设置: 1. `src/config.h` (Dropper 的 C2 URL) 2. `attacker/start_c2.sh` (用于 payload 生成和监听器的 LHOST 和 LPORT) ### 部署步骤 **1. 编译与武器化:** 运行自动化构建器以编译 C 代码、剥离元数据并应用多态性。 ``` # 构建默认版本 (OneDrive_Updater.exe) python3 tools/builder.py # 以 test mode 构建 (跳过 VM 和 SandBox evasion) # 你应该使用此选项在受控环境中测试 malware python3 tools/builder.py --test # 以 debug mode 构建 (显示终端和详细日志记录) python3 tools/builder.py --debug # 构建并选择 persistence module python3 tools/builder.py --persistence [reg, ps] # 构建并使用自定义名称 python3 tools/builder.py --name "CustomName.exe" ``` 生成的 payload 将保存在 `build/` 目录中。 **2. 启动 C2 基础设施:** 启动自动化脚本以生成原始 shellcode,通过后台 Python Web 服务器托管它,并启动 Metasploit 监听器。 ``` chmod +x ./attacker/start_c2.sh ./attacker/start_c2.sh ``` **3. 传输 Payload:** 将生成的可执行文件从您的 `build/` 文件夹传输到目标 Windows 机器上(例如,通过将其托管在 Web 服务器上或通过 USB 传输以进行实验室测试)。 **4. 执行:** 在目标机器上运行 Dropper。一旦绕过沙箱检查和智能延迟,payload 就会被下载并注入,从而向您处于活动状态的 Metasploit handler 返回一个 reverse shell/beacon。 ## 🔬 测试 该植入物已在 **Windows 11 (23H2)** 和 **Windows 10 (idk)** 上成功测试,绕过了标准的 Windows Defender 特征码检测,成功将注入到挂起的 `svchost.exe` 进程中的 Sliver (mTLS) shellcode 加载运行。 ``` @%%#@*%%=%#%+#=%%@%#+#%#@%%%@%%@@%#%%@.%.@@@-*#+*#%@%#%%%#-%@%#@#@%#%-%=@*%%%%%=#*+@+*+*#*+-@%+*#*%* #@@@%%@@@%%@%%*##@%@@%@*##%%%%%@=@@*@#**#####%@+*#%%:#%%+#*%-@##+@-@#+-=%+@*#++#+=%+*@-:.-*-=**%@+#% ##@@@@*@%%@%#@%%%%@#@@%@@%@#%%@#%%%%%#+-%@*@%@%%%@%@%@@@*%@%%%@#%*@%#%*#+%#%#%#%#%%++*@+.%+#=@%-%%#% @%%%@@%@@@%%%@@#%@%%@#@@@%%@#%%%@%@%@@%+@%%%%%%=%%@#@%%%*%##@**@@@%#%@*#@@%%@%@%-@@*+%#+:=:*-#%*##=* #%%%@@@@@%%%%*#%%%%%%@@%%*@@#%@%%@#%@%@@@%@%#@@@*%%%@%%@%*%%+%**%%@%@%####*#@##=%*+@#*##*@%#%%@+@@#= @%@@@@@%@@@@@%@@%@%@@%%%@*%@@%%%#%@%@%%@%@%%@@@@%%@@@@@@@@@@@#@@%#@@%%@@%:%@%*%+%%@%@@=%+*@**#@@%%#* @@@%%%@%%@@%%%@%%@@@%@@@@@@#%%%#@@%@%@@@@%@%@@@@%@@@*@@%@#@%%%@%@@@#%@*@*#%@%#%*%@@@#=@@#@%@%#@%@*#% @@@%@@@@@%%%@%%@%#@%%@@%@##%@@%@@@@#@%%%@%%@%#@@%@@%@@@@@@%@@##%%%@@#%##-%%%*#*@-#+@+##%#%#:#@%*%#@% -%@%@@@%@%%%%@@@@%#@@%@%@##@#%@%@%@%@%%@%%@%#@@@.@%@@%@%#@%%@%@%%%@@@%@%%@#%@%*%@*@#*@%*@%=+%#%%-%#- @%@@@@@@@@@@@%%%@@@@@@#@@%%@#%##%@@%%@*#@%@@%@%@%@%%@%%@%%%%@@%@@%%%#*@@%@@#@@*#@%@*%##@%@%%%%@@@%@% @@@@@%@@@@@@@@@@@%%%%@%@%@%@%%%%@%#+-%#%*%%@@@@@@%@@%%@%@@%@@@@@%@@@%@@@@%@*%@%@%@@@%@*%#*@@@%@@#@%% #@@@@@@@@@@@@@@%@%@%%#%#%%*#%**+..... .. +%%##@*%#%@%#%@%%#@@=@@@@@@%#+%##%@+@*%%%@%=*@*%=**#%%@*#@# @@@@@@@@@@@@%@@@@%@%%@#*#%**-.............-+**%%=%###@%-%@@*%#%@%@%@@@%%%@@++%#-%%%@%*#@##@%*@%%#@@@ @@%%@%%%@#%@@%%%@@%%%@+**+=.........+... .@.....==@+%#@*%@=@+@@%@@@%%@@@@@@%@@@%@@@@@@#@@@@@@#@#%%## @@@%@@@@@@@@@%%%@@@%:@@++=.:.....=.....+@.#.. ...-:+#@-#@+@@@@%@#%@@@%@%%=@@@%%@#%#@%%##%@+%@*@@@*** @@%%@@@@@@@@@@@@%@%@@*%%@.....=.....*=..+..... ....:+*-@@@@%:#%@@@%@-:%@@-#%%%@#@#+*:@#+%*%%@*%#%%*# @@%@@@@@%@@@%*%@##%##-#**#....=:.......-...........+:=@**%%**%%@*@@@*#@#%%@@*%@**%##@%%@##@%@@%#@#@% @@@@@@@@@@@@%@@@%%%+@---..%.. ................. .*.-=#%%@%%%*#@%%@%#@%-%@#@#@@@%%%%%#+@@@@@%%@@@:@* @@%%@@#@@%@%%@@@%%##+-...@...:..... ....-.......%..:-:-+@+#@%%@@%@@@%@%#@@%@@##@%@#%@%++%##@%#%@@=%@ @%@%@@@%@@%@%#*%%%*%:-=@ .%. ..... .......+.......:--++@+#@@#%#%@%@@%@*@%@%%@%#%#%%@@@@@@#%@%%@%@=*@ %%@@@%@%@%@%%%%@#%%#*--* ................:........-==***%#=#**@#@@@%@-#@%@@@@@#%@@%%%+%*%%-#+@*%%*:# @%@%@@@@%@@#%@%@%%%%%+:=........................::****@@%##%%@#@**@@@%%@%%@@@%:*#@@@@%@@@=@%###@@:-- @@@%%%@@@@@@@@@@%%%%#@-.*....... ...#........ ..-:*@@@#%#@##*@*#%@@%*=%%@%#@@@%@%@@*@%@%#@@@%@@@@%%% %@@@@@%#@%@@@%%@@@##@%+**#.......... . ........-.=%@#%*%%%+#=-=#%@#%@@+@#@@%@%@%%@%%@@%#@%@*%@#@%### %@@@%@%@%%@#%%#@%%#%%@#%%**+:=............::.....=*+%%#%%@@#%*@#:@%##@%@.@@@@%%%%%%*%#%*@@@%@*@%@@#. @%@%@@#%@@@@@@@@@@@#%%###+*#-@..... .-...::..-#..=::*%##%#%##%%%+###%@%@%@%@%@@=%%*@@@%@*%%@##%@@@:* @%@@@%@@@%+%@#%%%#=%+%#%%%#%%*%....+:--%*-+#=+--.*..=#@=#%+#%%%@#%%@@%%@%%%@@%%@@@@%@%%#@%@@@@%@%%%* @@@@@%%@@#@#%@@#@*#@#@@%=%+*#+=-@**-=#=.-::+-%+::...:@*-#%==%@#+-####@%#+%%%%**%@@@#*@@@***-%@*%@%=@ @@@@%@@@%#@@@@%*%#%@#%-#=#.*#@@#%=*:::-..............:.=**++@#@+-#%+=+*++-*%@%@@@%@@%@@#@@+%@*@%=#=+ %@#@@@@@@@@%%##%%%#%@%%#@%#%%%@%#%*%#@#=# .:... +-......=%==%:.=-*--.+......%@@%@@%@%%@#@@@@**@@#@%@ @%@%@@@@@@@%@@@@#%@@%@%@@%@@#%@@*+#@@=-.+.........-.*:.....:+.......*.......=*#@@%@+@@*@%#@#%@@*=%#* @%@@@@%@%@%@@%@#@@@@@#%%@%@%*%%%*#*=:::..........::=###.=....+.......::...*#+%%#%@@*@@@@%@@+=#=@@#:: @@@@@@#@#%@%@@%@@@%#%@++@%%@%%@@@@%%*.-...........+*#*##%.#. ..+++%..--......==@-:@****%@@+##%@#-*-- %%@@@@@@@@@@@@@@@@@@%%@@@%%@@*@#%+-*+:...+.%.....-+:%%%@%@@%@%=@.....#*=%%%%.*=*#@*@@#@=##@#%*@%#@@@ @@%@%@@@@@%@@@@@@@@@%@%%@@@@@-@*%%-=##...*:.--**.:+**@@##*%@%@#@@......#@@%%##%%%@*%%%#%%%@%@@#@@*=. @@%@@@@@@@@@+@@%@@@%%@%%@%%%@@@%@%%@=%..:==*#%@@#%@%@*@#%%%%@@%@@@@@=@..:-+#%#%#@#@+@@@#+@#@#++@**+: @%@@@#%%@@@%@@%@@%%@@%##@%%#%*#*#@@#@%%.=-#:%%@#+*%@%@%%@#@+#%%@@#@@*%++.#-*@#@+:#@+++#%%#*@@%%%#%:. *#%@@@@@%@@#@@@%@%###*##%@@*%@%@%@%+%%@@=@%+%%%##*#@%*@%@*@@%%@%%@@#%#@=..%%#**@@%-#@+*-*+@#=+%-=#:. %#@%@%%@%@#@%@%@@%@%#@@@#%%#@@%%*#%%%@%@@%**@*@%@%@@@%@%@@%@@@%@%%@@%##%..**@%##%#%%@%%#=%@%*%==*%.+ @*@@#@@@%%%@@@%@%+@%@#%%%#@@:@@*#@#@%:%@%##@@@@%@@#@*@%@##%#@%#%%@@@@#*++..=#%#%%%##*+@%%*@@%@%%*@.. @@%@@@@%@#%#@@@%@@%#%%%%*@+%#%%%#%@@=@@@@@@@#@#%@@%@%=#@@@+%%@%@%%%#%%*%#=.@+#=@#%@%@@*#=#+%%%%@###* %%%@%#@***************%%@*%@##%#@@@@%-@@@@%@@*@@*%#@*%%@%@@@%@%@%@@%@*%#*+.+#=%*@@@@%*#:*%##@+@#%%.: @#%%%%#************************************@%#%*#@%%%%##%@@%@%@%@#@@@#*%+@.@=#%@%-#*#++-==*@**+:#+:: @@*@%%@************************************%*@+++=@#*@%@@@@@@%%#@#@@@#%%@#..##*@%@@%#-=+@*##@%#@%@+: @@@@#@@************************************@=%@%=@%@@@#+#%#%@@@@@@@@@@@=##..#%=+%#*%@%%@@%%@%@##*#:: @@%@@@%*************************************@#%*@*+@%@#+@%%#*#%@@%@@%@%*%=..+%*%%:@@@=-*%+-#*%%#%*.: @@@@%@@************************************@#@%%@@%%%*@%%*%#@%%@@@%%@:#-:@@=%@@=.%==-*#@#-+@.*%#%*:: %@@%@@************************************#%@%%@%-+*@:@##%%%%@%@%@@#@%@*%*@%%@%=:##=#-.*-%##:@@:%=:= @%@@@@************************************@@@%%#@%%@@*@@%#@%@@@@@@+#@#%**%@@@@*@@*=:=*#:**#*:-%*%#:. @%@@@@************************************@@@@@@@@@@@@@@%@@%@@@@@@@@@@@%@@@@@@@#@@%%%*+%.*@%##@@%*:# @@@@@@@@@@@#******************************@@@@@%@@@@@@@@@@@%@@@@@@@@@@%@%@@@%%@@%@%+%@%-%%*@#-#%@.:. @@@@@@@@@@@@@@%@@@@@@@%@%@@@@@@@%*********@@@@@%@@@@%@%@@@@@@%@@@@@@@@%%%@@%%*%@%@%%%%##%%+%@@#%@%.: @@@@%@@@@@*#%%%@%@@@#@@%@@%@@%%%@@@@@%@@%@@@@%@@@@@%@@%@@@@#@-%%@@%@%@@@%@%%@%%*%@#%@**@#:*:*==:%%.% %@@@@@@@%@%@@@%%*@%@@#@%@%%@@@@@@@@@@@@%@@%@@@@@@@@@@@@@@@@@@%@@@@%@@@@@%%=@#*@%%%*%#*+%:%+#=--#*%-. @@%@@@@%@@#@@@@@%%%%@%@@##%@@%@%@%%@%@@#@@%@@@@@@%%@#@@@@@%%@@%@%@@@@@%%#@%*%%@*%**-%*@=*#@+@=%=#%:. ```
标签:DNS 反向解析, 中高交互蜜罐, 客户端加密, 应用安全, 恶意软件开发, 逆向分析, 逆向工具