第6章 短传——物理访问攻击

0600

作为安全评估的一部分,CSK公司要求您的团队对设施进行物理访问安全评估。这需要检查相关安全防护措施是否充分,假定发生某事,验证警卫的反应及其响应时间。

在进行任何物理安全评估之前,请务必查看相关的法律。例如,在某些地区,仅仅使用开锁工具就可能被视为非法行为。因为我不是律师,所以您最好先咨询一下。此外,请确保您获得适当的批准,与公司的物理安全团队合作,一旦您被“抓”时,可以提供免责协议。在实际评估前,与物理安全团队讨论如果安全警卫抓到您,您是否可以逃跑或您是否必须停车,以及是否有人监视无线电。此外,因为您的团队进行的是物理访问安全评估,所以确保警卫不会发生与当地执法部门联系“这样的误会”。

现在,是时候进入CSK公司的“秘密”设施了。根据网站,它看起来像是位于299792458 Light D。通过侦察,我们注意到这个设施是封闭的,并且有一个或两个守卫。我们确定多个入口点,以及可能越过围栏的区域。通过初步演练,我们还确定了一些摄像头、大门、入口点和读卡器系统。

由于在本书第2版中详细介绍了如何复制读卡器,因此这里我主要更新相关内容。在大多数情况下,HID设备不需要任何公开/私有握手协议,存在复制和暴力破解ID号的漏洞。

在本书第2版中,我们介绍了如何复制ProxCard II卡,因为它们没有任何保护,可以轻松复制,并且经常是分批大量购买,导致可以轻松暴力破解ID。上述破解都是使用Proxmark3设备完成的。从那时起,该设备的便携版本已经发布,名为Proxmark3 RDV2 Kit。这个版本配置电池,比最初Proxmark3小得多,如图6.1所示。

0601

图6.1

常见如下的其他卡片。

我们不会涉及物理工具和方法,因为这方面的内容需要写一本完整的书,而且需要大量的经验。与往常一样,进行物理安全评估的最好方法是实践,建立物理实验室,并找出哪些工具有效、哪些无效。我们使用过一些非常有效的工具。

请记住,这些工具和物理评估的目的是跟踪和了解公司的物理安全预案如何响应。因此,我们的工作是确保不仅记录系统存在的缺陷,而且要评估响应时间和事件处理是否合理。

LAN Turtle工具是我经常使用的Hak5工具之一。在本书之前的版本中,我们已经研究了Raspberry Pi和ODROID小尺寸的投放箱。在这些设备上运行Kali Linux,设备通过SSH或VPN回连到我们的攻击者主机,这是一种物理渗透测试的好方法。

多年来,这些投放箱在不断发展。现在,LAN Turtle可以隐藏在任何机器后面,由USB供电,对用户是透明的。LAN Turtle作为NIC卡,使用USB接口,通过以太网电缆代理所有流量。

还有3G手机版,但是我们不会在这里展示。

下面介绍如何设置LAN Turtle。

LAN Turtle如图6.2所示,研制的目的是更换之前的投放箱。虽然它有很多其他功能,如autossh、DNS欺骗、Meterpreter、Ptunnel、script2email、urlsnarf和Responder等,但是红队使用它的主要用途是访问网络。

从过去的经验来看,甚至在本书之前的版本中,我们都使用了反向SSH Shell。通常这样已经满足需要了,但是对于深入的扫描/复杂攻击,我们需要完全访问网络。为此,我们将配置反向VPN连接。反向VPN连接是什么样的?

好吧,LAN Turtle通常被丢在组织内部一个台式机的后面,我们将无法直接连接到它。因此,LAN Turtle首先通过端口443回连到我们的OpenVPN AS服务器。攻击者Kali设备同样也登录VPN服务器。一旦LAN Turtle和攻击者设备都连接到VPN服务器,我们就可以通过LAN Turtle重定向流量,扫描和突破目标网络,如图6.3所示。

0602

图6.2

0603

图6.3

虽然OpenVPN反向隧道不是新的技术,但是Hak5的团队确实做得非常好,并提供了教程。我需要修改以下部分命令。

有以下3个主要部分来完成这项操作。

下面介绍如何搭建VPS OpenVPN AS服务器。

(1)确保VPN服务器提供互联网服务。我们通常习惯在VPS服务器上托管VPN服务器,因为易于快速搭建。注意,需要联系VPS提供商,确保允许进行某些操作。

