Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas

viernes, 17 de julio de 2009

Nmap 5.00 Liberado!!!

Ya ha sido liberada la nueva versión de Nmap, la 5.0, que incluye nuevas herramientas como Ncat (nueva implementacion de netcat) o Ndiff (compara distintos scans) , y un nuevo interfaz para Zenmap.

El nuevo Nmap incluye una nueva hornada de scripts para NSE (Nmap Script Engine) y permite, entre otras cosas, la detección remota del gusano Conficker... una maravilla.

Se me estan poniendo los dientes largos de pensar que hasta la noche no le voy a poder meter mano a esta maravilla... ^_^

Os dejo unos enlaces para que lo veais vosotros mismos:

http://nmap.org/5/#5changes
http://nmap.org/ncat/
http://nmap.org/ncat/guide/index.html
http://nmap.org/ndiff

viernes, 6 de marzo de 2009

Port-Knocking con bash (versión definitiva)

Como la anterior implementación del script de Port-Knocking solo funcionaba en local, posteo la versión final probada en Ubuntu, en Fedora y otros Linux quiza haya que hacer algunas modificaciones debido al idioma de salida de la consola (español en Ubuntu, ingles en Fedora).

Script knocking.sh

#Port-Knocking en bash

#Se presuposa un escenari en IpTables on sols hi ha ACCEPT
#per a les connexions externes al port 5000 i per a totes
#les connexions internes. La resta estan en DROP

#El funcionament del script consisteix en escoltar una
#connexio al port 5000TCP i detectar la cadena "abretesesamo!"
#, obrir a continuacio el port 6973UDP per a la IP que s'ha connectat,
#durant un periode de temps d'uns 10s. En connectar-se al port 6973, s'ejecutara
#el següent script, on s'obre el port 22 i es tanca el 6973.

#Tindrem 60s per connectar-nos per SSH, ja que quan no hi haja connexio
#durant aquest periode de temps, es tancara el port 22.

#Us:(ejecutar com a root) nc -l -p 5000 -c "./knocking.sh"

#!/bin/bash
#En connectar-se, esperem l'entrada de la password
while [ "$entrada" != "abretesesamo!" ];
do
read -r entrada
done;
#Una volta introduïda, averigüem la IP i obrim el port 6973 udp, i ens quedem escoltant durant 10s
IP=`netstat -putan | grep 5000 | grep ESTABLECIDO | awk '{print $5}' | cut -d: -f1`

iptables -A INPUT -s $IP -p udp --dport 6973 -j ACCEPT
nc -l -u -p 6973 -q 10 -c "./apertura.sh"

Script apertura.sh

#Aquest script obri el port 22 per a la direccio de connexio al port 6973
# i tanca les connexions al port 6973UDP, despres, comproba si s'ha tancat
# la connexio al port 22, i quan es aixi, tanca el port 22 amb el firewall.

#!/bin/bash
#Traguem la IP de connexio i el nom del host que es connecta
IP=`netstat -putan 2>/dev/null | grep 6973 | grep ESTABLECIDO | awk '{print $5}' | cut -d: -f1`
nom=`host $IP | awk '{print $5}'`
echo $IP $nom
#Afegim les regles al firewall
iptables -A INPUT -s $IP -p tcp --dport 22 -j ACCEPT
echo "iptables -A INPUT -s $IP -p tcp --dport 22 -j ACCEPT"
iptables -A INPUT -s $IP -p udp --dport 22 -j ACCEPT
iptables -D INPUT -s $nom -p udp --dport 6973 -j ACCEPT

#Esperem 60s per començar el bucle de tall de connexio
sleep 60;

while [ 1 ];
do
$con=`netstat -putan | grep ssh | grep ESTABLECIDO`
echo $con
if [ ! "$con" ]; then
iptables -D INPUT -s $nom -p tcp --dport ssh -j ACCEPT
iptables -D INPUT -s $nom -p udp --dport ssh -j ACCEPT
break
fi
done;
exit
Salu2!

martes, 25 de noviembre de 2008

Port Knocking: Despistando a los intrusos

Hola!

Hoy vamos a ver una técnica que nos va a venir de perlas para, de algún modo, encubrir los servicios que corren en nuestra maquina.

Imaginemos que tenemos un PC que actúa como servidor, y en el tenemos instalado un FTP (wu_ftpd por ejemplo, que tiene bastantes vulnerabilidades en según que versiones). Cualquiera que hiciera un barrido de puertos con nmap podría ver que tenemos un precioso puerto 21 abierto, incluso podría averiguar que versión de FTP utilizamos con el mismo nmap o a través de telnet.
Esto empieza a ser preocupante, una sola búsqueda en bugtraq, SecurityFocus o MilWorm podria poner los dientes largos a nuestro atacante y poner en jaque nuestra seguridad.

