External Network Penetration Testing 是一个用于开展外部网络渗透测试的技能,目标是对互联网暴露资产进行完整的外部评估。其用途包括 OSINT 侦察、子域枚举、暴露服务发现、漏洞扫描以及对面向互联网资产的利用测试,覆盖外部评估的完整生命周期。
主要能力按阶段组织:
第一阶段为 OSINT 侦察,通过 Google/Bing Dorks、证书透明度(crt.sh)、ASN 查询(amass intel、whois、bgp.he.net)、Shodan 搜索以及 SpiderFoot、theHarvester、Maltego 等工具在不直接接触目标的情况下收集情报。
第二阶段为被动侦察,利用 DNS 历史、Web Archive(waybackurls)、Pastebin 监控、凭据泄露检查、社交网络员工枚举(linkedin2username)和邮箱发现(Hunter.io)等发现资产。
第三阶段为子域枚举,使用 Amass、Subfinder、DNS 暴力破解(aiodnsbrute、DNScan)、证书透明度(ct-exposer)、TLSX 提取 SAN,并通过 httpx 解析存活子域。
第四阶段为子域接管测试,使用 Subjack、Nuclei takeovers 模板,并手动检查指向未认领服务的 CNAME 以及 Azure/AWS/Heroku/GitHub Pages 等常见易受攻击服务。
第五阶段为主动侦察,使用 Masscan 快速端口发现、Nmap 服务枚举与 NSE 脚本、Shodan/Censys 查询,以及 gowitness、eyewitness、aquatone 进行 HTTP/HTTPS 截图。
第六阶段为暴露服务测试,覆盖 HTTP/HTTPS(whatweb、wappalyzer、gobuster、feroxbuster、虚拟主机发现、IIS 短文件名扫描)、邮件服务(SPF/DKIM/DMARC 检查、开放中继测试、用户枚举)、DNS(区域传送、dnsrecon、dnsenum)、SNMP(onesixtyone、snmpwalk)以及 VPN/远程访问(ike-scan、ssl-enum-ciphers)。
第七阶段为云枚举,涉及 AWS S3 桶、Azure Blob 存储、GCP 存储、MicroBurst 以及 CloudFlare 绕过。
第八阶段为漏洞扫描,使用 Nuclei 模板、Nessus、Nikto、WPScan、JoomScan 以及 SSL/TLS 测试(testssl.sh、sslscan)。
第九阶段为密码攻击,针对外部服务进行密码喷洒,覆盖 O365/Azure(MSOLSpray、trevorspray)、OWA、VPN(checkpointSpray),并可通过 Fireprox 进行 IP 轮换规避。
第十阶段为利用,包括暴露凭据(gitleaks、trufflehog、shhgit、.git 目录暴露与 git-dumper)、默认凭据检查、RCE 漏洞利用(Nuclei CVE 模板、Metasploit)。
使用方式:该技能以命令行工作流形式提供,用户需按阶段执行相应工具命令,并组合、去重各阶段输出。技能还提供快速参考表,涵盖侦察命令、端口扫描、Web 应用测试和常见外部服务端口(21 FTP、22 SSH、25 SMTP、53 DNS、80/443 HTTP/S、445 SMB、3389 RDP)的测试重点。
适用场景:经书面授权的红队评估、外部攻击面梳理、安全审计与漏洞评估。
限制与约束:仅测试授权 IP 范围,遵守速率限制与服务可用性,避免 DoS,记录所有测试活动;书面授权为强制要求,须在既定范围内操作,必要时通知 ISP,遵循交战规则。技术限制包括 WAF 可能阻断扫描、服务速率限制、地理限制以及部分服务需要凭据。故障排查部分针对未发现子域、扫描被阻断、密码喷洒锁定等情况给出建议,如使用多种枚举工具、降低扫描速率、IP 轮换、增加尝试间隔、尊重锁定阈值、先检查 MFA 要求等。
该技能的具体收费、价格、平台支持情况暂未提供。