社会工程渗透测试教程(二)(4)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
简介: 社会工程渗透测试教程(二)

社会工程渗透测试教程(二)(3)https://developer.aliyun.com/article/1508282

社交媒体

社交网络网站一直是社会工程师获取信息的金矿。人们在诸如 Facebook 之类的网站上上传了他们的整个生活,而不会考虑他们的隐私。

根据 Facebook 创始人马克·扎克伯格的说法,隐私的时代已经结束了。但他当然会这么说。在他看来,对你了解得越多,越好。为什么?因为这能让 Facebook 更有效地将你商品化。他们可以以更有针对性的方式提供广告,并确保点击率尽可能高。当然,这是基于有针对性广告是 Facebook 意图的极限的假设。

随着社交网络成为日常生活的一部分,它越来越受到新闻媒体的关注。隐私一直是一个持续关注的问题,社交网络的运作方式发生了重大变化以解决这个问题。看到这些主流新闻文章的影响是很有趣的。使用 Facebook 等网站的绝大多数人现在比以往任何时候都更加关注隐私问题。这证明了如果以正确的方式传递意识练习,并且与接收者相关,它们确实可以非常有效。

鉴于社交网络站点已经加强了他们的游戏,社会工程师还能够利用它们吗?为了回答这个问题,我们将查看一些更受欢迎的社交媒体网站,并确定任何有用的情报。

LinkedIn

LinkedIn 基本上是企业界的 Facebook 等同物。它是一个在线社交应用程序,允许人们在各个行业之间建立联系。阅读本文的大多数人可能已经有了账户,并在该网站上建立了某种类型的个人资料。

所需的大部分有用信息与个人资料相关。LinkedIn 个人资料本质上是在线简历。人们会添加他们的工作经历、技能和专业知识、照片和参考资料。还可以为他们的特定技能背书。

基本上,LinkedIn 对于试图追踪某人或某人的技能集的任何人来说都是信息的宝库。因此,LinkedIn 在销售和招聘环境中异常受欢迎。正是这种员工信息的丰富性使得 LinkedIn 对社会工程师来说价值连城。

经常发现的情况是一个组织会在 LinkedIn 上管理他们自己的小组。这个功能的好处在于它为我们提供了一个现成的员工列表,包括他们的整个历史。如果社会工程师试图冒充一名员工,这种情报水平将会非常有用。正如之前已经提到的,假设已经发现了地址的约定,这也可以用于构建电子邮件地址列表。换句话说,它扩大了攻击面。

值得注意的是,LinkedIn 不是免费的。它也不是匿名的。当查看他人的个人资料时,他们可能会知道这已经被做过。因此,注册专业版,避免使用个人资料,并在“他人查看您的个人资料时看到的内容”选项中更改设置控制面板,选择“您将完全匿名”的单选按钮是有益的。

在 LinkedIn 的免费版本中有一个限制,但在任何情况下都可以绕过。例如,搜索一个组织名称,它会显示一个员工列表。但它不会显示每个人的全名。通常,结果的第一页会显示全名,其余的会显示名字和姓氏的首字母。

搜索了 Syngress 作为一家企业,然后我们选择了他们的母公司 Elsevier。在结果的第一页中,发现了“Steve.E”的姓名。通过点击个人资料,它表示“升级以获取全名”。最好的选择是免费获取。只需选择图片右侧、职位标题下的所有内容,然后将其复制并粘贴到 Google 中(参见图 8.23)。

图 8.23 LinkedIn 侦察。

或许一般的信念是这不会起作用,但第二个命中正是所需的。点击它会显示员工的全名,从而可以将其添加到目标列表中或在电话中使用名字(参见图 8.24)。

图 8.24 LinkedIn 详细信息显示。

实际上是我们销售人员向我展示了这个黑客技巧,我被它的简单性所震惊,也被我们销售团队的狡猾本质所震惊。

我们已经介绍了一个可以从 LinkedIn 收集信息的工具,即无法估量地有用的“theharvester”。

theharvester -d elsevier -l 500 -b linkedin

提供的输出需要在使用之前手动批准。theharvester 将会捕获组织内的过去员工以及现在的员工。

Recon-ng—bitbucket.org/LaNMaSteR53/recon-ng