El caso es que a nmap no es fácil engañarlo, porque si un puerto esta filtrado, lo va a detectar igual, pero no va a saber que servicio corre en el. Ejemplo:

Resultado de nmap con puerto 22 abierto:



Resultado de nmap con puerto 22 filtrado con iptables:


Como podemos ver, en el primer caso no solo ha averiguado que usamos OpenSSH, incluso ha sabido que SO utilizamos!!!
En el segundo caso hemos filtrado las conexiones con una sencilla regla de iptables:

slayer@Erhard:~$ sudo iptables -A INPUT -s ip-que-permitimos -p tcp --dport 22 -j ACCEPT

Así solo pasa esa IP por el puerto 22, ademas si hacemos:

slayer@Erhard:~$ sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Ahí ya no entra ni Dios.

Todo esto es muy bonito, pero claro, tiene una pega ¿¿Como voy a saber yo desde que IP me voy a conectar a mi servidor SSH?? Cada vez que me conecte desde fuera voy a tener
una IP publica distinta, y si filtro por una IP que no tengo no me voy a conectar.

¿Como solucionamos esto?


Con Port-Knocking, una técnica mediante la cual, haciendo una "llamada" a determinados puertos con un determinado orden nos abre el puerto de un servicio conocido, como SSH o FTP.

Nosotros por defecto vamos a cerrar el puerto 22 a todo ser viviente:

slayer@Erhard:~$ sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Y a continuación, con netcat, abrimos un puerto alto, el 5000, el cual, al conectarnos, abrirá el puerto 6000 durante 10 segundos. Esto de los 10 segundos tiene un sentido, si alguien nos sniffara veria que conectamos con el puerto 5000, el único abierto, y finalmente que nos conectamos a ssh, pero no podrá conectarse a el, entonces tratara de hacer un nuevo barrido con nmap, y vera el puerto 5000 abierto y el 22 cerrado, como el 6000 solo ha estado 10s abierto ni llegara a detectarlo... ;) (todo esto lo podemos complicar haciendo la llamada a mas puertos... of course)

slayer@Erhard:~$ sudo nc -l -p 5000 -c "nc -l -p 6000 -q 10 -e 'sshon.sh'" >/dev/null 2>&1 &

Con esta instrucción conseguimos nuestro propósito, y ademas, al conectarnos al puerto 6000 este ejecutara un script llamado sshon.sh que podría tener un contenido como este:

#!/bin/bash
#sshon by SLaYeR
#Open especific port in IpTables

IP=`netstat | grep 5000 | awk '{print $4}' | cut -d: -f1`
PORT=22
iptables -D INPUT -p tcp --dport $PORT -j DROP
iptables -A INPUT -S $IP --dport $PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $PORT -j DROP
if [ $? == 1 ]; then
echo "Debes de ser root para ejecutar el comando"
fi

Que si observáis lo que hace es recoger la IP que se conectó al puerto 5000, eliminar la anterior regla que deniega el trafico al puerto 22, nos habilita el acceso desde la nueva IP y vuelve a denegar el resto de trafico.

Así, para conectarnos a SSH, primero, mediante netcat conectaríamos con el puerto 5000, a continuación con el 6000 y después (mejor desde otra consola) conectaríamos con SSH:

slayer@Erhard:~$ sudo nc xxx.xxx.xxx.xxx 5000 && nc xxx.xxx.xxx.xxx 6000 && ssh slayer@xxx.xxx.xxx.xxx

Podemos hacerlo mediante este comando o con varios terminales. Solo recordaros, que esta regla seguirá vigente hasta que la eliminemos, así que o bien esperáis a llegar a casa para quitarla, o en lugar de cerrar sesión con SSH, elimináis la regla que os da acceso y ya os echa el solito...XD

viernes, 7 de diciembre de 2007

MAC Spoofing

El escenario es el siguiente: tenemos acceso a una red inalámbrica sin autentificación ni cifrado a la cual queremos entrar. Intentamos entrar en la red wireless de forma normal. Todo parece ir bien pero no conseguimos conectarnos... Tras varios intentos de conexión fallidos llegamos a la conclusión de que el router tiene un filtrado de MAC.

Como podemos saltarnos este pequeño obstáculo? La solución no es nada difícil: cambiar nuestra dirección MAC por otra en la que el router no nos denegue el servicio. A esto se le llama MAC spoofing, es decir, la suplantación de nuestra MAC por otra distinta a la nuestra.

Vamos por partes. Lo primero de todo es saber que son las direcciones MAC y para que se utilizan.

