Validar Direcciones de Correo Electrónico utilizando el Módulo recon/contacts-contacts/mailtester

Body

El módulo de nombre “recon/contacts-contacts/mailtester” incluido en la herramienta Recon-NG, permite validar direcciones de correo electrónico, utilizando el sitio web mailtester .com. Este sitio web permite ingresar también manualmente direcciones de correo electrónico a través de su interfaz web, de tal manera se verifica luego si la dirección de correo electrónico existe o si existe algún problema con esta. Se realizan una serie de verificaciones sobre la dirección de correo electrónico ingresada, pero no se envía ningún mensaje de correo electrónico hacia la esta.

Se procede a ejecutar la herramienta Recon-NG

# recon-ng

Se define la utilización del módulo, para luego mostrar su información.

> use recon/contacts-contacts/mailtester
> show info

Este módulo tiene dos opciones. La opción “REMOVE” eliminará las dirección de correo no válidas. Y la opción “SOURCE” define la fuente de entrada. Para los propósitos del presente ejemplo, será un archivo de nombre “emails.txt”, conteniendo las direcciones de correo electrónico a validar.

> set SOURCE /tmp/emails.txt
> show options

La ejecución del módulo realiza precisamente las acciones y validaciones requeridas. Pero se muestra también un mensaje el cual versa sobre las muchas peticiones realizadas desde la misma dirección IP. Esto de hecho es un mecanismo de seguridad implementado para evitar el abuso del servicio.

> run

Para el dominio en consulta se han validado cuatro direcciones de correo electrónico, antes el servicio proceda a bloquear posteriores consultas.

Adicionalmente es factible también realizar estas mismas consultas a través del sitio web.

La capacidad de validar direcciones de correo electrónico, permiten acciones nada benignas como el envío de correos maliciosos (phishing, malware, spam, etc), hasta utilizarlos para descubrir y enumerar potenciales nombres de usuarios válidos para otros servicios sobre la infraestructura de evaluación.

Fuentes:

https://bitbucket.org/LaNMaSteR53/recon-ng
http://www.mailtester.com/

Obtener Dominios desde el Registro PEN utilizando el Módulo recon/companies-domains/pen

Body

El módulo “recon/companies-domains/pen” incluido en la herramienta Recon-NG, permite dado un el nombre de una compañía o empresa, obtener un dominio desde la dirección de correo electrónico del contacto PEN (Private Enterprise Number) o Números Privados de Empresa de la IANA (Internet Assigned Numbers Authority), desde el registro PEN. El nombre de dominio es añadido a la tablas de nombre “domains” o “dominios” de Recon-NG.

Se inicia la herramienta Recon-NG

# recon-ng

Se le indica a la herramienta la utilización del módulo, para luego solicitar información del mismo.

> use recon/companies-domains/pen
> show info

Existe únicamente una opción requerida de nombre “SOURCE”. El cual contendrá el nombre de la compañía sobre la cual se ejecuta el módulo.

> show options
> set SOURCE reuters

Se procede a ejecutar el módulo

> run
> show domains

Finalizada la ejecución del módulo, se visualiza la obtención de dos dominios para el nombre de la compañía definida. Estos dos nombres de dominio están directamente relacionados con la infraestructura en evaluación.

Recon-NG también almacena la información obtenida en una base de datos, razón por la cual es factible consultar algunas tablas, como aquella de nombre “domains”, donde reside la información obtenida por el módulo utilizado.

https://bitbucket.org/LaNMaSteR53/recon-ng
https://pen.iana.org/pen/PenApplication.page
http://www.reydes.com/d/?q=Obtener_Contactos_desde_el_Registro_PEN_util…

Obtener Contactos desde el Registro PEN utilizando el Módulo recon/companies-contacts/pen

Body

El módulo “recon/companies-contacts/pen” incluido en la herramienta Recon-NG, permite dado un el nombre de una compañía o empresa, obtener los contactos PEN (Private Enterprise Number) o Números Privados de Empresa de la IANA (Internet Assigned Numbers Authority), desde el registro PEN. El nombre completo del contacto y su dirección de correo electrónico, son luego añadidas hacia la tabla de nombre “contacts” o “contactos” de Recon-NG.

