3 de agosto de 2010

Hackers are here, Where are you?

Con este conocido eslogan del Ec-Council doy paso a esta breve entrada donde por fin, tras unas breves vacaciones, he decidido ponerme con el CEH a saco, tal y como ocurriera con el CISSP el año anterior.

El CEH, o Certified Ethical Hacking es una certificación enfocada en la parte más técnica de la Seguridad Informática y como tal es ideal para que pen testers o auditores aprendan las técnicas de hacking más habituales. Al contrario que con CISA, CISSP, etc. el proceso de certificación es mucho más sencillo, el único requisito es tener dos años de experiencia en seguridad informática e incluso dejan la puerta abierta a que si no los tienes pueden estudiar tu caso (por ejemplo, recién licenciados). Con ello y tras prepararte el examen (por tu cuenta o pagando un curso de formación) te presentas, haces un examen tipo test al uso y ya estás certificado. Es decir:


De forma un tanto curiosa una vez aprobada la certificación no te exigen créditos CPE para mantenerla (leer comentarios), lo cual personalmente es de agradecer ya que no debes estar preocupándote cada año por demostrar que estás reciclado permanentemente. Os dejo algunos datos de interés:

Dominios de conocimiento:

  1. Introduction to Ethical Hacking
  2. Hacking Laws
  3. Footprinting
  4. Google Hacking
  5. Scanning
  6. Enumeration
  7. System Hacking
  8. Trojans and Backdoors
  9. Viruses and Worms
  10. Sniffers
  11. Social Engineering
  12. Phishing
  13. Hacking Email Accounts
  14. Denial of Service
  15. Session Hijacking
  16. Hacking Webservers
  17. Web Application Vulnerabilities
  18. Web Based Password Cracking Techniques
  19. SQL Injection
  20. Hacking Wireless Networks
  21. Physical Security
  22. Linux Hacking
  23. Evading IDS, Honeypots and Firewalls
  24. Buffer Overflows
  25. Cryptography
  26. Penetration Testing Methodologies

Estos dominios se dividen en 66 módulos. Tenéis el brochure del material aquí. En cuanto al examen:

  • Se puede realizar en cualquier centro prometric de España.
  • El calendario de exámenes es flexible, no son dos convocatorias cerradas de forma anual como ocurre en otras certificaciones.
  • El coste del examen son 200€.
  • 150 preguntas multi respuesta.
  • 70% de acierto para aprobar.

Ahora paciencia y a estudiar. Por cierto, y a colación del mundo de las certificaciones, os referencio una entrada del blog segu-info ayer publicaban el escrito de Shon Harris donde discute y da respuesta a muchas preguntas sobre CISSP que la gente se plantea. Shon es Consultora de Seguridad y da clases de formación CISSP, publicó un libro / manual / guía para prepararse la certificación, no es el oficial de ISC2 pero tiene tanto tirón (es bastante más entretenido) que mucha gente (como yo, por ejemplo) se preparan la certificación solo con el.

Salu2

16 de junio de 2010

TCP Split Handshake

Que mejor forma de retomar el blog que mandando un afectuoso salud a mis apreciados lectores, si los tuviera delante haríamos algo tal que así:

GigA --------->Hola:Lector

GigA:Hola + Mano<----------Lector

GigA:Mano<---------------->Mano:Lector

Etc.

Esto por si no lo habéis entendido es un saludo normal y corriente, que da paso a una conversación. Los humanos, fieles copiadores de lo que vemos en el mundo real decidimos trasladar esta forma de saludo a la informática, para que dos ordenadores pudieran iniciar su conversación lo harán de la misma forma. Es lo que conocemos como ThreeWay-Handsake , que originales somos:

Lo gracioso es que en el mundo virtual, al igual que en el real, pasamos del saludo a 3 bandas y pillamos a alguien desprevenido y le damos una colleja diciéndole: ¡ay maestro agujas!, ¡como vá capataz! (resto de saludos José Mota©), sin dejarle hablar ni nada. Esto entre colegas e incluso desconocidos puede ser gracioso, pero entre frías máquinas sin corazón es desastroso, tanto como que pueden reaccionar de formas raras, reiniciándose, parándose, ignorándote o accediendo a un nivel superior de funcionalidad (muchas veces esto también puede ocurrir con las mujeres), así una máquina se queda algo confusa cuando se le intenta abrir una conexión por ejemplo un SYN SEQ 1000, te responde con un SYN ACK 1000+1 SEQ 1500, y tu ignoras completamente su respuesta y vuelves a hacer otro SYN, y otro, y otro, y vas cambiando puerto, o le saturas un servicio a intentos de conexión, etc. Son muchas de las variedades de handshake que se pueden hacer en un escaner de puertos (para lo que vendría bien recordar esta entrada).

Sin embargo parecía que estaba todo inventado en lo que a saludos se refiere, cual es mi sorpresa cuando ayer me encontré esta interesante investigación de la gente de Macrothink, el TCP Split Handshake. Trasladado al lenguaje humano sería como realizar el saludo de forma normal, pero definir y recalcar cada una de las fases sin hacer nunca 2 cosas a la vez (¿?¿?), vale. Os pongo la imagen y me explico:

¿Qué es lo que se ha hecho?, separar el SYN, ACK que hace el servidor en dos pasos bien diferenciados, en dos paquetes distintos, algo que recoge perfectamente la RFC 793 en su página 27. Algo tan inocente como esto se ha probado con IDS/ IPS, routers, servidores, etc. con resultados más que soprendentes, y es que un servidor que tenga el protocolo de establecimiento de conexiones TCP alterado puede comprometer a sus clientes en una infinidad de casos. Veamos como reacciona el cliente cuando el servidor hace el split:

Lo que era un ThreeWay Handshake acaba convirtiéndose un FiveWay,,, de esto no decía nada la RFC 793. Otras curiosidades de esta particular forma de saludarse son que algunos IPS (lo probaron con un Juniper) no detectaron el ataque, sirviendo el splits tcp como técnica de evasión ya que, al no detectar la conexión como establecida no detectaba ataque alguno. En caso de NAT se encuentra de todo, desde un PIX-515 que era incapaz de hacer NAT y salir hacia otras redes con el splits TCP a un Cisco 2631 que se metía hasta Internet, luego parece que dependiendo del caso el NAT a priori no nos protegerá de este tipo de intentos de conexión. Finalmente, si estás ofreciendo un servicio en un puerto cualquiera, digamos el 22, y tu máquina es sometida a un escáner de red con un NMAP o similares no reaccionará tampoco de la forma habitual, pudiendo quedar oculto ese servicio o mal identificado:

Efectivamente esto para un atacante persistente no es un problema pero por ejemplo, para un barrido de un virus puede ser una “medida de seguridad”.

En resumen, este comportamiento anómalo en el establecimiento de conexiones por Split Handshake va a obligar a todo tipo de proveedores de equipos de comunicaciones, servidores, appliances de seguridad, etc. a añadir una excepción más o a contemplar que el ThreeWay Handshake no es la única forma de establecer una conexión TCP. Parece mentira que algo que lleva tantos años usándose no haya sido evaluado por muchos fabricantes en el 2010.

Ah, si queréis jugar tenéis scripts de ejemplo y capturas de Wireshark aquí, está hecho en Ruby y necesitareis las librerías libpcap para poder ejecutarlo.

Salu2