Tag Archives: ethical hacking

Pentest Box, “distro” con herramientas de pentesting para entornos Windows

Captura de pantalla de 2015-09-16 16:30:34

Cuando hablamos sobre auditar un sistema o sistemas, una de las primeras cosas que quizás hagamos es iniciar Kali Linux, pero no sólo de Linux vive el pentester, de hecho un buen pentester debe ir más allá del simple uso de ciertas herramientas o sistema operativo.

Si te enfrentas a una auditoria y todo de lo que dispones es de un sistema MS Windows, quizás esta “distro” para Windows llamada Pentest Box te pueda solucionar muchos problemas.

Pentest Box, es una “distro” que corre bajo Windows con una gran colección de herramientas de pentesting y que además puedes llevar en un pendrive o algún otro tipo de almacenamiento portátil.

Las herramientas que contiene esta distro es bastante amplia y la mayoría de ellas son muy conocidas. Incluso empaqueta una gran cantidad de comandos básicos bien conocidos en sistemas Linux.

Las herramientas están agrupadas en las siguientes categorías:

Les dejo también un demo en video de Pentest Box:

Ethical Hacking: Informe de Resultados

aa_informeHoy día, tenemos disponible gran cantidad de material sobre temas relacionados con Ethical Hacking: cursos, libros, webs especializadas, etc. Todos explican que las fases de un pentest comienzan con information gathering, y terminan con la post-explotación y el borrado de evidencias, básicamente. Sin embargo, la mayoría de publicaciones que enseñan a hacer pentest, fallan en una parte muy importante: la elaboración del informe de resultados.

Está claro: es la parte que mas nos aburre. Es mucho más entretenido trabajar con Metasploit, una Shell, Scritps que con un procesador de textos, ¿verdad? 😉 Es vital tener bien claro que el informe es, en última instancia, es el producto que se le entrega al cliente. Si no somos capaces de plasmar y reflejar en texto el trabajo realizado, por muy bueno que sea el proceso seguido y el resultado obtenido, con un informe mediocre el esfuerzo habrá sido en vano. Esto lo aprendí cuando leí el libro “Ethical Hacking: Un enfoque metodológico para Profesionales“, escrito entre otros por Ezequiel Sallis y Claudio Caracciolo. Por eso me voy a tomar el atrevimiento de darles algunos consejos muy útiles para confeccionar un informe de calidad.

Para explicar el informe de resultados, antes hay que tener en cuenta un documento previo: el plan de pruebas. Este documento, que debe estar aprobado por el cliente, es la autorización para poder auditar lícitamente un recurso que no es tuyo. En él se describe básicamente qué se va a hacer, y hasta donde se va a llegar. Sin este documento firmado por el cliente, podríamos meternos en un gran problema, recuerden que ingresar sin permiso a un sistema es ilegal y esta penado por la ley. Incluye:

  • Ámbito de las pruebas. Qué se audita y qué se queda fuera.
  • Rangos de IP, tanto del cliente como de los auditores.
  • Planificación temporal, días y horas en las que tendrá lugar.
  • Personas de contacto. A quién llamar en caso de que algo caiga.
  • Tipos de pruebas, si se está autorizado a lanzar ataques DoS o de ingeniería social.
  • Propósito del analisis: para qué se va a hacer, qué se quiere conseguir.

Una vez aprobado el plan de pruebas, ya tenemos luz verde para empezar con el pentest. ¡Happy Hack & Have Fun!

Ok!. Ya está todo probado. Tenemos las notas que tomamos, capturas de pantalla, logs, y demás evidencias de las vulnerabilidades encontradas. Ahora, como ya hemos comentado, toca la parte de transformar toda esta información en un documento y que el cliente conozca todo lo que has descubierto.

En primer lugar, hay que preguntarse: ¿A quién va dirigido este informe? ¿Personal técnico? ¿Directivo? ¿Ambos? Por regla general, los informes de resultados van a ser leídos por varios departamentos, con perfiles muy diferentes. Por ello será necesario redactar una parte, con un resumen ejecutivo, sin entrar en detalles y otra parte con un análisis de las vulnerabilidades.