Se inicia la herramienta Recon-NG.

# recon-ng

Se indica la utilización del módulo, para luego mostrar información sobre el mismo.

> use recon/companies-contacts/pen
> show info

Se puede visualizar existe únicamente una opción requerida de nombre “SOURCE”. El cual debe contener el nombre de la compañía sobre el cual se ejecuta el módulo.

> show options
> set SOURCE reuters

Se ejecuta el módulo.

> run
> show contacts

El módulo obtiene tres contactos para el nombre de la compañía definida. Nótese como estos corresponden a más de un dominio, para el caso de las direcciones de correo electrónico.

Recon-NG almacena también esta información en una base de datos, razón por la cual es factible consultar ciertas tablas, como aquella de nombre “contacts”, donde se almacena la información obtenida para este módulo.

Fuentes:

https://bitbucket.org/LaNMaSteR53/recon-ng
https://pen.iana.org/pen/PenApplication.page

Conocer si un Servidor es un Honeypot desde Shodan utilizando el Módulo auxiliary/gather/shodan_honeyscore

Body

El módulo “auxiliary/gather/shodan_honeyscore” incluido en Metasploit Framework, utiliza el API (Application Programming Interface) de Shodan, para verificar si un servidor es un HoneyPot o no. Un Honeypot es un mecanismo configurado para detectar, desviar, o de alguna contrarrestar los intentos de uso no autorizado de los sistemas El API devuelve una puntuación desde 0.0 hasta 1.0, para el host en evaluación. Es necesario configurar la llave API de Shodan para este módulo funcione adecuadamente. Si no se tiene una llave API se puede optar por crear una cuenta libre en Shodan.

Se inicia Metasploit Framework

# msfconsole

Se solicita al Framework información sobre el módulo

> info auxiliary/gather/shodan_honeyscore

Se indica la utilización del módulo, para luego mostrar su opciones disponibles.

> use auxiliary/gather/shodan_honeyscore

Este módulo requiere definir la llave API de Shodan, y la dirección IP o dominio a evaluar.

> set SHODAN_APIKEY uaseqb12dbqu9d13bc
> set TARGET 103.21.130.2
> run

Para este primer ejemplo, la puntuación obtenida es de 0.0 de 1.0. Consecuentemente según los criterios de Shodan no es un Honeypot.

Se realizan dos pruebas más.

> set TARGET 212.47.227.164
> run
> set TARGET 141.92.130.230
> run

De los resultados obtenidos, uno de ellos alcanza una puntuación de 0.3 de 1.0. Consecuentemente según los criterios de Shodan este probablemente no sea un Honeypot.

Estas consultas también pueden ser realizadas directamente desde el sitio web de Shodan, donde se explica al detalle su funcionamiento.

Las características definitorias de los Honeypots conocidos, fueron extraídos y analizados para crear una herramienta la cual permita identificar Honeypots. La probabilidad de una dirección IP sea un Honeypot es capturada en un valor “Honeysore”, el cual varía desde 0.0 hasta 1.0.

Fuente:

https://www.rapid7.com/db/modules/auxiliary/gather/shodan_honeyscore
https://en.wikipedia.org/wiki/Honeypot_(computing)
https://www.shodan.io/
https://honeyscore.shodan.io/

Recolectar Subdominios desde Motores de Búsqueda utilizando el Módulo auxiliary/gather/searchengine_subdomains_collector

Body

El módulo “auxiliary/gather/searchengine_subdomains_collector” incluido en Metasploit Framework, puede ser utilizado para obtener subdominios en base a un dominio definido, a través de motores de búsqueda como Bing o Yahoo. Para los objetivos de un procedimiento relacionado a hacking ético o pruebas de penetración, encontrar otros subdominios de un dominio bajo evaluación, permitiría encontrar otros potenciales puntos de evaluación, pues estos subdominios podrían hospedar servicios o aplicaciones web vulnerables, o conteniendo otro tipo de vulnerabilidades, lo cual potencialmente también podría permitir su explotación exitosa.

