
InfoHound — это инструмент OSINT для извлечения большого объёма данных по имени веб-домена.
Во время фазы разведки злоумышленник ищет любую информацию о своей цели, чтобы создать профиль, который впоследствии поможет ему определить возможные пути проникновения в организацию. InfoHound выполняет методы пассивного анализа (которые не взаимодействуют напрямую с целью), используя OSINT для извлечения большого объёма данных по заданному доменному имени. Этот инструмент собирает электронные письма, людей, файлы, поддомены, имена пользователей и URL-адреса, которые затем анализируются для извлечения ещё более ценной информации.
Кроме того, InfoHound использует экземпляр Ollama, что позволяет задействовать возможности LLM (больших языковых моделей). По умолчанию InfoHound применяет llama2 — предварительно обученную модель LLM, — чтобы генерировать краткие описания ролей отдельных лиц внутри организации. Эта функция даёт ценное представление об organisational структуре и облегчает идентификацию ключевых сотрудников. Более того, в рамках текущей разработки планируется внедрить дополнительные функции и улучшения, чтобы в будущем ещё больше расширить возможности инструмента.
ПРИМЕЧАНИЕ: InfoHound не требует специального оборудования для работы. Однако при использовании задач, задействующих большую языковую модель (LLM), необходимо учитывать аппаратные требования. Подробную информацию о конкретных требованиях для используемой модели LLM можно найти в официальной документации Ollama.

git clone https://github.com/Fundacio-i2CAT/InfoHound.git
cd InfoHound/infohound
mv infohound_config.sample.py infohound_config.py
cd ..
docker-compose up -d
Теперь вы можете перейти к InfoHound, открыв в браузере:
http://localhost:8000/
ПРИМЕЧАНИЕ: В файл infohound_config.py необходимо добавить API-ключи.
InfoHound имеет два типа модулей: те, которые собирают данные, и те, которые анализируют их для извлечения более значимой информации.
| Имя | Описание |
|---|---|
| Получить whois-информацию | Получает информацию из регистра Whois. |
| Получить DNS-записи | Эта задача запрашивает DNS. |
| Получить поддомены | Эта задача использует Alienvault OTX API, CRT.sh и HackerTarget в качестве источников данных для обнаружения кэшированных поддоменов. |
| Получить поддомены из URL | После выполнения некоторых задач таблица URL-адресов может содержать множество записей. Эта задача проверяет все URL-адреса на наличие новых поддоменов. |
| Получить URL-адреса | Ищет все URL-адреса, кэшированные Wayback Machine, и сохраняет их в базу данных. Это впоследствии помогает обнаруживать другие сущности данных, такие как файлы или поддомены. |
| Получить файлы из URL-адресов | Проходит по таблице URL-адресов, находит файлы и сохраняет их в таблице файлов для дальнейшего анализа. Извлекаемые файлы: doc, docx, ppt, pptx, pps, ppsx, xls, xlsx, odt, ods, odg, odp, sxw, sxc, sxi, pdf, wpd, svg, indd, rdp, ica, zip, rar. |
| Найти email-адреса | Ищет email-адреса, используя запросы к Google, Bing и утечкам баз данных. |
| Найти людей по email-адресам | После нахождения email-адресов может быть полезно узнать стоящего за ними человека. Также находит имена пользователей для этих людей. |
| Найти email-адреса из URL-адресов | Иногда найденные URL-адреса могут содержать конфиденциальную информацию. Эта задача извлекает все email-адреса из путей URL. |
| Выполнить дорки | Выполняет дорки, определённые в папке dorks. Не забудьте сгруппировать дорки по категориям (имя файла), чтобы понимать их цели. |
| Найти email-адреса из дорков | По умолчанию InfoHound имеет несколько дорков для поиска email-адресов. Эта задача ищет их в результатах выполнения дорков. |
| Найти людей через Google | Использует Google JSON API для поиска людей, работающих в компании, связанной с доменом. |
| Имя | Описание |
|---|---|
| Проверить захват поддоменов | Выполняет проверки, чтобы определить, возможен ли захват поддомена. |
| Проверить, можно ли подделать домен | Проверяет, можно ли подделать домен из email-адресов, обнаруженных InfoHound. Это может использоваться злоумышленниками для выдачи себя за человека и отправки писем от его имени. |
| Получить профили по именам пользователей | Эта задача использует найденные имена пользователей для каждого человека, чтобы найти профили в сервисах или социальных сетях, где это имя существует. Выполняется с помощью инструмента Maigret. Стоит отметить, что если найден профиль с таким же именем, это не обязательно означает, что он принадлежит анализируемому человеку. |
| Скачать все файлы | После сохранения файлов в таблицу базы данных эта задача загружает их в папку "download_files". |
| Получить метаданные | С помощью exiftool эта задача извлекает все метаданные из загруженных файлов и сохраняет их в базу данных. |
| Получить email-адреса из метаданных | Поскольку некоторые метаданные могут содержать email-адреса, эта задача извлекает их все и сохраняет в базу данных. |
| Получить email-адреса из содержимого файлов | Обычно email-адреса могут содержаться в корпоративных файлах, поэтому эта задача извлекает все email-адреса из содержимого загруженных файлов. |
| Найти зарегистрированные сервисы с помощью email-адресов | Можно найти сервисы или социальные сети, где email-адрес использовался для создания учётной записи. Эта задача проверяет, есть ли у обнаруженного InfoHound email-адреса учётные записи в Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress и/или Duolingo. |
| Проверить утечки | Эта задача проверяет сервис Firefox Monitor, чтобы узнать, был ли email-адрес найден в утечке данных. Хотя это бесплатный сервис, он ограничен 10 запросами в день. Если задан API-ключ Leak-Lookup, проверка выполняется и по нему. |
| Анализ профилей на основе ИИ | Вы можете использовать задачу анализа профиля, чтобы задействовать инструмент на базе ИИ, который изучает метаданные и создаёт описание для вас. |
| Получить утёкшие пароли | Используя бесплатный сервис Proxy Nova, InfoHound может обнаруживать и отображать пароли для найденных имён пользователей, которые были скомпрометированы в прошлом. |
InfoHound позволяет создавать пользовательские модули: достаточно добавить свой скрипт в папку infohoudn/tool/custom_modules. В качестве примера добавлен один пользовательский модуль, использующий инструмент Holehe для проверки, привязаны ли найденные ранее email-адреса к учётным записям на таких сайтах, как Twitter, Instagram, Imgur и более чем 120 других.
# Import the packages you need
import trio
import httpx
import requests
from holehe import core
# Import the Django models you will work with
from infohound.models import Emails
MODULE_ID = "findRegisteredSitesHoleheCustomTask" # Set a module ID
MODULE_NAME = "Find sites with Holehe" # Set a module name
MODULE_DESCRIPTION = "Using Holehe tool, this task will find where an email has been used to create an account. Holehe checks more than 120 sites." # Set a description
MODULE_TYPE = "Analysis" # Set the type: Analysis or Retrieve
# This function is the only function it will be called by InfoHound
# Change its content and create other the functions if needed
def custom_task(domain_id):
trio.run(findRegisteredSitesHolehe, domain_id)