游客发表
某次众测项目中,属于渗透甲方坚持认为“只要登录了后台就是测试渗透测试”。结果我们的属于渗透人刚点开管理员头像上传了个图片马,对方安全主管就喊停:“你们这是测试入侵!”——他理解的属于渗透渗透测试,大概仅限于用Nmap扫个端口,测试再用御剑跑个目录。属于渗透这种认知错位在真实世界里太常见了,测试以至于我不得不把话说清楚:以下这些行为,属于渗透真的测试不属于渗透测试。
第一种,属于渗透拿扫描器全自动跑一遍,测试导出报告就算交差。属于渗透这活儿叫“漏洞扫描”,测试跟渗透测试差着十万八千里。属于渗透扫描器只会告诉你“这里可能有个SQL注入”,但不会告诉你这个注入点能不能绕过WAF、能不能直接拖库、能不能进一步拿到内网权限。真正的渗透测试要人工验证每个漏洞的利用价值,要模拟攻击者的思路去串联漏洞链。去年有个客户拿着某扫描器的报告找到我,说“你们必须把这些漏洞都复现一遍”,结果其中八个是误报,剩下两个是低危的信息泄露,真正要紧的那个逻辑漏洞——任意用户密码重置——扫描器根本发现不了。你说这算不算渗透测试?当然不算,充其量算“高级一点的漏扫”。
第二种,只测Web应用,不碰主机、不碰网络、不碰无线。有些企业把“渗透测试”的范围框定在“公司官网和App的API接口”,其他的一律不许动。可现实是,攻击者不会按你的范围划分来干活。他们可能先攻破你们某个没人维护的旧论坛,然后横向移动到内网,再找到HR部门的共享文件夹,最后通过钓鱼邮件拿到域管权限。你只测Web那部分,等于把房子的大门锁得死死的,却忘了后院有个窗户根本没关。我见过最离谱的一次,客户要求“只测线上商城,但千万别影响支付流程”,结果我们测试时发现商城后台的数据库居然和生产环境的库是同一个,这意味着一旦商城被攻破,整个生产数据都裸奔。这种“阉割版”的测试,测了等于没测。
第三种,拿着现成的POC脚本,对着系统一顿猛打,打下来就说是“高危漏洞”。这更像是“漏洞验证”,而不是渗透测试。POC脚本是别人写好的,你只是执行了一下,根本不知道原理,也不知道这个漏洞能带来什么实际影响。真正的渗透测试要思考:这个漏洞能不能组合其他缺陷?能不能提升权限?能不能持久化?就像你捡到一把钥匙,打开了人家的大门,然后呢?你是只偷了客厅的电视就走,还是能摸清整个房子的结构,找到保险柜的位置?后者才是渗透测试该干的事。有一次面试,一个小伙子说自己“擅长渗透”,我让他讲讲最近挖到的一个漏洞利用链,他支支吾吾半天,最后说“我就是用网上那个exp打的”。我当场就想结束面试。
第四种,也是我最想吐槽的——把“合规检查”包装成渗透测试。有些等保测评机构的人上门,拿着检查表逐项打勾:“密码策略是否设置”“是否开启日志审计”“是否部署防火墙”,然后出一份合规报告。这玩意儿跟渗透测试没有半毛钱关系。合规是“最低要求”,渗透测试是“模拟真实攻击”,两者方向完全不同。你按等保三级的要求配好了所有安全设备,不代表黑客就进不来。去年有个金融客户,等保测评全过,结果被一个简单的暴力破解打进了后台,因为他们的登录接口没有做速率限制,而测评表里根本没有这一项。
说了这么多,你大概明白了——渗透测试的核心是“人”,是那个会思考、会猜测、会绕弯子的攻击者思维。工具只是辅助,范围只是约束,报告只是结果。如果哪天你听到有人说“我们做了渗透测试”,结果一问,既没有人工验证,也没有尝试提权,更没有横向移动,那你可以礼貌地告诉他:这活儿,叫“安全检查”,别蹭渗透的热度。
友情链接