MAC (Media Acces Control o Control de Acceso al Medio) es una cadena hexadecimal que identifica unequívocamente cada tarjeta de red que existe (un ejemplo de esta cadena seria: 01:02:0b:3f:4d:ab) . Remarco el concepto de unequívocamente ya que no puede haber dos tarjetas en el mundo con la misma dirección MAC. Este identificador esta grabado "a fuego" cuando se diseña la tarjeta y no se puede cambiar. Las direcciones se sitúan en la capa 2 del modelo OSI (nivel de enlace) y aunque no todas las topologías de redes la utilizan (estoy hablando del nivel de capa 1 o enlace físico cuando me refiero a topología), el 99% de nuestras comunicaciones las usan, ya que siempre usamos redes del tipo ethernet o del modelo de redes WIFI (IEEE 802.11).

Como hemos visto la dirección MAC de nuestra tarjeta "debería" de ser única y por lo tanto utilizando la restricción MAC que nos proporciona el router, debería de ser suficiente para que nuestra red Wifi permaneciera segura de clientes no deseados.
Pero una cosa es la teoría y la otra bien distinta es la práctica. En la práctica existe la dirección hardware (la que estaba grabada a fuego por el fabricante), pero también existen aplicaciones software que permiten cambiar este valor.

Ahora que ya sabemos todo lo necesario acerca de la direcciones MAC, vamos pues a la practica!

Lo primero que hay que hacer es poner nuestra tarjeta wireless en modo promiscuo. No todos los chipset soportan este modo en Windows, así que dependiendo de la tarjeta que tengamos podremos utilizar Windows o decantarnos por Linux. En mi caso, tengo una ipw3945, luego utilizaré la distribución wifiway que me permite poner mi tarjeta Intel Pro Wireless 3945 en modo monitor. El siguiente paso es ver la MAC del cliente al cual queremos suplantar. Para ello lanzamos un programa que nos permita ver que clientes están conectados a las estaciones o bssid (además de darnos información adicional como la direcciones MAC de los clientes ;)). Uno de ellos podría ser el ariodump de la suite aircrak. Tras lanzarlo podemos ver el cliente (con la MAC xx:xx:xx:xx:xx:xx ) que queremos spoofear. Cojemos la dirección y la anotamos.
El siguiente paso será cambiar nuestra dirección MAC verdadera, a la dirección que hemos anotado, mediante un pequeño programa que nos permita hacer esto. Existe software tanto para Linux como para Windows.

Para Windows tenemos varias opciones. Si vamos a las propiedades de nuestro adaptador de red, algunos fabricantes (la mayoría) permiten cambiar directamente la dirección MAC. Otra opción seria modificar el registro del Windows. Por último podríamos utilizar también programas de terceros tipo MacShift, Etherchange, Smac, etc para cambiar nuestra dirección. Hay que señalar que es posible que algunos de los métodos no funcionen y por consiguiente tendríamos que aplicar otro hasta que veamos que nuestra MAC a cambiado realmente. Para comprobar que se ha cambiado correctamente nuestra MAC solo tenemos que ejecutar una consola y escribir en ella "ipconfig /all" y ver si realmente la dirección física se ha cambiado.

Por contra, para el sistema operativo Linux el cambio resulta más fácil, con solo ejecutar estos tres comandos habremos cambiado nuestra dirección a la que especifiquemos por xx:xx:xx:xx:xx:xx. Los comandos son: "ifconfig eth0 down" (deshabilitamos la interfaz de red) , "ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx" (cambiamos la dirección hardware de la tarjeta), e "ifconfig eth0 up" (volvemos a levantar la interfaz de red). También existen programas en Linux que permiten hacer el cambio y otras cosas más como GNU Mac Changer. De nuevo podemos ver si el cambio se ha realizado con éxito si hacemos un "ifconfig" y vemos que la MAC ha cambiado.

Aquí os dejo una página de kritopolis donde explica las distintas formas de hacer el cambio de MAC un poco mas detallado tanto para Linux como para Windows.

Una vez realizado el cambio solo nos queda si ya podemos conectarnos.

Esto ha sido todo por hoy. La intención de este artículo era de poner un escenario práctico donde teníamos un problema y ver el camino realizado (aplicando ciertos conocimientos que tenemos) hasta resolver el problema.

Un saludo.

jueves, 22 de noviembre de 2007

dsniff: La suite definitiva

Hola gente!

Vengo a hablaros de un conjunto de herramientas que me han puesto los pelos de punta, no solo por su potencia, sino por su sencillez en el desempeño de técnicas de sniffing. Se trata de la suite dsniff, un maravilloso conjunto de herramientas diseñadas por Dug Song para auditar su propia red, pero que en manos de "otras" personas se convierte en el "Kit del pequeño cabroncete" XD

Conocí estas herramientas por el articulo del genial NeTTinG en la @rroba #122, y probada su eficacia decidí profundizar un poco mas en algunas de las herramientas proporcionadas.

La mayor parte de ellas necesitan de un MITM previo a su uso, y lo vamos a realizar con las propias herramientas que la suite nos ofrece. Para los mas despistados recordar que un MITM (man in the middle) es una técnica de sniffing específica para redes locales conmutadas, consistentes en realizar un envenenamiento de las tablas ARP del PC Victima y el router o cualquier otro host de la red. KrAmOx ya escribió sobre esto, así que los mas rezagados podrían empezar por leer este articulo ;)

