viernes, 31 de octubre de 2008

Los Trabajos de Seguridad Más Interesantes

SANS realizo una encuesta sobre cuales son los trabajos de seguridad que resultan más interesantes a los que trabajamos en este rubro.

La encuesta fue realizada a personal de gobierno y del ambito empresarial, con el objetivo de orientar a futuros profesionales en las diferentes ramas de seguridad en las que se podrían especializar.

TOP 10 - Personal de Gobierno

1. Information security crime investigator/forensics expert
2. System, network and/or Web penetration tester
3. Forensics analyst
4. Incident response, incident handler
5. Security architect
6. Vulnerability researcher
7. Network security engineer
8. Security analyst
9. Sworn law enforcement officer specializing in information security crime
10. CISO/ISO or director of security

TOP 10 - Personal de Empresas

1. System, Network, and/or Web penetration tester
2. Information security crime investigator/forensics expert
3. Forensics analyst
4. Vulnerability researcher
5. Application penetration tester
6. Security architect
7. CISO/ISO or director of security
8. Incident response, incident handler
9. Sworn law enforcement officer specializing in information security crime
10. Security evangelist

Fuente: GCN - The coolest IT security jobs

viernes, 24 de octubre de 2008

Se Buscan Programadores Para la PFA

La Policía Federal publicó gran parte de las presentaciones de las "Jornadas Sobre Técnicas de Investigación Relacionadas con Tecnología Informática", lamentablemnte la información esta disponible solo para los asistentes.

Por lo que me contaron este fue un excelente seminario con información verdaderamente interesante, pero tal vez el próximo año puedan sumar una charla sobre buenas prácticas de programación:


Supongo que algún hacker malvado, que quiera acceder a estas interesantes presentaciones, podría llegar a adivinar el usuario/password de acceso examinando cuidadosamente el título del evento: "VII SEMINARIO Y V JORNADAS - 2008", pero por supuesto no les recomiendo hacerlo ;)

miércoles, 22 de octubre de 2008

Filtros de Captura y Visualización

Conocer un poco sobre los "Capture Filters" y los "Display Filters" nos pueden ayudar a realizar un mejor análisis de trafico y por supuesto ahorrarnos mucho tiempo.


Los "Capture Filters", en la mayoría de los sniffers, utilizan la ya conocida sintaxis de BPF (Berkeley Packet Filter), mientras que los "Display Filters" pueden ser particulares para cada aplicación.

Hace un tiempo Tony Fortunato presento los "Top 10 Useful Filters", que son los siguientes:

1. Dirección IP:
"ip.addr == x.x.x.x"

2. Dirección MAC:
"eth.addr == xx:xx:xx:xx:xx:xx"

3. Protocolo ICMP:
"icmp"

4. No Mi Dirección MAC:
"eth.addr == xx:xx:xx:xx:xx:xx"

5. Protocolo DHCP:
"bootp"

6. Tiempo Delta Alto:
"frame.time_delta > 1"

7. Puerto TCP:
"tcp.port == x"

8. Puerto UDP:
"udp.port == x"

9. Análisis de RTT:
"tcp.analysis.ack_rtt > 1"

10. Tamaño de TCP:
"tcp.len > x && tcp.len < size="3">


Recientemente, Richard Bejtlich escribió un excelente articulo técnico llamado "Using Wireshark and Tshark display filters for troubleshooting". Dentro de las cosas mas interesantes podemos encontrar:

Ejemplo de un Capture Filter en Tshark (Wireshark en consola):

# tshark -i wlan0 -w sample.pcap host 192.168.2.103

Lo mismo pero con Tcpdump. En este caso hay que aclarar el Snaplen (tamaño del paquete)
ya que el default de Tcpdump es de 96 bytes:

# tcpdump -i wlan0 -s 1514 -w sample2.pcap host 192.168.2.103

En este caso estamos aplicando un Display Filter con el switch "-R" al mismo tiempo
que estamos capturando trafico:

# tshark -n -i wlan0 -w sample3.pcap -R 'ip.addr == 192.168.2.103'

Usuarios haciendo pedido de DNS que contienen la palabra "kungfoosion":

# tshark -n -i wlan0 -R 'dns.qry.name contains "kungfoosion"'

Búsqueda de la palabra "ftp" en el canal de comandos de FTP:

# tshark -n -r sample.pcap -R 'ftp.request.arg == "ftp"'

En este caso buscamos por usuarios que navegan con browsers que no son Firefox:

# tshark -i wlan0 -S -w sample5.pcap -x -R 'http.user_agent and !(http.user_agent contains "Firefox")'

Solamente visualizamos los comandos SMTP:

# tshark -n -r sample6.pcap -R 'smtp.req.command'

