2.2 初期研究

侦察工作一开始,就应收集尽可能多跟目标有关联的人群和业务的信息。正如《孙子兵法》中那句知名的话:“知己知彼,百战不殆。”作为渗透测试人员,你需要知道你的目标。如果你的目标恰巧是网站,那么你应该观察该网站的方方面面。这样就能对该网站如何维护和运行有更深的理解。出色的侦察工作有助于发现更多潜在的漏洞。

在公共信息来源上能发现的信息会多得惊人。我们发现的信息多得难以想象,比如经过分类的文档、密码、漏洞报告、私密照片,还有可以访问的监控摄像头。许多渗透测试项目的对象都是利用公共消息来源找到的信息。这里我们会介绍从公共消息源上收集信息的一些基本知识。

2.2.1 公司网站

我们可以从目标的网站上获取很多有用的信息。许多公司网站都会列出他们的管理团队、公共人物及来自招聘团队和HR联系人的成员。这些人都可以成为其他研究工作和社会工程攻击的对象。

通过查看其他信息,如合伙人、当前的招聘广告、业务信息以及安全政策等,我们还能获得更多有用的信息。对某个价值很高的合伙人的侦察可能跟对主要目标的侦察一样重要,因为合伙人能够提供获取情报的新来源。这里举个例子,你可以对在目标总部管理客服团队的已经建立联系的资源下手。

在这些网站上,Robots.txt文件是可以公开访问的。这个文件会通过网络爬虫排除协议(Robots Exclusion Protocol)告诉Web机器人(也称为搜索引擎爬虫)哪些信息是可见的,哪些是不可见的。Disallow: / 语句会告诉浏览器不要访问某个来源;不过,当研究者对目标不希望透露给公共访问的信息感兴趣时,Disallow文件就可以被忽略了。

Robots.txt文件可以在目标网站的根目录中找到。举个例子,将Robots.txt文件加到Facebook的URL上之后,看起来如下面的截图中所示:

2.2.2 Web历史归档网站

大多数公开网站的归档版本都能在信息归档网站(如位于archive.org的WayBack Machine )上找到。在目标网站的早期版本中,我们能找到一些感兴趣的信息,如目标不希望在当前网站版本中出现的早期组织结构框图、电话号码、客户情报、在特定文件中列出的系统信息(如view source 或/robots.txt)、早期的商业伙伴、在后续版本中修复的漏洞,以及其他的有用信息。要知道可以公开访问的信息很难彻底删除;这样,历史信息归档对侦察研究也很有价值。

要访问WayBack Machine ,可访问http://archive.org,你能在页面中间看到Internet Archive WayBack Machine 几个单词,如下面的截图所示:

输入你要浏览的URL,看看它是否抓取过任何归档文件。归档历史也能在这里看到,如下面的截图所示:

对于渗透测试人员来说,这是一个很有用的工具,因为它不会在你的目标上留下任何证据。实际上,通过这个工具你根本就不需要直接访问目标。所有的信息都被WayBack Machine 归档到了线上。下面两个截图分别显示了2002年和2013年的www.lancope.com:

2.2.3 区域互联网注册管理机构

区域互联网注册管理机构(Regional Internet Registry,RIR)是管理世界范围内特定区域内IP资源分配和注册的组织。世界范围内主要有五个区域互联网注册管理机构。管理美国、加拿大和部分加勒比区域的机构位于www.arin.net。你可以收集跟目标(如Lancope)有关的信息,如下面的截图所示:

2.2.4 电子化数据收集、分析及检索(EDGAR)

电子化数据收集、分析及检索(Electronic Data Gathering, Analysis and Retrieval,EDGAR)数据库含有自1994年起所有公司的注册声明、阶段报告以及其他形式的信息。根据法律,在美国注册的公司都需要备案,所有的信息都可公开访问。下面两个截图显示的是搜索Lancope时找到的公开文档:

2.2.5 社交媒体资源

现在是社交媒体的天下,而且大多数情况下,其中的信息都可公开访问。大多数人都有Facebook、LinkedIn、博客或是其他形式的存有有用信息的云账户。这些信息可以用做对目标当前员工或前员工进行社会工程情报工作的一种手段。简单的例子是搜索Glassdoor.com,根据反馈找出那些对目标不满的前员工。

