9.25.2015

Pentesting con GoLismero

 Pentesting con GoLismero


Es una herramienta para automatizar las tareas de pentesting en sitios Web aunque también es posible usarlo e integrarlo para realizar pentesting de servidores. Por ejemplo, puede adaptarse a OpenVAS para realizar escaneo de vulnerabilidades a determinadas IPs.
Este Framework ha sido creado por Daniel García (@ggdaniel) “backend developer”, Mario Vilas (@MarioVilas) “Core developer y Raúl Requero “Frontend developer” y es opensource.
Es una herramienta muy completa, creada en Python por lo que no necesita dependencias. Incluso en su día lo probé en Windows aunque también funciona (o debería) en OS X y por supuesto en Linux.
logo-wide copia
Sus principales características son:
  • Creación de plugins de forma fácil.
  • Interpreta datos obtenidos con otros aplicativos tales como OpenVAS, SQLMAP, etc..
  • Multiplataforma.
  • Código está escrito en Python.
GoLismero tiene página oficial la cual se encuentra http://www.golismero.com/. Desde su sitio podemos descargar y empezar a utilizarlo. Sí, no necesita nada, solo bajas y ejecutas. Aunque obviamente sino tenemos Python instalado (su intérprete) debemos instalarlo.
Algunos ejemplos de utilización de GoLismero:
Lanzar un escaneo a una Web:
./golismero.py www.misitioweb.com -o fichero_salida.txt
Podemos extraerlo por ejemplo en HTML para “pintarlo” más bonito y poder analizarlo de una manera más cómoda.
El resultado de lanzar ese comando es una auditoría automática completa de nuestra Web, de nuestra propiedad, de un cliente bajo autorización, etc… Decir que obviamente una auditoría automática analiza un espectro muy alto de recursos pero tiene sus incovenientes tales como no estudiar a fondo determinados aspectos básicos.
Respecto a utilizarlo como recurso profesional, puede servirnos para conocer un estado inicial o hacernos una idea general del sitio Web, aunque como ya conoceréis, aplicativos mucho más potentes. Y de todas formas, es imperativo saber que se está haciendo, es decir, conocer todos los aspectos Web (OWASP) para poder realizar un Audit “serio”.
Otra utilidad que tiene es que podemos crear y/o utilizar plugins. Dichos plugins pueden facilitarnos la vida enormemente. Para ver los que tenemos por defecto, podemos utilizar el comando:
./golismero.py plugins
El listado no tiene desperdicio. Aquí una captura de los primeros plugins de importación de datos.
golismero_help2
Por otra parte, y como suele ser habitual, utilizando el comando:
./golismero.py -h
podemos obtener un listado de todos los parámetros que podemos agregarle para personalizar el audit.
golismero_help2
En la siguiente imagen vemos una captura de GoLismero en acción, intentando encontrar alguna directorio en el que se pueda realizar algún ataque de fuerza bruta.
linea golismero_brute
El siguiente ejemplo es una importación sencilla de un XML extraído de OpenVAS, interpretado por GoLismero.
golismero_import_XML
A continuación vemos un reporte, sacado de la Web oficial, dónde muestra un formateo bastante agradable a la vista y sobre todo organizado.

golismero_report
La herramienta original, sin configuraciones previas, puede servirnos para hacer un muestreo inicial y orientarnos en el comienzo del Audit. No obstante, se puede mejorar con plugins, configuraciones y adaptaciones a nuestras necesidad pudiendo convertirse en un fiel candidato a ser una herramienta muy potente para automatizar auditorías recurrentes.
Esperamos que os haya resultado interesante este análisis y ya nos contaréis si llegáis a probarlo o si nos hacéis llegar posibles mejoras o plugins interesantes.
Un saludo!

Nmap tutorial Basico: Scan de Puertos

Nmap tutorial: Descubriendo el terreno de juego

