游客发表
一次完整的渗透渗透测试,核心就三件事:搞清楚目标长什么样、测试找到能进去的流程口子、验证这个口子能造成多大破坏。包括前阵子帮一家做跨境电商的渗透客户做内网渗透,从外网一个废弃的测试API接口摸进去,最后拿到域控权限,流程整个过程用了不到72小时。包括客户的渗透技术负责人看完报告只说了一句:“这个接口我们两年前就下线了。”问题恰恰出在这里——下线了,测试但服务器没关,流程端口还开着。包括
信息收集是渗透整个流程里最枯燥也最关键的环节。别急着上扫描器,测试先用搜索引擎和公开数据把目标的流程轮廓描出来。查Whois、翻子域名、看GitHub上有没有员工误传的配置文件、用Shodan搜一下暴露在公网的物联网设备。有个小技巧:很多企业的测试环境域名会挂在主域名的C段下,命名规律通常是test、dev、staging加数字后缀。我习惯把收集到的资产整理成一张拓扑图,标注每个节点的IP、端口、服务版本、可能存在的已知漏洞。这一步花的时间越长,后面动手时就越省事。
拿到资产清单后进入扫描阶段。Nmap扫端口,Nessus或OpenVAS跑漏洞扫描,Burp Suite抓Web应用的流量。别完全依赖自动化工具的“高危”标签,误报率能到三成以上。上周扫一个客户的内网,Nessus报了一堆SMB漏洞,结果人工验证发现全是Windows更新补丁后的误判。真正有价值的是那些“中危”但能组合利用的漏洞——比如一个信息泄露接口加上一个弱口令,就能从外网直接跳进内网。
漏洞利用环节最考验耐心。用Metasploit打MS17-010?成功率不到一半,目标系统稍微打个补丁就失效。更靠谱的做法是手工构造Payload。有一次遇到一个SQL注入点,WAF拦得死死的,最后用分块传输编码加注释符绕过,拿到数据库权限。提权阶段优先找配置错误:SUID文件、计划任务、服务权限、环境变量。Windows上多看看注册表里的AutoRun项和未引用的服务路径。拿到一台机器后别急着横向移动,先在这台机器上翻文件、抓密码哈希、找SSH密钥和浏览器保存的凭据。很多内网渗透的突破口就藏在某个运维人员的桌面文档里。
权限维持和痕迹清理是容易被忽略的部分。留后门的方式越隐蔽越好,比如注册一个计划任务每天凌晨执行一次反向Shell,或者修改合法服务的二进制文件路径。清理日志时注意Windows的事件日志和Linux的auth.log、syslog,但别全删——全删反而会引起管理员警觉。理想状态是只删除与你操作相关的记录,保留正常的系统日志。
最后交付的报告别堆砌漏洞列表。客户关心的是“这个漏洞能让我损失多少钱”。把每个漏洞映射到具体的业务风险:数据库泄露对应客户信息买卖,域控沦陷对应全公司数据加密勒索。修复建议要具体到版本号和配置项,别写“建议更新系统”这种废话。附上完整的攻击路径图和复现步骤,让客户的技术团队能自己验证一遍。渗透测试的本质不是炫技,是帮客户在真正的攻击者动手之前,把门锁换掉。
友情链接