Durante el primer día de mi Network Security COMBAT Training trabajamos bastante con Capture Filters y especialmente con Display Filters, adicionalmente a lo que ya vimos, les recomiendo revisar los siguientes links que también los use durante mi training:

- Packet Life Cheat Sheets
- Wireshark Capture Filters
- Wireshark Display Filters
- Wireshark Display Filter Reference

lunes, 20 de octubre de 2008

Combinando Ataques Wireless y Web

Otro excelente webcast de SANS en donde se combinaron técnicas de ataques wireless y web para realizar un penetration testing.

Esta fue la primera parte del webcast "The Pen Test Perfect Storm: Combining Network, Web App, and Wireless Pen Testing Techniques", dictado por Kevin Johnson, Ed Skoudis y Joshua Wright.

La idea de este ataque combinado consistía en inyectar código HTML malicioso en redes wireless abiertas, tomar control de los browsers de los clientes, y luego desde allí atacar a otros sistemas de la red interna.

La inyección de código HTML la realizaban con la herramienta AirCSRF. Esta herramienta escucha los pedidos HTTP realizados por los clientes, y cuando detecta un pedido a un host víctima especificado por nosotros, por ejemplo www.google.com, se encarga de inyectar al final de la respuesta del servidor un código HTML.

Este código HTML puede ser javascript, o código que se encuentre en un servidor controlado por nosotros. Aquí es en donde entra en juego BeEF, la parte mas interesante del ataque.

BeEF, es un framework de ataque para browsers, que convierte al browser de un cliente en un zombie para luego utilizarlo en otros ataques, como por ejemplo escanear puertos, hacer un keylogging de lo que escribe el usuario, robar el contenido del clipboard, etc. (todo desde el browser)

El webcast se focalizó también en todo lo que se puede hacer desde el momento en que se obtiene control del browser del usuario con BeEF, y los posibles escenarios de ataques que podemos aprovechar en un penetration testing.

* Link al WebCast y al Link al Slide del WebCast

Herramientas Utilizadas:

- BeEF, "The Browser Exploitation Framework", por Wade Alcorn
- AirCSRF, “Air-Sea-Surf”, por Garland Glessner (no ha sido publicado todavía)
- Yokoso!, por Kevin Johnson, (próximamente será publicado, sirve para hacer un fingerprinting de la interfaz administrativa de un dispositivo)
- Samurai Web Testing Framework, por Kevin Johnson (este es un LiveCD orientado a hacer PenTesting a aplicaciones Web)
- Metasploit, por HD Moore
- AirPwn, por Toast (framework para inyectar paquetes 802.11)

miércoles, 15 de octubre de 2008

Lista de Correo de KungFooSion

Para todos los lectores de este Blog, interesados en discutir sobre seguridad de redes, análisis forense y kung-foo, los invito a suscribirse a la lista de correo de kungfoosion!


Esta lista fue creada para los asistentes del Network Security COMBAT Training en la ekoparty, pero me pareció interesante que los interesados en la temática (?) de este Blog también puedan participar.

La dirección es:
http://groups.google.com/group/kungfoosion

Suscribanse!

martes, 14 de octubre de 2008

Port Scanning con IP de Origen Spoofeada

La gente de securebits desarrolló una interesante idea para realizar un escaneo de puertos pero spoofeando la dirección IP de Origen.

Como se imaginarán, no es posible escanear puertos con la IP de Origen falsa ya que no nos llegarían las respuestas. Nmap tiene la posibilidad de utilizar Decoys, en donde envía los paquetes con las IP de Origen falsas, pero con el único propósito de generar mucho ruido para que el verdadero escaneo pase desapercibido frente a un IDS/IPS.

En principio, esta "nueva" técnica funcionaría solo en una red LAN, ya que antes de hacer el escaneo de puertos habría que realizar un ARP Poisoning. Básicamente le decimos a nuestra víctima que las direcciones IP falsas tienen la dirección MAC del atacante, entonces cuando la víctima envíe las respuestas de los escaneos falsos igualmente terminarán llegando al atacante.

Todo esto lo podemos hacer muy fácilmente usando Decoys con Nmap y cualquier herramienta de ARP Poisoning, pero también podríamos usar la nueva herramienta que esta gente desarrollo, y por supuesto leer el whitepaper que escribieron al respecto. No se puede decir que no le ponen ganas :P

Saludos al amigo Julio Cesar Fort que me hizo llegar esta noticia.

Fuente: Reliable Spoofed Source-IP Port Scanning

domingo, 12 de octubre de 2008

¿ Nuevos Ataques a TCP ?

