OWASP Maryam es un framework modular/opcional de código abierto basado en OSINT y en la recolección de datos. Maryam está escrito en el lenguaje de programación Python y está diseñado para proporcionar un entorno potente para cosechar datos de fuentes abiertas y motores de búsqueda y recopilar datos de forma rápida y exhaustiva.
Si quieres
- Extraer correos electrónicos, documentos, subdominios y redes sociales de los motores de búsqueda
- Extraer enlaces, archivos CSS y JS, enlaces CDN, correos electrónicos, palabras clave de fuentes web
- Encontrar y realizar fuerza bruta DNS, TLD, y directorios y archivos importantes
- Rastrear Páginas Web y buscar su RegExp
- Identifica WebApps, WAF, archivos interesantes e importantes
Utiliza Maryam
Así que, a diferencia de Maltego (que es de pago) aquí tenemos un excelente software que está desarrollado por el Open Web Application Security Project (llamado simplemente OWASP).
Requisitos
Sistemas operativos soportados
- Linux
- FreeBSD
- OSX
Requisitos previos
- Python 3.8.x o 3.9.x (NO 3.7, ..)
- módulo requests
Para empezar a usar Maryam necesitarás una distribución de Linux; dado que Maryam se basa en el núcleo Recon-ng (y como se sugiere en la misma página web) será mejor usar Kali Linux.
Si eliges esta opción (la misma que sigue esta brevísima guía) ya encontrarás instaladas todas las dependencias de Python que necesitas; en caso contrario, tendrás que adaptar tu distribución.
Instala una Kali en una VM (por ejemplo, Virtualbox); asegúrate de que funciona correctamente y empecemos.
Instalación
La instalación de Maryam es de lo más sencilla (siempre que uses Kali o Parrot OS): abre un terminal y crea una carpeta (que con mucha originalidad vamos a llamar maryam) y clona el proyecto dentro de la carpeta con git
con estos comandos.
mkdir maryam
cd maryam
git clone https://github.com/saeeddhqan/Maryam
chmod +x ./maryam
./maryam
En resumen, los comandos anteriores significan que:
- creamos la carpeta que contendrá el software;
- entramos en la carpeta que acabamos de crear;
- clonamos el proyecto en nuestro ordenador;
- le damos privilegios de ejecución al software para poder lanzarlo;
- iniciamos el programa.
¿Buscas una actualización? Si ya existe, los siguientes comandos eliminan por completo la versión antigua y la sustituyen por la nueva. Desde el directorio de instalación de Maryam:
cd ..
rm -rf maryam
git clone https://github.com/saeeddhqan/maryam.git
cd maryam
./maryam`
Y estos comandos, actualizan la URL remota del repositorio actual. Desde el directorio de instalación de Maryam:
git remote set-url origin https://github.com/saeeddhqan/maryam.git
git reset --hard HEAD~1
git pull
Módulos
Actualmente, Maryam cuenta con tres tipos de módulos:
- Footprint
- OSINT
- Búsqueda
Footprint
En la sección de Footprint, tenemos módulos para rastrear, identificar, reunir y analizar.
¿Qué se puede hacer con los módulos de footprint?
- Identificar aplicaciones web, frameworks, plugins, lenguajes y sistemas operativos de servidores.
- Buscar en páginas web y encontrar correos electrónicos, nombres de usuario, errores, meta tags, y cualquier otra cosa que interese.
- Buscar expresión regular en el contenido web y obtener el resultado. Es muy útil para encontrar cosas interesantes en el contenido web y no se limita a una página.
- Rápido ataque de fuerza bruta para identificar subdominios, archivos, directorios y TLDs con soporte de hilos.
- Encontrar puntos de entrada a la web como formularios, entradas, URLs con parámetros, obtener solicitudes, y publicar solicitudes de ataque fuzzing.
- Detectar Web Application Firewalls(WAF) con 50 cargas útiles.
OSINT
Los módulos OSINT se utilizan para encontrar correos electrónicos, documentaciones, nombres DNS y redes sociales. Casi todos los módulos OSINT utilizan motores de búsqueda, excepto el crawler.
¿Qué se puede hacer con los módulos OSINT?
- Extrae correos electrónicos(con 10 fuentes para buscar).
- Documentaciones (pdf, csv, txt, xlsx, ..) con 10 fuentes para buscar.
- Nombres DNS con 24 fuentes para buscar(Todas las fuentes son gratuitas).
- Redes sociales.
- Extrae enlaces (in scope, out scope), comentarios, archivos CSS y JS, enlaces CDN, emails, docs, y archivos multimedia de páginas web.
Búsqueda
Los módulos de búsqueda se han creado para reducir el tiempo de búsqueda de recursos gratuitos. Los usuarios pueden buscar en redes sociales, certificados, imágenes, noticias, etc.
¿Qué se puede hacer con los módulos de búsqueda?
- Buscar en los mejores motores de búsqueda sin claves API.
- Buscar en redes sociales comunes y encontrar pueblos, hashtags y estados.
- Buscar para encontrar imágenes, noticias, sitios web, etc.
Uso y Ejemplos
Si todo ha ido bien en este punto se debe iniciar correctamente el software … el problema es que no es muy fácil de usar. Maryam tiene una estructura de línea de comandos con sus propios comandos que están mal explicados en las fuentes oficiales.
Probablemente esta escasa amabilidad se debe a que Maryam es similar tanto a Metasploit como a Recon-ng y como sugiere la página oficial:
“Si tienes habilidad en Metasploit o Recon-ng, puedes usarlo fácilmente sin requisitos previos”
Empecemos con un comando que puede interesar a muchos: hacer una búsqueda en Google: si quisiera buscar “esgeeks” en Google el comando sería este:
./maryane -s google -q esgeeks
Lo que hace el módulo es usar los servicios de Google para obtener respuestas y devolvernos los enlaces a estos sitios con información referente a la palabra clave.
Mientras que si quisiera obtener información sobre mi persona en LinkedIn tendría que buscar algo como:
./maryane -s linkedin -q "Mi Nombre"
(muy conveniente también ver los empleados de una empresa que están en LinkedIn; en la “jerga” cuando se consultan las redes sociales en lugar de los buscadores se habla de SOCMINT – Social Media Intelligence).
De estos dos mandatos se desprenden algunas consideraciones:
- si tenemos más palabras en la consulta debemos recogerlas entre “comillas dobles”
- El parámetro
-q
significa “query” (consulta)
Como puedes ver en la lista de módulos, tenemos una gran lista de motores de búsqueda para utilizar, incluyendo Facebook, Bing, Twitter, Youtube y Quora (pero también otros).
Un detalle importante es cómo guardar las consultas realizadas.
Para guardar hay que añadir al comando -export
y la consulta se guardará en el espacio de trabajo actual.
Un comando fundamental es help
(que es válida tanto para ver los módulos disponibles como para ver la sintaxis de un solo módulo).
¿Más ejemplos? por supuesto.
Usemos dns_search para buscar los distintos nombres de dominio, por ejemplo, acerca de udemy.com:
./maryam -e dns_search -d udemy.com
Tambien podemos buscar archivos con el módulo docs_search:
./maryam -s docs_search -q hacking -f pdf -e google,bing -l 3
Con este comando le indicamos que busque archivos .pdf que contengan la palabra “hacking” en Google y Bing.
OWASP Maryam es un FOSS un poco particular y definitivamente no es fácil de usar… hay, sin embargo, algunos casos en los que un software como este es insustituible y no podrías tener el presupuesto para comprar Maltego.
Maryam (este enlace se abre en una nueva ventana) por saeeddhqan (este enlace se abre en una nueva ventana)
Maryam: Open-source Intelligence(OSINT) Framework