lunes, 23 de junio de 2008

Back, for good - KISMET HOWTO -

Despues de mucho pensar, volvemos, let's try to make it better this time.

KISMET

Que es kismet?

Kismet es un detector de redes , sniffeador de paquetes y un sistema de deteccion de intrusos para redes wireless 802.11. Funciona con cualquier placa wireless que soporte raw monitoring mode.

Funciona bajo Linux y vi unos portage a MacOS y Windows (muy inestable todavia).

Ahora, como detecta las distintas redes?
Las redes wireless son como un "gran hub", donde los paquetes son levantados si tenemos la placa en el modo anteriormente mencionado, de los cual podemos
obtener, el nombre de la red (si es que esta habilitado el broadcast de este), los clientes transaccionando en esta, el tipo de encriptacion, algunos flags interesantes (uno de ellos es tratar de acceder al AP (access point) con user y pass por defecto, al detectar una red no encriptada y con rango de red por defecto), el canal en que esta trabajando, el rango IP, el nivel de señal, y (si tiene GPS) la ubicacion aproximada).

Veamos un screen


En esta imagen se ve la interfaz, y como detecto un linksys sin encriptacion, con rango de ip por defecto, y lo mas interesante, user y pass genericos.

Como lo instalo?

Generalmente no voy a dar una explicacion extensa de como instalar los programas, para eso estan los foros de las distintas distros y cientos de miles de listas.
En este caso para Debian (o Ubuntu)
en la consola #apt-get install kismet
Luego de esto hay que editar el /etc/kismet/kismet.conf
depende de la placa que tengan, solo hay que editar una linea, para mas info en ingles:
http://www.kismetwireless.net/documentation.shtml
Si no busquen en algun foro, siempre hay :)

En mi caso : source=madwifi_ag,wifi0,madwifi
madwifi_ag, es el driver que estoy usando.

Como se usa?


-Primero corremos el programa : #kismet
en este momento va a levantar la placa y la va a poner en modo monitoring.

-Entramos a la interfaz, en esta van a ir apareciendo las redes segun las vaya detectando (empieza automatico el monitoreo de paquetes).

-Para poder obtener mas informacion primero tenemos q ordenar las redes para eso precionamos la tecla "s" (de sort) y la tecla "f" (de first, pueden elegirse otro modos para ordenar las redes).

-elegimos la red que queremos obtener mas data

En este caso se ve la red desencriptada, podemos ver datos, como la mac del AP, nombre de la red, de que marca es el AP, el canal, la cantidad de paquetes detectados...etc...

Ahora tocamos la tecla "c"

Aparece la lista de todos los clientes conectados a la red, su MAC, que modelo de placa tienen, etc...

-para salir de la ventana "q"

toda esta data se guarda en logtemplate=/var/log/kismet/%n-%d-%i.%l


Otros tips

-Tiene sonidos cuando detecta nueva redes o paquetes o clientes sniffeando, es un buen feature para llevar la notebook en la mochila, ponerle auriculares y caminar por ahi ;)

-la interfaz tiene muchas opciones interesantes, recomiendo leer la documentacion.

-Hay algunos proyectos que suben la data de las redes detectadas y con las coordenadas del GPS arman mapas de google maps.

viernes, 5 de octubre de 2007

Diario de la CaFeConf dia 1 (con mi charla incluida)

Primero que nada gracias a todos los que se acercaron a la conferencia de este año!!

Gracias a los que participaron de mi charla, supero mis expectativas y agradezco las felicitaciones de aquellos que la encontraron interesante =).

Espero el dia sábado con ansias, y ojala que puedan seguir disfrutando de las conferencias.

dos links mas q interesantes ;):

http://www.cafeconf.org
http://www.cafelug.org.ar

y les adjunto mi presentación en formato openoffice2 y pdf

Formato OO 2

Formato PDF


Saludos! =)

miércoles, 12 de septiembre de 2007

Voy a estar dando una charla en la CafeConf 2007!!

Por suerte me confirmaron, que puedo ser un disertante dentro de la conferencia CafeConf 2007, organizada por CaFeLUG, que se llevara a cabo el 5 y 6 de Octubre.

Anotensen!, es Gratis ;)

www.cafeconf.org

La charla va a ser de "Seguridad ante ataques MiM"

todavia no se el dia, si el viernes o el sabado, ni la hora, pero que me aceptaron, me aceptaron!

mientras tanto les dejo otro programa para auditar sus paginas web:

Nikto

domingo, 2 de septiembre de 2007