Recon-ng 是针对社交工程师和渗透测试人员的侦察框架。它随 Kali Linux 一起提供,因此您只需在命令 shell 中键入“recon-ng”即可启动它。我建议您使用“git clone—bitbucket.org/LaNMaSteR53/recon-ng.git”获取最新版本。然后您可以运行 ./recon-ng.py 来启动和运行它。如果您熟悉 Metasploit,那么这会感觉很熟悉。导航非常类似,每个模块的设置也是如此。

linkedin_auth 模块依赖于 LinkedIn 上的用户帐户和 API 密钥来收集联系人详情。一旦配置好了,你只需设置目标公司名称并运行该模块(参见图 8.25)。

图 8.25 Recon-ng 输出。

设置这个非常简单。注册开发者 API 密钥,然后用“keys add”命令将密钥分配给 recon-ng。 Recon-ng 将指导您完成其余的设置。

在使用 LinkedIn 时还有更长远的方法。例如,建立假档案并与目标员工建立网络联系。虽然这个角度可能会产生结果,但超出了本节的范围。

Facebook

毫无疑问,Facebook 是目前存在的最流行的社交网络网站,但这主要是从个人使用的角度来看的。虽然在 Facebook 上有企业存在,但它们的范围肯定比 LinkedIn 更有限。

有几个潜在的信息收集领域可以利用。首先,之前记录的技术可以收集公司资料中的任何图片。在这种情况下,不是在寻找 GPS 位置数据,因为 Facebook 在上传时会删除这些数据,而是在寻找位置的照片、办公室内部或员工的照片。

另一种途径是查看任何帖子上的评论,看看这些评论是否可以与目标的员工帐户联系起来。

对于社会工程师来说,其中一种更强大的工具是图搜索。这个 Facebook 功能允许制定搜索词,与任何被 Facebook 用户接触过的东西相关联。可能性几乎无限,但显然需要目标拥有某种程度的访问权限。让我们快速看一下一些有用的术语,并看看结果如何。

喜欢微软的人”—一个有趣的搜索词,可以确定潜在的合作伙伴、员工或投资者。至少可以将其归类为有用信息,但通过一些手动调查可能会更多。试试看用你的雇主,看看结果是否是员工,可以肯定其中相当一部分是。现在开始浏览个人资料,寻找有用信息。建议从“地点”功能开始。当用户签到或在帖子中添加位置时,这就会显示出来。从本质上讲,这是员工活动的地图,很可能包含公司的地点。

在微软工作的人”—现在事情开始变得真正有趣了。可以看到声称在微软工作的所有人的完整列表,包括职称。每个这样的个人资料都可能包含用于任何社会工程活动的敏感信息。

这也可以修改为查看潜在的前员工,“2012 年曾在微软工作的人”。

在华盛顿雷德蒙德拍摄的微软照片”—如果有一个大概的实际位置,这个搜索可以得到很棒的结果。你可以从对目标一无所知到对场地的大致布局以及物理安全的概念。

在华盛顿雷德蒙德工作的微软员工拍摄的照片”—这将是一个有用的搜索词,当寻找可能包含工作证的员工照片时。同样,结果可能还包含有关物理安全的有用信息。

华盛顿哥伦比亚特区微软员工访问过的地方”—当寻找员工聚会地点时,这是一个有趣的搜索词。搜索结果可以进一步缩小到确切去过这些地点的员工。在结果中,点击“微软员工曾在此处”按钮,以获取人员名单。这将自动填充搜索词,例如,“微软员工曾访问 9:30 俱乐部”。

当然,通过帐户的隐私设置可以限制访问。很多人可能不知道这甚至是可能的,更不用说花时间来锁定了。这就像拥有一个人们生活的谷歌搜索引擎一样。

Recon-ng 有一个模块,通过 API 从图搜索中收集敏感数据,但该功能似乎已被移除。我预测未来会出现大量的侦察工具,用于此功能。

让我们简要地查看一下 Twitter,以完成社交网络站点的概述。

Twitter

Twitter 是另一个存在的更受欢迎的社交媒体网站。与 Facebook 或 LinkedIn 不同,Twitter 中的个人资料概念非常有限。您可以添加一些关于自己的细节,但远不及 LinkedIn 或 Facebook 的水平。这在一定程度上缩小了我们的攻击面,但 Twitter 有时仍然可以是一个有用的情报来源。

