信息收集是做渗透测试的第一步。收集目标的情报信息是一个非常重要的环节,可以大大提高渗透测试的成功率。
收集目标情报一般是对目标系统的分析、扫描探测、查找对方系统IP等。渗透测试者会尽力收集目标系统的配置whois、主机IP段、公司人员、安全防御以及防火墙等信息。
信息收集的目的从攻击方和防御方两个方面进行说明,分别是攻击方(黑客)在攻击前需要收集信息,才能实施有效的攻击,而防御方(安全管理员)用信息收集技术来发现系统的弱点,并进行修补。
系统信息收集的分类分为两个部分,一是被动收集,类似于监视活动,二是主动收集,类似于主动出击,刺探情报。下面我们进行分别介绍被动信息收集有许多方法,我们列举几种常见的一些信息收集方法:
1、一些网站和服务器的信息,包括whois,网站的DNS和IP地址等,
2、使用网站上的搜索引擎,常见的google、百度等,也可以发现一些信息。
主动信息收集,常见的是通过网络协议进行收集,党见的有主机扫描、端口扫描,系统类型扫描、漏洞扫描等方式进行信息收集。
攻击者需要的信息:
还有社会信息,如攻击者利用文件传输的功能进行社工钓鱼,直接发送给客户一个木马文件,安全意识不强的客户在点击木马文件后就有可能被植入木马,被攻击者完全控制其电脑文件。客服的办公电脑可能会存储大量的敏感信息,攻击者通过信息收集和信息分析进行进一步的渗透攻击,还有网站上令人感兴趣的信息,该公司使用了哪些安全设备?比如防火墙、waf等一些硬件或软件设备,得到防火墙的厂商和版本的,然后在之后的渗透中就可以针对该防火墙的一些薄弱环节进行对其渗透。其他的安全设备,也是同理。
初步的采点是为了获得足够的信息?然后再通过锁定那些敏感数据以及轻易攻击的点,这样便于针对性的进行攻击渗透,而不是通过大范围的攻击费时又费力。
建立信息数据库,渗透测试人员在通过信息收集与分析之后,能够建立针对测试目标,组织安全性弱点信息数据库,然后可以通过这个信息数据库来采取下一步的入侵行动。这个信息数据库可以包含网站脆弱点的信息,同一服务器上临站的信息,以及一些其他重要信息。在建立了这个信息数据库之后,渗透测试人员完全可以通过这个渗透数据库来规划入侵的方案。
信息收集分为三个步骤:
1、网络踩点,网络踩点是我们在网络的大海中找到需要渗透的对象。
网络踩点(footprinting)是指通过各种途径对被攻击目标进行有目的、有计划、分步骤的信息收集和分析过程。通过网络踩点可以掌握被攻击目标的完整信息,并从中发现存在的安全隐患,为进一步实施攻击提供帮助。网络踩点常用的技术分为 Web 信息收集、地址信息查询和网络拓扑探测 3 种方式。
网络踩点常用的技术有以下这些:
-
Web 信息收集:利用 Web 搜索引擎提供的功能,对被攻击目标(组织或个人)的公开信息进行收集并发现为进一步实施攻击有用的信息。对于攻击者来说,从互联网的海量信息中收集与攻击目标有关的信息,是一种最为直接的网络踩点方法,强大的 Web 搜索引擎可以帮助攻击者实现这一目的。由于每一种搜索引擎都存在搜索功能、范围和效果上的差异性,因此为了能够综合不同搜索引擎的优势进行信息的收集,提出了 “元搜索引擎” 的概念。所谓元搜索引擎,又称为集合型搜索引擎,是指将多个单一搜索引擎集成在一起,提供统一的检索接口,将用户的检索提问同时提交给多个独立的搜索引擎,并进一步对多个独立搜索引擎的检索结果进行处理(包括去重、排序等),最后将处理结果提交给攻击者。
-
地址信息查询:在网络踩点中多采用 DNS 和 IP 查询方法。利用 DNS 和 IP 地址信息,攻击者可以获得攻击目标的互联网位置信息及相关联的地理位置信息。例如,利用 Whois 可以在互联网上查询到 DNS 注册信息,一般包括注册人和注册商的详细信息,通过这些信息便可以获得注册人(单位或个人)的具体地理位置等信息。又如,利用 IP Whois 可以在互联网查询到 DNS 注册人所使用的 IP 地址、通信地址、联系电话等信息。有了这些信息,攻击者可以掌握攻击目标的网络空间和社会空间信息,为进一步实施物理攻击或社会工程学攻击提供帮助。
-
网络拓扑探测:路由路径跟踪是实现网络拓扑探测的主要手段,Linux 操作系统中的 traceroute 和 Windows 环境中的 tracert 程序分别提供了不同平台上的路由路径跟踪功能。两者的实现原理相同,都是用 TTL(IP 生存时间)字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由,从而确定 IP 数据包访问目标 IP 所采取的路径。当对目标网络中的不同主机进行相同的路由跟踪后,攻击者就可以综合这些路径信息,绘制出目标网络的拓扑结构,并确定关键设备在网络拓扑中的具体位置信息。
2、漏洞扫描,漏洞扫描是对已确定的渗透对象查找出漏洞,
3、网络查点,是漏洞扫描的延续和深入,找出操作系统本身的漏洞。