La suite se compone de las siguientes herramientas:
  • dsniff -> Sniffer de contraseñas
  • filesnarf -> Captura y guarda ficheros pasados via NFS
  • mailsnarf -> Captura el trafico POP3 y SMTP, guarda el resultado en formato mailbox
  • msgsnarf -> Registra mensajes de sesiones de mensajería instantánea tipo msn.
  • webspy -> Visualiza en tiempo real el trafico web de la victima inyectando el trafico en nuestro navegador.
  • arpspoof -> Envenena la cache ARP
  • dnspoof -> Falsifica respuestas DNS
  • macof -> Inunda la red con direcciones MAC falsas provocando DoS
  • sshow -> Analiza el trafico SSH en versión 1 y 2
  • tcpkill -> Mata conexiones establecidas
  • tcpnice -> Ralentiza conexiones.
Existen algunas mas, pero si aprendierais a utilizar todas estas al dedillo ya iríais bien servidos ;)
Para instalar esta herramienta esta tan sencillo como realizar un simple:
apt-get install dsniff
Con esto ya tendremos la suite instalada en nuestra Ubuntu/Debian.

MITM
Este primer ataque que vamos a ver consiste en realizar un clásico MITM, que nos servirá luego de lanzadera para otros ataques.
Para ello vamos a utilizar arpspoof. Imaginemos que tenemos el siguiente escenario:

Vict(192.168.1.33) <--->Rout(192.168.1.1)<--->Atac(192.168.1.35)

Para conseguir el MITM tenemos que hacer que la conexión entre la Victima y el router pase antes por nosotros, y igualmente a la inversa la conexión entre el router y la victima pase también por nosotros, quedando el escenario así:

Victima==============Atacante===============Router

Para ello abrimos un terminal de consola en root y hacemos:

arpspoof -i eth0 -t 192.168.1.33 192.168.1.1

luego, en otro terminal en root, cubrimos el segundo canal de comunicación:

arpspoof -i eth0 -t 192.168.1.1 192.168.1.33

y para que no se note que estamos en medio activamos el forwarding para actuar como router y enviar los paquetes a su verdadero dueño.

echo 1 > /proc/sys/net/ipv4/ip_forward

si no hacemos esto, el tráfico quedara cortado para la victima y perderá la conexión, pudiendo así ser descubiertos.

Podemos comprobar en la maquina victima que el ataque esta en marcha haciendo un arp -a, sabremos que esta activo porque la dirección MAC del router coincidirá con la nuestra, esto es que habremos envenenado la cache ARP de la victima y los paquetes a la IP del router se enviaran a nuestra dirección MAC. También podremos detectar si somos victimas de este tipo de ataque si nuestra tabla ARP contiene MAC's duplicadas.

Importante!! no cerréis ninguna de las ventanas de consola en las que se esta ejecutando arpspoof, ya que de hacerlo se pararía el ataque!

Con esto ya tenemos el MITM en marcha.

Robo de contraseñas FTP
Ya sé que no es ningún mito conseguir la contraseña de un FTP, pero para ilustrar como funciona dsniff nos bastará ;)
Una vez realizado el MITM, en la maquina atacante ponemos dsniff a la escucha mediante:
dsniff -i eth0
y a continuación vamos a la maquina victima y abrimos una sesión FTP con cualquier proveedor...
Vaya! parece que dsniff tiene algo para nosotros!


Espiar conversaciones de Messenger
También es posible espiar conversaciones mediante la herramienta msgsnarf.
Habiendo hecho previamente el MITM podemos hacer:
msgsnarf -i eth0
y toda conversación msn que inicie la victima pasará por tu pantalla.

Capturar correos

Activando mailsnarf:
mailsnarf -i eth0
podremos capturar todo el correo enviado mediante Outlook, Thunderbird... etc por la victima. Si ademas activamos dsniff probablemente capturemos la contraseña de acceso a la cuenta de correo. Con mailsnarf obtendremos el cuerpo del mensaje enviado.

Espiar trafico web en tiempo real
Para esto es imprescindible utilizar el navegador Netscape... para esto no nos sirve el Firefox U_U el Netscape Navigator lo podemos bajar de la pagina oficial de Netscape, la ultima versión estable para Linux es la 9.0.0.3.
El ataque es tan fácil como realizar un MITM y activar webspy del siguiente modo:
webspy -i eth0 192.168.1.33
y en la barra de direcciones de Netscape poner la dirección http://192.168.1.33 ¡webspy irá inyectando el trafico web automáticamente y en tiempo real!!

Todo esto, por supuesto, no es necesario que suceda en una red cableada... perfectamente puede ser un escenario inalámbrico, en una red ajena... así que al loro en lo que sucede en vuestras redes...

