青松资讯:想窃取用户密码?一个“U盘”就能搞定

当你下班准备回家时,你会关电脑么?

我们打赌你根本就不会关,这样第二天的早上就无需等它启动即可使用。当您离开工作场所时,IT人员可能会因为安全原因要求你锁定系统。但是锁定系统并不会让您的计算机幸免于一种新的攻击类型。这种攻击方法在树莓派(Raspberry Pi)爱好者论坛上不断得到普及。

我们之前调查过通过USB端口连接为智能手机充电可能会造成的安全问题。在这项研究中,我们对USB端口有了新的认识—微型电脑对USB的连接尝试会拦截到系统上的用户认证数据。我们发现,这种类型的攻击能令入侵者成功检索用户认证数据,哪怕目标系统被锁定。

此外,这种攻击也能帮助入侵者获取管理员凭据。还记得Carbanak么?就是那个制造2015年银行抢劫案,直接窃取十亿美元的黑客组织。通过管理权限查找检索用户凭据是这些抢劫方案的重要组成部分。

在研究中,我们将展示通过简单地将微型电脑通过USB连接到公司范围内的任何计算机来窃取管理员凭据。本文中的凭据指的是用户名和密码哈希值。这里不会详细介绍如何解密检索到的哈希值,或者如何在传递攻击中使用它。

有一点值得注意,这种攻击的硬件成本不超过20美元,攻击执行者无需任何特殊技能或从业资格。唯一需要的是通过物理手段访问企业电脑。比如说,某个清洁员可能会被要求将“这个东西”插入任何没有关闭的电脑USB口。

我们在实验中使用的是Raspberry Pi Zero。根据Raspberry Pi Zero的配置,在其插入设备后,会被系统识别为以太网适配器。论坛上树莓派爱好者关于如何使用单板计算机进入信息系统的热烈讨论促成了Raspberry Pi Zero这一特性的诞生。结合考虑到设备的功能、尺寸及价格等方面,不难理解Raspberry Pi Zero的饱受欢迎。开发人员可将芯片和接口进行打包,尺寸仅比普通USB闪存稍大。

是的,使用微型电脑设备拦截和分析网络数据包,乃至作为通用渗透测试平台来使用早已不是什么新鲜事。大多数已知的微型计算设备采用ARM微处理器,有些设备还会搭载专为渗透测试而设计的 Kali Linux 。

有些特殊的形似U盘的计算设备专为渗透测试而设计,如USB Armory。相比Raspberry Pi Zero,使用这类计算设备在具备种种优点(比如集成USB A型连接器,而Raspberry Pi则需要另加适配器)的同时,也带来了更高的成本(约135美元),当然,还有更好的可用性。2016年,曾有传言称Raspberry Pi可在通过USB连接到PC或Mac时用于窃取哈希信息,不久又有传言称使用Raspberry Pi Zero还可从3个浏览器中窃取cookies 。这些都是此次调查需要确认的。

那么,在配备了当前应用最广泛且可用性最强的微型计算机之一后,我们进行了两轮实验。我们在第一轮实验里会尝试拦截企业网络中的用户凭据,并以此连接到搭载不同操作系统的笔记本电脑/台式机。而在第二轮实验里,我们会尝试检索cookie,以恢复用户在热门网站上的会话内容。

实验1 窃取域凭据

方法:攻击背后的关键原则是网络适配器的仿真。

对网络适配器的模拟是此类攻击的关键要点。我们几乎不费吹灰之力便找到Raspbian OS下的以太网适配器模拟模块(作为对照,截止本文撰写完成,我们并没有找到类似的Kali Linux模块)。我们在cmdline.txt和config.txt文件中进行了一些配置更改,以便在启动时加载该模块。

还有一些额外的工作,这些工作包括安装python解释器、sqlite3数据库及一个名为Responder的特殊应用程序(用于数据包嗅探):

apt-get install -y python git python-pip python-dev screen sqlite3
pip install pycrypto
git clone https://github.com/spiderlabs/responder

此外, 我们设置了自有DHCP服务器,定义了IP地址范围和一个子网掩码(用于将其与我们要进入的网络分开)。最后一步则是配置usb0接口,在启动时自动加载Responder和DHCP服务器。

结果:

在将“充电”微型计算机连接到搭载Windows 10的设备之后,我们看到连接的Raspberry Pi被识别为有线LAN连接。网络设置对话框将此适配器显示为远程NDIS Internet共享设备。系统自动分配了该设备相较比其他设备而言更高的优先级。

