
Just-Metadata — это инструмент, который собирает и анализирует метаданные об IP-адресах. Он пытается найти взаимосвязи между системами в большом наборе данных.
Just-Metadata — это инструмент, который может использоваться для пассивного сбора разведывательной информации о большом количестве IP-адресов и попыток выявления взаимосвязей, которые в противном случае могли бы остаться незамеченными. Just-Metadata содержит модули "gather" (сбор), используемые для получения метаданных об IP, загруженных в фреймворк, из нескольких интернет-ресурсов. Также есть модули "analysis" (анализ). Они предназначены для анализа данных, загруженных в Just-Metadata, и выполнения различных операций, которые могут выявить потенциальные связи между загруженными системами.
Just-Metadata позволит вам быстро найти топ "X" количество штатов, городов, часовых поясов и т.д., в которых расположены загруженные IP-адреса. Вы сможете искать IP-адреса по стране. Вы можете выполнить поиск по всем IP, чтобы найти те, которые используются в callback-запросах, как это определено VirusTotal. Хотите узнать, не были ли какие-либо загруженные IP-адреса задокументированы как участники атак в рамках проекта Animus? Just-Metadata может это сделать.
Кроме того, легко создавать новые модули анализа, чтобы позволить пользователям находить другие взаимосвязи между загруженными IP на основе доступных данных. Новые модули сбора разведданных можно добавлять с такой же лёгкостью!
В идеале вы сможете запустить скрипт установки, и он установит всё необходимое.
Для модуля сбора информации Shodan ВАМ ПОНАДОБИТСЯ ключ API Shodan. Это стоит около $9, серьёзно, оно того стоит :).
На данный момент Just-Metadata предназначен для чтения одного текстового файла, содержащего IP-адреса, каждый на отдельной строке. Создайте этот файл из любого источника (IP-адреса C2 callback, журналы веб-сервера и т.д.). После того как файл готов, запустите Just-Metadata, вызвав его:
./Just-Metadata.py
help — После входа в фреймворк, чтобы увидеть список доступных команд и их описание, введите команду "help".
load <filename> — Команда load принимает дополнительный параметр — имя файла, из которого вы (пользователь) хотите загрузить IP-адреса в Just-Metadata. Эта команда откроет файл и загрузит все IP из него в фреймворк.
Пример: load ipaddresses.txt
save — Команда save используется для сохранения текущего рабочего состояния Just-Metadata. Это полезно в различных ситуациях, например, после сбора информации об IP и необходимости сохранить состояние на диск, чтобы работать с ним позже. Просто введите "save", и Just-Metadata сохранит состояние на диск и отобразит имя файла сохранённого состояния.
import <statefile> — Команда import используется для загрузки ранее сохранённого состояния Just-Metadata в фреймворк. Она загрузит все сохранённые IP-адреса и всю собранную о них информацию. Эта команда требует дополнительный параметр — имя файла состояния, которое вы хотите загрузить в Just-Metadata.
Пример: import goodfile.state
list <module type> — Команда list используется для вывода списка различных типов модулей, загруженных в Just-Metadata. Эта команда принимает дополнительный параметр: "analysis" или "gather". Just-Metadata отобразит все модули запрашиваемого пользователем типа.
Пример: list analysis
Пример: list gather
gather <gather module name> — Команда gather указывает Just-Metadata запустить указанный модуль и собрать информацию из этого источника. Это может использоваться для сбора географической информации, данных VirusTotal, whois и многого другого. Всё зависит от модуля. Собранные данные будут храниться в памяти фреймворка, а также могут быть сохранены на диск с помощью команды "save".
Пример: gather geoinfo
Пример: gather virustotal
analyze <analysis module name> — Команда analyze указывает Just-Metadata запустить модуль анализа на основе данных, загруженных в фреймворк. Эти модули могут использоваться для поиска IP-адресов, имеющих одинаковые SSH-ключи, SSL-сертификаты открытых ключей или цепочки сертификатов. Они также могут использоваться для поиска IP-адресов, задействованных в одних и тех же callback-запросах вредоносных исполняемых файлов.
ip_info <IP Address> — Эта команда используется для вывода всей информации о конкретном IP-адресе. Обычно применяется после выполнения модулей анализа. Например, после выявления IP-адресов с одинаковыми SSH-ключами я могу вывести всю информацию об этих IP. Я увижу, использовались ли они вредоносным ПО, где они расположены и т.д.
export — Команда export заставляет Just-Metadata выгрузить всю собранную информацию обо всех IP-адресах, загруженных в фреймворк, в формат CSV.
Спасибо Джастину Уорнеру (@sixdub) за помощь с первоначальной обратной связью, идеями по дизайну и за то, что был отличным "резонатором" во время разработки!