嘶吼RoarTalk 10-26
如何构建完美的Dropbox(下)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

接上文

自动化攻击方案

这还可以自动区分上面提到的两种场景,通过监控 /sys/class/net/lan/carrier 和 /sys/class/net/wan/carrier,我们可以检测 LAN 和 WAN 接口是否有一个或两个连接。如果你希望自动化网络配置,一个选项是监控这些文件,如果 LAN 接口是活动的,则假定这是一个处于中间位置的人的场景,而如果 LAN 接口没有载体,则继续执行 " 未使用的端口 " 场景。如下所示:

while   [   `cat   /sys/class/net/wan/carrier`   ==   0   ]   ;   do        sleep   1 done if   [   `cat   /sys/class/net/lan/carrier`   ==   0   ]   ;   then      #   execute   "unused   port"   scenario else      #   execute   Person   in   the   Middle   scenario fi

这样,你就可以继续选择一个 IP 地址,或者使用 DHCP 请求一个 IP 地址。请注意,由于请求的字段不同,或者发送到服务器的填充字段不同,有时可能会区分 Windows 和 Linux DHCP 客户机。花一些时间监控和微调你自己的 DHCP 请求可能是值得的,然后开始探索你连接的网络。

Windows 10 DHCP 请求(左)和 Kali Linux(右)之间的区别

关于网络访问控制

你可能在会议室中发现了一个未使用的网络端口,但是很可能会受到网络访问控制(NAC)检查。从 802.1x 到连接新设备上的服务以检查诸如防病毒配置等服务的网络服务器,它们的形式多种多样。如果新设备无法通过检查,则交换机端口将禁用或配置为受限 VLAN,而无法访问真正有趣的系统,真令人失望!

解决此类控件的一种简单方法是对现有设备执行中间人攻击,这可能是 PC,打印机,甚至是 IP 电话。在许多情况下,打印机等设备无法执行 802.1x 身份验证,因此在该特定网络端口上将其禁用。在其他情况下,设备具有在网络上的必要授权,因此,网络端口已分配给正确的 VLAN。中间设备的人需要做的就是确保它发送的任何流量看起来都和受害者的一样,这样开关就不会检测到任何不正常的东西。如果在一个端口上检测到不止一个 MAC 地址,那么可以配置许多交换机关闭一个端口,这是你真的不希望发生的事情 !

为此,我在阅读了这篇文章后,创建了一个简单的 shell 脚本,该脚本设置了适当的 iptables 规则以使任何来自 R1S 的流量似乎来自受害者。可以在 GitHub 上的 slimjim 脚本的旧版本中找到该过程的基础。从本质上讲,要弄清楚被拦截设备的 MAC 和 IP 地址,然后使用 Linux ebtables ( 第 2 层 ) 和 iptables ( 第 3 层 ) 规则来确保从 person -in- middle 设备到更广泛网络的所有流量都来自被拦截设备的 MAC 和 IP 地址。如果你还希望能够与被拦截的设备进行交互,请选择要使用的上游设备的 MAC 和 IP 地址,并将其伪装成该设备。鉴于该装置所处的特殊位置,直接与受害者相连,你可以选择任何上游装置来伪装成它。

早期的 slimjim 依赖于手动将可到达设备的 MAC 地址和 IP 地址分别添加到 ARP 和路由表中,它还要求操作员使用 tcpdump -nneli lan -Q in 这样的命令来识别被拦截设备的 MAC 和 IP 地址,并在运行脚本之前执行一些手动配置。当前版本的 slimjim 为你完成了所有这些工作,并将观察到的 DNS 流量映射到相关地址。不过需要 python 脚本,这在资源受限的设备上可能不可行 !

一旦配置了网桥,即使没有识别出受害者的详细信息,网络访问控制解决方案也应该能够连接到受害者,执行所需的任何身份验证过程,并相应地激活端口。

从网络访问控制中窃取凭据

一个有用的技巧是了解网络访问控制实际上是如何工作的,在某些情况下,我们已经看到,NAC 解决方案使用 SSH 或 SMB 之类的协议建立到新设备的经过身份验证的连接,并提供可以获取和重用的凭据。此连接用于执行目录、或验证验证防病毒软件是否是最新的等等。在这些端口上运行合适的蜜罐服务可能会导致明文凭据 ( 或等价的哈希 ) 泄漏,这些凭证通常是高度特权帐户,能够登录到所有连接到网络的工作站!

不幸的是,802.1x 解决方案并非如此!

网络命名空间

Linux 自 2002 年以来一直支持名称空间约有 18 年,但是对于很多人来说,它们仍然是一个谜。存在用于各种不同资源类别的名称空间,例如进程、文件系统、网络、用户 ID 等。这些名称通常由 Docker 工具之类的容器工具使用,以限制所包含系统可以看到的资源。它们还可以帮助防止命名冲突,就像很多人的名字叫 John 一样。

在这个实例中,我们感兴趣的是网络名称空间,因为它们提供了一种方法,使网络接口及其整个网络堆栈仅对系统上运行的程序的子集可见。通过将网络接口分配给网络名称空间,只有在该网络名称空间内运行的进程才能看到或访问该接口。

Opsec 注意事项

如前所述,由 R1S 产生的无意的网络流量 ( 如 DNS 查找 ) 可能会泄露整个游戏。避免这种情况的一种方法是在网络名称空间 ( 例如 pitm ) 中隔离以太网接口,并仔细考虑在该名称空间中启动哪些进程。当前的 slimjim 脚本也会处理这个问题,在名称空间内创建一个屏幕实例。在 pitm 名称空间内启动的任何进程都可以访问以太网接口,而在名称空间外创建的进程则不能。这样,我们就可以确保不会有意外的流量击中目标的网络,暴露他们的存在 !

安装 slimjim

要在 R1S 上安装 slimjim,应执行以下步骤。首先,在以太网接口上禁用 IPv6:

cat  

相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论