Recently I needed to setup a fake access point for a presentation, I fired up my Backtrack5 VM, Connected my Alfa AWUS036H USB adapter and started to configure the Fake AP.
There are a lot of Tutorials and Scripts for setting up a Fake AP, The “Gerix” tool also have an option to auto set a Fake AP (for some reason this tool never worked for me).
I started to setup my fake AP and had run into some trouble for a strange reason.
I decided to put my experience here hopefully you’ll find it useful.
Started by putting my Wlan interface in monitor mode
root@Blackbox:~/fakeap#
I noticed the following error: “Unknown error 132″
Tried using airodump-ng to see what happens…
root@Blackbox:~/fakeap#
Got the same error.
The solution was simply to unload the RTL8187 and Load the R8187 driver instead as follows:
root@Blackbox:~/fakeap#
Tried putting wlan In monitor mode again
root@Blackbox:~/fakeap#
Well, that fixed the problem
root@Blackbox:~/fakeap#
Now we can proceed to the fake ap setup process
1. Install a DHCP Server
apt-get install dhcp3-server
2. Edit “/etc/dhcp3/dhcpd.conf” as follows (You can change ip address, pool and dns server as needed):
ddns-update-style ad-hoc; default-lease-time 600; max-lease-time 7200; authoritative; subnet 10.0.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; option routers 10.0.0.254; option domain-name-servers 8.8.8.8; range 10.0.0.1 10.0.0.140; }
3. Put your wlan in monitor mode
airmon-ng start wlan1
4. Start airbase-ng, you will need to specify the AP SSID and channel number
airbase-ng -e FreeWifi -c 11 -v wlan1 &
5. Airbase will create a new adapter “at0″ you will need to enable it and assign it with an ip address and subnet mask, the ip address you assign to this interface will be the default gateway that you specified in the dhcpd.conf file.
ifconfig at0 up ifconfig at0 10.0.0.254 netmask 255.255.255.0
6. Add a route
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.254
7. Setup ip tables
iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT
• Eth3 is my external interface which is connected to the internet change it to whatever yours is
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
8. Clear dhcp leases
echo > '/var/lib/dhcp3/dhcpd.leases'
9. Create a symlink to dhcpd.pid (skipping this may cause an error when starting dhcp server)
ln -s /var/run/dhcp3-server/dhcpd.pid /var/run/dhcpd.pid
10. Start the DHCP server
dhcpd3 -d -f -cf /etc/dhcp3/dhcpd.conf at0 &
11. Don’t forget to enable IP forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
That’s All Folks!
I have created a simple bash script to automate this process you will just need to change it to suit your configuration.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#!/bin/bash
echo "Killing Airbase-ng..." pkill airbase-ng sleep 2; echo "Killing DHCP..." pkill dhcpd3 sleep 5; echo "Putting Wlan In Monitor Mode..." airmon-ng stop wlan1 # Change to your wlan interface sleep 5; airmon-ng start wlan1 # Change to your wlan interface sleep 5; echo "Starting Fake AP..." airbase-ng -e FreeWifi -c 11 -v wlan1 & # Change essid, channel and interface sleep 5; ifconfig at0 up ifconfig at0 10.0.0.254 netmask 255.255.255.0 # Change IP addresses as configured in your dhcpd.conf route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.254 sleep 5; iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE # Change eth3 to your internet facing interface echo > '/var/lib/dhcp3/dhcpd.leases' ln -s /var/run/dhcp3-server/dhcpd.pid /var/run/dhcpd.pid dhcpd3 -d -f -cf /etc/dhcp3/dhcpd.conf at0 & sleep 5; echo "1" > /proc/sys/net/ipv4/ip_forward |
Source: exploit.co.il