社会工程渗透测试教程(二)(1)https://developer.aliyun.com/article/1508282
被动爬虫
如果任何侦察工作开始引起警报,那么所有的努力都可能白费。如果我们能 passively 地爬取一个网站,那不是很好吗?事实上,通过使用“代理爬虫”就可以实现这一点。
谷歌和必应等大型搜索引擎提供商花费大量时间爬取互联网,以便搜索引擎用户无需自行操作。为什么不利用一下呢?
使用由屡获殊荣的 Ryan Dewhurst(@ethicalhack3r)创建的 Passive Spider(github.com/RandomStorm/passive-spider
)来映射网站。www.ethicalhack3r.co.uk
。
被动爬虫利用搜索提供商的工作,通过利用搜索结果来给出网站的布局。
在撰写本文时,被动爬虫仅使用必应搜索引擎,但需要注册免费的必应开发者 API 密钥才能执行任何搜索。
安装需要 Ruby,但非常简单。已在运行 Ruby 1.9.3 的 OSX 上进行了测试,也可以在 Kali Linux 上运行,同样在 Ruby 1.9.3 上工作。
以下是安装说明:
git clone https://github.com/RandomStorm/passive-spider.git
cd passive-spider
gem install bundler && bundle install.
或者,您也可以直接从 GitHub(www.https://github.com)下载 ZIP 存档并提取文件。
在 passive-spider 目录中有一个名为 api_keys.config 的文件。这是您需要在引号之间输入之前提到的 Bing 搜索 API 密钥的地方。
确保 pspider.rb 文件具有执行权限:
chmod +x pspider.rb
此时,被动蜘蛛已准备就绪。让我们看看它收集了什么信息。
./pspider.rb --domain syngress.com
[+]---------------------[+]
[+] Passive Spider v0.2 [+]
[+]---------------------[+]
Shhhhh… by Ryan'ethicalhack3r' Dewhurst
Part of The RandomStorm Open Source Initiative
[+] URLs: 59
http://booksite.syngress.com/
http://www.syngress.com/?cur=usd
http://booksite.syngress.com/companion/conrad/practice_exams.php
http://booksite.syngress.com/companion/conrad/
http://booksite.syngress.com/companion/issa.php
http://www.syngress.com/about-us
http://booksite.syngress.com/companion/special_interests.php
http://booksite.syngress.com/companion/conrad/podcasts.php
http://booksite.syngress.com/companion/conrad/Conrad_PracticeExamA/COU36289844/open.html
http://booksite.syngress.com/companion/certification.php
http://booksite.syngress.com/companion/hacking_penetration.php
http://booksite.syngress.com/9781597494250/content/
http://www.syngress.com/news/nacdl-cacjs-5th-annual-forensic-science-seminar-march-23-24-las-vegas/
http://www.syngress.com/special-interests/
http://www.syngress.com/events/5th-annual-cai-security-symposium---northern-ky-univ-oct-28th-highland-heights-ky/
http://booksite.syngress.com/companion/digital_forensics.php
http://booksite.syngress.com/Landy/index.php
http://www.syngress.com/news/securabits-100th-podcast---guest-harlan-carvey-and-craig-heffner-tonight-march-7th-7-30-est/
http://booksite.syngress.com/9781597494250/content/Video/HIPT/module06/index.html
http://www.syngress.com/events/7th-annual-scada-and-process-control-system-security-summit-orlando-florida/
http://www.syngress.com/information-security-and-system-administrators/Dictionary-of-Information-Security/
http://www.syngress.com/news/read-the-latest-review-for-digital-forensics-with-open-source-tools-by-altheide-and-carvey/
http://booksite.syngress.com/9781597494250/content/Video/HIPT/module02_E/index.html
如您所见,输出非常直观。现在我们已经在未触摸它的情况下获得了目标公司网站的基本布局。在开始任何更积极的测试之前,强烈建议采用这种方法。可能需要更积极的蜘蛛来处理整个网站。这将在本章后面介绍。
被动蜘蛛不止于此。它还显示了查询期间找到的任何文档,这对社交工程师来说可能非常有用。为什么查看元数据时文档很有用将在本节后面介绍。此外,文档通常非常有用,因为它们经常包含员工的联系方式。
滚动到结果的底部会显示在搜索期间找到的任何子域和有趣的关键字。
使用 OWASP Zed Attack Proxy 进行主动蜘蛛。
Zed Attack Proxy (ZAP) 是一个易于使用的集成渗透测试工具,用于查找 Web 应用程序中的漏洞。
它设计用于被各种安全经验水平的人使用,因此非常适合对渗透测试尚不熟悉的开发人员和功能测试人员。
ZAP 提供了自动扫描器以及一套工具,使您能够手动查找安全漏洞。
www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
ZAP 是另一个非常棒的开源工具,我们可以利用它,但它提供的全部功能远远超出了本书的范围。目前我们感兴趣的是它的蜘蛛能力。
ZAP 之所以被称为 ZAP,是因为它代理您的连接到您选择的目标。这使得 ZAP 能够拦截并篡改任何出站请求或入站响应。
启动 ZAP 后,您需要配置浏览器指向它,通过在代理设置中配置 localhost 和端口 8080 来进行。我使用 Firefox 的 FoxyProxy 插件,但其他浏览器也有替代品。如果您将要频繁更改设置,则 FoxyProxy 等应用程序更快,并且您可能会这样做。
所以,让我们安装 ZAP 并配置浏览器,以便我们可以拦截流量。为了本节的目的,我假设您正在使用 Firefox。
步骤 1:转到 FoxyProxy 网站:addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/
。
步骤 2:点击“继续下载”。
步骤 3:点击“添加到 Firefox”。
步骤 4:Firefox 应提示您安装 FoxyProxy。此时需要重新启动 Firefox。
就是这样。接下来,我们需要配置 FoxyProxy 以启用将所有流量发送到 ZAP。
步骤 1:在 URL 栏末尾找到 FoxyProxy 按钮,右键点击它。选择选项。
步骤 2:点击“添加新代理”(图 8.1)。
步骤 3:填写“localhost”和端口 8080 的代理设置(图 8.2)。
当启用 FoxyProxy 时,它将自动将 HTTPS 和 HTTP 流量发送到 ZAP。如果没有使用 FoxyProxy,则可能需要在浏览器或系统设置中单独配置 HTTPS 代理。
步骤 4:点击顶部的“常规”按钮,并给条目命名,“Owasp ZAP”即可。
步骤 5:选择一个颜色作为条目的颜色,然后点击“确定”完成设置。
图 8.1 添加新代理。
图 8.2 FoxyProxy 设置。
现在要启用代理,只需右键点击地址栏末尾的小狐狸图标,然后选择“用 OWASP ZAP 代替所有 URL”。此选项将通过 ZAP 发送所有 HTTP 和 HTTPS 流量。由于尚未启动,因此没有任何网站会加载。
在本节开始提供的链接中获取 ZAP 后,有一个 Windows 安装程序和一个 Mac 版本。给出的示例是在 Mac 上运行它,但是无论如何,流程都是相同的。通过安装和运行 ZAP,将呈现以下屏幕(图 8.3)。
图 8.3 ZAP 初始界面。
因此,让我们跳回 Firefox 浏览一个网站,看看会发生什么。这通过使用 Damn Vulnerable Web Application (www.dvwa.co.uk
) 进行演示,该应用是本书的目的,也包含在 OWASP Broken Web Applications 操作系统中(图 8.4)。
图 8.4 ZAP 请求。
这表明所访问的站点显示在左侧的“站点”框中。底部窗格中是单个 HTTP 请求。此时,唯一感兴趣的是蜘蛛,但鼓励读者探索 ZAP 的其他功能。
如果感兴趣的是拦截发送到 HTTPS 站点的请求,则需要接受 ZAP 证书,以便可以解密和重新加密流量。
这里是蜘蛛进程的概述:
步骤 1:点击蜘蛛按钮。
第二步:在左侧的“站点”菜单中选择要部署网络爬虫的站点。
第三步:点击播放按钮,等待其完成(图 8.5)。
图 8.5 ZAP 网络爬虫。
爬网站可能是侵入性的,并可能在某些系统上引起问题。在执行任何形式的主动测试之前,请注意风险并寻求许可。
这些信息对社会工程师有什么用呢?
被动和主动的网络爬虫都已经被调查过了,但是这些信息对社会工程师有什么用呢?网站布局只是进一步探索的前奏;它帮助提供对侦察路径的指导,并确保时间有效利用。它可以提供一目了然的信息,对任何社会工程师都可能有用,如商业伙伴、门户、客户、供应商和联系页面。它还可以帮助识别大型网站上的文档和关键字。所有这些信息都可以用作进一步侦察的基础。最终,这些信息将导致一个或多个构建基础的假设。
网络爬虫只是侦察生命周期中非常早期使用的工具之一。在彻底了解了这个工具之后,看一下其他可供社会工程师使用的一些工具是非常重要的。
文档元数据
文档元数据基本上是存储在办公文档中的属性信息。当创建 Microsoft Word 或 PDF 文档时,会自动为其添加一些元数据,即使作者并不真正知道。任何拥有该文档的人都可以检索到这些信息。
通常,元数据将是安装办公产品时选择的用户和商业名称。至少可以通过从办公应用程序中查看文档属性来查看一些文档元数据(图 8.6)。
图 8.6 安装选项被填充到 Microsoft Word 文档的元数据中。
这清楚地表明,至少文档可能提供了创建者的姓名。这样,它就可以被添加到用户名单中,或者在致电组织时作为一个名字的参考。
还有许多其他的元数据标签可以由个人添加,以及一些应用程序自动添加的标签。
在这些隐藏的元数据中,通常可以找到操作系统版本、目录结构和用户。此外,还可以找到用于创建文件的确切软件版本。以下是一些提取这些信息的工具:
字符串
字符串搜索可在文件及其元数据中搜索可打印的字符串,并在终端中显示它们。
例如,当运行 strings 对 PDF 文件进行搜索时,下面是其输出(图 8.7):
图 8.7 字符串从 PDF 文件输出。
mac1:rich$ strings mypdfdocument.pdf
在这种特殊情况下,可以检索到正在使用的操作系统 Mac OSX 10.0.4,以及正在使用的 Acrobat 版本。在现实世界中,特别是如果客户的网站上有大量文档的情况下,收集这些信息肯定需要很长时间。幸运的是,有很多工具可以自动化这个过程。
FOCA—www.informatica64.com/foca.aspx
FOCA 是一个为渗透测试人员设计的信息收集工具的 Windows 应用程序。它通常被认为是这类工作中最好的工具之一。它涵盖了本书未涵盖的多种功能。Pro 版本应该被视为任何频繁使用该应用程序的人的一项有价值的投资。
用户在使用 FOCA 时的第一印象之一就是它的易用性。它完全由 GUI 驱动,布局合理,对大多数人来说非常直观。
提取元数据的过程几乎完全自动化。FOCA 给定一个域名,然后它会查找出存在的任何文档。接下来,FOCA 被告知下载文档并提取元数据。它会对每种类型进行分类,并将它们显示在一个易于导航的树中。然后可以将元数据导出到文件中以便操作。真的没有比这更容易的了。
下面是使用可从提供的链接下载的 FOCA Free 进行的过程演示。需要提供一个电子邮件地址,但这对于一个出色的应用程序来说是微不足道的代价。
在 FOCA 的首次启动时,用户将看到一个与 图 8.8 类似的屏幕。
图 8.8 FOCA。
这是“逐步指南”:
步骤 1:点击左上角的“项目”,然后点击“新项目”。
步骤 2:给项目命名,然后在“域网站”字段中输入一个域名。这应该只是 mydomain.com,而不是一个 URL。
步骤 3:告诉 FOCA 在哪里存储项目文档,并添加可能以后有用的任何注释(图 8.9)。
步骤 4:点击“创建”,选择一个位置保存项目文件。桌面现在就够了。
现在,会看到一个类似于 图 8.10 中的屏幕。
选择 Google 和 Bing,将扩展名保持不变。扩展名是 FOCA 将在搜索中查找的文件类型。
步骤 5:点击“搜索全部”。
文档应该开始填充屏幕。名称、大小和类型都将可见。
步骤 6:现在文档搜索已经完成,右键单击任何文档,然后选择“全部下载”。这将把所有文档下载到您之前配置的位置(图 8.11)。
下载所有文档可能需要一些时间。去拿杯咖啡,5 分钟后再来查看一下。
步骤 7:现在所有文档都已下载,请再次右键单击搜索结果中的任何文档,并选择“提取所有元数据”。
图 8.9 FOCA—设置项目。
图 8.10 FOCA 文件扩展名。
图 8.11 FOCA 下载文档。
这应该会产生一个良好组织的元数据视图(图 8.12)。
图 8.12 FOCA 元数据。
FOCA 已从所有可用文档中提取了用户、文件夹结构、软件版本和操作系统,而所需的一切只是给出一个域名。在真实的世界评估中,将看到比这张截图显示的更多细节,假设客户在发布文档之前未对其进行消毒。很少有“密码”元数据类别到目前为止能够见到光明,但它往往是首先被寻找的内容。
例如,右键单击左侧的任何元数据类别,并将结果导出到文件中,可以特别有用用于构建用户列表。
此外,在文档窗格中右键单击并添加一个本地文件或目录进行元数据提取也可能非常有用。
这展示了 FOCA 的一些用途;但是,FOCA 也有开源替代品。让我们现在看一个。
Metagoofil
Metagoofil 的工作方式类似于 FOCA。它首先从 Google 搜索,然后从目标网站下载文档。然后,Metagoofil 可以开始从文档中剥离元数据,并在报告中呈现结果。与 FOCA 一样,Metagoofil 能够检索用户名、软件版本、电子邮件地址和文档路径。
Metagoofil 可以从code.google.com/p/metagoofil/
获取,并且已经在 Linux 和 OSX 中进行了测试。它还应该捆绑在 BackTrack 和 Kali Linux 中。
这里是命令行开关的一个例子:
******************************************************
* Metagoofil Ver 2.2 *
* Christian Martorella *
* Edge-Security.com *
* cmartorella_at_edge-security.com *
******************************************************
Usage: metagoofil options
-d: domain to search
-t: filetype to download (pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)
-l: limit of results to search (default 200)
-h: work with documents in directory (use "yes" for local analysis)
-n: limit of files to download
-o: working directory (location to save downloaded files)
-f: output file
Examples:
metagoofil.py -d apple.com -t doc,pdf -l 200 -n 50 -o applefiles -f results.html
metagoofil.py -h yes -o applefiles -f results.html (local dir analysis)
这其实非常简单。给 Metagoofil 一个域名,告诉它要查看的文档类型,以及限制搜索结果和文件下载的数量。这些限制将由客户的规模和可用时间来定义。如果只有很短的侦察时间窗口,最好尝试避免下载大量每种类型的文档。无论如何,某些客户可能只有少数几个文档。在这里运行工具以查看它返回了什么:
metagoofil -d offensivesite.com -t doc -l 200 -n 50 -o /root/Desktop/metadata/ -f results.html
使用 -d 开关设置了域,-t 定义了 .doc(Microsoft Word),然后使用 -l 开关将搜索结果限制为 200 个。每种类型下载的文件数量由 -n 选项定义为 50。接下来,选择将文件下载到桌面上的 metadata 文件夹中。最后,结果被发布到一个 HTML 文件中,使用 -f 选项。以下是该工具的输出:
******************************************************
* Metagoofil Ver 2.2
* Christian Martorella
* Edge-Security.com
* cmartorella_at_edge-security.com
******************************************************
[-] Starting online search…
[-] Searching for doc files, with a limit of 200
Searching 100 results…
Searching 200 results…
Results: 8 files found
Starting to download 20 of them:
----------------------------------------
[1/20] /onoes=en
[x] Error downloading /onoes=en
[2/20] http://www.offensivesite.com/docs/2323.doc
[3/20] http://www.offensivesite.com/docs/11.doc
[4/20] http://www.offensivesite.com/docs/22.doc
[5/20] http://www.offensivesite.com/docs/123.doc
[6/20] http://www.offensivesite.com/docs/122.doc
[7/20] http://www.offensivesite.com/docs/bob.doc
[8/20] http://www.offensivesite.com/docs/testing.doc
[9/20] http://www.offensivesite.com/docs/lotsometadata.doc
[10/20] http://www.offensivesite.com/docs/doc.doc
[11/20] http://www.offensivesite.com/docs/diary.doc
[12/20] http://www.offensivesite.com/docs/random.doc
[13/20] http://www.offensivesite.com/docs/things.doc
[14/20] http://www.offensivesite.com/docs/morethings.doc
[15/20] http://www.offensivesite.com/docs/manual.doc
[16/20] http://www.offensivesite.com/docs/passwords.doc
[17/20] http://www.offensivesite.com/docs/creditcardnumbers.doc
[18/20] http://www.offensivesite.com/docs/fortknoxdoorcodes.doc
[19/20] http://www.offensivesite.com/docs/safecombination.doc
[20/20] http://www.offensivesite.com/docs/deathstarplans.doc
[+] List of users found:
--------------------------
Edmond Dantès
Jim Seaman
Andrew Gilhooley
Charlotte Howarth
Bryn Bellis
Owen Bellis
Gavin Watson
Andrew Mason
James Pickard
John Martin
[+] List of software found:
-----------------------------
Microsoft Office Word
Microsoft Office Word
Microsoft Office Word OSX
Microsoft Word 10.0
Microsoft Word 9.0
[+] List of paths and servers found:
-------------------------------------
'C:\Documents and Settings\TheEmperor\My Documents\deathstarplans.doc'
'S:\My Documents\creditcardnumbers.doc'
'C:\Documents and Settings\chazzles\Application Data\Microsoft\Word\AutoRecovery save of passwords.doc'
'/Users/jseaman/Documents/safecombination.doc'
[+] List of e-mails found:
----------------------------
Edmond Dantès@offensivesite.com
Jim Seaman@offensivesite.com
Andrew Gilhooley@offensivesite.com
Charlotte Howarth@offensivesite.com
Bryn Bellis@offensivesite.com
Owen Bellis@offensivesite.com
Gavin Watson@offensivesite.com
Andrew Mason@offensivesite.com
James Pickard@offensivesite.com
John Martin@offensivesite.com
社会工程渗透测试教程(二)(3)https://developer.aliyun.com/article/1508282