Twitter 是另一个经常受到公众关注的社交媒体提供商,因此他们逐渐加强了安全性。例如,现在在上传时已经清除了 Exif 数据,因此我们无法再从用户的照片中获取位置数据。

即使事情在一定程度上被封锁,仍然有一些有趣的角度可以追求。

Recon-ng

Recon-ng 再次提供了一个有用的侦察模块。Twitter 联系人收集模块搜索提到您提供的句柄的用户。这可以帮助为将来使用的潜在同事绘制地图。

需要在 dev.twitter.com 注册 Twitter API,但拥有 Twitter 账户允许我们使用该账户登录,但仍需要填写一个表格说明应用程序的意图和一两个其他细节。

启动 recon-ng 就像在命令 shell 中输入它并等待控制台弹出一样简单。然后只需使用“use”命令选择模块。

recon-ng > use recon/contacts/gather/http/api/twitter
recon-ng [twitter] > show options
Name Current Value Req Description
---- ------------- --- -----------
DTG  no date-time group in the form YYYY-MM-DD
HANDLE  yes target twitter handle

在这一点上,您可以开始使用“keys add”命令配置您的 API 密钥。您将配置 twitter_api 和 twitter_secret 两个密钥。在 Twitter 控制面板中,这些实际上被称为“消费者密钥”和“消费者密钥”。

recon-ng [twitter] > keys add twitter_api myconsumerkeygoeshere
[*] Key'twitter_api’ added.
recon-ng [twitter] > keys add twitter_secret myconsumersecretgoeshere
[*] Key'twitter_secret’ added.

接下来,只需设置所选的句柄并运行该模块

recon-ng [twitter] > set HANDLE @David_Cameron
HANDLE => @David_Cameron
recon-ng [twitter] > run
[*] Searching for users mentioned by the given handle.
[*] Searching for users who mentioned the given handle.
+---------------------------------------+
|  Handle  |  Name  |  Time  |
+---------------------------------------+
| StopLeseMajeste | Emilio Esteban | Mon Aug 26 16:23:20 +0000 2013 |
| AuthorSaraKhan | Sara Khan   | Mon Aug 26 16:23:00 +0000 2013 |
| HIGHtenedStoner | UK4legalWeeD  | Mon Aug 26 16:08:12 +0000 2013 |

该工具应该能够在不必手动搜索目标的 Twitter 历史记录的情况下缩小潜在同事的范围。一旦与 LinkedIn 和 Facebook 的数据相关联,情报的准确性应该呈指数增长。

DNS 记录

枚举 DNS 记录可能会在社会工程和渗透测试中带来一些有趣的发现。例如,知道组织的网络邮件服务的位置以及用户名和电子邮件地址,如果您打电话给帮助台,立即可以获得可信度。大多数一线帮助台操作员不会了解子域暴力破解,他们会假设如果您知道 URL,那么您就是员工。我曾经处于这样的情况,仅凭这些信息就成功地通过电话重置了员工的域密码。

从渗透测试的角度来看,这些信息可以用来识别在密码攻击中可以利用的关键资产。正如我已经指出的,许多项目包括社会工程和渗透测试的元素。

因此,鉴于我们已经介绍了如何获取员工的电子邮件地址,那么在参与中如何使用 DNS 呢?

Dnsrecon—github.com/darkoperator/dnsrecon—Twitter—@Carlos_Perez

当涉及到 DNS 侦察时,Dnsrecon 是我的首选工具。它易于使用,快速而灵活。它附带了 Kali 和 Backtrack,因此启动系统并按照操作进行测试。

以下是标准输出的方式:

root@pentest:~# dnsrecon -d syngress.com
[*] Performing General Enumeration of Domain: syngress.com
[!] Wildcard resolution is enabled on this domain
[!] It is resolving to 92.242.132.15
[!] All queries will resolve to this address!!
[-] DNSSEC is not configured for syngress.com
[*]      SOA ns.elsevier.co.uk 193.131.222.35
[*]      NS ns0-s.dns.pipex.net 158.43.129.83
[*]      NS ns0-s.dns.pipex.net 2001:600:1c0:e000::35:2a
[*]      NS ns.elsevier.co.uk 193.131.222.35
[*]      NS ns1-s.dns.pipex.net 158.43.193.83
[*]      NS ns1-s.dns.pipex.net 2001:600:1c0:e001::35:2a
[*]      MX syngress.com.inbound10.mxlogic.net 208.65.144.3
[*]      MX syngress.com.inbound10.mxlogic.net 208.65.145.2
[*]      MX syngress.com.inbound10.mxlogic.net 208.65.145.3
[*]      MX syngress.com.inbound10.mxlogic.net 208.65.144.2
[*]      MX syngress.com.inbound10.mxlogicmx.net 208.65.145.2
[*]      MX syngress.com.inbound10.mxlogicmx.net 208.65.144.2
[*]      A syngress.com 50.87.186.171
[*] Enumerating SRV Records
[-] No SRV Records Found for syngress.com
[*] 0 Records Found

基本上,开始权威记录已被枚举,并且已恢复名称服务器(NS)和邮件交换(MX)记录。在某些情况下,这些信息可能有用,但这里没有什么特别令人兴奋的。

子域暴力破解

这里所说的暴力破解是一个误称,因为我们将使用一个列表或字典,但原则仍然适用。Dnsrecon 被指示使用可能的子域名列表,并对每个进行名称查找。任何成功返回的都将被打印到屏幕上,为我们提供了有关目标公开面的洞察。由于这些名称可以被解析的速度很快,所以有可能在很短的时间内完成大量列表的处理。虽然不太可能对 DNS 服务器造成任何干扰,但始终要记住可能对系统造成的影响。

幸运的是,dnsrecon 附带了一个可以用于入门的标准名称列表。以下是开始使用该命令的方式:

root@pentest:~# dnsrecon -d apple.com -t brt -D /usr/share/dnsrecon/namelist.txt
[*] Performing host and subdomain brute force against apple.com
[*]      CNAME access.apple.com www.access.apple.com
[*]      A www.access.apple.com 17.254.3.40
[*]      CNAME apple.apple.com apple.com
[*]      A apple.com 17.172.224.47
[*]      A apple.com 17.149.160.49
[*]      A apple.com 17.178.96.59
[*]      A asia.apple.com 17.172.224.30
[*]      A asia.apple.com 17.149.160.30
[*]      A asia.apple.com 17.83.137.5
[*]      A au.apple.com 17.254.20.46
[*]      A b2b.apple.com 17.254.2.97
[*]      A bz.apple.com 17.151.62.52
[*]      A bz.apple.com 17.151.62.54
[*]      A bz.apple.com 17.151.62.53

输出中返回了大量已确认的子域。命令结构很简单。-d 用于定义需要查看的域,然后-t 用于指定类型,这里是 brt 或“暴力破解”。然后我们使用-D 开关提供了一个潜在子域名列表,然后使用 Kali 中附带的标准名称列表。还有比列出的更多的结果。尝试使用独立的域名进行实验,看看能发现什么。

有一些单词列表和备选方法绝对值得探索。首先,Ryan Dewhurst,又名@ethicalhack3r 对这个主题进行了一些研究。通过利用 Alexa 前 100 万名,并对每个域尝试区域传送,他能够获得 6%的成功率。这显然产生了大量的数据,就纯文本列表而言是如此。Ryan 友善地将这些数据分割成更可用的文件供我们使用。您可以在这里查看完整的帖子:www.ethicalhack3r.co.uk/zone-transfers-on-the-alexa-top-1-million-part-2/#more-17123

如果使用 Ryan 的“子域前 5000 名”列表,会看到更好的结果吗?随着时间的推移,这很有可能,因为这些是真实世界的子域名,涵盖了广泛的范围。

作为直接比较,dnsrecon 针对apple.com同时使用标准的“namelist.txt”和 Ryan 的“subdomains-top1mil-5000.txt”进行了运行。namelist.txt 文件返回了 194 条记录。“subdomains-top1mil-5000.txt”文件返回了 408 条记录。无论如何,这都是值得思考的问题。

但是,如果我们想要更有针对性地尝试呢?如果我们想要生成一个特定于我们所针对的业务的列表,我们可以做些什么?

CeWL—www.digininja.org/projects/cewl.php