Bueno hasta aquí hemos hecho un pequeño repaso a unos cuantos ataques, pero esto es solo la punta del iceberg! Mas adelante iremos exprimiendo un poco mas esta fantástica suite, aunque no dudéis en ir probando por vuestra propia cuenta!

Me hubiera gustado poner mas capturas de pantalla, pero hoy no ha sido posible, tal vez, si me acuerdo haré las capturas mas tarde y actualizaré el post, pero no os puedo prometer nada de momento...

Salu2!

viernes, 7 de septiembre de 2007

ARP poison practico

Continuamos con la segunda parte del ataque ARP Poison. En este bloque veremos como poner en practica la teoria vista en el primer capitulo.

Vamos a hacer que todo el trafico existente entre dos dispositivos, pase por nuestra maquina y de esta forma podremos analizarlo (o simplemente observarlo lo que nosotros queramos). Con un hub es muy sencillo, ya que solo hay que poner la tarjeta de red en modo monitor, pero cuando estamos conectador a un switch la cosa se complica un poquito (muy poquito) más. Para conseguir nuestro objetivo envenenaremos las tablas ARP de los dispositivos y de esta forma haremos que todo el trafico se dirija hacia nosotros.

Vamos pues a la práctica del ataque!

Existen varios programas que nos permiten hacer un envenenamiento de la cache ARP. Para MS Windows tenemos el famoso Cain & Abel de oxid, que podemos descargar de la web y es totalmente gratuito. Para el otro gran sistema operativo, GNU\Linux, tenemos dos grandes soluciones: ettercap y dentro de la suite dnisff el programa arpsoof (también son gratuitas).

Empezaremos viendo en envenenamiento de ARP en Windows.

Lo primero que haremos será bajarnos la ultima versión del Cain y Abel. Al instalarlo y ejecutarlo si tenemos un antivirus ejecutándose puede que nos de problemas ya que detectará el programa como un troyano. Una vez solucionado este pequeño problema podemos ir a la barra de herramientas principal y darle al botón "Start/Stop Sniffer" para activarlo. Ahora escanearémos la red para saber los dispositivos que están conectados. Esto se hace seleccionando la pestaña "Sniffer" y pulsando el botón "+" que aparecen también en la barra de herramientas. Luego vamos a subpestaña ARP y presionamos el botón + y seleccionamos los dispositivos que queremos envenenar. Si queremos husmear toda la red, seleccionaremos la ip del router que es por donde van a pasar todas las comunicaciones y de esta forma suplantaríamos su identidad. Por último activamos el botón de para envenenar las tabla de ARP (Start/Stop ARP).

Solo un pequeño inciso: esto no es una practica guiada, solo es para que despertar la curiosidad de la gente, luego no pienso incluir imágenes de como imágenes, y si incitar ha investigar un poco para saber exactamente como se hace y que es lo que estamos haciendo ;).

Con esto ya hemos realizado el ataque con éxito. Podremos ver todas las contraseñas y los password de las comunicaciones de los protocolos que no vayan cifrados (que son casi todas).


Ahora le toca el turno a nuestro querido Linux.

Vamos a hacer una pequeña prueba ahora. Primero vamos a ver la tabla ARP que tiene el sistema en este momento. Para ello hacemos en el ordenador victima un "arp -a". Nos mostrara la cache ARP correcta. Una vez finalizado el ataque volveremos a ver la tabla ARP y veremos como esta tabla ha cambiado....

Primero que todo nos bajamos el paquete ettercap con el apt y lo instalamos en modo superusuario. Vamos a realizar ahora un ataque MITM (Man in the middle). Esto significa ponerse entre dos ordenadores para poder ver el tráfico entre ellos dos.

Antes de empezar a jugar con el ettercap tenemos que activar el forwarding para que nuestra maquina actúe como un router y cuando recibamos paquetes que no están destinado a nosotros intente entregarlos al destino correcto. Esto lo hacemos con la instrucción "echo 1 > /proc/sys/net/ipv4/ip_forward". Para hacer esto mismo en Windows (si vemos que el Cain i Abel no funciona) tendremos que ir al registro de windows y en la entrada "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter" el valor ipenabelrouter lo ponemos a 1. Arrancamos ahora si el ettercap.

Tenemos tres opciones: modo texto, con una interfaz basada en las librerías ncurses y con una interfaz con gtk2. Elegimos por ejemplo, en modo texto (la ventaja de lanzarlo en modo texto es que podríamos ejecutarlo en bakground). Para ello es "ettercap -t q -M arp:remote /ip1/ /ip2/" donde -t quiere decir que lo lanzamos en modo texto, -q que no muestre el contenido capturado, -M el tipo de ataque (man in the middle) y las dos ips que queremos envenenar. Para ver todos los paquetes que circulan por nosotros (que van a ser muchos), ya que vamos en medio de dos ordenadores utilizaremos el sniffer wireshark que es mejor que el que incorpora el ettecap. Si lo activamos podremos ver toda la información que trascurre entre los dos ordenador. Igual que en el Cain i Abel si queremos ver el tráfico de toda red ponemos en la ip2 la ip del router. De esta forma podremos analizar todo el tráfico que circula. Si nos fijamos en la salida del wireshark vemos también como cada cierto tiempo se envían paquetes arp falsos. Ettecap posee muchos plugings y herramientas adicionales que lo hacen más potente. Esta es una buena forma de empezar a descubrir el potencial de ettercap ;).

