
테스트 목적으로 가짜 AP를 설정해 보았습니다. 저는 성공적으로 airbase-ng
작업을 시작하고 클라이언트가 IP 주소를 얻을 수 있도록 DHCP 서버를 설정할 수 있었습니다. 모두 작동했습니다. 내 노트북에는 AP용 외부 Wi-Fi 카드와 인터넷용 내부 Wi-Fi 카드가 있습니다. 그러나 AP를 시작하면 클라이언트(내 휴대폰)는 웹 브라우저 검색을 수행할 수 없으며 랩톱에 모니터 모드가 아닌 두 번째 Wi-Fi 카드가 있어도 랩톱도 검색할 수 없습니다.
내 구성은 다음과 같습니다.
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;
}
IP테이블:
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
지금까지 두 가지 문제를 문서화했습니다.
노트북의 양쪽에 동일한 IP 서브넷이 있습니다. 귀하의 노트북은 스테로이드의 IP 라우터와 같은 NAT 게이트웨이 역할을 합니다. IP 라우터는 양쪽에 서로 다른 서브넷을 가져야 합니다. 그렇지 않으면 라우팅 방법을 모릅니다.
SoftAP 클라이언트에게 노트북을 DNS 서버로 사용하도록 DHCP 서버를 구성했지만 노트북이 DNS 서버 또는 프록시 역할을 하도록 구성되지 않았습니다.
SoftAP 클라이언트의 서브넷을 192.168.2.0/24로 변경하여 이 문제를 해결할 수 있지만 클라이언트가 192.168.1.1을 DNS 서버로 사용하도록 지시하는 DHCP 서버 프로세스를 유지하세요. 이렇게 하면 DNS 요청이 노트북 NAT를 통해 업스트림 NAT 게이트웨이로 전달되며, 아마도 DNS 프록시 서비스가 실행되고 있을 것입니다.
답변2
이 문제를 해결하려면. 나는 Spiff의 답변을 따르고 결국 작동하도록 몇 가지 다른 작업을 시도했습니다.
1) Spiff가 말한 대로 DHCP 구성 파일의 IP 서브넷을 192.168.2.0/24로 변경했습니다.
2) iptables의 게이트웨이와 option routers
DHCP 구성 파일의 게이트웨이를 192.168.2.1로 만들었습니다.
3) 마지막 부분: DHCP 구성 파일에서 DNS를 Google의 8.8.8.8로 변경했습니다. 내 AP가 DNS로 사용하는 기능을 차단했을 수 있습니다. 추측일 뿐입니다.