6.2 绕过进入点的物理工具
我们不会涉及物理工具和方法,因为这方面的内容需要写一本完整的书,而且需要大量的经验。与往常一样,进行物理安全评估的最好方法是实践,建立物理实验室,并找出哪些工具有效、哪些无效。我们使用过一些非常有效的工具。
- 开锁 - SouthOrd 一直是我们开锁的首选。该工具质量很好,效果也不错。
- 门旁路设备 - 用于绕过加锁门的工具。
- Shove-it 工具 - 一种简单的工具,用于门和锁之间有足够的空间的情况。类似于信用卡刷卡打开门,您可以使用推动工具进入柱塞后面并向后拉。
- Under the Door 2.0 - 具有杠杆手柄的开门工具。我们可以将 Under the Door 工具直接放到门下,缠绕杠杆手柄,然后向下拉。过去,酒店中经常使用这些工具,但我们确定在其他商业场合也见到过。
- 空气罐 - 一种便宜且简单的工具,可以通过内部的运动传感器解锁门。
请记住,这些工具和物理评估的目的是跟踪和了解公司的物理安全预案如何响应。因此,我们的工作是确保不仅记录系统存在的缺陷,而且要评估响应时间和事件处理是否合理。
LAN Turtle
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 所示。
图 6.2
图 6.3
虽然 OpenVPN 反向隧道不是新的技术,但是 Hak5 的团队确实做得非常好,并提供了教程。我需要修改以下部分命令。
有以下 3 个主要部分来完成这项操作。
- 我们在互联网上搭建一个 OpenVPN AS 服务器。
- 我们需要配置 LAN Turtle。
- 我们需要配置攻击者机器。
下面介绍如何搭建 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。
- 添加两个防火墙 TCP 端口(443 和 943)。
(5)创建 VPS 服务器后,现在登录。
- 对 SSH 密钥执行 chmod 600 命令,登录服务器。
- ssh -i LightsailDefaultPrivateKey-us-west-2.pem ubuntu @ [IP]。
(6)SSH 登录服务器后。
- 切换到 root 身份。
- sudo su
- 更新服务器。
- apt-get update && apt-get
- 安装 OpenVPN AS。
- 复制链接,将其下载到 VPS。例如:
- wget http://swupdate.openvpn.org/as/openvpn-as-2.1.12-Ubuntu16.amd_64.deb
- 安装 OpenVPN AS。
- dpkg -i openvpn-as-2.1.12-Ubuntu16.amd_64.deb
- 删除当前配置文件,开始配置 OpenVPN。
- /usr/local/openvpn_as/bin/ovpn-init
- 在设置过程中:
- 确保设置 ADMIN UI 为所有接口
- 通过内部数据库,设置使用本地身份验证为 YES
- 更新 OpenVPN 密码。
- passwd openvpn
- 设置 IPTables,端口 943 仅允许来自您的网络。
下面设置 OpenVPN AS 服务器。
(1)访问 https://[IP Address of VPS server]:943/admin/。
(2)使用用户账户“openvpn”和刚刚创建的密码登录。
(3)如果您使用的是 AWS Lightsail。
- 转到 Server Network Settings(服务器网络设置),确保主机名或 IP 地址是正确的公网地址,而不是私有网络地址。
- 保存并更新。
(4)验证身份验证是否设置为本地。
- Authentication -> General -> Local -> Save Settings -> Update Server
(5)创建两个允许自动登录的用户(lanturtle 和 redteam)。
- User Management -> User Permissions
- 对于每个用户有以下操作。
- 设置 AllowAuto-login
- 确保为这两个用户设置密码
- 对于 lanturtle 账户,要允许通过 VPN 连接,我们需要启用一些权限,如图 6.4 所示。
图 6.4
- 确保在 User Pemissions(用户权限)中配置/启用以下选项
- 所有服务器端私有子网
- 所有其他 VPN 客户端
(6)下载 OpenVPN 配置文件,然后连接到下载配置文件。
- https://[Your VPS]:943/?src=connect。
- 为每个用户(redteam 和 lanturtle)进行以下操作。
- 登录和下载个人资料—自己(自动登录个人资料)
- 另存为 turtle.ovpn 和 redteam.ovpn
设置 LAN Turtle 和初始配置,如图 6.5 所示。
图 6.5
(1)插入 USB 和以太网。
(2)使用 Nmap 扫描本地网络的 22 端口。
- nmap x.x.x.x/24 -p 22 -T 5 --open。
(3)SSH 与 root @ [ip]密码为 sh3llz。
(4)更新 LAN Turtle。
(5)更改 MAC 地址非常重要。LAN Turtle 使用相同的制造商 MAC 地址,因此需要修改 MAC 地址使其看起来像一个随机设备。
- 更改您的 MAC 地址。
(6)安装 OpenVPN。
- 转到 Modules→Select→Configure→Directory—Yes。
- 安装 OpenVPN。
(7)设置 OpenVPN 配置文件。
- 返回 Modules→openvpn→Configure→在 turtle.opvn 中粘贴所有内容并保存。
(8)确保 LAN Turtle OpenVPN 服务在启动时加载,这样我们只需删除它执行以下操作。
- 转到 Modules→openvpn→Enable。
(9)最后,我们需要在 LAN Turtle 上修改防火墙规则。
- 退出 Turtle 菜单,编辑防火墙规则。
- nano/ etc / config / firewall
- 配置 zone'vpn'。
- 确保将 option forward 设置为 ACCEPT
- 添加配置转发规则
(10)配置转发。
- 选项 src wan。
- 选项 dest lan。
(11)配置转发。
- 选项 src vpn。
- 选项 dest wan。
(12)配置转发。
- 选项 src wan。
- 选项 dest vpn。
(13)重新登录 Turtle 菜单→Modules→openvpn→start。
(14)在 Turtle 上启动 OpenVPN 客户端。确保它正常工作,返回到 OpenVPN AS 服务器并检查连接。
我们现在配置了 LAN Turtle,这样 LAN Turtle 无论何时连接到网络,都将回连到 VPN 服务器,我们可以通过 SSH 工具登录到 LAN Turtle。下面看一个例子。
从 Kali 攻击者主机访问 VPN 服务器。
- openvpn --config ./redteam.ovpn。
- 我们需要获取 VPN 服务器所在网络的 IP 地址,以便通过红队 VPN 路由所有流量。
- 以 SSH 方式登录 LAN Turtle
- 退出 Turtle 菜单,获取被攻击者网络的内部接口(ifconfig 命令)的 IP 地址。根据 IP 地址和子网掩码,找到 IP 地址范围。在我们的示例中,Turtle 所在的网络是 10.100.100.0/24
- 最后,启用转发,如图 6.6 所示。
- 返回 OpenVPN AS 并编辑用户 lanturtle 参数
- User Permissions→lanturtle→show
- 编辑 VPN Gateway 为“Yes”,添加内部地址范围(10.100.100.0/24)
- 保存并更新
- 以 SSH 方式登录到 LAN Turtle 上,使用命令 reboot 重新启动。
图 6.6
现在,我们通过攻击者设备 VPN,经过 VPN LAN Turtle,将所有流量路由到被攻击者公司的网络。在图 6.7 中,我们登录到 VPN 服务器,扫描 LAN Turtle 的内部网络 10.100.100.0/24。我们可以看到已成功配置从 VPN 网关、LAN Turtle 到公司网络的路由。从攻击者 Kali 主机,我们可以开展全部的漏洞扫描、网络搜索和 Masscan 等攻击操作。
图 6.7
就是这样!您现在拥有一个快速放置设备,可以让您与被攻击者网络保持完全连接。您需要采取一些措施确保成功概率更高。
- 设置一个每天重置设备的定时任务。隧道可能会中断,每次 LAN Turtle 重新启动时,都会重新启动新连接。
- 一些公司阻止某些端口外联。在这种情况下,我们使用 443 端口,在绝大多数环境中都允许外联。对于有些使用 Web 代理的公司,可能会阻止直接通过 443 端口外联的流量。您可能需要重新配置 LAN Turtle,启动时自动尝试多个不同的端口或协议(TCP / UDP)。
- 如果要放置两个或更多设备,那么需确保 VPN 服务器和 MAC 地址不同。曾经有过这样的情况,每次我们的设备在任务中被发现都是由于 IT 管理员偶然地移动或者更换计算机引起的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论