有许多搜人的Web资源,比如Maltego(Kali Linux中有),可以将流行的社交媒体、公开记录和招聘网站合在一起来根据有限的信息定位某个人,如姓或名。研究人员可以搜集到很多信息,比如此人居住过的地方、从事过的工作、跟他们有交往的人、特殊的兴趣爱好、最喜欢的体育团队以及其他对将来的研究和社会工程攻击有用的数据。

2.2.6 信任关系

大多数人都会很自然地相信别人,并假设发布到公开信息源的信息都是真实的。为了测试这个观点,本书的作者在社交媒体上创建了一个假冒的人,假装成目标公司的新员工。假冒的人最终成了目标合作伙伴的友邻,通过这个身份我们将链接到BeEF 系统(用来危害有漏洞的Web浏览器)的节日贺卡发出去,从被危害的系统中抓取敏感信息。我们还对整个组织进行了结构绘制,获取了网络信息,甚至不经过任何内部电邮或电话就让他们把硬件送到了我们这里。我们假冒的那个人,Emily Williams,并不真实存在,却收到了录用通知,还拿到了内部信息以及参加由目标举办的一些活动的资格。信息就是权力,人们会将它授予看起来值得信任的请求者。

这个项目的详情可以参考这里:http://www.thesecurityblogger.com/?p=1903

2.2.7 招聘广告

招聘广告会包含跟目标环境相关的大量信息。职位列表会说明安装的是什么系统、谁会管理这些系统、雇员有多少以及雇员的技能水平。人力资源代表通常都急于跟有望成为正式员工的候选人分享各种信息,这可以作为获取内部信息的一个途径。这里举个例子。我们可以根据招聘Oracle开发人员的广告,问一些诸如“管理员可以远程工作吗”“他们如何访问那些系统”之类的问题来了解目标用的是什么硬件、Oracle的版本、现在和之前的管理员名字、现有的运维问题、安全隐患,以及访问系统的途径。

另一个值得审视的途径是在流行的招聘版面上该职位的预期薪水、福利以及流动率等信息。这些趋势可能会提供新的攻击方向。Glassdoor.com就是这类数据的一个常见信息源。

2.2.8 位置

目标在互联网安全上的投入通常可以参考其在物理安全上的投入水平来判定。人们都会假定,配有栅栏和全副武装的保安的建筑通常会比那些位于公共建筑中的目标在互联网安全上投入更多。在线地图服务,如谷歌地图,可以帮助找出哪里部署了物理安全,以及人们靠近/远离目标的趋势。其他有趣的领域包括找到渗透测试人员可以暂时停留扫描无线网络的地方,以及绕过访问控制的方法,比如更换着装、使用门禁卡来获得物理访问。

2.2.9 Shodan搜索引擎

Shodan 是一个可以通过各式各样过滤器(如系统访问提示横条中的元数据)找出特定设备(如计算机、路由器、服务器等)的搜索引擎。举个例子,你可以搜索特定的系统,如运行着某个版本软件——IOS版本15.0(1) EX——的Cisco 3850。

下面的例子就是搜索支持公开互联网访问(理论上认为不应存在)的所有SCADA系统的一个用例。然而,Shodan会说明并非所有这类系统都不支持公开访问。SCADA系统控制的是电力管理和污水治理之类的事情,所以可以找到公开访问入口的这类系统都极其糟糕!

2.2.10 Goole Hacking

Google Hacking是对Web应用进行侦察时最常见的搜索引擎形式。Google Hacking利用谷歌搜索引擎中的高级操作来定位搜索结果中的特定字符串。搜索过滤器可精确定位带有漏洞的Web应用的特定版本,比如在intitle:"index of" 操作符的结果中找出Powered by Apache ,就能看到网站的目录结构,或是找出日志文件,如ws_ftp.log等包含敏感IP地址信息的文件。下面的一些截图演示了在谷歌中搜索Linksys来找出那些可以公开访问的Linksys监控探头。第一幅图显示的是调用搜索引擎时的搜索命令,后面跟的是示例搜索结果。最后一幅截图显示的是可以通过这项技术找到的一个监控探头链接。