Se inicia la consola de Metasploit Framework

# service postgresql start
# msfconsole

Se solicita información sobre el módulo.

> info auxiliary/gather/searchengine_subdomains_collector

Se define la utilización del módulo, para luego mostrar sus opciones.
> use auxiliary/gather/searchengine_subdomains_collector
> show options

La única opción requerida a definir es el dominio del cual se requieren obtener sus subdominios. Para este ejemplo se utiliza el dominio correspondiente a una agencia de noticias internacional.

> set TARGET reuters.com
> run

Este procedimiento demanda varios minutos en finalizar. Recordar esto depende del dominio a evaluar, y la información la cual sea recopilada por el módulo.

En total el módulo obtuvo once subdominios desde los buscadores Bing y Yahoo. Considerar la no inclusión de Google. Mencionar la existencia de otras herramientas como TheHarvester, la cual puede utilizar Google para obtener subdominios.

Fuentes:

https://www.rapid7.com/db/modules/auxiliary/gather/searchengine_subdoma…
https://github.com/laramies/theHarvester

Obtener Direcciones de Correo Electrónico utilizando el Módulo auxiliary/gather/search_email_collector

Body

El módulo “auxiliary/gather/search_email_collector” incluido en Metasploit Framework, utiliza los motores de búsqueda Google, Bing y Yahoo, para crear un listado de direcciones de correos electrónicos válidos para un dominio definido. La obtención de direcciones de correos electrónicos tiene diversas aplicaciones, desde SPAM hasta Pruebas de Penetración y Hacking Ético. Desde esta última perspectiva, esta información puede ser utilizada para obtener nombres de usuarios válidos a partir de la dirección de correo electrónico, o utilizarlas para realizar diversos ataques de ingeniería social contra los propietarios de dichas cuentas.

Se inicia Metasploit Framework

# msfconsole

Se solicita información sobre el módulo

> info auxiliary/gather/search_email_collector

Se indica al Framework utilizar el módulo, para luego mostrar sus opciones disponibles.

> use auxiliary/gather/search_email_collector
> show options

El módulo requiere únicamente la definición del dominio sobre el cual se realizará la búsqueda en Google, Bing, y Yahho, para en caso se encuentren direcciones de correo electrónicos válidos, estos sean mostrados en pantalla o guardados hacia un archivo.

Para todos los ejemplos a continuación presentados se utilizarán dominios correspondientes a agencias de noticias internacionales.

> set DOMAIN reuters.com
> run

El resultado es únicamente una dirección de correo electrónico.

Para el segundo dominio se obtiene también únicamente una dirección de correo electrónicos

> set DOMAIN afp.com
> run

Para el tercer dominio consulta se obtienen cuatro direcciones de correo electrónico.

> set DOMAIN thomsonreuters.com
> run

De hecho estos resultados varían de acuerdo al dominio en consulta. Mencionar adicionalmente la existencia de otras herramientas las cuales obtienen mejores resultados, como “TheHarvester”.

Fuentes:

https://www.rapid7.com/products/metasploit/
https://github.com/laramies/theHarvester

Obtener los Autores de Documentos PDF utilizando el Módulo auxiliary/gather/http_pdf_authors

Body

El módulo “auxiliary/gather/http_pdf_authors” de Metasploit Framework, descarga documentos PDF, para luego extraer el nombre del autor desde los metadatos del documento. Los metadatos significan “datos sobre datos”. Los metadatos se definen como datos proporcionando información sobre uno o más aspectos de los datos; es utilizado para resumir información básica sobre datos los cuales pueden hacer el rastreo y trabajo con un dato específico más fácil.

Se inicia la ejecución de Metasploit Frework

# service postgresql start
# msfconsole

Se solicita al Framework información sobre el módulo.

> info auxiliary/gather/http_pdf_authors

Se define la utilización del módulo y se muestran sus opciones factibles de ser definidas.

> use auxiliary/gather/http_pdf_authors
> show options