En el resumen ejecutivo, se enumerarán las vulnerabilidades encontradas. Según su criticidad, se pueden usar colores, puntuaciones, gráficos, etc, cuanto más visual, más claro quedará. Recuerden que el resumen ejecutivo debe redactarse en un lenguaje lo menos técnico posible. Se deben incluir también las recomendaciones generales para mitigar las vulnerabilidades, sin extenderse en detalles, y finalmente las conclusiones. Esta parte está relacionada con el plan de pruebas y el propósito del pentest. Respondería a preguntas como ¿puede salir la aplicación web a producción? ¿Es la red de mi empresa razonablemente segura?.

La otra parte del informe es el análisis de las vulnerabilidades. Aquí es donde se debe describir con todo lujo de detalles cuales han sido las pruebas realizadas, qué ha conseguido explotarse, adjuntar capturas de pantalla que lo demuestren, y una valoración del impacto, probabilidad de ocurrencia, y riesgo asociado a cada vulnerabilidad. Por último, unas recomendaciones sobre cómo mitigar la vulnerabilidad, sin escatimar en referencias.

Finalmente, también puede ser recomendable incluir un apéndice, con información ampliada que no sea esencial para describir las vulnerabilidades descubiertas, como resultados de herramientas, logs, etc y un glosario de términos, para aquellos acrónimos o términos técnicos relevantes.

Una vez terminado el informe, hay que recordar que la información contenida en dicho documento es muy sensible. El documento debe advertir claramente que su contenido tiene carácter confidencial. Por una parte, debe enviarse al cliente por una vía segura y cifrada, y por otra parte, es nuestra responsabilidad almacenar el informe con los permisos únicamente de los implicados en el proyecto.

Espero que hayan sido de utilidad estos consejos. Información ampliada e informes de ejemplo pueden encontrarse en los siguientes enlaces (en inglés):

Ejemplo informe de pentest Offensive Security [PDF]
SANS Reading Room, Writing a Penetration Testing Report [PDF]
Writing penetration testing resports
The penetration testing report

Kali Linux, nueva distro de seguridad de los creadores de BackTrack

Hace poco tiempo salió a la luz una nueva distribución de Linux orientada para uso de seguridad. Esta nueva distribución posee algunas características que valen la pena resaltar.

En la comunidad de la seguridad, Backtrack es una de las distribuciones de Linux que más se utilizan para realizar tareas afines. Existen otras alternativas, aunque esta última es una de las de más renombre. En esta línea, Offensive Security lanzó una nueva distribución llamada “Kali Linux” que promete ser la más avanzada, robusta y estable distribución de seguridad orientada a penetration testing. Vale la pena recordar que Offensive Security fue quién también desarrolló Backtrack Linux.

Según se pudo leer en el blog oficial, los desarrolladores llevan mucho tiempo pensando en la distribución además de incluir nuevas funcionalidades. Una de las características más importantes fue el cambio a Debian. Esto tendrá algunas ventajas, como por ejemplo capacidad de sincronizar con los repositorios varias veces al día, contando así con las últimas actualizaciones. Esto también tendrá impacto en la facilidad de personalizar la distribución para el usuario.

Uno de los aspectos interesantes es el orden del menú y algunas herramientas. Se incluyen nuevas categorías como por ejemplo “Sniffing/Spoofing” o “Wireless Attacks”, entre otras alternativas. A continuación, se adjunta una captura con el menú de Kali Linux:

kali-linux-menu

Otro de los puntos fuertes y prometedores es la existencia de drivers que permiten obtener una mejor compatibilidad a la hora de utilizar, por ejemplo, antenas wireless o incluso otro tipo de hardware dedicado como pueden ser los forenses. Además, el kernel de Debian se encuentra parcheado para permitir la inyección de paquetes. De esta manera, el usuario podrá experimentar una mejor experiencia en lo que respecta al uso de herramientas de seguridad.