(2)人们经常使用的两个VPS提供商是Linode和Amazon Lightsail。这两个服务商的VPS快速、便宜且易于设置。在这里,我们使用AWS Lightsail。选择AWS的另一个原因是流量检测,因为被攻击者的网络本身就有大量的流量访问AWS服务器,所以我们的流量就可以隐藏在其中。

(3)访问Lightsail.aws.amazon.com,创建一个新的VPS。

(4)创建后,转到Manage→Networking。

(5)创建VPS服务器后,现在登录。

(6)SSH登录服务器后。

下面设置OpenVPN AS服务器。

(1)访问https://[IP Address of VPS server]:943/admin/。

(2)使用用户账户“openvpn”和刚刚创建的密码登录。

(3)如果您使用的是AWS Lightsail。

(4)验证身份验证是否设置为本地。

(5)创建两个允许自动登录的用户(lanturtle和redteam)。

0604

图6.4

(6)下载OpenVPN配置文件,然后连接到下载配置文件。

设置LAN Turtle和初始配置,如图6.5所示。

0605

图6.5

(1)插入USB和以太网。

(2)使用Nmap扫描本地网络的22端口。

(3)SSH与root @ [ip]密码为sh3llz。

(4)更新LAN Turtle。

(5)更改MAC地址非常重要。LAN Turtle使用相同的制造商MAC地址,因此需要修改MAC地址使其看起来像一个随机设备。

(6)安装OpenVPN。

(7)设置OpenVPN配置文件。

(8)确保LAN Turtle OpenVPN服务在启动时加载,这样我们只需删除它执行以下操作。

(9)最后,我们需要在LAN Turtle上修改防火墙规则。

(10)配置转发。

(11)配置转发。

(12)配置转发。

(13)重新登录Turtle菜单→Modules→openvpn→start。

(14)在Turtle上启动OpenVPN客户端。确保它正常工作,返回到OpenVPN AS服务器并检查连接。

我们现在配置了LAN Turtle,这样LAN Turtle无论何时连接到网络,都将回连到VPN服务器,我们可以通过SSH工具登录到LAN Turtle。下面看一个例子。

从Kali攻击者主机访问VPN服务器。

0606

图6.6

现在,我们通过攻击者设备VPN,经过VPN LAN Turtle,将所有流量路由到被攻击者公司的网络。在图6.7中,我们登录到VPN服务器,扫描LAN Turtle的内部网络10.100.100.0/24。我们可以看到已成功配置从VPN网关、LAN Turtle到公司网络的路由。从攻击者Kali主机,我们可以开展全部的漏洞扫描、网络搜索和Masscan等攻击操作。

0607

图6.7

就是这样!您现在拥有一个快速放置设备,可以让您与被攻击者网络保持完全连接。您需要采取一些措施确保成功概率更高。

Hak5的另一个与LAN Turtle具有相似功能的工具是Packet Squirrel,如图6.8所示。 Packet Squirrel使用USB micro供电,但Packet Squirrel不是单端USB以太网适配器,而是两端都是以太网电缆。这是捕获流量或创建VPN连接的另一种方法。

0608

图6.8

与LAN Turtle配置类似,Packet Squirrel配置如下。

您现在有另一台设备,一旦设备连接到网络,将有一个反向VPN连接回公司。

此外,您的确应该拥有一个Packet Squirrel设备,因为针对Packet Squirrel已经有大量好的研究成果。您使用SWORD可以轻松地将Packet Squirrel转换为一个OpenWRT的渗透测试放置设备。

在本书之前的版本中,我们讨论了Rubber Ducky以及介绍它如何模拟HID设备(如键盘)来存储命令。作为红队,Rubber Ducky是一个很好的工具,因为它可以用于社会工程攻击实践,加速PowerShell命令的传递,可以突破没有键盘但有USB接口的自助服务终端系统。

Bash Bunny是Rubber Ducky的高级版本。它不仅可以执行HID类型的攻击,而且还可以做更多的事情。Bash Bunny有两个独立的空间来存储两个攻击(以及一个额外的管理设置)。这些静荷可以用来窃取凭证、网络钓鱼、Ducky攻击、运行PowerShell命令、执行扫描和侦察,以及执行Metasploit autopwn等。

在本书之前的版本中,我们介绍了使用KonBoot绕过您不知道密码的主机。KonBoot适用于没有加密主机,主机从USB设备启动,覆盖本地管理员密码。虽然主机需要完全重启,但这会使您登录这台没有凭证的主机。您可能还没有用过KonBoot,我们在模拟攻击行动中一直使用它,并取得了巨大成功。

您不想使用KonBoot可能有两个原因:这种攻击方式不适用于加密计算机;您可能不想重新启动被攻击者的主机。如何从锁定的主机获取信息,来访问网络上的其他主机或获得散列/密码?这就是Bash Bunny发挥作用的地方。

