29 ago 2016

PasswordFox: extrayendo contraseñas de Firefox automáticamente

PasswordFox es una de esas herramientas simples que nos facilitarán las labores de pentesting enormemente. Cuando estamos en una auditoría y nos facilitan un equipo en el que han trabajado previamente otros usuarios de la compañía, es altamente probable que hayan dejado cacheadas credenciales en los navegadores. Aunque las contraseñas en algunas ocasiones las podremos ver en claro desde un navegador, como es el caso de Firefox, siempre es interesante contar con aplicaciones que nos faciliten la labor y nos clasifiquen la información. Una de estas herramientas es PasswordFox, de la gente de Nirsoft


PasswordFox nos permitirá a golpe de clic ver los nombres de usuario y contraseñas almacenadas por el navegador web Firefox. De forma predeterminada, PasswordFox muestra las contraseñas almacenadas en su perfil actual, pero permite seleccionar cualquier otro perfil de Firefox e incluso cargar la configuración desde un directorio Firefox que hayamos podido extraer de un PC en un proceso forense por ejemplo, desde la carpeta AppData. 

Para contraseña, se muestra el índice de registro, sitio web, nombre de usuario, contraseña, campo nombre donde se almacenó y el campo de la contraseña.

A continuación os dejamos con un ejemplo de su funcionamiento:



Saludos!

25 ago 2016

[Remember] 8dot8: Recuerdos de Chile 2014 y 2015

La 8dot8 supuso un cambio importante para mí. He tenido la suerte de tener charla 2 veces allí y es un lujo de Congreso. Hoy quiero recordar las charlas. En 2014 llegué a Santiago de Chile tras 15 horas de vuelos y con muchas anécdotas argentinas por el camino. Vamos esos Tan Biónica! o ese León Gieco... dónde esté nuestro Rafael (porrompooompom!). Os dejo la charla de Cyberwar: looking for... Citizen!


En el año 2015 le tocó el turno a la detección de funciones inseguras en repositorios de código abierto. Años y años desarrollando, pero las funciones inseguras de los años 80 en lenguaje C siguen estando muy presente, incluso en los repositorios de herramientas de auditoria y pentesting. Es cierto que esto no significa que la aplicación sea vulnerable, pero debemos tenerlas en cuenta, simplemente por estadística... posibilidades de que haya vulnerabilidad existen. Comprobado! Os dejo el video de la charla, grande Claudio Caracciolo!


Espero volver pronto a la 8dot8, sería un honor para mí. Chile grande Chile!

24 ago 2016

Extrayendo passwords de Windows con LaZagne

Muy buenas a todos, en el post de hoy me gustaría hablaros del software LaZagne, una aplicación de código abierto que podremos utilizar en procesos forenses y de pentesting para recuperar contraseñas almacenadas en un equipo local. 

El software lo podéis descargar desde la cuenta de Github de su autor "AlessandroZ":

LaZagne es capaz de recuperar credenciales de un buen número de aplicaciones, que almacenan las contraseñas utilizando diferentes técnicas (texto sin formato, APIs, algoritmos personalizados, bases de datos, etc.):



Su uso es tan sencillo como ejecutar el programa con el parámetro "all":


Y en unos segundos tendréis el listado de contraseñas de todas las aplicaciones indicadas en la tabla anterior. En mi caso, en algunas ocasiones varias aplicaciones han dado error, pero aún así el software notifica el error pero sigue mostrando el resto de contraseñas recopiladas. Por lo que es una herramienta muy interesante para procesos forenses y de pentesting.

Agradecimientos especiales a su autor y a mi compañero Diego que me la descubrió hace algún tiempo ;)

Saludos!

23 ago 2016

[Remember] Cómo afrontar una auditoria interna - Hacking Ético

Hace ya más de 2 años que visité a los alumnos de la UPM, gracias a la invitación de Alfonso Muñoz y Jorge Ramió. La asignatura del TASSI es una asignatura de las que hacen que los alumnos puedan abrir la mente e ir un paso más allá hacia el mundo real, lo cual no es malo. En algunos momentos de la carrera debes abrir los ojos y ver que se cuece por el mundo de fuera, y esta asignatura creo que era una gran iniciativa. Hoy dejo el vídeo de la charla sobre "Cómo afrontar una auditoría interna en un proceso de hacking ético".



22 ago 2016

