shellcode-loader-generate

$npx mdskill add wgpsec/AboutSecurity/shellcode-loader-generate

Generate C/C++/Rust loaders from shellcode using four component combinations.

  • Creates executable loaders for running shellcode in target environments.
  • Depends on references/loader-components-db.json and references/loader-scenarios.json.
  • Selects storage, allocator, copier, and executor components to avoid duplicates.
  • Outputs a complete loader binary ready for deployment.

SKILL.md

.github/skills/shellcode-loader-generateView on GitHub ↗
---
name: shellcode-loader-generate
description: "Shellcode Loader 组合生成:从知识库选择 storage/allocator/copier/executor 四类组件组合生成 C/C++/Rust Loader。当已获 shellcode、需要生成可在目标环境运行的 Loader 二进制时使用。先读 references/loader-scenarios.json 确认不存在重复场景,再选择 4 组件组合生成"
metadata:
  tags: "shellcode,loader,generate,evasion,windows,c,cpp,rust,VirtualAlloc,CreateThread"
  category: "evasion"
---

# Shellcode Loader 组合生成

## ⛔ 深入参考

- 组件库完整列表(85 组件) → [references/loader-components-db.json](references/loader-components-db.json)
- 已有场景(避免重复) → [references/loader-scenarios.json](references/loader-scenarios.json)
- 架构说明与模板 → [references/loader-architecture.md](references/loader-architecture.md)

---

## 4 组件选择矩阵

```
Loader = Storage × Allocator × Copier × Executor
```

### Storage(存储方式)— 15 种
内部嵌入 | 资源段 | 远程URL | 注册表 | ADS | ...

### Allocator(内存分配)— 14 种
| 方法 | 复杂度 | 代码模式 |
|------|--------|---------|
| VirtualAlloc | simple | `VirtualAlloc(NULL, size, MEM_COMMIT\|MEM_RESERVE, PAGE_RWX)` |
| HeapCreate | medium | `HeapCreate(HEAP_CREATE_ENABLE_EXECUTE, 0, 0)` |
| NtAllocateVirtualMemory | complex | 直接 NT syscall |

### Copier(数据复制)— 9 种
memcpy | RtlMoveMemory | 循环字节复制 | WriteProcessMemory | ...

### Executor(执行方式)— 47 种
| 方法 | 复杂度 |
|------|--------|
| 函数指针 | simple |
| CreateThread | simple |
| EnumWindows 回调 | medium |
| APC 注入 | medium |
| Fiber | complex |
| NtCreateThreadEx | complex |

## 生成流程

```
1. 查组件库 → references/loader-components-db.json
2. 查已有场景 → references/loader-scenarios.json(避免重复)
3. 选择 4 组件组合
4. 选择语言(C/C++/Rust)
5. 生成代码(使用 references/loader-architecture.md 中的模板)
6. 交叉编译验证(mingw-gcc / cargo)
7. 记录场景到知识库
```

## 编译命令速查

```bash
# C
x86_64-w64-mingw32-gcc -o loader.exe loader.c

# C++
x86_64-w64-mingw32-g++ -o loader.exe loader.cpp

# Rust
cargo build --release --target x86_64-pc-windows-gnu
```

## Rust Loader 注意事项
- Rust 错误处理:使用 Result / Option 类型,避免 unwrap panic

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|