Recordamos la cache ARP? Si vamos al ordenador víctima, veremos como su cache ha cambiado. Ahora aparece nuestra MAC en lugar de la MAC del dispositivo en cuestión. El ataque ha sido todo un éxito.

Por último no si nos habremos dado cuenta que al hacer un envenenamiento de ARP cuando emitimos un certificado digital no dice algo similar como a la imagen. Pero como la costumbre es hacer clic en aceptar o si sin leer previamente lo que se nos dice, pues en un 99% de los casos este mensaje pasará inadvertido y seguiros sin problemas con el ataque.

Y muchos os preguntareis, cual es la posible solución para este ataque tan tan fácil de hacer? La respuesta es únicamente una: desactivar el uso del ARP en maquinas que se conecten a la vlan y poner las entradas arp estáticas (con el consiguiente aumento de trabaja para el administrador).

Esto ha sido todo por hoy. No he explicado como hacer el ataque en el arpsoof lo dejo como trabajo para vosotros ;).

viernes, 31 de agosto de 2007

Script definitivo para ipw3945

Si como yo, eres de los pocos tontos que aún no han inyectado con su ipw3945... aquí llega el script de divide el cual espero que se incluya en la proxima versión de WifiSlax y Wifiway.

Si no te funciona esto, ya nada lo hara! XD es sumamente fácil de utilizar y eficaz, aunque inicialmente esta desarrollado para Wifiway yo no estoy teniendo ningún problema con WifiSlax.

Mas información aquí.

ARP posion, una tecnica asombrosamente facil de utilizar

Arp poison, también llamado arp spoof, es una técnica usada para atacar una vlan a la que estemos conectados (por ejemplo en un departamento de una empresa). Cabe resaltar que este ataque es valido solo si estamos dentro de la red. Con ella conseguiremos datos de relevancia de los usuarios conectados (como contraseñas, información que no vaya cifrada, envenenar las peticiones DNS, etc) con una facilidad pasmosa. Vamos a ver como. Empezaremos con un poco de teoría.

El ataque arp poison se basa en mandar paquetes ARP falsos para modificar la tabla de ARP del sistema. Pero que son las ARP o el protocolo ARP?
El protocolo ARP (Adress Solution Protocol) es el responsable de encontrar la dirección hardware de la tarjeta de red (la MAC) que corresponda a una dirección ip. Se encuentra en el nivel 2 , en nivel de enlace, de la pila TCP/IP.
Cuando queremos enviar un paquete a otra máquina, el sistema examina su tabla de rutas. Si la maquina que tiene que recibir el paquete esta en el mismo segmento que la maquina origen, entonces se puede entregar el paquete sin pasar por ningún router adicional exterior. Para poder enviar el paquete la maquina origen necesita saber cual es la dirección MAC de la maquina destino. Es el protocolo ARP el que se encarga de averiguar la correspondencia entre las MACs de los host y sus respectivas ips. Para averiguar la MAC de una determinada direccion ip el sistema envía una petición "ARP who-has" preguntando a todos (ya que todavía no sabe que maquina específica tiene esa MAC) los nodos cual es la MAC de esa ip. El que tiene dicha ip contestará con una respuesta "ARP is-at", y el emisor apuntará la correspondencia MAC-ip en su tabla de ARP. Para minimizar el numero de paquetes ARP transmitidos los sistemas, los sistemas mantienen una cache de entradas ARP, así optimizan todo el proceso de comunicación.

Hay que matizar un par de cosas: en los routers las tablas ARP de los nodos mapean direcciones ip con direcciones mac, mientras que cuando se trata de un swicth indican por que puerto del switch se alcanza una determinada MAC (se llaman MAC-adress-table). Son dos tablas diferentes. Los switchs no enrutan paquetes pero tienen la tabla MAC-adress. Recordemos que lo que hace este dispositivo es entregar una trama solo por el puerto donde se encuentre la MAC destino y el resto de los puertos no van a verla. Luego las tablas que nosotros queremos infectar sera la dos ordenadores conectados a la red. La de los swiches no nos interesaran.

El protocolo ARP es un mecanismo bastante viejo y tiene el gran problema de ausencia absoluta de autentificación. Una persona puede modificar la cache ARP de otro ordenador, sin que el otro host pueda determinar de ningún modo la autenticidad de las respuestas que recibe de sus peticiones.