Hace unos días Robert E. Lee y Jack C. Louis de Outpost24 anunciaron su investigación sobre fallas de diseño en el protocolo TCP que podrían ser explotadas para generar un DoS a un servicio, y en algunos casos a todo el servidor. Los detalles técnicos sobre sus descubrimientos serán publicados la semana que viene durante la conferencia finlandesa T2.

Es interesante como muchos han aprendido las lecciones de Kaminsky, y anuncian grandes descubrimientos que recién serán publicados durante la próxima conferencia de seguridad. Sin dudas esta metodología ha demostrado ser lucrativa, ya que como mínimo tienen a todo el mundo hablando de su empresa por algunas semanas.

Después esta el fenómeno de todos los investigadores que postean en sus blogs especulaciones sobre cual es la vulnerabilidad, intentando ser los primeros en descubrir cual es la falla que será presentada. Sin mencionar, que hoy en día todos los fallos descubiertos van a destruir la Internet, paso con lo del DNS, después lo de BGP, y ahora con TCP.

Respecto a la parte técnica hay poca información, pero en principio el ataque comienza con el atacante estableciendo una conexión TCP al servidor desde userland, por lo que el atacante no tiene que mantener el estado de la conexión, y quien gasta recursos es el servidor. Pero esto no basta para generar un DoS efectivo, razón por la que se cree que el ataque podría venir después del handshake, jugando con varios estados de TCP y con los timers de expiración de conexiones que ya no se encuentran activas.

En cualquier caso, los mayores riesgos parecen encontrarse en stacks y servicios pobremente implementados, y no tendremos otra opción que aguardar hasta la presentación de la semana que viene.

Más Info:
- Podcast con entrevista a Louis y Lee (adelantar hasta el minuto 5 para inglés, o ver transcript).
- Post de FX, Post de Fyodor, Post de breakingpoints, Post en Slashdot.

jueves, 9 de octubre de 2008

Cómo Optimizar el Host Discovery en Nmap

Fyodor publicó el video de su presentación en la ultima Defcon, y una de las cosas que me pareció mas interesante es cómo optimizar la etapa de Host Discovery en Nmap.



¿ Porqué Optimizar el Host Discovery ?


Antes de realizar un escaneo de puertos, Nmap intentará descubrir si los hosts objetivo se encuentran vivos. Por esta razón es que se vuelve fundamental que Nmap haga el descubrimiento lo mejor posible, ya que de lo contrario estaríamos escaneando los puertos a muchos menos hosts de los que realmente se encuentran vivos.

¿ Cómo Funciona el Host Discovery por Default ?

El Host Discovery de Nmap se conoce como "Nmap Ping", y básicamente lo que hace es enviar al objetivo un ICMP Echo Request (PING) y un paquete ACK al puerto 80.

El Nmap Ping tiene alrededor de 10 años de antigüedad, y era muy efectivo en la época en la que no había firewalls stateful.

La idea del ICMP Echo Request era recibir un ICMP Echo Reply, un PING, pero en la actualidad la mayoría de los firewalls tienen filtrado el PING. Mientras que la idea del ACK al puerto 80 era pasar el control de un firewall no-stateful (stateless), pero como se pueden imaginar hoy en día la mayoría de los firewalls son stateful.

Un firewall stateless, para permitir una conexión verificara la IP y los puertos de origen y destino, y si el paquete es un SYN. En el caso de denegar una conexión, verificara exactamente lo mismo, por lo que si enviamos un ACK, el firewall creerá que es una conexión ya establecida porque no tiene una tabla de estado para comprobar lo contrario, y lo dejara pasar.

¿ Cómo Optimizar el Host Discovery ?

Básicamente la idea seria crear nuestro propio "Nmap Ping", optimizándolo con diferentes técnicas que nos permitan obtener algún tipo de respuesta con la que podamos identificar a un host vivo.

En principio si queremos descubrir hosts detrás de un firewall stateful deberíamos utilizar paquetes SYN, ya que si utilizamos paquetes ACK y no hay un registro previo en la tabla de estado del firewall, el ACK sería descartado.

Esto lo podemos hacer con el switch "-PS". Ejemplo: "-PS80,25,22,443,21"

Por otro lado si queremos descubrir hosts detrás de un firewall stateless nos conviene utilizar paquetes ACK, ya que al no poseer una tabla de estado el firewall creerá que el paquete pertenece a una conexión ya establecida y lo dejará pasar.

Esto lo podemos hacer con el switch "-PA". Ejemplo: "-PA80,25,22,443,21"

En ambos casos, la pregunta clave es que puertos utilizar. En esta misma presentación, Fyodor publico un listado de los 10 puertos mas utilizados en Internet. También pueden ver este listado en mi post: "Los Puertos Más Usados En Internet"