OSINT Framework: Lidera tu revolución sabiendo dónde encontrar la información

Hace unos meses llevé a cabo una pequeña investigación dónde pude observar lo fácil que sería para los malos aprovecharse de las fuentes abiertas para tomar el control de máquinas, a través de la explotación de vulnerabilidades conocidas. ¿Cómo obtener la relación vulnerabilidad – máquina? Fácil, el secreto está en el OSINT. Fuentes como scans.io proporcionan los resultados de escaneos semanales a diferentes puertos en todo el espacio de direccionamiento IPv4, por lo que si conocemos vulnerabilidades de ciertas versiones de software, tenemos toda la información necesaria y cruzada.



Mis compañeros Rafa y Fran han creado MrLooquer, el cual es un servicio para generar intelligence en IPv6. Un servicio orientado al descubrimiento de direcciones IPv6 y servicios que ejecutan sobre éstas. Esto provoca que MrLooquer sea una fuente de información, la cual con un trabajo similar al realizado en mi trabajo sobre IPv6 se podrían lograr resultados sorprendentes. 

En el artículo de hoy hablaré sobre OSINT Framework. Es un recurso bastante interesante para llevar a cabo búsquedas de fuentes de información abiertas. La clasificación sobre diferentes temáticas y objetivos de la información propuesta es muy grande y puede dar muchas ideas sobre diferentes investigaciones partiendo del campo OSINT. Además, conocer los diferentes recursos que propone OSINT Framework es importante para un pentester, ya que puede involucrar OSINT Framework en la etapa de Footprinting. 

Observando el árbol que OSINT Framework proporciona al usuario podemos ver cómo existe una clasificación que comienza orientada a la persona. Si pinchamos en cada nodo se desplegarán los sitios dónde se podrá acceder a la información. 


La búsqueda de usuarios, la búsqueda de direcciones de correo electrónico, direcciones IP, recursos multimedia o perfiles en redes sociales son casos típicos de OSINT. He descubierto un gran número de recursos y fuentes gracias a esta recopilación que hace OSINT Framework. Como ejemplo sencillo podemos encontrar en la categoría “Email Address”, la rama Breach Data. Aquí encontramos dos recursos, aunque podríamos sumar sitios como haveibeenpwned o hesidohackeado.

Las categorías de nombres de dominio y direcciones IP proporcionan sitios dónde el usuario podrá obtener gran cantidad de información. Por ejemplo, en el caso de las direcciones IP podemos ver como existen fuentes de información sobre reputación, geolocalización, puertos abiertos, direccionamiento IPv4 e IPv6, incluso, mapas de redes wireless. En el caso de “Cómo los malos pueden conquistar el mundo” una fuente de información como scans.io podría encajar en la subcategoría “Open Ports” de “IP Address”. 


En el caso de los nombres de dominio tenemos otras subcategorías interesantes y que proporciona información sobre los dominios. Por ejemplo, el Whois, todo un clásico, la reputación de los dominios, subdominios almacenados de los propios dominios, etcétera. Uno que me llama la atención es la subcategoría “vulnerabilities” dónde encontramos sitios como Shodan, Zone-H o XSSPosed. 


Otra categoría que puede proporcionar mucho juego son las redes sociales. Solo con Facebook y Twitter tenemos diferentes funcionalidades y fuentes de información disponibles, en función de lo que se quiera en cada momento. Por ejemplo, en Facebook tenemos la posibilidad de buscar desde fotografías, cuentas, archivos, personas a través del directorio de personas de Facebook. En el caso de Twitter, la posibilidad de buscar patrones, usuarios, localizaciones y geolocalizaciones, etcétera, hacen que se pueda extraer gran cantidad de información a través de estos sitios.


La parte inferior del árbol clasifica las fuentes de información más orientada a contenidos no personales. En otras palabras, podemos encontrar fuentes de información orientadas a vulnerabilidades, OpSec, análisis de malware, análisis de código, metadatos, foros o máquinas del tiempo como Archive. 

Al ver la parte de “Exploits & Advisories” me vino a la mente la parte para localizar exploits públicos con la que tuve que trabajar en “Cómo los malos pueden conquistar el mundo”. La categoría “Code Search” presenta sitios que permiten realizar búsquedas en millones de líneas de código, pudiendo realizar búsquedas de código de empresas, proyectos, funciones inseguras como hacía OSB Rastreator o Gitrob. Gitrob se encuentra entre las herramientas que se recomienda en “Code Search”. 


