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 反向解析, 中高交互蜜罐, 客户端加密, 应用安全, 恶意软件开发, 逆向分析, 逆向工具