这里我们列出一些示例搜索查询命令:

要了解有关Google Hacking的更多细节,可以参考一本非常棒的书——由Johnny Long著的Google Hacking for Penetration Testers ,也可以访问作者位于http://johnny.ihackstuff.com 的个人网站。

2.2.11 Goole Hacking数据库

Hackers For Charityhttp://www.hackersforcharity.org )的Johnny Long创建的Google Hacking数据库(GHDB) ,是谷歌搜索查询的权威参考。对用户名、密码、易受攻击系统和漏洞利用的搜索都会被Google Hacking狂热分子抓取并归类。那些将这类谷歌搜索进行归类的狂热分子通常称为Google怪咖(Google Dork1[此处的定义跟Johnny Long在GHDB中的定义不符。GHDB中Google Dork 是指那些不小心被Google暴露在黑客搜索查询下的系统所有者。参见http://www.exploit-db.com/google-dorks/ 。——译者注]})。

要访问GHDB,请打开http://www.exploit-db.com/google-dorks/ 。你能在Web页面上看到列出的最新GHDB搜索,可以点击任何搜索查询来查看搜索结果。

你可以在该Web页面的底部找到不同类别的搜索。在下面的例子中,我们会切到分类Vulnerable Files 并选择查询ionCube Loader Wizard

我们可以点击搜索查询,它会跳到谷歌的搜索结果页面。

前面的例子显示出谷歌找到了一些结果。很明显ionCube Loader 没有经过配置或是没有被正确配置。ionCube Loader 实际上是一款很棒的软件,它会保护那些用PHP开发的软件,使其不能在非授权计算机上浏览或是修改。不过,在这个例子中,管理员没有做任何配置,而是直接留下了默认的配置向导。

点击第一条链接时,我们会跳到配置该软件的主界面。

GHDB主要的作用是将谷歌变成渗透测试人员的一个受限的Web应用扫描器。在上面这个例子中,用来加固安全的“善意”的软件现在却可能被攻击者用来对付Web服务器。

2.2.12 研究网络

许多人并不理解在实施攻击之前研究目标网络的真正目的。业余的渗透测试人员都知道在进行渗透测试之前需要选定一个目标。毕竟,渗透测试人员需要找到他们各种兵器的用武之地。许多业余人员会通过使用Nmap、进行ping扫射(ping sweep)或使用其他比较暴露的工具来判断哪些目标可以导致目标环境中断服务,但往往最终结果并不佳。

网络侦察主要是选定目标。老到的安全专业人士会告诉你,好的侦察是为了选定质量比较高的目标。他们大部分时间都是在观察,而不是行动。每个渗透测试的第一步都是精确地找到和选定高质量的目标。

站在客户的角度上,渗透测试人员可能会碰到这样的情况:有的人因阻止了渗透测试人员而洋洋自得,以为这证明他们对得起自己的薪水,并且已经对网络攻击做了充分的准备。我们强烈建议在执行渗透测试时,渗透测试专业人员不要跟客户的员工起争执。在整个渗透过程中,渗透测试人员应侧重于安全意识和揭露出存在的漏洞,同时应尽可能少地跟目标的员工交流。

接下来要介绍的都是Kali中包含的进行Web应用侦察时最常见的工具。虽然Kali中也有其他工具可用于Web应用或不同的目标类型,但本章的重心是使读者可以开始对基于Web应用的目标进行测试。

1. HTTrack:克隆网站工具

HTTrack是Kali中内置的工具,主要用于克隆网站。渗透测试人员可以利用它来在可以自主控制的环境中查看该网站的完整内容:所有页面和离线文件。此外,我们会在后面的章节中使用HTTrack来进行社会工程攻击。我们可以利用该网站的副本来开发假冒的钓鱼网站,这部分我们会在介绍其他渗透测试工具集时介绍。

要使用HTTrack,打开一个终端窗口,键入apt-get install httrack ,如下图所示。

Kali的有些版本中没有内置此工具。

这里你要创建一个目录来存储复制的网站。下面的截图显示的是使用mkdir 命令来创建一个名为mywebsites的目录。