Es aqui donde reside el problema, ya que nosotros podríamos enviar respuestas ARP falsas diciendo que tal MAC (en este caso la nuestra) se corresponde por ejemplo a tal ip (en este caso, otra ip de nuestra misma red), cuando sabemos que esto que no es cierto, e infectar la cache ARP. De esta forma se podría envenenar las diferentes caches de los sistemas y redigir todo el trafico que circule entre dos host (con el consiguiente peligro de la información que no va cifrada....), haciendo que pase por el nuestro ordenador (consiguiendo un ataque Man-in-the-middle) sin que saltara la alarma.

He aquí el eslabón mas débil de la cadena.

Seguiremos en la siguiente entrega poniendo en practica lo aprendido.........

martes, 14 de agosto de 2007

WifiSlax 3.0... rizando el rizo


Llega la versión mas depurada de la famosa distro para auditorias wireless y bluetooth, WifiSlax 3.0.

Totalmente en castellano y con las facilidades a las que ya nos tiene acostumbrados, añade las siguientes caracteristicas:

  • Soporte de inyección para chip wireless Zydas
  • Soporte para inyección para las tarjetas wireless centrino ipw3945 (se me saltan las lágrimas ;)) y otros chipset como rt73, etc..
  • Entorno gráfico KDE (no comments)
  • Administradores de inicio grub y lilo
  • aircrack 0.9 con soporte para la tecnica del aircrack-ptw (Crackeo de redes wifi mas rapido)
  • Soporte para graficas Nvidia
  • Kernel 2.6.21
  • Escritura y lectura de particiones Windows ntfs con ntfs-3g
  • Airoscript para facilitar la auditoria wireless
También destacar las aplicaciones de Bluetooth que ya aparecieron en la v2.0, algunas de ellas desarrolladas por el gran Gospel.

A todo esto añadirle el arsenal de herramientas de Backtrack (la distro madre de WifiSlax) y tenemos una potente herramienta de auditoria en forma de LiveCD

viernes, 10 de agosto de 2007

Hackear GMail

A pesar de las eternas promesas de los proveedores se servicios de correo IMAP de que no es posible acceder a las cuentas por medio del robo de cookies.... al fin alguien ha demostrado que esto no es cierto.
Robert Graham, de Errata Security demostró ante los asombrados asistentes al Black Hat de este año, como mediante una aplicación de su propio desarrollo robaba una cookie a través de la red inalámbrica y accedía a la cuenta expresamente creada para la ocasión.

La demostración, en resumen, fue así:

Se creo un cuenta GMail.
Se enviaron varios correos para probar que funcionaba.
Mientras se mandaban los correos, Hamster, la aplicación de Graham robo a través de Wifi las cookies.
La aplicación obtuvo el usuario y contraseña, accedió a la cuenta y mando a varios asistentes el mensaje "I like sheeps" (creo que eso ya es mucha información para mi... XD).

El caso es que las compañías que ofrecen estos servicios siguen negando la evidencia y argumentan que con SSL y otras medidas de seguridad se reducen los riesgos.

El caso es que apenas hay gente que implemente medidas de seguridad en sus PC's, y próximamente Graham liberar Hamster.... ya me imagino yo como acaba esto XD

Articulo completo

viernes, 20 de julio de 2007

CHROOT: enjaulando aplicaciones

Hola gente!

Llevaba un tiempo sin actualizar y os quiero compensar con algo que me parece de bastante interés. La mayoría ya lo conoceréis (no es ningún secreto), pero puede que no lo hayáis puesto en practica nunca, y la verdad es que es algo bastante útil sobre todo hablando de temas de seguridad.
Como bien podéis leer en el titulo el tema de hoy es chroot. Como dicen sus siglas (CHange ROOT) el proceso es "simple", solo consiste en cambiar la raiz del sistema de ficheros teniendo así dos raíces.

Me explico: es como tener en el mismo sistema operativo dos / en una de las cuales (normalmente) instalaremos algun servicio como Apache o alguna distribución testing como Sid para no comprometer el sistema estable.

Y diréis: y lo de enjaular? a que viene?

Muy simple desde el nuevo sistema de ficheros creado no podremos acceder a nada que este fuera de el. Por tanto, si creamos un nuevo / y en ese mismo sistema instalamos Apache, tendremos un shadow con solo el password del usuario de Apache, los logs accesibles seran solo los de Apache y, ojo al dato, los ejecutables disponibles en /bin serán solo los necesarios para que funcione Apache.

Que significa esto?
Significa que aunque un atacante consiguiera acceder al sistema de ficheros del servidor Apache, solo podría acceder a los ejecutables y a los ficheros contenidos en ese sistema de ficheros, lo cual es mas bien poco, y al mismo tiempo tendría vetado el acceso al sistema de ficheros raiz orignal que contiene toda la "chicha"... en resumen: estaría enjaulado.

