5.1 开展社会工程(SE)行动
作为红队,我们喜欢采用社会工程(SE)攻击方式,不仅仅是因为通常对技术要求较低,更因为能够以非常低的成本成功实施高价值的行动。通常只需设置几个虚假域名、服务器,以及伪造几封电子邮件,随意丢弃一些 USB 记忆棒,便能在一天内取得效果。
在指标方面,我们了解了一些显而易见的事情,例如发送的电子邮件数量,单击链接的用户数量以及输入密码的用户数量。我们也努力发挥创造力,为雇用我们的公司带来实质性价值。这方面的一个例子是 DefCon 的社会工程竞赛,参赛的选手拨打中心和员工的电话。您可能不熟悉这个比赛,在比赛中,参赛的选手要在有限的时间找到指定公司的一些“旗帜”。“旗帜”需要通过获取公司信息夺得(例如虚拟专用网络、他们使用的杀毒软件类型、员工的具体信息或者让员工访问 URL 等)。如果您想了解竞赛中使用的所有“旗帜”,那么可查看 2017 年的比赛报告。这些类型攻击的目的是通过培训员工发现恶意行为并报告给团队,帮助公司提高内部安全意识。
在本章中,我们将简单介绍一下在行动中使用的一些工具和技术。对于社会工程类的攻击,没有正确或错误的答案。本书认为,只要攻击取得效果,就达到预期目标了。
5.1.1 近似域名
我们在本书第 2 版中讨论了近似域名的话题。近似域名或者丢弃恶意软件仍然是获得最初凭证的一个有效方法。比较常见的方法是购买与目标公司非常相似的网址,或者容易输入错误的公司网址。
本书第 2 版有一个例子,如果攻击 mail.cyberspacekittens.com 网址,那么我们就会购买网址 mailcyberspacekittens.com,并设置一个虚假的 Outlook 页面来捕获凭证。当被攻击者访问假网站并输入密码时,我们搜集这些数据,并将其重定向到公司的有效电子邮件服务器(mail.cyberspacekittens.com)。上述做法留给他们的印象是他们第一次意外地错误输入了密码,因此需要再次进行登录。
这种攻击的优势在于您不必进行任何网络钓鱼。有些人会输入错误或忘记“mail”和“cyberspacekittens”之间的点,然后输入他们的凭证。我们为被攻击者添加书签,这样被攻击者每天都会访问这个网站。
5.1.2 如何复制身份验证页面
一个较好的快速复制 Web 应用程序身份验证页面的工具是 TrustedSec 的社会工程工具包(SET)。这是社会工程行动的标准工具,其中获取凭证是优先事项。设置 SET 工具的步骤如下。
- 配置 SET 工具使用 Apache(与默认 Python 相比)。
- 将配置文件修改为以下内容
- gedit /etc/setoolkit/set.config
- APACHE_SERVER= ON
- APACHE_DIRECTORY= / var / www / html
- HARVESTER_LOG= / var / www / html
- 启动社会工程工具包(SET)。
- cd / opt / social-engineer-toolkit
- setoolkit
- 网络钓鱼攻击向量。
- 网站攻击向量。
- 凭证获取攻击方法。
- 网站复制。
- 攻击者服务器的 IP。
- 要复制的网站。
- 打开浏览器,转到攻击者服务器并进行测试。
所有文件存储在/var /www /html 下,密码存放在 harvester*下。在社会工程行动中复制页面的一些最佳做法如下。
- 将 Apache 服务器迁移,使用 SSL 协议运行。
- 将所有图像和资源放在本地(而不是从复制的站点调用)。
- 就个人而言,我喜欢用我的公共 pgp 密钥存储所有记录的密码。这样做时,如果服务器被突破,则没有私钥就无法恢复密码。这可以通过 PHP gnupg_encrypt 和 gnupg_decrypt 来实现。
5.1.3 双因子凭证
我们看到更多客户使用双因子身份验证(2FA)。虽然双因子身份验证对红队来说是一个巨大的考验,但是并非不可绕过。从过去的经验来说,我们必须创建自定义页面,处理双因子认证,但现在有了 ReelPhish 工具。FireEye 开发的 ReelPhish 工具允许红队利用 Selenium 和 Chrome 自动触发双因子认证,条件是被攻击者在诱骗页面上输入凭证。
- 复制需要双因子身份验证的被攻击者站点。
- 在自己的攻击设备中,分析登录真实站点的流量。就我而言,我打开 Burp Suite,截获鉴权所需的 post 参数。
- 修改复制站点,使用 ReelPhish。访问/examplesitecode/samplecode.php 并输入身份验证所需的所有必要参数。
- 被攻击者进入复制网站并进行身份验证。
- 凭证被回送给攻击者。
- ReelPhish 将向真实的网站提交身份验证,触发双因子认证。
- 被攻击者接收双因子认证码或者电话推送。
- 被攻击者重定向到真实站点再次登录(他们认为在初次认证时失败)。
如图 5.1 所示,我们绕过双因子认证,获得鉴权会话。尽管看起来这个工具支持 Linux,但我在 Kali 中运行时遇到了一些问题。因此,首先在 Windows 中运行。
图 5.1
关于双因子认证的身份认证,我想提到的一件事是确保在获得凭证后,核实所有不同的身份验证方法。我的意思是他们可能使用双因子认证,用于网站的身份验证,但对于 API、旧胖客户端或所有应用程序端点,可能不需要双因子认证。我们已经看到许多应用程序在公共端点上需要双因子认证,但在应用程序的其他部分不使用双因子认证,缺乏安全保护。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论