渗透测试中侦查常用方法研究
2021-03-06魏星德
◆魏星德
渗透测试中侦查常用方法研究
◆魏星德
(海军士官学校 安徽 233020)
本文主要是对渗透测试侦查概念进行阐述,分析侦查在渗透测试过程中的重要性,研究渗透测试常用侦查方法以及专业工具的使用。渗透测试中侦查的主要作用是为后续渗透收集信息,使用正确的侦查方法、侦查工具可以达到事半功倍的效果。
渗透测试;侦查;信息收集
渗透测试是一种测试计算机系统漏洞并且对其实施漏洞攻击的方法,是合法且得到授权的行为,目的是为了使这些受测试的系统更加安全。在渗透测试中侦查是最容易被忽视的一个环节,原因是很多从事渗透测试工作的初学者没有很好理解侦查的概念以及信息收集对后期渗透测试的重要性,认为侦查工作没有技术含量,缺乏技术挑战性。实际上一次成功的渗透测试离不开前期的侦查工作,良好的信息收集可以为后续渗透测试提供重要信息参考和渗透测试方向,出色侦查可以让我们轻而易举渗透进入网站或者应用系统,这样的例子在渗透测试中比比皆是,很多时候成功的渗透测试靠的不是技术攻击而是信息收集。
侦查分为主动侦查和被动侦查,主动侦查是与渗透对象直接进行交互,被动侦查主要是利用互联网工具收集海量信息,而不与渗透目标进行直接交互。侦查过程中我们需要尽量可能多的收集与目标有关的信息,不能忽视任何细节,哪怕是无关痛痒的信息。下面就渗透测试中常用侦查方法工具进行分析。
1 网站镜像工具
我们要对一个网站进行侦查,必然需要详细浏览目标网站,需要注意的是,我们在浏览和收集目标网站信息的时间越长,我们的侦查行为越有可能被跟踪记录,因为任何一次与之交互都有可能留下数字指纹,为了尽量减少与目标网站的交互,通常是通过镜像工具把网站镜像到本地,然后再进行侦查分析,镜像一个网站一般都会被视为攻击性行为,因此我们一定事先要获得授权。
HTTrack是一款能够创建与目标网站完全相同镜像的免费软件,HTTrack镜像内容包括网页、链接、图片以及html代码,镜像一个网站获取的不是网站的源代码,而是获取的网站代码执行的结果。通过本地镜像文件,可以对网站进行分析,查找有用、有价值的信息。比如物理地址和位置、上班时间、电话号码、电子邮箱、商业合作伙伴、社会化媒体账号以及公司产品,甚至招聘的信息等,通过招聘信息我们可以分析公司使用的技术以及研究方向。通过对目标网站的全面分析,对渗透目标有一个很全面的了解。获取渗透目标重要信息后,梳理信息,确定新的侦查方向,然后再通过被动侦查手段继续对目标进行侦查。
2 搜索引擎专业查询
搜索引擎在被动侦查中是最常用方法之一。搜索引擎种类很多,普通用户直接在搜索引擎中输入需要查询内容,查询针对性不强,然而通过主动侦查获取信息进行分析后再对目标进行被动侦查,侦查范围、侦查方向相对明确,再结合搜索引擎专用查询指令进行查询,可是实现更加专业的信息收集,本文我们主要以Google搜索引擎为例。
Google的查询指令主要有三部分内容组成“查询指令、指令对象、内容”。site指令查询指定网址下的内容:site:www.xxx.cn 照片,查询出来的内容会比我直接输入‘照片’少很多,无用信息会被自动过滤。inurl指令可以查询出包含特定字符的网址,比如我们要查询网址中包含admin,便可以使用如下查询方法:inurl:admin,这样查询的出的结果中只会显示包含admin的网址,地址中包含admin大部分都是网站的后台地址,这些信息在我们尝试获取网站的后台登录地址时提供重要数据参考。filetype指令,通过这个指令我们可以搜索拥有特定扩展名的文件,比如我们想搜索pdf文件的时候,我们可以通过filetype:pdf指定查询。filetype和site指令结合我们可以查询指定网站指定类型的文件,site:www.xxx.cn filetype:pdf。这样我们就可以查询出www.xxx.cn 网站下所有后缀为pdf的文件。
Google的查询指令还有很多,通过这些查询指令我们可以获取侦查目标发布的相关类型的信息,有些信息非常重要,比如说目标网站的工程师遇到一个解决不了的问题,可能会通过论坛或者其他方式把问题发布到网络上,我们通过其发布的内容,可以分析侦查目标所使用的具体技术以及可能存在的漏洞从而分析目标网站可能存在的漏洞。
3 收集目标服务器信息
(1)Whois是一个很好的查询目标服务器信息的工具。其查询的内容包括IP地址、公司服务器的DNS主机、网络运营商以及联系电话和邮箱,通过这些信息我们可以对侦查目标的网络结构有一个整体了解。Linux操作系统已经内置了Whois,使用也是非常简单,只需要在终端命令窗口输入:whois 目标域名。
(2)Netcraft可以查询出域名包含查询关键词的所有网站,很多服务器都部署了多个网站,而且大部分服务器都是采用的二级域名对网站进行管理。在侦查时我们要尽量获取服务器上部署的所有网站,因为我们不能确定那个网站系统会存在漏洞。
(3)Threat Agent Drone是一款优秀的侦查工具,它包含了多种内建的信息收集工具,Drone提取完网站所有信息后会生成一个包含IP地址范围、电子邮件地址、开放的端口等信息报告,在信息收集工具中相对比较专业。
(4)Ns Lookup 是检查DNS的重要工具。DNS服务器是渗透测试人员常选目标,DNS主要的工作是负责实现域名到IP地址的转换,可以说是互联网的核心组建。如果在渗透测试过程中能获取DNS服务器的完整权限,将对整个渗透测试提供巨大的帮助。Ns Lookup 主要是查询DNS服务器信息,获取DNS的真实IP地址,为后续渗透测试提供目标。
4 社会工程学
在渗透测试侦查阶段使用社会工程学方法侦查,是必不可少的一个环节,可以说缺少社会工程的侦查是不完整的侦查。社会工程是信息收集的最简单、最有效的方法之一。社会工程是攻击‘人性’弱点的一个过程,通过欺骗的手段入侵计算机系统的一种方法。一个企业或者单位可能采取很周全的技术安全措施来防止渗透测试,但是由于每个公司或单位都是由人组成、由人进行管理,员工可能无意间通过电话、电子邮件把重要信息泄漏出去,从而对信息安全带来严重隐患,所以说这个弱点是每个公司或单位与生俱来的。渗透测试人员通过攻击公司或单位的特定成员,然后通过其作为中间跳板获取公司或单位的保密信息。
4.1 伪装面试技术岗位
例如我们在对一家做汽车配件的公司进行渗透测试,通过前期的侦查我们已经获取了公司一个技术主管的联系电话、社交账号以及邮箱,我们可以给其发送应聘简历,咨询公司研发的产品以及自身的技术能不能胜任公司招聘的岗位,从而套取目标公司的技术发展状况以及当前的技术问题。
4.2 投放病毒,间接获取信息。
例如通过前期侦查已经获取公司的所在的地址以及公司员工停车的位置等信息,我们把可以把预先装入病毒或者后门程序的U盘放置在公司员工车的旁边,U盘上写一个具有诱惑力的标签,如公司优秀员工打分表。只要公司员工经过,必定会在好奇心驱使下把U盘捡起,并插入到公司的计算机设备上查看内容,这样我们就可以获取一个通向目标内部的通道。
4.3 伪造的电子邮件、短信通知。
通过伪造银行、政府、企业等具有社会公信力的机构或者个人,给目标发送伪造的电子邮件或者消息,进行信息欺骗,通过欺骗获取用户信息,如姓名、身份证、手机、家庭住址等信息。这种方法在电信诈骗案件中经常可以见到,渗透测试人员在获取用户个人信息后,可以通过字典生成用户常用口令,为后续渗透提供用户密码信息。
4.4 钓鱼攻击。
主要是通过制作虚假的网站引诱用户访问并填写个人信息。钓鱼攻击主要是利用用户对敏感信息的好奇心,包括色情、赌博、最新电影、八卦娱乐新闻、商品折扣。通过这些信息将用户从可信的站点引导至渗透测试人员制作的恶意页面,然后在通过恶意网页获取用户的敏感信息,渗透测试人员可以根据需要定义需要搜集的敏感信息,可以是可信网站的账号、密码等。
4.5 技术服务。
渗透测试人员把自己伪装成技术服务公司的技术人员,对客户进行回访,帮助客户检查设备、服务器等是否运行正常。这种方法是危害比较大的,目标一般是没有技术员或者是技术人员较少、实力薄弱的单位。例如渗透测试人员获取了一家单位使用的网络设备或者服务器的信息,冒充这些设备供应商的技术人员,并说明目标单位使用的设备或者服务器存在漏洞需要检查、修复,并要求目标单位提供远程连接的地址、账号、密码。如果渗透成功,几乎可以侦查到目标单位所有的服务器信息以及使用的应用系统。
5 结语
在任何渗透测试或者黑客攻击活动中,侦查收集信息都是必不可少的一步。虽然这个步骤与其他步骤相比,技术含量不是很高,但是它在整个渗透测试过程中的地位却是举足轻重的,作为渗透测试人员一定要认识到侦查的重要性,专业的侦查方法、工具能收集的更多、更精确的信息,能更好为渗透测试的后续渗透过程提供更明确的渗透方向,并显著提高渗透测试成效,侦查方法是否专业直接决定了渗透成功率的高低。
[1]莫怀海,李晓东.Web渗透测试信息收集技术研究[J].通讯世界,2019.
[2]巫冬.基于web安全的渗透测试技术探讨[J].四川职业技术学院学报,2019.
[3]杜江,任威. 网络安全渗透测试技术流程研究[J]. 数字技术与应用,2016.
[4]张如云.渗透测试在办公网站开发的应用研究[J].办公自动化,2016.
[5]郑天时.基于渗透测试的内容管理系统安全研究[J].网络安全技术与应用,2016.