El único inconveniente respecto a esto es conseguir que todo funcione correctamente a la primera, ya que según la aplicación que vayas a chrootear, tendrás que conocer al dedillo los ficheros que necesita para funcionar y sus ubicaciones, redirigir el syslogd para que guarde los logs en el lugar adecuado... etc. Aunque con la practica seguro que seréis capaces de generar vuestros propios scripts para automatizar la tarea.

Por supuesto podéis enjaular cualquier tipo de aplicación, especialmente las que tengan toma de contacto con el exterior (por eso el ejemplo de Apache), para asi proteger vuestro servidor de intrusos indeseados.

Por mi parte nada mas, solo deciros que busquéis mas información sobre esto en la red, encontrareis abundante información, y si sois lectores de @rroba, hace algunos números Yorkshire publico un articulo sobre jaulas chroot en Apache (o fue okahei? esta memoria me va a matar ;) ....)

Salu2!

martes, 17 de julio de 2007

Damn Vulnerable linux una distro para .... el aprendizaje de la seguridad!


Si si lo dicho. Damn vulnerable es una distribución (en formato live-cd) basada en Dam Small Linux que utiliza el kernel 2.4 (que lo hace mas vulnerable que el kernel 2.6) donde se incluye multitud de elementos vulnerables. Esto no significa que esta distro no se tiene que instalar, sino todo lo contrario, es una magnífica plataforma para el aprendizaje de técnicas de seguridad. Incluye versiones viejas los servicios mas conocidos (apache, ftp...) así como bastantes herramientas para trabajar con estos servicios y explotar sus vulnerabilidades (IT-security tools). Los servidores antes mencionados están perfectamente instalados y listos para usar y explotar. Además tiene varios tutoriales, exploits, y un conjunto de retos con diferentes niveles de dificultad que deberemos superar (una opción muy interesante para saber realmente hasta donde llega nuestro potencial :)). Toda esta información proporcionada nos permitirá que nosotros mismos vallamos aprendiendo técnicas de seguridad (aunque la información esta en ingles). También decir que si eres un novato en linux vale la pena no instalar este sistema, ya que se requieren unos conocimientos mínimos sobre las distintas ordenes y comandos.
Mas información en:
http://damnvulnerablelinux.org/

A disfrutar! y aprender!

lunes, 16 de julio de 2007

BinarySec Module for Apache

He estado leyendo sobre este nuevo modulo de pago para Apache y la verdad es que no deja indiferente a uno.
Se trata de un firewall para aplicación web que, según fabricante. posee una eficacia del 99,9% (que no es moco de pavo...).
Para ello cuenta con un motor de Inteligencia artificial que a los pocos días ha "aprendido" a no dar mas falsos positivos, por lo cual, cualquier bloqueo de acceso nos garantiza un intento de ataque frustrado. Al contrario que en otras aplicaciones, este acaba generando sus propias reglas, lo cual libera al administrador de estar poniendo al día las reglas del firewall.
Por supuesto funciona con aplicaciones PHP y ASP que se ejecutaran en el servidor, pero también lo hace con aplicaciones JavaScript, Java, Perl , Python... etc que se ejecutaran en el lado cliente.

Algo que lo hace interesante es la protección contra SQL Injection, XSS, buffer overflows... etc, todas estas técnicas "jóvenes" por asi llamarlas puesto que apenas llevan 5 años entre nosotros y que se han puesto tan de moda últimamente (espero hablar en breve sobre estas técnicas).
También es digno de mención que solo consuma un 2% de memoria y procesador (hablando en servidores de gama media).

Respecto a informes que genera y visualización, cuenta con un visor de trafico y alertas y de supervisión centralizada de varios servidores Web, presenta gráficos estadísticos y cuenta con funciones de análisis forense para desvelar a posibles atacantes.

Podéis descargar una trial de esta dirección, ademas de mas información relacionada (eso si, en ingles).

Los que os animéis a probarlo podéis ir dejando vuestras opiniones en los comentarios.

Salu2!

miércoles, 11 de julio de 2007

Nueva distro BackTrack 2 para test de intrusion


El otro dia navegando y viendo algunas distribuiciones interesantes que hay por la red (algun no, hay un millon de distros interesantes que probar) me encontre con esta maravillosa distribucion en formato live-cd que invluye multitud de herramientas para el hacking, auditoria de redes y test de intrusion. Tambien viene con los dirvers para varias tarjeta wireless (yo he probado con solo la mia, "la famosa" intel pro wireless 3945, es decir ipw3945). No he tenido mucho tiempo para hechale un vistazo pero con los 10 minutos que tuve para trastear con ella me parecio excelente.

La web donde la encontrareis es la siguiente:

Incluye multitud de aplicaciones de todo tipo. Es realmente espectacular. A disfrutar!