Aunque parezca mentirna, Nmap ya lleva muchos años entre nosotros, exactamente desde 1997 (16 años, que en informática es casi una eternidad). Creo que una razón más que suficiente para dedicarle unas entradas en nuestro blog, de ahí que haya decidido iniciar una serie de entradas de esta estupenda herramienta a la que llamaré Nmap tutorial: Descubriendo el terreno de juego.
Es una herramienta muy conocida, tanto que incluso tuvo su minuto de gloria al aparecer en la película Matrix en una escena donde Trinity realizaba un scan de puertos y sistema operativo a una máquina.

En esta primera parte, además de resaltar las funcionalidades de Nmap, haré una breve introducción de qué es Nmap y para qué nos puede servir. Si situamos a la herramienta dentro del ámbito de las auditorías de seguridad o pruebas de intrusión, que es donde más se suele utilizar, podríamos usar el símil donde la auditoría sería como una especie de partido de fútbol, donde lo primero que hacen los jugadores es salir al terreno de juego una hora antes para ver las condiciones en las que se encuentra, las dimensiones del campo y otros factores importantes a tener en cuenta. En una prueba de intrusión, esta sería la primera fase, ver en qué escenario nos encontramos, estructura de la red, enrutamientos, direccionamiento IP, hosts, elecrónica de red… Nmap nos puede proporcionar esta información, y mucha más.
La herramienta se puede descargar directamente desde la Web oficial, donde están disponibles tanto los archivos binarios para Windows, Linux y Mac OS como el source code para su posterior compilación e instalación.

Enlace a las descargas de Nmap: Descargas
Además, se encuentra en muchas distribuciones Linux orientada a la seguridad, como puede ser el caso de Backtrack que ya la incluye desde hace varias versiones. Eso sí, en su última versión (hasta la fecha), Backtrack 5 R3 incluye la versión 5 de Nmap, y hay una gran diferencia con la última versión de Nmap, la versión 6.
Si es vuestro caso, y queréis tener la última versión de Nmap en vuestro Backtrack, podéis hacerlo de la siguiente forma:
apt-get -y autoremove nmap
wget http://nmap.org/dist/nmap-6.25.tgz
tar xzvf nmap-6.25.tgz
cd nmap-6.25
configure
make
make install
Este ejemplo instalaría la última versión de Nmap (a día de hoy, 6.25). Faltaría comprobarlo ejecutando el siguiente comando:
nmap -V

Comencemos ya con unos ejemplos prácticos y básicos de uso de Nmap. En primer lugar vamos a descubrir qué puertos tiene en escucha un determinado host, que es la funcionalidad principal de esta herramienta. Para ello vamos a usar un host que el equipo de Nmap nos pone a nuestra disposición como es scanme.nmap.org que podemos usar para nuestras pruebas.
Importante: Recordad que los conocimientos que aquí se comparten y las funcionalidades de esta y otras herramientas tenéis que usarlas de forma responsable y teniendo en cuenta que en ciertos paises podéis incurrir en delitos, así que usadlo para comprobar la seguridad de vuestros sistemas o sólo en aquellos hosts donde tengáis permiso para ello.
Para realizar un scan simple de puertos “abiertos” en un host escribimos lo siguiente:
nmap scanme.nmap.org
Con este simple scan al host scanme.nmap.org podemos observar que:
  • El puerto 22 (servicio SSH) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
  • El puerto 80 (servicio HTTP) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
  • El puerto 514 (servicio SHELL) está filtrado – Estado filtered (Estado no establecido, posible tipo de filtro, ¿Presencia de cortafuegos?)
  • El puerto 9929 (servicio NPING-ECHO) está abierto – Estado open (Hay un servicio escuchando en ese puerto)
Existen distintos tipos de scan, de hecho el tipo de scan por defecto puede variar en función del usuario que lo esté ejecutando, por aquello de los permisos de enviar RAW packets durante el scan. La diferencia entre unos y otros scan radica en el “ruido” generado, y en su capacidad de evitar ser detectados por sistemas de seguridad como pueden ser los cortafuegos o los IDS/IPS.
En la próxima entrada de esta serie dedicada a Nmap veremos distintas técnicas de scan, descubrimiento de servicios y descubrimiento de sistema operativo de un host.
Como siempre, espero que haya sido de vuestro interés