1 个稳定版本
1.0.0 | 2022年12月28日 |
---|
1840 在 命令行工具 中排名
34 每月下载次数
67KB
457 行
arp-spoofer
一个利用ARP缓存中毒轻松运行中间人攻击的命令行工具。
当前版本:1.0.0
📋 目录
🚀 安装
cargo install arp-spoofer
🔰 描述
这个命令行工具主要是为了教育目的和作为学习 Rust 的一种方式而构建的,并且是为了开发一个有意义的项目。它绝对不是生产材料,但代码中包含了有意义的注释,以记录构建此工具的不同步骤和设计决策。
arp-spoofer
是一个使用 Rust 编写的可移植、同步 ARP 缓存中毒命令行工具,它提供了一个简单的方式来在基于本地以太网的网络段上执行中间人攻击。它只需要攻击目标的 IP 地址和网络中默认网关的 IP 地址。
ARP 缓存中毒攻击利用了 ARP 协议 的设计弱点,攻击者可以通过滥用受害者的 ARP 缓存来破坏远程受害者的 ARP 缓存,使受害者相信攻击者的 IP 地址与另一台计算机的 MAC 地址相关联。因此,通过在基于以太网的本地网络中发送特别定制的 ARP 数据包,相对容易欺骗受害者,并使他们将自己的所有数据包发送到攻击者的计算机而不是默认网络网关。
以下是一个简化的表示,说明攻击者如何中毒受害者和网关的缓存,以及当启用 IPv4 转发时,不同元素之间的流量如何流动。
sequenceDiagram
Attacker->>Victim: Gateway IP is at Attacker MAC
Note over Attacker,Victim: Victim ARP Cache Poisoning
Attacker->>Gateway: Victim IP is at Attacker MAC
Note over Attacker,Gateway: Gateway ARP Cache Poisoning
Victim--)Attacker: Traffic intended for the Gateway
Gateway--)Attacker: Traffic intended for the Victim
Attacker--)Victim: Forwarding of the Victim Traffic
Note over Attacker,Victim: When IPv4 forwarding is enabled
Attacker--)Gateway: Forwarding of the Gateway Traffic
Note over Attacker,Gateway: When IPv4 forwarding is enabled
📘 用法
arp-spoofer
的使用非常简单,只需要提供以下信息:
- 用于执行攻击的本地网络接口。
- 受害者的 IP 地址。
- 默认网络网关的 IP 地址。
注意,运行此工具时,受害者和默认网络网关的 ARP 缓存都将被更改。通过按
ctrl-c
中断工具,它将尝试将受害者和默认网络网关的 ARP 缓存恢复到原始值。
攻击远程主机
可以通过如下运行 arp-spoofer
来发起攻击。
arp-spoofer \
--interface <network-interface> \
--target <victim-ip> \
--gateway <gateway-ip>
arp-spoofer
将会自动通过在网络上发送合法的ARP请求来解析受害者和默认网络网关的MAC地址。然后,它将构建伪造的ARP数据包来毒害受害者的缓存 - 诱使其相信攻击者是默认网关 - 以及网关的缓存 - 诱使其相信攻击者是受害者。这样,从受害者到网关(以及从网关到受害者)的所有双向流量都将通过攻击者的网络接口进行传输。
您可以使用诸如 Wireshark 这样的工具来监控通过攻击者网络接口传输的受害者数据包。
📦 依赖项
以下列出了 arp-spoof
依赖的主要外部crate。
名称 | 版本 | 描述 |
---|---|---|
pnet |
0.31.0 | libpnet用于在数据链路层构建、发送和接收数据包。 |
clap |
4.0.32 | clap用于命令行参数管理库。 |
indicatif |
0.17.2 | indicatif用于控制台输出管理库。 |
ctrlc |
3.2.4 | ctrlc用于便携式注册ctrl-c钩子。 |
👀 参考信息
依赖关系
~8–17MB
~218K SLoC