不想做“忍者神龟”的乌龟不是一只好乌龟!看看LAN Turtle是如何让物理接触攻击在几秒内完成的

luochicun 安全工具 2019年7月17日发布
Favorite收藏

导语:这篇文章将详细介绍如何配置和使用Hak 5​中的LAN turtle 3G,以获得网络中持久,可远程访问的状态。

前言

这篇文章将详细介绍如何配置和使用Hak 5中的LAN turtle 3G,以获得网络中持久,可远程访问的状态。

随着以太网( Ethernet )端口在新的硬件设备上变得越来越少,许多人被迫部署一系列不同的适配器和dongle(软件保护器,简称软件狗)。

:dongle:软件保护器,简称软件狗。dongle经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。

LAN Turtle是一个隐蔽的系统管理和渗透测试工具,通过简单的网络适配器,便可提供隐形远程访问,网络情报收集和中间人监控功能,LAN Turtle所使用的网络适配器,可以与许多IT环境相兼容。做为是一种功能强大的网络适配器,LAN Turtle不会破坏所插入设备的正常连接。该设备还能够捕获浏览器流量、DNS攻击、数据泄漏等一系列攻击,甚至能够进行带外访问(通过3G),以检测那些绕过安全检查的攻击。

来自物理访问的威胁往往被安全人员忽视,但事实证明,这种来自物理访问的攻击往往是一种非常有效的攻击手段。比如美国国家航空航天局(NASA)在2018年曾被黑客入侵,NASA表示,一名未知的入侵者成功访问了一台存储员工个人数据的服务器,不仅员工个人数据,就连社会安全号码也受到威胁。后来经过分析,攻击者在大约10个月的时间里都没有被发现。而使用LAN turtle进行的攻击则可以在几秒钟内完成以上这样的攻击:只要能够进入目标设备进行物理访问,然后攻击者只需断开连接在网络设备的以太网网线,最后将网线插入turtle并将USB端口连接到目标,即可完成攻击。

不过首先,你要检查一下你的组织中是否会出现以下设备?

1.png

LAN turtle

初始配置

本节将介绍如何设置LAN turtle,以便在启动时自动连接到基于云的VPS服务器。

插入后,LAN turtle将显示为“Realtek USB FE Family Controller”,IP地址为172.16.84.1。可以使用以下凭据通过SSH访问该文件:

用户名:root;

密码:sh3llz;

一旦更改了默认密码,启动并运行turtle的第一步是启用WANFallBack,它允许设备在3G网络出现故障时使用WAN连接。为了使配置尽可能简单,请等设备运行后再启用3G。此设置可在Config > Configure 3G Modem菜单中找到:

2.png

启用WAN使用

启用此设置后,我们可以在3G连接失败时使用连接到LAN Turtle的物理网络适配器正在使用的连接。但是请注意,如果在客户端的网络上启用了此功能并且3G失败,则会尝试使用该网络连接进行SSH连接。

下一步将是下载和配置我们可用于确保持久进行网络访问的模块,将使用的模块是autossh和keymanager。这些模块会帮助我们将建立与基于云的攻击盒的持久SSH连接。在本文中,我们将在AWS上使用Ubuntu服务器。

首先,我们必须设置基于密钥的身份验证,因为LAN Turtle不可能在插入后手动输入SSH密码。为此,我们使用keymanager模块,它将提示我们输入SSH密码,然后通过SSH将公钥上传到服务器。由于AWS默认情况下不允许基于密码的身份验证,因此我们必须首先在/etc/ssh/sshd_config文件中将PasswordAuthentication设置为yes来启用它。目的就是确保使用sudo service ssh restart重新启动SSH服务,以强制执行更改。

密钥管理器流程非常简单:生成密钥>复制密钥>提交凭据以对SSH服务进行身份验证。

身份验证成功后, 就要在VPS和turtle之间配置密钥对。此时,你应该再次禁用基于密码的身份验证。

现在我们已经设置好了密钥,就可以进入autossh模块并为其提供攻击盒的详细信息:

3.png

自动SSH设置

在本文的示例中,这个模块将SSH发送到我们的服务器,并将其本地端口22作为服务器上的端口2222转发。

一切设置正确后,现在可以通过SSH连接到端口2222上的服务器远程访问受害者网络,然后通过隧道连接到turtle。我们可以在AWS框上使用以下命令来执行此操作:

ssh [email protected] -p 2222

然后输入LAN turtle的root密码。

此时,你就在内部网络上获得了一个立足点!这意味着,你已经可以物理访问目标设备了,接下来,你可以用该硬件接入目标内网,进行后续的渗透测试。

4.png

远程访问

确保autossh模块被设置为启用,这将将其配置为在启动时运行,并自动建立与主机的SSH连接。

模块功能扩展

LAN Turtle 3G的存储空间有限,并不总是得到供应商的大力支持。某些模块(包括内置的Responder模块)似乎无法正常使用。这是该设备普遍存在的一些缺点,并且Hak 5的制造商似乎并未要解决该问题,好像是有意让其存在一般。

根据我的经验,安装Responder模块会占用turtle的所有存储空间,导致模块和turtle设备基本上同时处于瘫痪的状态。我尝试了几次,结果都导致了必须重置设备并重新加载操作系统。有许多有趣的模块可用,如meterpreter反向shell、通过SSHFS自动泄漏数据并进行URLsnarf。然而,在让一个模块进行正常工作时非常困难,因此这次,我希望将turtle的功能限制为只执行我需要的任务,并将任何额外的执行功能转移给基于云的VPS。