Este módulo espera sea proporcionada una URL utilizando la opción “URL”. Alternativamente, pueden ser proporcionadas múltiples URLs definiendo la ruta hacia un archivo conteniendo una lista de URLs, utilizando la opción “URL_LIST”. La opción “URL_TYPE” es utilizada para especificar el tipo de URLs proporcionadas. Especificando “pdf” para “URL_TYPE”, el módulo tratará la URL especificada como documentos PDF.

Se procede a realizar dos ejemplos, utilizando enlaces hacia archivos PDF correspondientes al sitio web de una agencia de noticias internacional. Para el primer ejemplo se define la URL donde se localiza el archivo PDF, y también se define el Tipo de URL.

> set URL https:// www.afp.com/ communication/chartes/ 12_april_2016_afp_ethic_final.pdf
> set URL_TYPE pdf
> run

Para el segundo ejemplo únicamente se define la URL.

> set URL https:// ww.afp.com/sites/ default/files/dpafpipadarabe040612_esp.pdf
> run

En ambos casos el módulo obtuvo a los autores de los documentos PDF analizados.
Adicionalmente, especificando “html” para “URL_TYPE”, el módulo tratará la URL especificada como páginas HTML. Este módulo recorrerá los las páginas por enlaces hacia documentos PDF, descargará los documentos PDF; y extraerá los nombres de los autores desde los metadatos del documento.

De hecho existen herramientas las cuales obtienen una mayor cantidad de metadatos, como exiftool. Esta herramienta es capaz de analizar una gran diversidad de tipos de archivos en busca de metadatos.

Fuente:

https://www.rapid7.com/db/modules/auxiliary/gather/http_pdf_authors
https://en.wikipedia.org/wiki/Metadata
https://sno.phy.queensu.ca/~phil/exiftool/

Descubrir la Dirección IP Externa utilizando el Módulo auxiliary/gather/external_ip

Body

El módulo “auxiliary/gather/external_ip” de Metasploit Framework, verifica por la dirección IP pública origen de la ruta actual hacia lo definido en la opción “RHOST”, consultando una aplicación web pública en “ifconfig.me”. Esta herramienta muestra información sobre la conexión de Internet, siendo también útil si se está detrás de un NAT (Network Address Translation), o por su traducción al idioma español “Traducción para Direcciones de Red”. Mencionar adicionalmente este servicio no está afiliado con Metasploit.

Se procede a iniciar la consola de Metasploit Framework

# msfconsole

Se solicita a Metasploit Framework información sobre el módulo.

> info auxiliary/gather/external_ip

Se define la utilización del módulo, para luego mostrar sus opciones.

> use auxiliary/gather/external_ip
> show options

Para este ejemplo no se realiza ninguna modificación en los valores definidos por defecto correspondientes a las opciones del módulo.

> run

Los resultados exponen la dirección IP versión 4 pública del origen. Esta información también puede ser corroborada con cualquier servicio en línea públicamente disponible.

Adicionalmente el comando “curl” también puede obtener esta información.

# curl -v ifconfig.me

Fuentes:

https://www.rapid7.com/db/modules/auxiliary/gather/external_ip
https://www.ifconfig.me/
https://curl.haxx.se/

Obtener Información de un Cliente HTTP utilizando el Módulo auxiliary/gather/browser_info

Body

El módulo de nombre “auxiliary/gather/browser_info” incluido en Metasploit Framework, obtiene o captura información sobre el navegador web, lo cual para propósitos de una explotación podría considerarse de interés, como el nombre del sistema operativo, la versión del navegador web, plugins, etc. Por defecto, este módulo devolverá una página 404 falsa. Pero es factible también personalizar esto cambiando la opción pertinente, y redireccionar hacia una página externa.

Se inicia la consola de Metasploit Framework

Una vez iniciado Metasploit Framework, se solicita la información detallada del módulo.

> info auxiliary/gather/browser_info

Se define la utilización del módulo para luego mostrar las opciones disponibles. Posteriormente se definen las opciones pertinentes. La dirección IP corresponde en este escenario a Kali Linux (la máquina del atacante).

