viernes, 27 de diciembre de 2013

FASES DE UN PENTESTING


#Fase 1 - 1NF0RM4TI0N G4TH3R1NG: Conociendo a nuestro objetivo

Para realizar un pentest (y no morir en el intento), debemos seguir una metodología de trabajo, algo que nos marque los pasos a seguir con el fin de no omitir nada. Al seguir una metodología también sabremos que limites podemos cruzar y cuales no. Recordemos que al realizar un test de penetración podemos llegar a dañar el sistema que estamos auditando. Esta metodología nos ayudará a lo largo de toda la auditoría, y al llegar al final, a realizar un reporte completo y comprensible (recordemos que el reporte será visto por gente que tiene conocimientos de informática y gente que no). Por lo expuesto, seguir un conjunto de pasos se vuelve fundamental, y sobre todo para esta primera fase que voy a presentar, la fase de obtención de información del objetivo. Mientras mas información obtengamos del sistema mayores probabilidades tenemos de comprometerlo dado que vamos a conocer la mayoría de los vectores de ataque (uso de exploits, ingeniería social, inyecciones sql, xss, etc). En esta fase podemos teneuna recolección de datos en forma pasiva y otra activa. Cuando hablamos de Information Gathering pasivo nos referimos a aquellos datos que podemos conseguir de la organización a auditar sin tener que interactuar con ella directamente. En el caso de la recolección de datos activa, interactuamos directamente con la organización, por ej. al realizar un escaneo (salvo que algún FTP con rebote nos ayude). 

A medida que avance con las publicaciones mostraré las técnicas y herramientas utilizadas para cada fase, esa es la parte más interesante no? Ya voy a llegar, paciencia!

La fase de INFORMATION GATHERING está compuesta por 3 sub-fases:

Footprinting: En esta subfase armamos el perfil de la Organización a auditar, buscamos información en la web, ya sea mediante buscadores (Google y el famoso “Google hacking”), sitios que brindan información sobre dominios (Serversniff.net, Netcraft.com, etc.) o herramientas especialmente desarrolladas para esta etapa (Maltego, Sam Spade, etc.). Está fase se considera pasiva, dado que no interactuamos directamente con la organización. 

Scanning: En esta sub-fase realizamos un escaneo de los equipos de la organización, aquí identificamos puertos abiertos, servicios que corren en esos puertos, firewalls, puntos de acceso y Sistemas Operativos. Algunas herramientas para el escaneo de puertos y vulnerabilidades son Nmap, Nessus, Hping2, Firewalk, etc. Esta sub-fase y la siguiente son activas ya que nos conectamos directamente con la Organización para la obtención de información.

Enumeration: En la enumeración tratamos de obtener información sobre nombres de usuario, elementos compartidos que no se encuentren bien protegidos, recursos de red  y aplicaciones. Generamos un mapa completo de la red que se encuentra detrás de la organización.

Social Engineering: La ingeniería social puede servirnos en cualquiera de las subfases para conseguir información. La ingeniería social es el arte de engañar al factor humano (lo que algunos llaman, "hackear a las personas" jeje). Apelando a la bondad de las personas, al deseo de ayudar o a la lástima se puede obtener ciertos datos muy útiles de la Organización. Ya veremos mas adelante ciertas técnicas y aplicaciones que nos ayudan en esta particular y apasionante actividad.

Como dije antes, la Fase de INFORMATION GATHERING es la fase mas importante de un pentesting, si realizamos una buena recolección de información tenemos muchas mas posibilidades de comprometer un sistema, NO LO OLVIDES!

Antes de irme quisiera recomendarles que lean un manual con la metodología para un testeo de seguridad creado por el Institute For Security And Open Methodologies (ISECOM), esta completamente en español:
http://isecom.securenetltd.com/OSSTMM.es.2.1.pdf

El original está en ingles y mas actualizado, por si quieren leerlo aquí les dejo el link:
http://www.isecom.org/mirror/OSSTMM.3.pdf

Espero que haya sido de utilidad. Si quieren ver la siguiente fase, se los dejo aquí

Saludos y...

HAPPY HACKING!

lunes, 15 de julio de 2013

De que hablamos cuando decimos "pentesting"?


Pentesting (un acrónimo de Penetration Testing) es la actividad mediante la cual se busca comprometer un sistema informático simulando el ataque de un hacker (en otro momento discutiremos sobre la definición de hacker). Con esto quiero decir que las técnicas y procedimientos que se utilizan son las mismas que utilizan los hackers. Lo que diferencia al pentester del "hacker" o intruso, es la finalidad que persiguen al entrar al sistema. Mientras que el hacker busca demostrar sus conocimientos u obtener algún beneficio económico por robar informacion, espiar o "romper" , el pentester por su parte busca desmostrar las vulnerabilidades del sistema para tratar de mitigarlas y asi prevenir futuros ataques. El pentester tiene la responsabilidad de reportar todas las fallas o agujeros que posea el sistema que puedan representar un peligro para la organizacion, empresa o para quien trabaje. Los pentester son denominados "ethical hackers" dado el compromiso moral que tienen con la entidad que los contrata.

Tipos de pentesting (formas de trabajo)

Existen 3 formas de trabajo,  el pentester las acuerda con la oranización en su contrato. Ellas son:

White box
Black box
Grey box

White box: La entidad contratante le entrega información al pentester, usuarios, e-mails, software utilizado, etc. Con esto el pentester ya tiene una ran cantidad de información para comenzar a trabajar.

Black box: El pentester debe trabajar "a ciegas", como si fuera un atacante, sin información obtenida de antemano. El pentester debe comenzar a investigar y recopilar toda la información posible para realizar el ataque.

Grey box: Es una combinación de White y Black box ya que el pentester obtiene  información de forma parcial de la organización. Por ejemplo esto puede puede ser, planos de arquitectura de red e información sobre aplicaciones utilizadas.

En la proxima entrada, Fases de un pentesting..

Hasta la próxima

Happy Hacking!!!!!

lunes, 1 de julio de 2013

B13nv3n1d0s!

A lo largo de estas publicaciones veremos los diferentes pasos para realizar un test de penetración y como realizarlos para obtener buenos resultados. En la próxima entrada contaré a que nos referimos cuando hablamos de pentesting (el famoso "hacking etico") y describiré sus fases. Luego comenzaré con la primera y la mas importante de las fases...la de INFORMATION GATHERING..



Happy Ethical Hacking!!!!