Un aspecto en el que se diferencia de Backtrack es que Kali Linux inicia en modo gráfico directamente, distinto de Backtrack donde había que iniciarla mediante el comando startx. Además Kali posee un gestor de paquetes gráfico llamado gpk-application que permite la instalación de paquetes de forma sencilla, donde por ejemplo es posible instalar LibreOffice para utilizarlo.

 

Link Oficial: http://www.kali.org/

Preparando un entorno vulnerable para pruebas de penetración (Pentesting)

Si queremos hacer prácticas con Metasploit u otras herramientas en un entorno controlado es bueno poder tener un sistema operativo configurado de manera que pueda ser susceptible a ataques para poder practicar. En la web de Offensive Security existe una guía de como configurar un Windows XP Service Pack 2 para habilitar servicios y aplicaciones vulnerables. Me he basado en la web de Offensive Security para realizar el siguiente tutorial.

No entraré en detalles de como realizar una instalación de Windows, sólo hay que instalarla con las opciones por defecto.

Una vez instalado vamos a configurar ciertas cosas.

  • Primero lo que haremos será deshabilitar protecciones nativas del sistema operativo además de desactivar las notificaciones.

Nos vamos al centro de Seguridad en Windows XP.

Desactivamos Firewall, antivirus, y vamos a las opciones de notificación que hay marcadas en la imagen

Desmarcamos las checkboxes.

Por defecto viene activado la compartición de archivos simple, pero no está de mas revisarlo. En opciones de carpeta comprobamos que este marcado:

Ahora ya hemos configurado una parte de sistema operativo…

Continue reading

Comprueba si el Firewall funciona con Ftester

Ftester es una herramienta que permite averiguar si el Firewall funciona correctamente como espera que lo haga, cuando ya lo ha puesto en marcha. Pero ¿ha comprobado que está bloqueando todo lo que se supone que debe bloquear? Quizá no porque haya pensado que le llevara mucho tiempo o es muy complejo utilizar fragmentación de paquetes manualmente.

Por suerte existe Ftester, una herramienta gratuita para probar en una auditoria o Hacking Etico intensivamente un Firewall cualquiera que sea.

Ftester está compuesto por tres programas escritos en Perl y permite inyectar paquetes personalizados desde un punto interno o externo de la red, entregando un log donde se evidencia cuales son los paquetes capaces de a travesar el cortafuegos.

El formato para inyectar paquetes UDP o TCP es el siguiente:

DirecciónIPOrigen:PuertoOrigen:DirecciónIPDestino:PuertoDestino:Protocolo:tos

En el campo opciones puede indicar que opciones TCP quiere que se incluyan en cada paquete. Los valores posibles son:

  • S para SYN
  • A para ACK
  • P para PSH
  • U para URG
  • R para RST
  • F para FIN

El campo protocolo permite seleccionar entre los protocolos TCP y UDP y tos contiene el numero que identifica el tipo de servicio (Type of Service) dentro de la cabecera IP. A veces, los routers utilizan el contenido de este campo para tomar decisiones sobre la prioridad del trafico. Para mas información del campo ToS lea el documeto RFC 791.

Por ejemplo la siguiente orden envia un paquete que parte de la IP 172.16.14.31 y el puerto 1025 a la IP 172.16.9.4 (<— Firewall) por el puerto 10000.

./ftester -c 172.16.9.31:1025:172.16.9.4:10000:s:tcp:0

Antes de ejecutar ftest debera poner en funcionamiento ftestd asi:

./ftestd -i eth0

Despues ejecute ftest

./ftest -f ftest.conf

La orden anterior le creara un log llamado ftest.log donde podra ver todos los datos de la auditoria, una buena pratica es utilizar ftest cada vez que realiza una nueva configuracion en el Firewall.

Descargar FTester