鉴于turtle本质上只是一个轻量级的Linux设备,所以我们并不局限于使用内置模块。turtle支持python,所以我们可以自由地使用用该语言编写的工具或脚本(假设它们不需要安装额外的模块,不过存储空间依然是一个问题)。这对于Responder是完美的,因为它是用python编写的,而且在运行时,不需要依赖任何其他模块。从主菜单中按Escape键,你就可以进入一个普通的bash shell操作环境中,这样,我们就可以直接与文件系统进行交互了。

点此进入Responder的GitHub页面,并使用scp命令进行复制。可以使用git安装包(turtle使用opkg包管理器),但同样,这会占用宝贵的存储空间。不过以我的经验来看,还有另外一种办法。同样值得注意的是,保存/tmp/目录中的任何内容都会在设备重新启动(拔掉插头)时被擦除,因此不要将希望保存的内容存储在其中。

大多数渗透测试人员都熟悉Responder及其功能,如果你能在网上找到对应的哈希值,那么它通常是一个快速而简单的到达DA的路径。然而,假设你的目标是在攻击时隐身并且不希望被发现,我建议最初在“分析”模式下运行Responder,以便在开始攻击之前获取有关网络内部情况的更多信息。诸如nmap之类的工具也可用于攻击盒子,以帮助枚举网络。

5.png

分析模式下的Responder

6.png

Responder抓取一个隐藏在turtle中的哈希值

扩展可用工具集的另一个选项是使用VPS中的sshuttle之类的工具。sshuttle实际体验上非常类似于VPN,但是比VPN更轻量,而且无需管理。值得注意的是,本质上这个工具是利用了端口转发的原理,并不是真正的VPN,所以对于ICMP这类的协议是没用的,也就是说,对于ping命令是无效的。另外,sshuttle允许SSH连接充当VPN连接,允许在不使用代理的情况下通过隧道自动路由流量。这极大地、毫不费力地扩展了物理植入的工具集和可用功能。现在我们就可以绕过严重的存储和处理限制,直接从VPS运行工具。我选择使用impacket,它是一组攻击脚本,可以用来在主机上执行、在网络上进行大范围传播并升级已有的操作权限。

下面的命令会将隧道所有的流量从VPS盒子转移到turtle:

7.png

sshuttle

由于所有的流量都是通过位于受害者网络内部的LAN turtle路由的,所以我们可以使用impacket附带的一些工具来攻击目标设备所在的内部网络。下图演示了一个成功的kerberoast攻击,你可以看看攻击者是如何通过VPS对受害者的内部网络发起攻击的:

8.png

通过turtle从AWS服务器对内部网络进行kerberoast攻击

带外访问

LAN turtle最有趣的方面是它的3G功能,它允许我们执行上述列出的所有操作。这对攻击者非常有用,因为LAN turtle不会使用受害者网络来对VPS进行操作。在使用有效的网络监控、网络安全操作中心和数据丢失防护策略的成熟环境中,这一点对攻击者尤为有力。

这些防御措施几乎肯定会标记出试图流出网络的数据类型和通信方式,从而引发关于网络中可能存在的攻击或恶意设备的警报。使用带外方法来窃取数据并发起攻击,可以帮助降低被检测到的风险,并增加持续性攻击发生的机会。

为了测试LAN turtle的3G功能,我们在网络上购买了一个已经预装了数据的SIM卡:

9.png

用于3G接入的SIM卡

LAN turtle上可以安装一张微型SIM卡,如下所示:

10.png

安装SIM卡

SIM卡安装完毕后,只需将APN信息更新为three.co.uk并禁用WAN fallback,以确保所有数据都在带外传输。

11.png

3G设置

通过查找LAN turtle的外部IP地址,可以确认是否连接:

12.png

外部IP地址

通过简单的whois查找,便可确认设备正在使用以下三个网络:

13.png

Whois信息

隐蔽的外部电源

最后一个考虑因素是如何将turtle连接到外部电源,不过turtle不需要连接到计算机即可运行。说实话,如果USB加密狗在攻击者试图进行物理连接时运行,这一功能可以让turtle以一种更加隐蔽的方式运行。但是,此功能将删除基于拦截或干扰连接的计算机执行某些攻击的能力。下图显示了LAN turtle可以由外部电池供电:

14.png

外部电源

如果你只需要连网的时间很短,这可能很有用。然而,一个更可靠的解决方案是找到一个能够隐藏外部电源的秘密插板,如下所示:

15.png

秘密插板

这些插板将是一个理想的隐藏方案,将我们的攻击设备隐藏起来。由于该插板有电源插座和以太网端口,可以通过USB插头不断地为LAN turtle供电,并通过以太网网线连接到网络。给LAN turtle贴上标签,就更有隐蔽性了。

16.png

带标签的USB

总结

LAN turtle 3G是一个强大的工具,它可以帮助渗透测试人员和攻击者在可以物理访问攻击目标的时候,高效地发起攻击。该设备确实有一些限制,比如内存太小等,但这些限制可以通过使用VPS来克服。另外还有一些其他解决方法,例如使用手动加载到文件系统中的工具和脚本,而不是依赖内置模块,这些都可以帮助弥补设备的不足。

最后,为了让攻击更加具有隐蔽性,我们选择了通过一个隐蔽的插板来为LAN turtle 3持续供电。

本文翻译自:https://www.pentestpartners.com/security-blog/ninja-turtles-in-your-network-lan-turtle-3g-a-how-to-for-red-teaming/如若转载,请注明原文地址: https://www.4hou.com/tools/19116.html
点赞 6
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论