Cafe Largo, ataques MiM (arp poisoning, dhcp spoofing...)

Para empezar a entender como realizamos estos ataques, necesitamos entender lo que es "Man in the Middle" (MiM).
Para eso vamos a explicar brevemente alguno de los distintos tipos de este ataque.

ARP POISONING:
Cuando enviamos información, básicamente lo que hace nuestra pc es revisar sus tablas arp, que son las que tienen resueltas la IP de destino con la mac correspondiente. Esta información se anexa al paquete y se envia atravez de la red.
En forma resumida y básica, lo que hace este ataque para que comprendan, es cambiar la tabla arp de la víctima, con nuestra mac para cada host que tenga explicita. Esto lo realiza enviando broadcast de ARP replies, falsificados con nuestra MAC en lugar de la verdadera.
Cuando las pc's empiezan a enviar información hacia nosotros, la revisamos, y la forwardeamos a donde verdaderamente tiene que ir, lo mismo hacemos con las respuestas, entonces por ejemplo, las pc no perderian la conexion, simplemente, vamos a actuar como el nuevo router para ellas.

DHCP SPOOFING:
Básicamente, un servidor DHCP, lo que hace es responder cada peticion por una ip que haya en la red.
Lo que hace el atacante es tratar de ganarle al servidor cuando se emite la respuesta, para que el cliente tome los datos desde nosotros, le vamos a dar una ip de la red, pero nos vamos a colocar como puerta de enlace, haciendo que todo su trafico se redireccione a nosotros.

ICMP REDIRECT:
Cuando tenemos redes importantes, no solo los dispositivos tienen fijada una puerta de enlace, si no que pueden redireccionar su trafico, respecto a la información que los paquetes ICMP le brindan.
Lo que buscamos es que los dispositivos, enviando paquetes ICMP falsos, redireccionen el trafico hacia nosotros, y nosotros, a la verdadera ruta.

PORT STEALING:
Se utiliza en casos donde no podemos usar un envenenamiento ARP, por el tema de las tablas estáticas. En este caso "atacamos" al switch.
lo que hacemos es enviar paquetes falsificados, haciéndonos pasar por otra pc, el switch entonces piensa que esa pc se encuentra en ese puerto, y toda la data destinada a esa pc va a ir a nuestro puerto. Pero para redireccionarla ala verdadera ip después de capturarla, enviamos una peticion ARP, para que la verdadera responda y el switch vuelva a cambiar su tabla.
Este es un proceso "pesado" por eso hay que hacer una configuración muy fina dependiendo del ambiente.


Básicamente estos son los ataques que vamos a ir explicando, mas algun agregado mas adelante como DNS spoofing, etc...

Para mas data:



viernes, 31 de agosto de 2007

un vaso de agua, el brake.

Vamos a tomar un descanso y mostrar algo que nos va a interesar, un trabajo terminado.
Un sniff de una red X, en la cual obtuvimos atravez de cierto ataque, data bastante sensible ;)