Robin Wood 的 CeWL 项目是一个 Ruby 应用程序,将 Spider 目标网站,并基于该站点的内容构建一个单词列表。虽然该工具的绝大多数用例是构建密码列表,但在用作子域列表生成器时也观察到了良好的结果。实质上,它将提供我们所希望的大致定位列表。列表中的每个单词都直接来自目标网站。

命令的样子如下:

root@pentest:/home/cewl# ruby cewl.rb --help

帮助文件始终是最好的起点。我会让你尝试一下选项,现在我们所需的只有以下内容:

root@pentest:/home/cewl# ruby cewl.rb --depth 1 www.apple.com

注意深度选项。正如我们在谈论 Spidering 时提到的,我们不希望爬取庞大网站上的每个链接。这将耗费大量时间,如果您正在进行中的任务,甚至可能引起警报。

CeWL 默认会将输出打印到屏幕上,但如果需要,您可以将其重定向到文件中。

CeWL 生成的单词列表总共返回了 171 条记录。虽然它的结果远不及“5000.txt 文件”那么多,但通常会挑出那些否则会被忽略的几个,因为它们非常特定于业务。这就是为什么始终建议同时使用两种方法以确保良好的覆盖范围。我们排序和修剪后的子域列表的总大小为 282 个条目。尝试对您自己的域名使用这些方法,看看有多少被忽略。

Whois 记录

在谈论电子邮件地址收集时,我们简要提到了 Whois 记录。除了电子邮件地址外,它们还为我们提供其他有用的情报。

首先,Whois 可以识别分配给组织的地址空间。首先执行针对目标网站的 nslookup,然后对返回的 IP 地址执行 Whois。

root@pentest:~# nslookup www.apple.com
Server: 172.16.55.2
Address: 172.16.55.2#53
Non-authoritative answer:
www.apple.com canonical name=www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net canonical name=www.apple.com.edgekey.net.
www.apple.com.edgekey.net canonical name=e3191.dscc.akamaiedge.net.
Name:    e3191.dscc.akamaiedge.net
Address: 95.100.205.15
root@pentest:~# whois 95.100.205.15
inetnum:   95.100.192.0 - 95.100.207.255
netname:   AKAMAI-PA
descr:    Akamai Technologies
country:   EU
admin-c:   NARA1-RIPE
tech-c:   NARA1-RIPE
status:   ASSIGNED PA
mnt-by:   AKAM1-RIPE-MNT
mnt-routes: AKAM1-RIPE-MNT
source:   RIPE # Filtered

在这个网站上,地址空间属于 Akamai,但在您的评估中情况并非总是如此。值得一提的是,查看目标是否拥有自己注册的地址空间,然后对其进行侦察。通过这一步和之前的 DNS 侦察,您应该能够很好地了解他们的公共资源布局。

Whois 记录还包含物理地址、电子邮件地址和电话号码。我们的销售人员最近试图联系一个组织的总部,但呼叫中心工作人员不愿提供号码。稍后进行快速的 Whois 查询,我们得到了总部直拨池中的第一个号码,有人接听了电话,我们与所需的人交谈了。这不仅对我们有用,而且证明了非技术人员认为不是公开知识的内容。使用被视为特权信息打电话,可以增加您的主张的说服力。

你将经常看到的另一条信息也可以被社会工程师利用。当你运行 Whois 并得到一个托管公司时,你已经有了一个潜在的借口。你可以说:“嗨,我是来自 XYZ 托管的 Rob,我们早些时候在您的机柜中的一个服务器上看到了一个红灯,您有没有注意到任何问题?”此时你可以感受到个人的警惕程度,等待并看看回应是什么——他们可能至少会确认他们的系统确实是托管在那里的,即使只是说他们没有注意到问题。也许可以提供 KVM 登录到系统并弄清楚发生了什么。你可能会得到在其他地方也管用的凭证。无论你选择什么样的理由,你至少可以带着一个可用的借口打电话。

另一种选择是注册一个与托管公司类似的电子邮件域,并在业务关键时间发送计划中的停机邮件。对这封邮件的反应很可能是恐慌,你可能会在不经意间捕捉到一个会点击你恶意链接的人。你的邮件内容将在我们关于电子邮件攻击的章节中讨论。不过,作为一个入门,我会说为托管公司创建一个克隆的客户门户是一个安全的选择。

