游客发表
拿到授权书之后别急着掏扫描器。对网我见过太多人一上来就开Nmap全端口扫描,络系结果触发了WAF封禁,统进透测后面三天啥也干不了。行渗序渗透测试的试顺顺序本质上是一个信息逐层收敛的过程——从公开渠道能查到什么,到网络边界暴露了什么,对网再到内部能撬开多大的络系口子。顺序错了,统进透测轻则效率低下,行渗序重则打草惊蛇。试顺
第一步永远是对网被动信息收集。不开扫描器,络系不碰目标服务器,统进透测只从公开资源里捞东西。行渗序WHOIS记录、试顺DNS历史解析、SSL证书透明度日志、GitHub上员工误提交的代码、甚至招聘网站上的技术栈描述——这些都能拼出目标的大致轮廓。有一次我通过一个子域名命名规律,直接推断出他们测试环境的IP段,后来验证完全正确。这一步花两三个小时,能省掉后面十几小时的盲目扫描。
被动收集做完,才开始跟目标有轻微交互。DNS枚举、子域名爆破、端口扫描,这些动作会产生日志,所以得控制节奏。Nmap别一上来就-T5加全端口,先-T2扫常见端口,确认防火墙行为后再逐步加码。遇到过一台服务器,前100个端口全filtered,但扫到8443时突然返回RST——说明防火墙规则有缝隙,顺着这个口子才找到入口。
端口后面是服务,服务后面是版本。版本信息决定你下一步查哪些CVE。nmap的-sV脚本够用,但别全信——banner可以伪造。手动连上去看一眼HTTP响应头、SSH握手包,比脚本扫描靠谱得多。
有了端口和服务清单,漏洞扫描可以上了。但别把Nessus或OpenVAS的结果直接当结论。扫描器报的“高危”有一半是误报,真正能用的洞往往藏在扫描器忽略的逻辑里。我习惯先手工测几个点:Web应用的登录接口有没有SQL注入、文件上传是否校验MIME类型、API有没有越权。这些扫描器不一定能发现,但一旦存在就是直通内网的门票。
Web层面优先于系统层面。一个Spring Boot Actuator未授权访问,可能比一个需要复杂利用链的RCE更快拿到shell。先打应用层,再考虑系统层。
拿到第一个shell之后,别急着扫内网。先看这台机器上有什么——配置文件里的数据库密码、SSH私钥、云服务AK/SK、浏览器保存的凭据。很多时候一台边缘Web服务器上就躺着通往核心系统的钥匙。我试过从一台暴露在外的Jenkins服务器上翻到Kubernetes的service account token,直接接管了整个集群。
横向移动的顺序取决于目标价值。如果只是测边界安全,拿到DMZ的shell就可以收工写报告了。如果合同允许打内网,那就用BloodHound或类似的工具梳理域内关系,找最短路径到域控。提权之前先确认当前权限能做什么——有时候不需要提权,当前用户就能读敏感数据。
测试结束前,把自己上传的工具、创建的账号、修改的配置全部还原。留了后门被客户发现,下次合作就没了。所有操作截图、命令历史、流量抓包整理成时间线,报告里的每个结论都要有对应证据。别写“可能存在SQL注入”,要写“在/api/login的username参数处,通过' OR 1=1--返回了管理员token”。
顺序不是死板的。如果被动收集阶段就发现了泄露的VPN凭据,直接登录进去看比在外面扫端口快得多。渗透测试的乐趣就在于,你永远不知道哪条路会先走通——但先走哪条路,得想清楚。
友情链接