要启动HTTrack,在命令窗口中输入httrack ,然后输入该项目的名字,如下图所示:

下一步是选择一个存储网站的目录。下图中的例子显示的是将前面步骤中创建的/root/mywebsites 用作此用途:

输入你要抓取的网站的URL。下面截图中的例子中用的是www.drchaos.com。这里可以使用任何网站。许多攻击选定的都是目标客户访问的网站,比如流行的社交媒体网站或是目标的内部网站。

后面两个选项决定如何处理抓取的网站。选项2是最简单的方法,它会通过向导来镜像该网站,如下面的截图所示:

下一步,你可以指定是否在实施攻击时使用代理。也可以指定要下载的文件类型(下面的截图中都用* 来指代所有文件)。你还可以定义要设置的任何命令行选项或标志。下面截图中显示的例子中没有用任何其他选项。

httrack 运行之前,它会先显示要运行的命令。如果你以后想直接运行httrack而不用向导,可以记下这个命令。下面两个截图显示的是使用httrack 克隆www.drchaos.com的过程:

完成克隆网站后,切换到保存该克隆的那个目录。在那里,你能看到该网站所有的文件和网页,如下面的截图所示:

现在一切就绪,你可以开始研究目标的网站,而且还可以构建定制的渗透工具,利用漏洞来获取用户对那个克隆网站的访问。

2. ICMP侦察技术

pingtraceroute 命令是查找目标基本信息的两个很有用的工具。当信息在网络中流动时,它通常不是直接从源地址发到目标地址。通常,在到达目标地址之前,它需要在数个系统间穿行,如路由器、防火墙和其他计算机系统。traceroute 命令会找出数据经过的每个系统,以及数据在系统间流动时消耗的时间。这个工具在每个现代操作系统中几乎都有。对那些最重要的目标来说,pingtraceroute 命令很多情况下都是禁用的,而过多地使用这些服务可能会触发网络安全系统中的警报。许多防火墙或其他系统都被设置成不响应B24RYE路由的。如果系统能响应traceroute ,那么过度使用该命令会触发安全事件。如果你的目标是偷偷潜入目标系统,那么你已经失败了。有了这些安全事件,你的目标肯定会安装和部署针对你的渗透测试的防御措施。

ICMP扫射只是简单地发送一个echo 请求,然后等待应答。如果应答返回了,那么作为渗透测试人员,你应该知道它可能就是目标。ICMP扫描的问题在于很多防火墙通常会拦截ICMP。也就是说,外面过来的发往目标内网的所有扫描都会被ICMP扫描器拦截。

ping 命令是进行ICMP扫射最基本的方式。你可以简单地键入ping ,后跟一个主机名或IP地址来查看针对ICMP的echo 请求响应的是什么。下面的截图显示的是www.google.com针对ping 的结果:

如果收到了目标的回应,那么你就能知道目标主机处于活动状态。如果你得到的是超时,那么要么是你的ICMP请求被拦截了,要么是没有目标主机收到你的请求。

ping 命令的问题在于它只允许你一次使用ICMP检查一台主机。fping 命令会允许你用一条命令ping多台主机。它还允许你读取一个写有多个主机名或IP地址的文件,然后对这些主机发送ICMP的echo 请求数据包。

要使用fping 命令来在网络上运行ICMP扫射,调用如下命令:

fping -asg network/host bits

fping -asg 10.0.1.0/24

a 标记用于限定只返回活跃主机的IP地址,s 标记用于显示该扫描相关的统计信息,g 标记用于将fping 设成安静模式,即它不会显示每个扫描的状态,而只在完成时显示汇总信息。

Nmap的结果跟fping 命令很相似。

3. DNS侦察技术

许多重要的目标都有一个跟应用关联的DNS名称。DNS名称可以帮助用户更方便地访问特定服务,从而使他们的系统看起来更专业。举个例子,如果要访问谷歌查找信息,你可以打开一个浏览器,在其中输入74.125.227.101www.google.com