从一个简单的 Whois 中可以得到令人惊讶的信息。在许多情况下,组织会对记录进行清理以避免滥用。

利用情报

我们在本章中穿插讨论了数据的操作。本质上,有数据我们会直接使用,也有间接使用。当我说间接时,我指的是打电话给帮助台并提及 VPN 门户的 URL 或用户的电子邮件地址。当我说直接时,我更多地考虑对目标资产进行直接密码攻击。要执行这种类型的攻击,我们需要从我们收集到的数据中构建用户列表。

让我们以前面 recon-ng 中的 Jigsaw 模块为例。我们使用 ‘recon/contacts/gather/http/web/jigsaw’ 模块来收集一个企业的联系人。模块完成后,我们可以输入“show contacts”来查看结果。我们也可以选择将结果放入一个逗号分隔值 (CSV) 文件中,方法是输入“use reporting/csv_file”,然后输入“run”。输出看起来会像下面这样:

“Walt”,“Christensen”,“”,“Vice President Shared Services”,“Maryland Heights, MO”,“United States”
“Wendy”,“Bibby”,“”,“General Manager”,“New York, NY”,“United States”
“Wendy”,“McMullen”,“”,“Senior Marketing Manager”,“Philadelphia, PA”,“United States”
“Wendy”,“Shiou”,“”,“Manager Planning and Analysis and Finance”,“New York, NY”,“United States”
“Wesley”,“Stark”,“”,“Director, Software Engineering”,“New York, NY”,“United States”
“Willem”,“Wijnen”,“”,“Test Engineer”,“New York, NY”,“United States”
“William”,“Schmitt”,“”,“Executive Publisher”,“New York, NY”,“United States”

就像上一个 Jigsaw 示例一样,我的做法现在是尝试建立一个实际的电子邮件地址约定,通常是通过查看公司网站或检查 Whois 记录来完成。举个例子,为了论证目的,我们假设目标用户的电子邮件是 firstname.lastname@offensivesite.com。我们可以操纵上述 CSV 文件来为我们构建该列表。

root@pentest:~/Desktop# sed 's/"//g' contacts.txt | awk -F, '{print $1"."$2"@offensivesite.com"}'
Walt.Christensen@offensivesite.com
Wendy.Bibby@offensivesite.com
Wendy.McMullen@offensivesite.com
Wendy.Shiou@offensivesite.com
Wesley.Stark@offensivesite.com
Willem.Wijnen@offensivesite.com
William.Schmitt@offensivesite.com

显然,在列表更大的情况下,这是有利的,就像在这个例子中一样,为了清醒起见,这里只是简要描述。首先剥离引号,然后基于逗号分隔符打印第一个和第二个字段(名字和姓氏)。接下来,在每一行的末尾附加 @companyname.com。有更优雅的方法来做这件事,但这是快速并且有效的,因此将尝试找到最合适的方法。Microsoft 用户可以使用这种方式来操纵数据。即使对于 Windows 用户来说,随时准备一个 Linux 虚拟机来执行数据操作也是值得的。

尝试将上述列表与整个侦察过程中收集到的电子邮件地址结合起来。这可以分成针对性和广泛范围的网络钓鱼攻击组,以及在面向公众的门户网站上使用它们进行密码攻击。所有这些都归结为已确定的范围。如前所述,混合评估包括渗透测试和社会工程学的元素,因此对 OWA 的密码攻击并非不可能。

Metasploit 框架附带了一个针对 OWA 的密码攻击模块。“auxiliary/scanner/http/owa_login” 只需配置以下细节即可工作:

RHOST — OWA 系统的目标 IP 地址。

RPORT — OWA 正在监听的端口,通常是 443。

USER_FILE — 我们上面创建的输出。通常“firstname.lastname”也可以像完整的电子邮件地址一样起作用。

PASSWORD — 从基础开始。Password1、password、password1. 如果检索到了许多联系人,则找到其中之一的机会很高。不要忘记尝试组织的名称。

运行模块时,它将针对已获取的每个用户尝试指定的密码,显示任何成功或失败。不幸的是,需要注意的是,有可能会锁定账户。毫无疑问,这将像盲目飞行一样,除非有人愿意通过电话透露锁定策略。务必慎重行事,并将尝试次数控制在每 30 分钟一到两次以下。这应该低于大多数锁定前尝试次数为三次,并在尝试的 30 分钟后重置计时器的阈值。