> use auxiliary/gather/browser_info
> show options
> set SRVHOST 192.168.0.78
> set SRVPORT 80
> set URIPATH /

Se indica al Metasploit Framework la ejecución del módulo.

> run

Para analizar el tipo de información factible de ser obtenida utilizando este módulo, se establecen tres diferentes conexiones utilizando tres diferentes navegadores web sobre el mismo sistema operativo. El primero es el navegador Intenet Explorer sobre un sistema operativo Windows.

Para el siguiente ejemplo se utiliza un navegador Firefox sobre un sistema operativo Windows.

Y finalmente se utiliza un navegador Chrome sobre un sistema operativo Windows.

Entre la información obtenida desde los tres diferentes navegadores web se enumera lo siguiente; el tipo de navegador web, la versión del navegador web, la arquitectura del sistema, el tipo y versión del sistema operativo, el lenguaje, plugins activos, etc.

Mencionar adicionalmente la información entregada por el navegador web podría ser falsificada modificando la cabecera “User-Agent”.

Fuente:

https://github.com/rapid7/metasploit-framework/
https://www.rapid7.com/db/modules/auxiliary/gather/browser_info

Intentar Romper Remotamente Hashes de Contraseñas en Windows utilizando Armitage

Body

Armitage es una herramienta de colaboración para “equipos rojos” o “Red Team”, la cual utiliza Metasploit Framework para visualizar los sistemas en evaluación, recomendar códigos para la explotación o “exploits”, y exponer las características avanzadas para la explotación posterior o post-exploitación disponibles en Metasploit Framework.

Habiendo explotado exitosamente un Host Windows, y consecuentemente obtenidos los privilegios requeridos para realizar un volcado de los hashes de las contraseñas. Se procede a utilizar el módulo de nombre “windows/gather/hashdump”. La nueva ventana requiere ingresar el número de sesión sobre el cual se ejecutará este módulo.

Terminada la ejecución de módulo se presenta en el panel inferior de Armitage, una nueva pestaña con el nombre del módulo ejecutado, así mismo los hashes de las contraseñas del sistema Windows.

Se selecciona la opción “View -> Credentials” ubicado en el menú superior.

En el panel inferior de Armitage se presenta una nueva ventana de nombre “Credentials” o “Credenciales”, en la cual se visualizan columnas conteniendo información sobre los usuarios, hashes de sus contraseñas, y el host al cual pertenecen.

En la parte inferior existen diversos botones. Se procede a hacer clic en el botón de nombre “Crack Passwords” o “Rompe Contraseñas”. Ante lo cual se presenta una nueva ventana.

En esta nueva venta no se presentan ninguna opción, excepto se haga clic en “show advanced options”. Entonces se hace clic en el botón de nombre “Launch” o “lanzar”.

En el panel inferior se presenta una nueva ventana de nombre “Crack Passwords”. En la cual se muestra un error de carga del módulo. Este error se ocasiona dado el hecho este módulo no existe en Metasploit Framework.

Existe un módulo de un nombre y propósito similar, de nombre “analyze/jtr_windows_fast”, el cual se procede a definir manualmente, para luego ejecuarlo.

Aunque el módulo logra obtener o “romper” una credencial en texto plano. Luego de ello se presenta un mensaje de error. Mencionar adicionalmente la ejecución del módulo finaliza correctamente.

Al utilizar directamente la consola de Metasploit Framework, como es obvio se presenta el mismo error. Esta es una muy buena oportunidad para analizar este mensaje de error y tratar de resolverlo, o tratar de romper los hashes de las contraseñas utilizando otras herramientas específicamente diseñadas para este propósito como John The Ripper.

Fuentes:

http://www.fastandeasyhacking.com/
https://github.com/rapid7/metasploit-framework
https://www.openwall.com/john/
http://www.reydes.com/d/?q=Explotar_un_Host_utilizando_Armitage
http://www.reydes.com/d/?q=Volcar_Contrasenas_de_un_Sistema_Windows_uti…