特定目标的DNS信息对渗透测试人员来说极其有用。DNS允许渗透测试人员勾勒出系统和子域的部署框图。早期的DNS攻击会从授权DNS服务器上传送一个区域文件(Zone File),这样渗透测试人员就可以查看完整的区域文件内容来找出可能的目标。不幸的是,今天大多数DNS服务器都不允许非授权的区域文件传送。不过,这也没什么影响!DNS的特性决定了它会响应查询,因此,攻击者可以使用包含数百个名字的单词列表来向DNS服务器进行查询。这种攻击套路非常耗时,但许多方面都能自动化。

Dig (domain information gropher,域名信息查询工具)是最流行、使用最广泛的DNS调查工具。它会查询DNS服务器。要使用Dig,打开一个命令行窗口,输入dig 和主机名,主机名代表目标域名。Dig会使用操作系统的默认DNS设置来查询该主机名。你也可以给该命令加一个@<IP> 参数来对Dig进行配置,使其使用特定DNS服务器来进行查询。下面截图中的例子演示的是使用Dig来对www.cloudcentrics.com进行查询。

Dig中的-t 选项会指定某个DNS区域使用授权域名服务器(authoritative name server)。在下面的截图中我们输入的是dig -t ns cloudcentrics.com

结果显示,对于域名www.cloudcentrics.com,我们有两台授权DNS服务器,分别为ns3681.hostgator.com和 ns3682.hostgator.com。

恭喜!你刚刚已经找到了目标DNS的授权DNS服务器!

4. DNS目标识别

现在你已经发现了某个域的授权DNS服务器,你可能想看看在那个域上都有哪些记录。举个例子,域drchaos.com会有几台主机,比如 cloud.drchaos.com、mail.drchaos.com、 sharepoint.drchaos.com。这些主机可能托管着我们要找的应用,或是潜在的重要目标。

在开始随机选取主机之前,我们应该查询DNS服务器来查看已有哪些记录。最好的方式就是让DNS服务器来告诉我们。如果DNS服务器的配置支持区域传送(Zone Transfer),它就能给我们一份完整的记录。

Kali自带了一个名为Fierce的工具。Fierece会检查DNS服务器是否允许区域传送。如果允许,Fierce就会进行区域传送并通知用户。如果不允许,Fierce可以配置成用暴力法来从DNS服务器枚举主机名。Fierce的设计初衷就是侦察工具,这样有了IP地址,你就可以使用那些需要用到IP地址的工具了,比如Nmap。

要使用Fierce,你可以点击Information Gathering > DNS Analysis > Fierce 。Fierce会加载到一个终端窗口中,如下面的截图所示。

输入如下命令运行Fierce 脚本:

fierce.pl -dns thesecurityblogger.com

在前面截图中的域名thesecurityblogger.com跟几个主机关联。我们已经完成了任务。不过,你能看到Fierce在完成区域传送时失败了。如果你指定了字典的话,Fierce会尝试暴力枚举区域传送。我们没有定义字典,因为本节的目的是决定该域中都有哪些主机,而不是在这个时间点进行区域传送攻击。不过,如果你的目标不只是定位Web应用,你可以自行去了解相关内容。

现在我们可以瞄准特定的主机,用类似Nmap这样的工具来仔细测试我们的目标。使用Fierce一个重要的原因是选定目标时只用很少的网络流量,这样的好处是避免被发现。我们将会在本章后面用Nmap来收集更多有关目标的信息。

5. Maltego:信息收集图表

Maltego是Kali内置的一个由Paterva开发的侦查工具。它可用于多种用途,收集互联网上开放的或公共的信息。它提供了一些DNS侦察功能,但更擅长提取目标指纹和收集目标上的情报。它会将这些信息以图表的形式展现出来,方便分析。

要启动Maltego,可以点击Kali中的Application 菜单,然后点击Kali 菜单,之后选择Information Gathering > DNS Analysis > Maltego

启动Maltego后第一步是注册,不注册就无法使用该应用。

完成注册后,就可以安装Maltego并开始使用了。

Maltego有很多方法可用来收集信息。使用Maltego的最佳方式是利用启动向导,选择你要收集的信息类型。有经验的用户可能想直接以空白图标的形式直接启动,或是跳过整个向导。Maltego的强大之处在于它允许你以可视化的方式来观察域名、组织和人之间的关系。你可以通过DNS查询着重关注某个特定组织,或是查看某个组织以及与其相关的合作伙伴。