Otra opción podría ser realizar el Discovery mediante puertos UDP, pero en este caso la idea seria buscar puertos cerrados que nos devuelvan un error ICMP Port Unreachable, ya que si enviamos un paquete sin contenido a un puerto UDP abierto, el sistema que lo reciba no sabrá que hacer con el y simplemente lo descartará.

Entonces la recomendación seria elegir un puerto UDP alto que probablemente no este en uso. Fyodor también recomienda sumar el puerto 53 (DNS), ya que muchos administradores suelen permitir este puerto en todo su rango de redes.

Esto lo podemos hacer con el switch "-PU". Ejemplo: "-PU33221,53"

Como vimos al comienzo, el clásico "Nmap Ping" utiliza un ICMP Echo Request que suele estar filtrado en los firewalls, por lo que es recomendable sumar al Echo Request otro tipo diferente de paquete ICMP, como por ejemplo Timestamp Request o Netmask Request.

Esto lo podemos hacer con los switchs "-PE" (Echo Req), "-PP" (Timestamp Req) o "-PM" (Netmask Req).

Otra opción también puede ser realizar un Protocol Ping. La idea aquí es enviar paquetes que utilicen diferentes protocolos, por default Nmap enviara 3 pruebas, un paquete ICMP (1), IGMP (2) y IP-in-IP (4), si estos protocolos no son soportados por el sistema operativo deberíamos recibir un error ICMP Protocol Unreachable, que nos permitirá conocer que el host esta vivo.

Esto lo podemos hacer con el switch "-PO".

En Conclusión

Si juntamos todo, lo que mas recomendable que deberíamos utilizar seria algo como esto:


nmap -sP -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 --source-port 53 -T4 IP_de_TARGET


Aquí estamos realizando un Nmap Ping pero con paquetes ICMP Echo Request y Timestamp Request, también enviamos paquetes SYN y ACK a diferentes puertos del Top 10, y como recomendación de Fyodor también configuramos que todas las pruebas sean enviadas desde el puerto de origen 53 (DNS), esto con el switch "--source-port 53", ya que muchos firewalls pueden permitir conexiones desde este puerto.

Links Relacionados:
- Video de la presentación de Fyodor en Defcon
- Los Puertos Más Usados En Internet
- ¿ Porque Nmap es Lento con Redes Muy Filtradas ?

martes, 7 de octubre de 2008

Fotos de los ekoparty Trainings

No queda muy bien que como organizador diga esto, pero los trainings de la ekoparty estuvieron excelentes!! :-)

Nos sorprendió mucho la cantidad de asistentes, alrededor de 60, y que la mitad de ellos hayan sido de distintos países de Latinoamérica como Paraguay, Uruguay, Venezuela, Honduras, Perú, Chile, Colombia y otros...

Mas allá de alguna que otra critica, que siempre es bien recibida, prácticamente todos los asistentes quedaron muy conformes con todos los trainings, por lo que pudimos ver de las encuestas y de los comentarios que nos realizaran.

Pero no solamente la parte técnica de los trainings fue muy buena, sino que humildemente, creo que acertamos al haber elegido las aulas de Fundación Proydesa que son muy modernas.

Sobre mi Network Security COMBAT Training les puedo contar que fue el curso mas numeroso, con 20 asistentes. Al haber tanta de cantidad de personas, tuvimos que poner un plasma a mitad del aula para que todos pudieran visualizar las presentaciones.


El curso estuvo muy bueno y distendido, y personalmente debo agradecerle a todos aquellos con los que tuve el verdadero placer de compartir 2 días a puro Kung-Foo!! ;-)

Mas fotos de los trainings aquí:
- http://picasaweb.google.com/lpigner/EkopartyTrainings2008

sábado, 4 de octubre de 2008

ekoparty en Clarín: El Día Después

Hoy se publico un articulo en Clarín realizado por una periodista de este medio que estuvo cubriendo el evento. Las primeras repercusiones!!

Pueden ver la versión on-line de esta noticia en este link. También en el mismo articulo on-line aparecen dos videos, el primero es un mix de varios speakers, asistentes y organizadores, mientras que en el segundo aparece Domingo Montanaro, uno de los Speakers que vino desde Brasil.

- Video 1: Mix de Speakers, Organizadores y Asistentes.
- Video 2: Entrevista a Domingo Montanaro.

Próximamente voy a seguir posteando sobre le ekoparty, los trainings que fueron un verdadero exito y mucho mas!

ACTUALIZADO el Jueves 9 de Octubre


Ayer Miércoles, nuevamente en el suplemento de informática NEXT del diario Clarín se volvió a hacer mención de la ekoparty, esta vez con una nota de un estilo mas "under", pero igualmente bienvenida... :-)

- Version on-line de esta noticia.


LinkWithin