我们将使用Bash Bunny运行两种不同的攻击静荷。如果我们有物理访问权限,那么这两个静荷将从锁定(或解锁)系统获取信息。下面我们将演示BunnyTap和QuickCreds的使用。

经过数小时,您终于进入了CSK公司,之后您有几小时的时间,可以用于模拟黑客攻击。您接触第一台主机,插入KonBoot并重新启动系统,但是发现这些系统已经加密。然后,转到下一台处于锁定屏幕保护状态的主机。您插入Bash Bunny两次,分别运行BunnyTap和QuickCreds程序。几分钟后,QuickCreds中的Responder程序搜集到NetNTLMv2散列值。我们使用hashcat工具破解散列值,几分钟内获得用户的密码!在我们无法获取或破解散列值的机器上,BunnyTap运行PosionTap,捕获热门网站的Cookie,并配置为内部应用程序。我们导入这些Cookie,将便携式计算机连接到他们的网络,替换敏感网站的应用程序Cookie,无须知道网站密码,即可获取这些网站的访问权限。

在Kali上设置Bash Bunny。

payloads> switch1> payload.txt

0609

图6.9

下面介绍如何登录Bash Bunny。

QuickCreds是一个可以推荐的工具,它利用Responder,从锁定和未锁定的主机捕获NTLMv2挑战散列值。假设您在做一次物理安全评估,进入公司并遇到许多锁屏的主机时,您插入Bash Bunny,选择QuickCreds,每台机器等待时间约2min。Bash Bunny将接管网络适配器,使用Response路由共享和身份验证请求,然后记录该数据。它将所有凭证保存到USB磁盘的loot文件夹中,如图6.10所示。

0610

图6.10

BunnyTap基于Samy Kamkar的PoisonTap工具。即使是在锁定的机器上,PoisonTap也可以执行以下操作。

从物理安全评估的角度来看,您进入他们的办公室,将BunnyTap插入每台机器,然后等待大约2min。Bash Bunny将接管所有流量数据。如果主机浏览器已经打开并且处于活跃状态(如广告或任何定期更新的页面),那么BunnyTap将启动并请求所有Alexa排名前1,000,000的网站。如果被攻击用户当时登录任何这些站点,那么BunnyTap将捕获被攻击者的所有Cookie。现在,我们可以将这些Cookie导入我们的主机,用他们的Cookie替换我们的Cookie,在不知道他们的密码的情况下登录,如图6.11所示。

0611

图6.11

在WiFi方面,攻击客户端方法没有大的变化。我们看到WEP网络明显减少,攻击方式仍然是deauth、aireplay-ng和捕获IV数据包。对于WPA无线网络,这里推荐的选择仍然是断开客户端连接,捕获握手数据包,将其传递给hashcat,破解密码。这两种方法都很好用,我喜欢使用的版本是Wifite2版本,它是基于Alfa AWUS036NHA无线网卡完全重写的。Wifite2界面简单易用,支持多种攻击,比Aircrack支持类型还多,并且可以轻松破解捕获的散列值,如图6.12所示。

0612

图6.12

在设备方面,除Alfas两个设备外,使用WiFi Pineapple Nanos网卡可以很方便地实现更隐蔽的WiFi攻击。如果您需要启动假的HostAP、通过另一个天线路由流量、搭建伪造页面、捕获身份验证信息、执行中间人攻击、运行Responder以及其他攻击,Nano是一个完成以上操作的轻量级硬件工具,如图6.13所示。

0613

图6.13

如果没有订购Pineapple,那么还有一些工具可以开展类似的攻击,其中一个工具是EAPHammer。EAPHammer的功能如下。

EAPHammer的优势是可以使用自定义攻击功能,执行Responder攻击,捕获NTLM挑战身份验证散列,用于暴力破解和间接迁移。

物理攻击看起来是一件有趣的事情。在许多行动中,我们可能会花几天的时间来了解公司,观察警卫轮换,并弄清楚他们有什么类型的门。我们可能会尝试远距离拍摄证件照片,记录人们离开公司的时间,并找出可以让我们进入公司的薄弱环节。

从红队的角度来看,我们要关注的不仅是物理安全方面的弱点,而且要关注人员的安全意识。

最后一点,在开始之前,需确保您有明确的范围、一份免于牢狱之灾的授权书、CISO/物理安全负责人的电话号码,并确保与公司密切配合。您准备得越充分,您就越不可能被警卫,但是谁也不能保证……