Otra categoría realmente interesante y que puede ayudar a muchos a lograr encauzar investigaciones interesantes es la de “Malicious File Analysis”. Existen cuatro subcategorías como son las fuentes de análisis de host automatizado, ficheros ofimáticos, PDFs o PCAPs. 


Como se refleja en el sitio web de OSINT Framework el mundo de OSINT es muy grande, y realmente podemos tener fuentes abiertas de cualquier tipo. Lo único que importa es cómo procesemos esa información y la inteligencia que le aportemos. ¿Estás pensando en llevar algún tipo de investigación tomando como punto de partido un gran volumen de información público? El punto de partida puede encontrarse en este interesante recurso llamado OSINT Framework.

21 ago 2016

Informe Flu - 267



Buenas a todos, como cada semana os traemos nuestros enlaces de la semana :)
 
Lunes 15 de Agosto
Miércoles 17 de Agosto
    Viernes 19 de Agosto
    Saludos!

      19 ago 2016

      Mimikittenz: Extrae información jugosa de tu memoria RAM con #Powershell

      En los últimos meses hemos hablado bastante sobre debilidades en la memoria RAM y la información que podemos encontrar en ella. Echando la vista atrás podemos encontrar “Cómo sacar la contraseña de Gmail de la memoria del proceso de Firefox utilizando Metasploit”, “Cómo proteger tu password cuando está en memoria RAM” o “Cómo volcar credenciales del proceso KeePass con Meterpreter”.  Esta serie de artículos nos dio para aprender y pensar que la memoria RAM es un entorno muy volátil, pero a la par bastante inseguro por naturaleza. La fase de post-explotación, a día de hoy, tiene un punto marcado a fuego dónde debemos verificar que no podemos extraer identidades digitales de la memoria RAM. 


      Hace no más de una semana se ha liberado una herramienta llamada Mimikittez, la cual es un script de Powershell, que se encarga de leer diferentes procesos, que podemos definir, y lanzar expresiones regulares en busca de leaks con contraseñas y usuarios. El script es potente, ya que podríamos utilizarlo a través de una sesión de Metasploit con el payload de Powershell, y poder aprovecharnos en remoto de esta característica. No hay que olvidar a Netripper que también nos permite, a través de Powershell, hookear procesos e interceptar, antes de que sea cifrado, el contenido de la comunicación.

      Mimikittenz es una herramienta de post-explotación dónde se utiliza la función ReadProcessMemory() para extraer las credenciales en texto plano de varios procesos. La herramienta también puede extraer otro tipo de información definida como jugosa de otros procesos. Además, la herramienta no está atada a ser ejecutada con privilegios de administrador, se puede utilizar desde un contexto de usuario, siempre y cuando los procesos sean del usuario en cuestión.

      Mimikittenz presenta una estructura interesante y extensible gracias a dos funciones: AddRegex e InspectManyProcs. La primera permite que, con un poco de maña, manipulemos el script con el objetivo de añadir expresiones regulares con las que matchear información en el análisis del proceso. Viendo el código [mimikittenz.MemProcInspector]::AddRegex("<NameOfTarget>","<regex_here>") encontramos esta función. De forma sencilla podemos añadir expresiones regulares para realizar las búsquedas en los procesos. Si observamos el código de Powershell que presenta el script encontramos lo siguiente: [mimikittenz.MemProcInspector]::InspectManyProcs("iexplore","chrome","firefox"). Es realmente sencillo añadir procesos que deben ser inspeccionados en busca de las expresiones regulares que configuremos. 

      Echando un ojo a la ejecución de Mimikittenz vemos como se mostraría la información tras una ejecución del script en la máquina. El script va abriendo los diferentes procesos indicados anteriormente y leyendo de ellos el contenido en memoria RAM. En ese momento se van pasando las diferentes expresiones regulares en busca de coincidencias. En el caso de encontrar un match se almacena el valor para ser, posteriormente, mostrado.


      Es una herramienta de post-explotación bastante interesante y que automatiza el proceso de mirar dentro de la memoria en busca de leaks de información sensible por parte de las aplicaciones. Para el caso del gestor KeePass se podría realizar una serie de expresiones regulares con la intención de obtener la información sensible de la memoria. 

      A modo de ejemplo, se añade una nueva expresión regular en el script de Mimikittenz. Como se puede ver es muy sencillo de añadir. La expresión regular funcionaría para el sitio web de “El Otro Lado”, pero también para otros muchos dónde se encontrara un parámetro denominado password seguido del signo “=” y con diversos caracteres después. En la siguiente imagen se puede ver cómo queda el código.


      Actualmente, ya comenté que lleva apenas 8 o 9 días en Github, la herramienta permite extraer credenciales de memoria RAM de diferentes servicios. La herramienta los agrupa por categorías, las cuales enumero a continuación:

      Webmail. Encontramos expresiones regulares para extraer credenciales de Gmail, Office 365 u Outlook Web.
      Accounting. Xero y MYOB.
      Acceso remoto. Tenemos disponibles expresiones regulares para Juniper SSL-VPN, Citrix NetScaler o Remote Desktop Web Access 2012. 
      Desarrollo y seguimiento. Expresiones regulares para Jira, Github, Bugzilla, Zendesk o Cpanel.
      En miscelánea nos encontramos con expresiones regulares para Malwr, VirusTotal, AnubisLabs, 

      Dropbox, Microsoft Onedrive, AWS Web Services, Slack, Twitter o Facebook.
      En el caso de la expresión regular añadida para El Otro Lado podemos ver como en la siguiente captura del navegador nos la encontramos. Otra variación sencilla de la herramienta es que permita leer capturas ya realizadas y sacar el máximo provecho al forense de RAM, por lo que es una posibilidad muy interesante.


      El potencial del script es alto, y lo que más me ha gustado es que es muy personalizable y de forma muy sencilla. Herramienta necesaria para nuestra mochila en la fase de post-explotación de sistemas Windows por dónde vayamos accediendo en la auditoria. Veremos a muchos pentesters llevando a Mimikittenz en su mochila alineada con nuestro Meterpreter para sacar el máximo provecho al “lateral movement”.

      15 ago 2016

      Eventos que no te debes perder [Agosto-Septiembre]

      El verano va pasando y pronto en el panorama nacional habrán diferentes eventos de seguridad. Todos estamos recargando pilas y es que lo que viene en este final de año es mucho, así que prepararos. Comenzamos el Tour con la Tomatina CON a finales de Agosto, exactamente el 29 y 30 de Agosto en Buñol. Tendré la ocasión de compartir evento con Josep Albors, Eduardo Sánchez o Rafa Otal. Evento gratuito


      La siguiente parada vuelve a ser Valencia el próximo 9 de Septiembre en Rooted Satellite Valencia. El día 9 impartiré el taller sobre Hacking Ético, mientras que el sábado 10 de Septiembre impartiré una charla denominada "PSBot: No tools, but no problem! With Powershell". En Rooted Valencia habrá investigadores como Alejandro Ramos, Ramón Pinuaga, Jordi Ubach, Elías Grande, Juan Grande o Fernando Perera.

      La siguiente parada será Qurtuba CON en Córdoba, el día 17 de Septiembre. Charlas, talleres y networking de la mano de este congreso que llega a su segunda edición. Ponentes del mundo de la seguridad informática, junto a otros ponentes del mundo del derecho y la legalidad juntos en un congreso. Congreso con toque distinto. Tendré la oportunidad de impartir taller junto a Carlos García, "Pokemon Red VS Blue: Can u catch the red team?"


      Para finalizar el mes de Septiembre llega una nueva edición de Navaja Negra, uno de los eventos más importantes del panorama nacional. Un evento especial, el cual seguirá siendo diferente por la forma de llevarse a cabo. Aún no tenemos agenda de Navaja Negra, tendremos que esperar a Septiembre.


      Como ves hay diferentes eventos, de distintos tipos y para todos los públicos a lo largo del territorio nacional. Si puedes no dudes en pasarte por alguno de ellos y disfrutar de las charlas, talleres y el networking con la gente.

      12 ago 2016

      Got Root: El poder de la mente

      A mediados de Junio de 2016 tuve el honor de poder publicar una primera novela de la mano de Felipe Colorado. Got Root: El poder de la mente es un psico-thriller dónde el hacking y la seguridad informática es el eje central y elemento diferenciador en la historia. Ha sido una experiencia gratificante el poder escribir una historia dónde el poder de la mente es fundamental, crear personajes, crear historias y obtener un resultado gratificante, por las críticas recibidas. 

      Coque es un joven dedicado a la seguridad informática que comienza a visitar a una psicóloga. Existen ciertos problemas para recordar parte de su vida meses atrás. El viaje que Coque y Antonella emprenden a través de los recuerdos y experiencias de éste les llevarán a tener aventuras a través del misterioso poder de la mente. El hacking viajará con Coque en todo momento, recordando y actuando en función de sus necesidades. ¿Qué hay detrás de Got Root? ¿Estás preparado?


      9 ago 2016

      Rooted Satellite Valencia 2016 (9 y 10 septiembre): Taller de Hacking Ético

      El próximo 9 y 10 de Septiembre se celebrará la tercera edición de Rooted CON Valencia. Tercer año consecutivo dónde los chico de Rooted se situarán en Valencia para llevar a todos el mundo de la seguridad informática. Si necesitas más información sobre el taller puedes ponerte en contacto con la gente de rooted en info@rootedcon.com.

      En esta ocasión la Rooted tendrá el día 9 de Septiembre un taller, el cual tengo el orgullo de llevar a cabo, en el que se tratarán los aspectos fundamentales del hacking ético. En este training, orientado a la práctica del hacking, podrás introducirte y sentar bases en los tipos de auditoias, en la forma de trabajo, en cómo llevar a cabo auditorías y como se debe presentar los resultados de éstas. El alumno obtendrá una visión global del hacking ético, profundizando en ciertas partes prácticas de auditorias. ¿A quién va dirigido?
      • Profesionales del sector de la seguridad informática. 
      • Estudiantes.
      • Administradores de sistemas y redes.
      • Desarrolladores que quieren mejorar su perfil.
      • Cuerpos y fuerzas de seguridad del estado.
      • Docentes.
      ¿Qué veremos?


      Introducción
      • Tipos de auditorías
      • Hacking ético: la ética
      – Ley de Hacking
      • Estándares y modelos
      – Metodologías
      – Vulnerabilidades
      – Evaluación

      Metodología de trabajo
      – RFP
      – Equipo
      – Proyecto
      – Fases
      – Comunicación
      – Documentación

      ¿Cómo publicar una vulnerabilidad?
      – CVE
      – Detalles
      – Ejemplo

      Auditorías (I)
      – Auditoría interna
      • Pruebas
      • Escenario inicial
      • Identificación de servicio, entorno y límites
      • Obtención de los primeros datos de interés
      – Ataques redes (ARP Spoof, DNS Spoof, MiTM)
      – Ataques redes modernos (SSL Strip+, Delorean…)
      • Explotación de sistemas
      – Exploits (Local, Remote)
      • Técnicas de movimiento lateral (Lateral Movement - PtH & Pivoting)

      Auditorías (II)
      – Ethical Hacking: Otras auditorías y pruebas de un RFP
      • APT: Simulación
      – ¿Qué es el APT?
      – Pruebas
      – ¿Cómo llevarlo a cabo con un porcentaje alto de éxito?

      Informe y medidas correctoras
      – Tipos de informe
      – Generación y partes de un informe
      – Plantillas
      – Recomendaciones genéricas y específicas del auditor


      Precio estándar: 70€
      Precio con descuento: 55€ Para optar al descuento tienes que estar registrado en la conferencia. Por favor utiliza el mismo correo electrónico que utilizaste en el registro
      Fecha de inicio: 9 de Septiembre de 2016
      Fecha de finalización: 9 de Septiembre de 2016
      Duración: 8 horas
      Idioma del curso: Español

      8 ago 2016

      Shadow Copy View de Nirsoft

      Buenas a todos, en los últimos años cryptolocker ha sido una de las principales amenazas que han sufrido, y sufren diariamente, organizaciones y particulares. De este ransomware os hemos hablado en anteriores ocasiones; y por suerte, existen algunas posibilidades para recuperar los archivos cifrados; una de ellas son las Shadow Copies de Windows, que permiten recuperar los archivos originales en su estado anterior al cifrado.


      A continuación os dejamos con un artículo muy bueno de GuillermoD que habla de esta interesante caracteristica de Windows para los que no estéis familiarizados con ella:




      Recientemente, Nirsoft ha publicado una nueva herramienta para Windows Vista en adelante, denominada Shadow Copy View, que enumera las instantáneas creadas. Cada instantánea contiene las versiones anteriores de los archivos y carpetas desde la fecha en que se crearon, permitiendo navegar y copiarlas en otra carpeta. Lo cual os permitirá de una manera muy cómoda comprobar si un archivo cifrado cuenta con una copia que se puede restaurar con esta característica.

      A continuación os dejamos con una captura de pantalla de la herramienta:



      La herramienta la podéis descargar desde el siguiente enlace:


      Os dejo a continuación otro interesante enlace de Microsoft sobre el funcionamiento de Shadow Copies:


      Saludos!

      7 ago 2016

      Informe Flu - 265



      Buenas a todos, como cada semana os traemos nuestros enlaces de la semana :)
       
      Lunes 1 de Agosto
      • El lunes iniciamos la semana con el artículo HTTPoxy: 15 años de exposición. Esta semana hemos tenido un nuevo caso de vulnerabilidad mediática. HTTPoxy fue detectada por primera vez hace 15 años, por lo que no podemos decir que sea nueva, pero sí que es hoy cuando se ha tomado realmente en serio. El problema es profundo, ya que se encuentra en librerías de código que son utilizadas para realizar peticiones HTTP dentro de una aplicación. En el caso de HTTPoxy todas las conexiones podrían ser espiadas y modificadas [...]
        Jueves 4 de Agosto
        • El jueves os hablamos de SimpleEmailSpoofer y SpoofCheck: Herramientas que agilizan el Email Spoofing. El email spoofing es una técnica muy antigua utilizada para engañar a un usuario haciéndole creer que está recibiendo un correo electrónico de una persona concreta, cuando esto no es así. Es decir, un usuario suplanta la identidad de otro e intenta hacer un mensaje lo más creíble posible. En muchos procesos de hacking ético se debe llevar a cabo este tipo de pruebas para verificar varias cosas, por ejemplo que un conjunto X de empleados están concienciados y no caerán ante este tipo de práctica, aunque en algunas ocasiones es muy difícil no caer, y, por otro lado, verificar la correcta configuración de mecanismos como SPF, DKIM, DMARC, etcétera. El jueves os hablamos de un par de herramientas escritas en Python que pueden ser utilizadas en nuestros procesos de Ethical Hacking y que permiten comprobar si  un dominio es spoofeable y, por lo tanto, con la herramienta SimpleEmailSpoofer se puede enviar un correo electrónico falso que permita engañar a la víctima [...]

        Saludos!

          4 ago 2016

          SimpleEmailSpoofer y SpoofCheck: Herramientas que agilizan el Email Spoofing

          El email spoofing es una técnica muy antigua utilizada para engañar a un usuario haciéndole creer que está recibiendo un correo electrónico de una persona concreta, cuando esto no es así. Es decir, un usuario suplanta la identidad de otro e intenta hacer un mensaje lo más creíble posible. En muchos procesos de hacking ético se debe llevar a cabo este tipo de pruebas para verificar varias cosas, por ejemplo que un conjunto X de empleados están concienciados y no caerán ante este tipo de práctica, aunque en algunas ocasiones es muy difícil no caer, y, por otro lado, verificar la correcta configuración de mecanismos como SPF, DKIM, DMARC, etcétera.

          Hoy hablaremos de un par de herramientas escritas en Python que pueden ser utilizadas en nuestros procesos de Ethical Hacking y que permiten comprobar si  un dominio es spoofeable y, por lo tanto, con la herramienta SimpleEmailSpoofer se puede enviar un correo electrónico falso que permita engañar a la víctima. 

          De este par de herramientas la que realmente he visto más útil, quizá por sencillez es la de SpoofCheck. Esta herramienta permite verificar una serie de condiciones para demostrar si un dominio es spoofeable o no. Es decir, la herramienta nos dirá si el dominio que se quiere suplantar es, probablemente, spoofeable o, si por el contrario, deberíamos buscar otro tipo de vía. Por otro lado, la herramienta SimpleEmailSpoofer es un script escrito en Python que se encarga de conectar con Postfix y llevar a cabo el envío del email, con los parámetros y atributos que le indiquemos a la aplicación.

          Instalación

          La instalación o descarga de estas aplicaciones es muy sencilla. Directamente se pueden obtener desde sus repositorios de Github. En el caso de SimpleEmailSpoofer se puede obtener en este repositorio de Github, mientras que SpoofCheck desde otro repositorio de Github. Una vez descargadas ambas herramientas con el comando git clone, por ejemplo, se debe instalar las dependencias que éstas tienen. La ejecución del comando pip install –r requirements.txt se debe llevar a cabo. 

          SpoofCheck

          ¿Cuándo un dominio es spoofeable? La herramienta SpoofCheck se encarga de ir comprobando una serie de condiciones. A continuación podemos ver las condiciones que se evalúan para verificar si un dominio es spoofeable o no:
          Ausencia del registro SPF o DMARC.
          El registro SPF del DNS del dominio no especifica ~all o –all.
          La política DMARC está configurada a p=none o no existe. 

          Viendo estas condiciones vamos a realizar algunas pruebas con dominios conocidos. En el primer ejemplo vamos a analizar apple.com. Como se puede ver en la siguiente imagen Apple dispone de un registro SPF habilitado y con política –all. Sin embargo, aunque existe registro DMARC, la política no se encuentra específica, por lo que dicho dominio es spoofeable. 


          Como segundo ejemplo vamos a realizar un análisis de Gmail y Outlook, como ejemplo de proveedores de correo electrónico gratuito más utilizados en el mundo. Tal y como se puede ver en la imagen ambos tienen de registro SPF, dónde se incluyen las direcciones IP o dominios que son utilizados por los servidores de correo electrónico autorizados. Ambos disponen de DMARC pero sin política aplicada, por lo que la aplicación SpoofCheck nos devuelve que son dominios spoofeables.


          Para el caso de Paypal observamos una grata sorpresa. No es spoofeable debido a que dispone de registro SPF con direcciones IP especificadas. Dispone de registro DMARC y, además, tiene una política de rechazo habilitada. Hay que recordar que Paypal tiene otros pequeños errores o debilidades, como la posibilidad de robar cuentas por el fallo del usuario al registrar un correo electrónico no real al crear su cuenta de Paypal.


          SimpleEmailSpoofer

          La herramienta SimpleEmailSpoofer es muy sencilla de configurar y ejecutar. Lo primero de todo es disponer de un archivo en el incluyamos el código HTML del body del correo. Para el ejemplo que se muestra a continuación se ha realizado un pequeño ejemplo de un correo de Apple. En el body se puede ver la carga de una imagen, la cual es la manzana de Apple. 

          Una vez generado el fichero se deben utilizar una serie de parámetros para poder enviar el correo electrónico. Antes de poder utilizar SimpleEmailSpoofer hay que estar seguros de Postfix se encuentra instalado en el sistema. En caso de no estar instalado, se debe ejecutar apt-get install postfix, y posteriormente service postfix start. 


          Se utilizan diferentes parámetros para indicar el archivo con el body del email, el email al que enviaremos el correo electrónico, el correo que se quiere spoofear y el nombre del usuario que envía el correo electrónico. Por último, el parámetro –j nos permite indicar el asunto con el que se enviará el correo. Si vemos el correo electrónico que nos llega vemos como podría pasar perfectamente por un correo real. 


          En conclusión, un par de herramientas útiles y que hay que tener en la mochila para nuestras auditorias y hacking éticos. Sobre todo herramientas como SpoofCheck, la cual permite inferir si un dominio será spoofeable y ver si tendremos éxito o no con la manipulación y creación de un correo electrónico falso en nuestra auditoria.

          1 ago 2016

          HTTPoxy: 15 años de exposición

          Esta semana hemos tenido un nuevo caso de vulnerabilidad mediática. HTTPoxy fue detectada por primera vez hace 15 años, por lo que no podemos decir que sea nueva, pero sí que es hoy cuando se ha tomado realmente en serio. El problema es profundo, ya que se encuentra en librerías de código que son utilizadas para realizar peticiones HTTP dentro de una aplicación. En el caso de HTTPoxy todas las conexiones podrían ser espiadas y modificadas. 

          HTTPoxy ha retomado el escenario a través de aplicaciones basadas en CGI, escritas en PHP, Python o Go. Han habilitado un Github dónde podemos encontrar diferentes pruebas de concepto, las cuales utilizan docker para montarlas, por lo que simplifica el escenario y aplicaciones a instalar.  

          La vulnerabilidad reside en cómo se procesan las cabeceras proxy. En el año 2001, el fallo fue identificado en curl, en el año 2012 en Ruby y en el año 2013 en Nginx. Esta vez les ha tocado el turno a los lenguajes PHP, Python y Go. La vulnerabilidad tiene un CVSS, en base score, de 8,1. Para mayor detalle se puede encontrar más información en los siguientes CVE:
          CVE-2016-5385, correspondiente a PHP.
          CVE-2016-5386, correspondiente a Go.
          CVE-2016-5387, correspondiente a Apache HTTP Server. 
          CVE-2016-1000110, correspondiente a Python.

          ¿Cómo funciona?

          Cuando un atacante quiere explotar la vulnerabilidad necesita forzar que las aplicaciones web del servidor se crean que el header que obtienen con valor Proxy es la nueva dirección del Proxy al que se tienen que conectar. En otras palabras, es un abuso de la cabecera proxy. Todo esto es provocado por un conflicto de nombres. 

          En otras palabras, si nosotros como clientes malintencionados del servidor enviamos una cabecera “Proxy”, puede suceder que algunas implementaciones CGI creen una variable de entorno HTTP_PROXY, lo cual provoca que se anule la variable real, la cual tiene el mismo nombre. Por esta razón decimos que la vulnerabilidad, realmente, es un conflicto de nombres. 


          Entonces, si sobrescribimos la variable de entorno HTTP_PROXY por una dirección bajo nuestro control podremos colocarnos en medio de la comunicación del servidor y cualquier punto con el que se comunique. Es decir, estamos realizando un Man in the Middle remoto. ¿Qué podemos hacer? En al PoC viene una pequeña demostración del robo de un Secret de una API, es decir, se muestra como se modifica el Proxy del servidor web en remoto y se consigue redirigir las peticiones que hace el servidor contra una API y capturamos el “secreto”. 

          Nuestra PoC

          Mi compañero Ioseba y yo montamos un entorno para probar esto y, posteriormente, añadir un plugin en nuestro sistema de pentesting persistente Faast para detectar esta vulnerabilidad. Como se dijo anteriormente utilizaremos docker para tener los contenedores de lo necesario. Para instalar docker solo tenemos que ejecutar apt-get install docker docker.io. Una vez tengamos instalado docker, debemos construir el dock. Para ello descargamos el código desde Github. Una vez tengamos descargado el código ejecutamos docker build -t fpm-guzzle-proxy, tal y como se puede ver en la imagen.


          Una vez se descarga y crea el dock debemos ejecutarlo. Para ello utilizamos la instrucción docker run -d -p 80:80 –name fpm-test-instance fpm-guzzle-proxy. La sentencia -p 80:80 nos indica el puerto externo de docker y con qué puerto interno se mapea, en ambos casos es el puerto 80. El resultado tras la ejecución se puede ver en la siguiente imagen.


          Ya tenemos el entorno vulnerable montado, por lo que vamos utilizar la herramienta curl para generar una petición al servidor web y aplicación montada. La instrucción es curl -H ‘Proxy: [ip]:[puerto]’ [ip del servidor]. Es muy sencillo de entender lo que estamos haciendo. Nosotros somos el cliente y le estamos diciendo al servidor web que el proxy es el que nos interese. Si la aplicación web es vulnerable ocurrirá lo comentado anteriormente, se sobrescribe la variable de entorno y cuando el servidor web realice peticiones la enviará al proxy, es decir, a nosotros en este caso.


          Para poder entender que todo esto está funcionando, hemos habilitado un netcat en el puerto 12345, que coincide con la dirección y puerto dónde le dijimos al servidor vulnerable que estaría su proxy. Como se puede ver en la imagen nos llega una petición POST dirigida a Facebook y que envía algo “secreto”. 


          Hemos modificado el código del cliente PHP que utiliza el servidor vulnerable, ya que como podéis ver en la imagen en los datos que se envían por POST aparece el parámetro ‘secret’. Para realmente ver los datos del POST, debemos cambiar el parámetro ‘secret’ por ‘body’, y posteriormente construir el dock y ejecutarlo de nuevo. Es un pequeño bug que tiene la prueba de concepto.


          La mitigación es obligada si eres vulnerable a HTTPoxy. Para llevar a cabo la mitigación se debe bloquear el uso de la cabecera Proxy cuanto antes. Como se ha visto es realmente sencillo caer en esta vulnerabilidad y el impacto y potencial de ésta es muy alto afectando a dos dimensiones de la seguridad como son la confidencialidad y la integridad de la información.

          ioseba palop
          pablo gonzález