lo primero que hicimos fue conectarnos a la red (en este caso fue una red abierta), luego hicimos un sniff en la red, y obtuvimos ciertas passwords, con un par de retoques, hasta pudimos obtener passwords de paginas con SSL (el https://).
y para los que iban a preguntar, si, también obtuvimos passwords de MSN y hotmail ¬¬
vemos que abajo, en la parte de user messages, pudimos obtener un par de passwords y login de algunas paginas HTTP y dos POP (email), obviamente obtuvimos muchas mas que esas, y se guardan todas en un log.

De a poco voy a meterlos en tema...

recuerden: 'no hagan cosas en una red, que no les gustaría que hagan en la suya'

para los apurados, busquen data de ettercap.

jueves, 30 de agosto de 2007

Muffin de frambuesa para configurar wireless broadcom en Debian 4.0

Primer paso para empezar a disfrutar, es instalar la placa, en mi caso:

6r33nk1d:/# lspci |grep Network
00:0b.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

Lo primero que tenemos que hacer es fijarnos que el kernel sea mayor a la version 2.6.18

6r33nk1d:/# uname -a
Linux 6r33nk1d 2.6.18-4-486 #1 Mon Mar 26 16:39:10 UTC 2007 i686 GNU/Linux

Estamos ok, proseguimos. Lo primero que bajamos es el paquete bcm43xx-fwcutter

6r33nk1d:/# apt-get install bcm43xx-fwcutter

Nos va a preguntar si queremos bajar los drivers de algun mirror de por ahi, al dia de la fecha, no esta actualizado el mirror ese, asi que le ponemos no, entonces tenemos que descargar los drivers de internet, podemos ir a la pagina de acer y bajar los originales para windows.
Luego de descomprimirlos, lo que hacemos es lo siguiente

6r33nk1d:/# bcm43xx-fwcutter bcmwl5.sys -w /lib/firmware

esto trabaja con los drivers originales y nos instala en /lib/firmware los archivos que necesita el modulo.

ahora bien, necesitamos instalar el cliente para conectarnos (supuestamente sin este paquetes a las redes abiertas o wep deberia conectarse, pero jamas me levanto ip con dhcp sin esto, para mas info como hacerlo sin este paquete busquen "debian iwconfig wireless" en google)

6r33nk1d:/# apt-get install wpasupplicant

ahora creamos un archivo en /etc/default llamado wpa_supplicant

6r33nk1d:/# vim /etc/default/wpa_supplicant

con las siguientes lineas

ENABLED=1
OPTIONS="-D wext -i eth1 -c /etc/wpa_supplicant.conf"

lo que hace es levantarlo al inicio, y correr el comando en backgorund con esas opciones, el driver (-D) el nombre de la extension (eth1, cambien si la renombraron a otra) y el archivo de configuracion (-c)

ahora creamos ese archivo de configuracion

6r33nk1d:/# vim /etc/wpa_supplicant.conf

y configuramos las redes que tengamos, en mi caso son varias :P asi que se las resumo

#Configurado por 6r33nk1d el 21/08/07
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0

eapol_version=1
ap_scan=1
fast_reauth=1

# Trabajo@----
#una red con autenticacion WPA-PSK
network={
ssid="nombre_de_la_red"
key_mgmt=WPA-PSK
psk="secret"
priority=4
}

#Facultad
#red WPA-EAP
#proxy 172.16.100.12
network={
ssid="nombre_de_la_red"
key_mgmt=WPA-EAP
eap=PEAP
identity="secret"
password="secret"
priority=2
}


# Red Libre
network={
ssid="nombre_de_la_red"
key_mgmt=NONE
priority=1
}

Notamos que tengo ahi 3 redes, cada una con un tipo distinto de autenticacion.
La ultima "red libre" seran como la de los coffee shops, lo unico que hacemos ahora ponemos el nombre de la red en ssid= del lugar que nos encontremos y si es el caso de una autenticada, la frase secreta o el user y password.


Ahora editamos el archivo:

6r33nk1d:/# vim /etc/network/interfaces

y agregamos lo siguiente

auto eth1
iface eth1 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

listo!, reiniciamos los servicios, reiniciamos si quieren, y corremos

6r33nk1d:/# ifdown eth1
6r33nk1d:/# ifup eth1

y nos da una ip, si no llegase a funcionar corremos:

6r33nk1d:/# wpa_cli scan_results
Selected interface 'eth1'
bssid / frequency / signal level / flags / ssid
00:17:9a:59:5b:85 0 119 [WPA-PSK-TKIP] SionNET2
00:1b:11:8e:2f:34 0 57 [WPA-PSK-TKIP] SionNET

si nos tira las redes probamos devuelta el ifdown y up, pero si no tocamos el botoncito de la placa wireless de la notebook, en mi caso, mi acer, esta adelante al lado del de bluetooth y corremos

6r33nk1d:/# wpa_cli scan

y luego el scan_results, que ahora nos deberia listar las redes. Hecho esto corremos nuevamente el dhcpclient

6r33nk1d:/# dhclient eth1
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth1/00:0e:9b:a9:xx:xx
Sending on LPF/eth1/00:0e:9b:a9:xx:xx
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 192.168.0.1
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.105 -- renewal in 7073 seconds.

Estamos adentro señores!!


Facil no? demasiado, pero cada uno tiene sus vueltas, investiguen por ahi si algo no les corre, o comenten que voy a contestar.

miércoles, 29 de agosto de 2007

Un Macchiatto y la introduccion (que es lo que yo uso)

Que necesitamos para empezar a trabajar?

  • Una notebook con Placa WiFi (basico).
  • Debian (es lo que YO uso, la mayoria de los programas pueden correr en otras distros de igual manera).
  • Una red wireless "de laboratorio" para probar.
  • varias herramientas que ya vamos a ir explicando...
Lo primero que vamos a explicar es la instalacion de una placa Broadcom, en una acer 3002, con el driver bcm43xx y el cliente wpa_supplicant.

Pero esto en el proximo post...

6r33nK1d

 
CafeConf - 6tas Conferencias Abiertas de Software Libre y GNU/Linux