对于客户的渗透测试来说,在进行前与用户沟通某些有关事项是非常必要的:首先是渗透测试的目的:用户这次的需求是什么?等待保险、日常安全检查或者其他目的,不同的目的决定了不同的漏洞评估等级,在测试过程中也感受到不同的方法。二是渗透测试总体目标:总体目标通常分为服务器和软件系统,这两个总体目标的渗透方式大致相同。做软件系统的渗透测试,还要辨别软件系统后端的服务器。往往在软件系统渗透失败的时候,我们可以从服务器层面突破,反之亦然。第三是总体目标环境:通常我们的渗透测试会在两个环境下进行,一个是生产环境,一个是测试环境。不同的环境对渗透测试有不同的要求。假如是生产环境,我们还要防止DoS拒绝服务、跨站脚本攻击等可能造成服务中断或延迟服务响应的攻击;其次,生产环境的测试周期还要选择在非业务高峰期;在生产环境中进行渗透测试时,还还要防止向总体目标插入、删除或修改数据。
在不同的总体目标环境下,渗透测试也会面临一个问题,就是如何访问总体目标环境。一般来说,我们可以直接测试对互联网开放的生产系统或服务器;但是,如果用户的测试总体目标是内部系统或服务器,特别是测试环境,则不能直接访问互联网。这时候我们有几个选择:一个是进入用户站点进行渗透测试,一个是以VPN或者IP地址接入白名单的形式接入。记住一点,如果你在家里做渗透测试,建议买云主机提供公网IP,由于这种IP地址是固定不动的,家里的光纤宽带通常是动态IP地址,因此用户通常不应该允许添加这种类型的动态IP地址接入。第四是执行时间:我在第三点也提到了这一点,主要还要和用户确认,尤其是在生产环境中。第五是风险规避方案:与用户协商制定好的风险规避方案,有助于我们应对测试过程中的各种突发事件。实施系统备份并制定应急计划,以便在紧急情况下恢复系统;做好试验期间的安全监控,发现异常及时停机。
沟通完以上,就可以进行技术测试了。技术测试的这一部分是一个常见的话题。事实上,当你有渗透测试用例的时候,你会发现这部分技术测试是:1。常规操作;2.“琐碎”思维的奇思妙想;3.毅力。我们还是从流程上贯穿整个技术测试:第一步是信息收集,记住做信息收集的时候要考虑渗透测试的目的。子域名搜集:还要留意这一步是否有必要。如果用户的目的只是为了测试一个域名的安全性,那么做子域名搜集意义不大。如果是为了某个目的要求渗透个网站,就要做子域名搜集。搜集子域的方法往往是DNS漏洞、蛮力破解、DNS解析和查询等。对于部分渗透,边站查询也是一种思路。很多客户想要对自己的网站进行渗透测试服务可以去网上看看,目前像国内的SINESAFE,鹰盾安全,启明星辰,绿盟,都是做安全的大公司。
IP地址信息收集:c、b段主要用于总体目标过去IDC机房或自建私有云存储。如果是云环境,可以关注私钥或Token的泄露。在本文的最后,我放了某些关于云环境渗透的参考资料。港口及服务信息:主要通过相关工具扫描,如nmap、masscan。敏感目录和相对路径:留意借助平日搜集的字典和工具辨别回报的方式;网络容器和后端组件可以通过某些浏览器插件或扫描仪来识别。CMS:这种更重要。通常大客户要么是自己开发的系统,要么是成熟的CMS系统。我们搜集这些信息是为了方便我们查询已知的漏洞以进行进一步的攻击;其他信息:还有账号密码、Token、AK/SK信息、历史漏洞、历史漏洞中的敏感信息等信息,主要通过搜索引擎和第三方平台(GitHub是主要渠道)搜集。搜集信息更重要的是平日的字典和工具库的搜集,以及搜集信息的灵活方式。
我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!