响应程序扫描了流经仿真网络的数据包,并且在看到用户名/密码哈希后,将它们引导到“冒牌货”HTTP / HTTPS / NTLM(它支持v1和v2)服务器。每当应用程序(包括在后台运行的应用程序)发送身份验证数据或用户在Web浏览器的标准对话窗口中输入身份验证数据时,攻击便会触发。比如,当用户尝试连接到共享文件夹或打印机时,攻击便会触发。

即使系统被锁定,对哈希数据的自动拦截依然生效。为了验证上述观点,我们在以下三种场景下分别进行实验:

1.将公司计算机登录到域中;

2.在公共网络上使用公司计算机;

3.使用家庭计算机。

在场景一,我们发现设备管理不仅可以拦截来自通过USB连接的系统的数据包,还可以拦截域中其他企业网络用户的NTLM身份验证请求。我们将截取的哈希数据与映射的时间进行了对应处理,如后图所示:

“黑匣子”中的几分钟实验证明了以下事实:设备连接时间越长,从网络中提取的用户哈希数据越多。通过这些“实验”数据,我们可以得出结论,在我们的设置中可以提取的哈希数量大约是每小时50个哈希。当然,具体数据取决于网络拓扑,即一个段内的用户数量及其活动。我们没有让实验时长超过半小时,具体原因会在后面提及。

提取的哈希存储在纯文本文件中

而在场景二,我们只能提取连接的系统中的用户凭据:域/ Windows名称和密码哈希。如果我们设置了用户可以尝试访问的共享网络资源,或许还能获取更多数据。但这并不在在本次研究的目标范围内。

在场景三,我们只能获取系统所有者的凭据,该凭证未连接到域验证服务。我们猜测设置共享网络资源并允许其他用户连接到它们可能会导致类似于我们在公司网络中观察到的结果。

上述拦截哈希的方法同样也适用于Mac OS。当我们尝试链接需要输入域名的内部网站时,会出现一个安全证书无效的警告对话框。

上文提及未将实验市场放宽到半小时以上的原因是,当设备连接到网络中系统时,从同一网络中的其他机器发送到网络打印机的任务在打印机队列中将堵塞。当用户尝试在验证对话窗口中输入凭据时,队列也未清除。原因在于这些凭据没有到达网络打印机,而是传到Raspberry Pi的闪存。这种情况同样也会发生在Mac系统上。

意外之喜:

Raspberry Pi Zero VS Raspberry Pi 3

在确认无论是Windows,还是Mac,其中的NTLM系统都会面临微型电脑的攻击威胁后,我们决定尝试使用Linux来进行实验。此外,由于Raspbian操作系统基于Debian Weezy核心,具备Linux血统,我们决定将攻击对象直接设定为Raspberry Pi。

我们重现了实验,只是这次针对的目标换成了Raspberry Pi 3(顺便说一下,连接到企业网络这件事本身就颇具难度,但是鉴于终究具有一定可行度,因此对这部分内容不会重点关注)。实验结果让我们感到惊喜,Raspbian操作系统拒绝为USB设备网络分配更高的优先级,默认选择内置以太网。此时,尽管Responder应用程序处于活动状态,但由于数据包未流过设备,因此无法执行任何操作。而当我们手动删除内置的以太网连接时,图片与以前在Windows中所观察到的相似。

类似结果也发生在了Chromebook上运行的桌面版Debian上 - 系统不会自动将USB以太网适配器设置为默认设置。因此,如果我们将Raspberry Pi Zero连接到运行Debian的系统上,攻击将失败。我们不认为创建Raspberry Pi-in-the-middle攻击就能成功,因为这种攻击实现难度更大,也更易被检测。

实验2

窃取cookies

方法:

在进行第一轮实验时,我们听到传言称通过USB将Raspberry Pi Zero连接到PC,即可从PC中窃取cookie。我们发现了一个名为HackPi的应用程序,它PoisonTap(XSS JavaScript)的变体,具备Responder,我们在上文曾提及过。

本轮实验中的微型电脑配置与上一轮相似。 HackPi在让系统识别成网络适配器方面功效更佳,原因在于它具有增强的桌面操作系统发现机制:它能够在Windows 7/8/10,Mac和-nix操作系统上自动安装网络设备驱动程序。在第一系列实验中,如果远程NDIS Internet共享设备没有自动安装(特别是当PC被锁定时),Windows 7,8或Vista上的攻击可能会失败。

HackPi与其他产品的不同之处在于它不会在Mac OS下分配自己的默认网络适配器优先级

与第一轮实验不同,cookie是通过使用从本地存储的网页启动的恶意Java脚本窃取的。若窃取成功,PoisonTap的脚本将保存从站点拦截的cookie,其列表也将在本地存储。

结果:

若计算机未锁定且用户打开浏览器,Java Script会将Web请求重定向到恶意本地网页。然后浏览器从先前定义的列表中打开网站。效果很是惊人:

如果用户没有任何操作,Raspberry Pi Zero会在短暂的超时后在地址行中启动带有URL go.microsoft.com的默认浏览器。后面的处理流程与上文相同。但是如果默认浏览器的历史记录中并不存在Cookie,攻击者将一无所获。

我们在脚本中提供的列表里记录的网站有youtube.com,google.com,vk.com,facebook.com,twitter.com,yandex.ru,mail.ru,此外还有100多个其他网址。cookies被盗日志内容如下:

我们以使用pikabu.ru网站检查被盗cookies的有效性作为示例,通过将信息粘贴到其他机器上的干净浏览器字段中,掌握用户帐户以及所有统计信息。在隶属于铁路公司售货服务的某个网站上,由于认证协议仅使用一个LtpaToken2进行会话识别,我们检索到用户的令牌并接管另一台计算机上的用户帐户。

这种场景下无疑后果更为严重。因为此时,攻击者可以获取相关受害人之前输入的内容,这些内容可能会护照号码,姓名,出生日期,电子邮件和电话号码等信息。

这种攻击的优势在于黑客们已经掌握了在当今企业环境中所能找到的所有系统上(Windows 7/8/10,Mac OS X)自动安装网络设备驱动程序的方法。但至少现在,这种攻击对锁定的系统无效 。但是我们不认为因此就可以放松警惕,黑客们突破这个限制只是时间问题。特别是在如今树莓派爱好者数量每天都在增长这个大背景下。

结论:

目前市场上充斥着各种各样的单板微型电脑:从廉价通用的Raspberry Pi Zero到专为渗透测试设计的计算棒,其中,后者在视觉上无法与U盘进行区分。关于微型电脑带来的威胁有多严重这个关键问题,我们更倾向于目前这个威胁被高估。另外,我们认为不应低估些物联网设备爱好者的能力,我们在实验中发现的攻击发动面临的限制被突破是迟早的事情。

目前来说,Windows PC是最易被攻击的系统。通过USB连接系统的Raspberry Pi可拦截身份验证名称和密码。即使用户没有本地或系统管理员权限,也可检索获取其他用户(包括具有管理员权限的用户)的域凭据,最终发生效应。上述情况同样也适用于Mac OS系统。

至少到目前为止,目的在于窃取Cookie的攻击仅在系统解锁时方能生效。这种攻击可将流量重定向到恶意页面,市面上安全解决方案基本都能对此进行防御。当然,被盗cookies只适用于那些不采用严格的HTTP传输策略的网站。

 建议:

用户:

1.在需要离开电脑所在区域时,切记一定要锁定系统,尤其是在公共场所时更要注意。

2.回到电脑所在区域时,检查是否有任何不明USB设备插在设备端口上。比如说,一个U盘,或者,一个看起来像U盘的设备。如果你不确定该设备来源,我们建议你立即移除设备。

3.你曾被要求通过U盘分享一些资料么?首先,确认该设备确实是U盘。其次,我们更建议通过云端或电子邮件发送这些资料。

4.养成在需要身份验证的站点上结束会话的习惯。通常,这意味着点击“注销”按钮。

5.定期更改密码 - 无论是在电脑本地上还是经常使用的网站。请记住,并不是所有网站都会采用可防范Cookie数据替换的安全机制。您可以使用专门的密码管理软件轻松管理密码。

6.启用双重身份验证,例如,通过请求或硬件令牌登录确认。当然,强烈建议您安装并定期更新来自可靠供应商且经过验证的的安全解决方案。

管理员:

1.如果网络拓扑允许,我们建议仅使用Kerberos协议来验证域用户。如果需要使用LLNMR和NTLM身份验证来支持传统系统,青松建议将网络分解成段,这样,即使一个网段受到威胁,攻击者也无法访问整个网络。

2.限制特权域用户登录遗留系统,特别是域管理员。

3.域用户密码应定期更改。

4.企业网络中的所有计算机都必须采用安全解决方案进行保护,并定期更新。

5.若存在Web资源,建议激活HSTS,以防止HTTPS访问变为HTTP,cookie被盗,并从中获取凭据。

6.尽量禁用监听模式并激活Wi-Fi路由器和交换机中的客户端(AP)隔离设置,禁止其监听其他工作站的流量。

7.激活DHCP Snooping设置,保护企业网络用户免受伪造DHCP服务器的DHCP请求侵扰。

最后,你永远不知道您的凭据是否已被泄露,无论是通过线上或物理。因此,我们强烈建议在HaveIbeenPwned网站上检查凭据。

*参考来源:Kaspersky Lab,青松编译,转载请注明。

猜你喜欢

转载自blog.csdn.net/qssec__com/article/details/84874210