如果进行密码攻击并获得了一些账户的访问权限,接下来会发生什么?如果范围允许,检查电子邮件中的敏感信息。可能会发现更多的系统或客户要求被侵犯的信息的进一步访问详细信息。

完成了这一步之后,整个公司的地址列表就可以下载了,从而使得对 OWA 的另一种密码攻击成为可能。这可能提供了比已经拥有的更特权的账户。

这个账户也可以被用作进一步钓鱼攻击的基础,只不过这一次攻击将来自企业内部,更有可能被信任。当受害者看到回应纷至沓来时,他们可能会警觉起来。

另一个有趣的想法是将恶意附件附加到会议请求或日历条目中。人们很少会怀疑,因为我们习惯于被告知电子邮件附件是万恶之源。另一个角度是尝试利用这些账户攻击其他系统。通常会发现 VPN 系统与 Active Directory 绑定进行身份验证。可能可以通过 Citrix 获得对内部服务器的远程访问。此时,这可能已经远远超出了本文的范围,而进入了渗透测试的领域。

摘要

在本章中,我们涵盖了社会工程和渗透测试的侦察的许多方面。我们研究了如何利用企业网站作为情报来源,并突出了可以检索到的信息类型。我们研究了搜索引擎收集和生活在如此互联的时代的影响。然后我们研究了电子邮件地址收集,并讨论了为什么这看似无害的信息在落入错误手中时会被用来对付我们。

没有探讨侦察的讨论会完整,而不看一下更受欢迎的社交网络网站。虽然我们讨论的不仅仅是这三大社交网站,但它们今天肯定是最相关的。我们看了一下如何绕过 LinkedIn 的一些限制来获取联系方式,以及如何利用 Facebook 的图搜索产生惊人的效果。

我们还研究了如何使用 DNS 和 Whois 记录来增强您的评估,以及它们通常包含比较明智的更多信息。

最后,我们简要地研究了如何操纵这些数据,以便在攻击中使用。

幸运的是,或许是精心策划,我们现在将进入下一章节中的电子邮件攻击向量。这意味着我们可以利用刚刚收集到的大量数据进行一系列攻击。

ices”,“Maryland Heights, MO”,“United States”

“Wendy”,“Bibby”,“”,“General Manager”,“New York, NY”,“United States”

“Wendy”,“McMullen”,“”,“Senior Marketing Manager”,“Philadelphia, PA”,“United States”

“Wendy”,“Shiou”,“”,“Manager Planning and Analysis and Finance”,“New York, NY”,“United States”

“Wesley”,“Stark”,“”,“Director, Software Engineering”,“New York, NY”,“United States”

“Willem”,“Wijnen”,“”,“Test Engineer”,“New York, NY”,“United States”

“William”,“Schmitt”,“”,“Executive Publisher”,“New York, NY”,“United States”

就像上一个 Jigsaw 示例一样,我的做法现在是尝试建立一个实际的电子邮件地址约定,通常是通过查看公司网站或检查 Whois 记录来完成。举个例子,为了论证目的,我们假设目标用户的电子邮件是 firstname.lastname@offensivesite.com。我们可以操纵上述 CSV 文件来为我们构建该列表。

root@pentest:~/Desktop# sed ‘s/"//g’ contacts.txt | awk -F, ‘{print 1".1".“2”@offensivesite.com"}’

Walt.Christensen@offensivesite.com

Wendy.Bibby@offensivesite.com

Wendy.McMullen@offensivesite.com

Wendy.Shiou@offensivesite.com

Wesley.Stark@offensivesite.com

Willem.Wijnen@offensivesite.com

William.Schmitt@offensivesite.com

