
Just-Metadata es una herramienta que recopila y analiza metadatos sobre direcciones IP. Intenta encontrar relaciones entre sistemas dentro de un gran conjunto de datos.
Just-Metadata es una herramienta que se puede utilizar para recopilar información de inteligencia de manera pasiva sobre un gran número de direcciones IP, e intentar extrapolar relaciones que de otra forma no serían evidentes. Just-Metadata cuenta con módulos de "recolección" que se utilizan para recopilar metadatos sobre las IPs cargadas en el framework a través de múltiples recursos en Internet. Just-Metadata también tiene módulos de "análisis". Estos se utilizan para analizar los datos cargados en Just-Metadata y realizar diversas operaciones que pueden identificar relaciones potenciales entre los sistemas cargados.
Just-Metadata te permitirá encontrar rápidamente el Top "X" número de estados, ciudades, zonas horarias, etc., en los que se encuentran las direcciones IP cargadas. Te permitirá buscar direcciones IP por país. Puedes buscar todas las IPs para encontrar cuáles se utilizan en callback según lo identificado por VirusTotal. ¿Quieres ver si alguna de las IPs cargadas ha sido documentada como parte de ataques a través del Proyecto Animus? Just-Metadata puede hacerlo.
Además, es fácil crear nuevos módulos de análisis para que las personas encuentren otras relaciones entre las IPs cargadas basándose en los datos disponibles. ¡También se pueden agregar nuevos módulos de recolección de inteligencia con la misma facilidad!
Idealmente, deberías poder ejecutar el script de configuración y este instalará todo lo que necesitas.
Para el módulo de recolección de información de Shodan, NECESITARÁS una API key de Shodan. Esto cuesta como $9 dólares, vamos, vale la pena :).
Por ahora, Just-Metadata está diseñado para leer un único archivo de texto que contenga IPs, cada una en su propia línea nueva. Crea este archivo desde cualquier fuente (IPs de callback C2, registros de servidores web, etc.). Una vez que tengas este archivo, inicia Just-Metadata llamándolo:
./Just-Metadata.py
help - Una vez dentro del framework, para ver una lista de los comandos disponibles y una descripción de lo que hacen, escribe el comando "help".
load <nombre_archivo> - El comando load toma un parámetro extra, el nombre del archivo del que deseas que Just-Metadata cargue las direcciones IP. Este comando abrirá y cargará todas las IPs dentro del archivo al framework.
Ej: load ipaddresses.txt
save - El comando save se puede utilizar para guardar el estado actual de trabajo de Just-Metadata. Esto es útil en varios casos, como después de recopilar información sobre las IPs y querer guardar el estado en disco para poder trabajar en ellas más adelante. Simplemente escribiendo "save" se guardará el estado en disco y se mostrará el nombre del archivo del estado guardado.
import <archivo_estado> - El comando import se puede utilizar para cargar un estado previamente guardado de Just-Metadata en el framework. Cargará todas las IPs que fueron guardadas y toda la información recopilada sobre las direcciones IP. Este comando requiere un parámetro extra, el nombre del archivo de estado que deseas que Just-Metadata cargue.
Ej: import goodfile.state
list <tipo_módulo> - El comando list se puede utilizar para listar los diferentes tipos de módulos cargados en Just-Metadata. Este comando toma un parámetro extra: "analysis" o "gather". Just-Metadata mostrará todos los módulos del tipo que el usuario solicite.
Ej: list analysis
Ej: list gather
gather <nombre_módulo_gather> - El comando gather le indica a Just-Metadata que ejecute el módulo especificado y recopile información de esa fuente. Esto se puede utilizar para recopilar información geográfica, de VirusTotal, whois, y más. Todo depende del módulo. Los datos recopilados se almacenarán dentro del framework en memoria y también se pueden guardar en disco con el comando "save".
Ej: gather geoinfo
Ej: gather virustotal
analyze <nombre_módulo_analysis> - El comando analyze le indica a Just-Metadata que ejecute un módulo de análisis sobre los datos cargados en el framework. Estos módulos se pueden utilizar para encontrar direcciones IP que compartan las mismas claves SSH o certificados de clave pública SSL, o cadenas de certificados. También se pueden utilizar para encontrar direcciones IP utilizadas en los mismos callback por ejecutables maliciosos.
ip_info <Dirección IP> - Este comando se utiliza para volcar toda la información sobre una dirección IP específica. Actualmente se usa después de haber ejecutado módulos de análisis. Por ejemplo, después de identificar direcciones IP que comparten las mismas claves SSH, puedo volcar toda la información sobre esas IPs. Veré si han sido utilizadas por malware, dónde están ubicadas, etc.
export - El comando export hará que Just-Metadata vuelque toda la información recopilada sobre todas las direcciones IP actualmente cargadas en el framework a un archivo CSV.
Gracias a Justin Warner (@sixdub) por ayudarme a darme algunos comentarios iniciales, ideas de diseño y actuar como caja de resonancia durante el desarrollo.