OSINT и разведка
OSINT с нуля: ИИ как второй пилот
Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.
Что означает OSINT, как проверять публичную информацию, где проходят этические границы и как написать короткий отчёт с доказательствами.
OSINT расшифровывается как open-source intelligence, разведка по открытым источникам. Это метод. Вы собираете информацию из источников, к которым у вас есть законный доступ, обычно потому, что они публичные, а затем анализируете её, чтобы ответить на один конкретный вопрос. К одной программе OSINT не сводится, и вбить имя человека в поисковую строку ещё не значит им заниматься.
В полезном результате OSINT сказано, что вы нашли, откуда это взято, когда вы это увидели, что удалось проверить и что остаётся неясным. Инструменты помогают со сбором. Большая часть работы состоит в оценке источников.
В работе по безопасности к публичным источникам относятся бюллетени вендоров, DNS-записи, логи certificate transparency, публичные репозитории кода компании, архивные веб-страницы и опубликованная документация. Публичность не означает, что этим можно пользоваться как угодно. Законы, условия использования, право на приватность и имеющиеся у вас письменные разрешения продолжают действовать.
Чаще всего новички применяют OSINT для защиты. Можно составить список доменов компании, проверить, распространяется ли опубликованный бюллетень на используемую у вас версию продукта, или зафиксировать, как за несколько месяцев менялись технологии публичного сайта.
Разведка — это этап, на котором специалист изучает цель перед тестированием. OSINT часто обеспечивает пассивную часть этого этапа. Понятия пересекаются, но это разные вещи. Разведка может включать активные шаги, например отправку трафика на сервер. OSINT может служить и исследованиям, никак не связанным с безопасностью.
Новичку надо усвоить границу между пассивным и активным сбором. Чтение лога certificate transparency пассивно: вы запрашиваете записи, которые кто-то уже опубликовал. Сканирование портов сервера активно: вы отправляете в систему новый трафик, и она отвечает. Только активная работа затрагивает цель, поэтому для любой системы, которая вам не принадлежит, на неё нужно письменное разрешение.
Используйте свой домен или домен, зарезервированный для документации. RFC 2606 резервирует example.com как раз для этого, так что запрос к нему не затрагивает ничью настоящую инфраструктуру. Выполните DNS-запрос:
nslookup example.comМы запускали это на машине с Windows 11. Вывод выглядел так:
Não é resposta autoritativa:
Servidor: dns.google
Address: 8.8.8.8
Nome: example.com
Addresses: 2606:4700:10::ac42:93f3
2606:4700:10::6814:179a
172.66.147.243
104.20.23.154Подписи на португальском, потому что такой язык у этой установки Windows, а порядок адресов между запусками может меняться. Сами адреса тоже могут меняться, ради этого упражнение и задумано. Один запрос даёт снимок от одного резолвера в один момент, поэтому записывайте, когда вы его выполнили и какой резолвер ответил.
Затем найдите второй, независимый источник. Логи certificate transparency — это публичные записи о выпущенных сертификатах, в которые можно только добавлять, они описаны в RFC 6962. Поищите в одном из них через публичный индекс и отметьте время наблюдения. Затем заполните отчёт из пяти строк:
Research question:
Scope / permission:
Source 1 (URL + accessed date):
Source 2 (URL + accessed date):
Finding / confidence / uncertainty:Эта привычка разделяет три вещи: утверждение, доказательство и вашу интерпретацию. В слабых отчётах OSINT все три смешаны.
Начните с браузера, инструмента для DNS-запросов и файла заметок с временными метками. Этих трёх хватит для большинства вопросов новичка.
Перейдя к картированию активов, посмотрите на OWASP Amass. Проект описывает себя как средство картирования сетевых поверхностей атаки и обнаружения внешних активов с помощью сбора информации из открытых источников и техник активной разведки. Прочитайте описание опций перед запуском и направляйте его только на домены, которые принадлежат вам или которые вам письменно разрешено тестировать.
Вывод инструмента — это зацепка, доказательством он не считается. ИИ-сводка этого вывода — вторая зацепка.
Языковая модель может нормализовать таблицу записей, набросать структуру отчёта, предложить вопросы для проверки или объяснить термин вроде wildcard DNS-записи. Она также может ошибаться. Никогда не позволяйте модели выдумывать ссылку на запись, которую она не изучала. Сверяйте каждое утверждение с источником, на который оно ссылается.
Если вы отправляете данные в API модели, отправляйте только то, что вам разрешено обрабатывать, и сохраняйте URL источника рядом с каждым утверждением. Это относится и к NotHoly API. Практикуйтесь в собственной лаборатории.
Искать, не записав вопрос, отчего поиск уходит за всем, что кажется интересным. Сохранять ссылку без даты, хотя страницы меняются. Считать скриншот доказательством, хотя сохранять надо исходную страницу. Связывать имя с человеком без независимых подтверждений, ведь одно имя носят многие. Публиковать персональные данные, которые для ответа на вопрос не нужны.
Держите каждое утверждение, его доказательство и свою интерпретацию на отдельных строках. На старте эта привычка важнее любого конкретного инструмента.
OSINT и разведка
Повторяемый процесс OSINT по цели, на которую можно смотреть: область, сбор по этапам, корреляция, а чат NotHoly планирует и подводит итог.
OSINT и разведка
Перечислите поддомены своей области: subfinder, amass, findomain и chaos через anew и httpx, а чат NotHoly сортирует список.
OSINT и разведка
Соберите URL и параметры своей области: gospider, hakrawler, waybackurls и gau, затем фильтр через qsreplace и чат NotHoly.