根据选择的扫描选项,Maltego允许你执行如下任务:

Maltego的大多数功能都很直观,不需要太多解释。在功能描述部分也有如何使用的信息。Maltego常用来收集信息,有时用作社会工程攻击的第一步。

2.2.13 Nmap

Nmap的含义是网络映射器(Network Mapper),主要用来扫描网络中的主机和服务。Nmap有一些高级功能,比如检测系统上运行的不同应用及服务,此外还有提取OS指纹的功能。它是最广泛使用的网络扫描器之一,这使得它非常高效,但也很容易被检测到。我们建议尽可能少使用Nmap,以避免触发目标的防御系统。

要了解如何使用Nmap的更多信息,可以参考http://nmap.org/

此外,Kali自带的是Zenmap。Zenmap相当于给Nmap加了一层运行命令的图形化用户界面(GUI)。尽管有些纯粹主义者会说Nmap的命令行版本才是最好的版本,因为速度快、使用自由,但Zenmap也提供了一些Nmap中没有提供的特有功能,比如生成之后可用于其他报告系统中扫描结果的图形化展示。

要打开Zenmap ,到Backtrack 菜单,浏览Information Mapping > DNS Analysis ,然后运行Zenmap

你会发现在Profile 菜单中,有若干可以决定扫描类型的选项,如下面的截图所示:

第一步我们先创建一个新的配置。Zenmap中的配置允许渗透人员指定要进行什么类型的扫描,包含什么样的选项。找到Profile 菜单,选择New Profile or Command 来创建一个新的配置,如下面的截图所示。

选择New Profile or Command 之后,你就进入了配置编辑器。你需要给该配置起个描述性的名字。举个例子,可以将配置称作My First Scan 或是其他任何你喜欢的名字。

也可以选择给该配置加个描述。在使用Zenmap的过程中,你可能会创建许多配置,进行多种扫描。人的本能反应可能会在执行过后就删除配置。这里有个善意建议:配置并不怎么占存储空间,而且在你想重新创建扫描时非常方便。我们建议配置名称一定要描述清楚用途,并应该遵循一定的标准命名方式。我的所有配置名称都是以日期、时间、我的位置、目标网络的扫描位置以及客户名称开头。

在完成描述后,点击Scan 标签。在Targets 部分,你可以添加要扫描的主机或网络。这个字段可以填IP地址的范围(10.0.1.1-255),或是CIDR格式 的网络(10.0.1.0/24)。

Classless Inter-Domain Routing,无类别域间路由,是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的IP地址归类方法。——译者注

你可以看到选项-A 被默认选中了,它会打开进攻性扫描模式(Aggressive Scanning)。进攻性扫描会打开OS检测(-O )、版本检测(-sV )、脚本扫描(-sC )和路由追踪(--traceroute )。最重要的,进攻性扫描模式允许用户打开多个开关而不必记住它们。

进攻性扫描可以认为是入侵性的,也就是说,它会被大多数安全设备发现。如果你的目标是一个极其确定的主机,进攻性扫描才可能不被注意到。但不管怎样,我们建议你在将其用在扫描选项中时,一定要先得到对方的许可。提醒一下,对未授权系统完成三次握手中的ACK在美国标准中都算违法。

我们可以用在DNS侦查实践中收集的信息来定位特定主机。开始之前,先来设置一些常见选项。

点击Ping 标签,选择-Pn 开关选项,这样Nmap就不会先ping该主机。如果此开关未开启,Nmap会先对目标主机和网络进行ping。在默认设置中它只对认为是处于活动状态或可到达的主机进行扫描。-Pn 开关告诉Nmap即使没收到ping应答也要对该主机进行扫描,尽管这样可能会让扫描的时间变长。-Pn 开关可以避免Nmap扫描时的一个常见问题——ping请求被安全防御系统拦截,收不到ping应答。

点击右下角的Save Changes 按钮保存修改。保存后,点击屏幕右上角的Scan 按钮开始扫描。注意你在配置编辑器中设定的选项和目标这时会显示出来。