显然,在列表更大的情况下,这是有利的,就像在这个例子中一样,为了清醒起见,这里只是简要描述。首先剥离引号,然后基于逗号分隔符打印第一个和第二个字段(名字和姓氏)。接下来,在每一行的末尾附加 @companyname.com。有更优雅的方法来做这件事,但这是快速并且有效的,因此将尝试找到最合适的方法。Microsoft 用户可以使用这种方式来操纵数据。即使对于 Windows 用户来说,随时准备一个 Linux 虚拟机来执行数据操作也是值得的。
尝试将上述列表与整个侦察过程中收集到的电子邮件地址结合起来。这可以分成针对性和广泛范围的网络钓鱼攻击组,以及在面向公众的门户网站上使用它们进行密码攻击。所有这些都归结为已确定的范围。如前所述,混合评估包括渗透测试和社会工程学的元素,因此对 OWA 的密码攻击并非不可能。
Metasploit 框架附带了一个针对 OWA 的密码攻击模块。“auxiliary/scanner/http/owa_login” 只需配置以下细节即可工作:
RHOST — OWA 系统的目标 IP 地址。
RPORT — OWA 正在监听的端口,通常是 443。
USER_FILE — 我们上面创建的输出。通常“firstname.lastname”也可以像完整的电子邮件地址一样起作用。
PASSWORD — 从基础开始。Password1、password、password1\. 如果检索到了许多联系人,则找到其中之一的机会很高。不要忘记尝试组织的名称。
运行模块时,它将针对已获取的每个用户尝试指定的密码,显示任何成功或失败。不幸的是,需要注意的是,有可能会锁定账户。毫无疑问,这将像盲目飞行一样,除非有人愿意通过电话透露锁定策略。务必慎重行事,并将尝试次数控制在每 30 分钟一到两次以下。这应该低于大多数锁定前尝试次数为三次,并在尝试的 30 分钟后重置计时器的阈值。
如果进行密码攻击并获得了一些账户的访问权限,接下来会发生什么?如果范围允许,检查电子邮件中的敏感信息。可能会发现更多的系统或客户要求被侵犯的信息的进一步访问详细信息。
完成了这一步之后,整个公司的地址列表就可以下载了,从而使得对 OWA 的另一种密码攻击成为可能。这可能提供了比已经拥有的更特权的账户。
这个账户也可以被用作进一步钓鱼攻击的基础,只不过这一次攻击将来自企业内部,更有可能被信任。当受害者看到回应纷至沓来时,他们可能会警觉起来。
另一个有趣的想法是将恶意附件附加到会议请求或日历条目中。人们很少会怀疑,因为我们习惯于被告知电子邮件附件是万恶之源。另一个角度是尝试利用这些账户攻击其他系统。通常会发现 VPN 系统与 Active Directory 绑定进行身份验证。可能可以通过 Citrix 获得对内部服务器的远程访问。此时,这可能已经远远超出了本文的范围,而进入了渗透测试的领域。
## 摘要
在本章中,我们涵盖了社会工程和渗透测试的侦察的许多方面。我们研究了如何利用企业网站作为情报来源,并突出了可以检索到的信息类型。我们研究了搜索引擎收集和生活在如此互联的时代的影响。然后我们研究了电子邮件地址收集,并讨论了为什么这看似无害的信息在落入错误手中时会被用来对付我们。
没有探讨侦察的讨论会完整,而不看一下更受欢迎的社交网络网站。虽然我们讨论的不仅仅是这三大社交网站,但它们今天肯定是最相关的。我们看了一下如何绕过 LinkedIn 的一些限制来获取联系方式,以及如何利用 Facebook 的图搜索产生惊人的效果。
我们还研究了如何使用 DNS 和 Whois 记录来增强您的评估,以及它们通常包含比较明智的更多信息。
最后,我们简要地研究了如何操纵这些数据,以便在攻击中使用。
幸运的是,或许是精心策划,我们现在将进入下一章节中的电子邮件攻击向量。这意味着我们可以利用刚刚收集到的大量数据进行一系列攻击。


相关文章
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
52 1
|
2月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
66 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
78 4
|
4月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
381 1
ROS2教程02 ROS2的安装、配置和测试
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
86 5
|
4月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
216 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
4月前
|
Java 测试技术 Maven
Junit单元测试 @Test的使用教程
这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
|
5月前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
128 2
|
5月前
|
存储 Web App开发 Java
《手把手教你》系列基础篇(九十五)-java+ selenium自动化测试-框架之设计篇-java实现自定义日志输出(详解教程)
【7月更文挑战第13天】这篇文章介绍了如何在Java中创建一个简单的自定义日志系统,以替代Log4j或logback。
305 5
|
5月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
109 3