网络的Topology 标签可以用来快速查看对目标网络扫描的进度,以及是否要经过一些路由器。在本例中,你可以看到我们的扫描是在本地网络。

Hosts 标签会列出已经发现的主机。

选定某个主机,Zenmap会显示一个详细的列表,包括主机、它们的操作系统和常见服务。在下面的截图中,你可以看到我们的主机之一是一台卫星DVR/接收器组合。

如果你是在扫描窗口,你不仅能看到在特定主机上哪些端口是打开的,而且能知道那些主机上运行着哪些应用。注意Nmap能够判定一些事情,比如某个服务器在端口80上运行着IIS 5.0作为Web服务器。扫描结果会列出该服务器的IP地址、该服务器运行的操作系统,以及该主机上运行的Web应用。渗透测试人员会发现在针对该主机找寻可利用漏洞时,这些结果很有用。

现在你可以将精力集中到目标上运行的Web服务或是80端口上,因为它是打开的。

Zenmap是从Nmap扫描中获取输出的最佳方式。Zenmap提供了丰富的图形化用户界面来显示扫描结果。结果可以导出为多种格式,如文本或是微软的Excel。

尽管有多种方式可以获得Nmap的输出(比如本书作者喜欢用命令行命令),但我们还是介绍了这种方式,因为它在很多Web渗透标准中都一直被提到,是常见的使用方式。

另外,Zenmap的GUI中有几个地方允许用户将图片或是报告中的特定部分以CSV文件或图片文件格式导出。在创建报告时这些导出的结果非常有用。

FOCA:网站元数据侦察工具

你知道在每次创建文档时,如微软的PowerPoint演示、微软的Word文档或是PDF,你都会留一些元数据在文档中吗?

什么是元数据?就是有关数据的数据。它是有关特定数据集、对象或资源的描述性信息,包括所采用的格式及其创建时间和创建者。对于渗透测试人员,元数据可能很有用,因为它含有跟创建文件的系统有关的信息,比如:

  • 登录到该系统的用户名称;
  • 创建该文档的软件;
  • 创建该文档的系统上安装的操作系统。

FOCA是一个安全审计工具,它会检查来自特定域的元数据。你可以让FOCA使用搜索引擎来找到域中的文件,或是直接使用本地文件。

FOCA在Kali中自带,不过,那个版本有点古老了。最好的办法是下载最新版本。FOCA一直以来都是Windows上的工具,所以最新的版本通常都只在Windows上才有。

FOCA的最新版本可以从http://www.informatica64.com/DownloadFOCA (可以用Google Translate将该页面转换成英文或中文)下载。

在屏幕下方输入自己的Email地址,你会收到一封带有下载链接地址的邮件。在FOCA有新的发布版本时,你也会收到更新通知。

1.启动FOCA之后的第一件事是创建一个新项目,如下面的截图中所示:

我们建议将所有项目文件都保存在同一个位置。你应该为每个项目创建一个新的目录。

2.在给你的项目起好名字、选定存放项目文件的位置后,点击Create 按钮,如下面的截图所示:

3.下一步就是保存项目文件。保存好项目后,点击Search All 按钮,FOCA会使用搜索引擎来扫描文档。你也可以选择使用本地文档。

4.右键点击该文件,选择Download 选项,如下面的截图所示:

5.右键点击该文件,选择Extract Metadata 选项,如下面的截图所示:

6.右键点击该文件,选择Analyze Metadata 选项,如下面的截图所示:

在下面的截图中,你可以看到有两个人打开过这个文档。

你也可以从下面的截图中看出这份文档是用Mac的Microsoft Office和Adobe Photoshop创建的。

在许多情况中,攻击者都能够看到更多的信息,并通过这种方式来收集有关目标的情报。

FOCA允许用户保存一份所有元数据的副本,并对其建立索引。另外,每种类型的元数据文件也会保存一份。这将使渗透测试人员可以获得大量的信息。前面的截图中通常给出的都是索引文件的整体,以及所有文件的列表。最后,FOCA允许渗透测试人员下载所有文件,然后跟前面例子中一样使用。