Основные понятия: **Разведка в сети** – это процесс сбора информации об объекте или цели в интернете. Это может быть любая информация, которая может помочь в осуществлении дальнейших действий по отношению к объекту, например, определение уязвимостей или сбор данных для атаки. **Инфраструктура компании** — это совокупность аппаратных, программных и сетевых средств, используемых для поддержания бизнес-процессов и обеспечения безопасности информации, находящейся в распоряжении компании. Она включает в себя серверы, сетевые устройства, базы данных, приложения и другие компоненты, используемые для обработки, хранения и передачи данных. Эффективная инфраструктура компании должна быть разработана с учетом требований к безопасности и включать в себя меры защиты, которые обеспечат целостность, конфиденциальность и доступность информации в пределах организации. **Сетевой сканер** — это программа, предназначенная для сканирования компьютерных сетей и обнаружения устройств, портов и служб, работающих на этих устройствах. Они используются для проверки безопасности сетей, выявления уязвимостей и проверки соответствия настроек безопасности определенным стандартам. **Доменное имя** – это уникальное текстовое имя, которое используется для идентификации адреса ресурса в Интернете. **DNS (Domain Name System) сервис** – это сервис, который преобразует доменные имена, которые мы используем для поиска ресурсов в Интернете, в соответствующие IP-адреса, по которым эти ресурсы находятся на серверах в сети Интернет. **SSL (Secure Sockets Layer) сертификат** – это цифровой сертификат, который подтверждает подлинность веб-сайта и обеспечивает защищенное соединение между веб-браузером и сервером, на котором расположен веб-сайт. Сертификаты выпускаются специальными доверенными для широкой массы компьютеров удостоверяющими центрами по всему миру, представляют из себя файлы определенного формата, которые располагаются на серверах, для предоставления их пользователям и проверки легитимности сервисов. **Сетевой порт** – это номер, который идентифицирует определенный сетевой протокол и процесс, который использует этот протокол для передачи данных в компьютерных сетях. Когда компьютер или устройство отправляет или получает данные через сеть, оно использует определенный порт для связи с другим устройством или сервером, используя определенный сетевой протокол. Номер порта представляет собой целое число от 0 до 65535. **Хост / узел** – это устройство или программа, которая может быть связана с другими устройствами или программами в компьютерной сети. Узлы сети могут выполнять различные функции, такие, как передача данных, маршрутизация, хранение информации, обработка запросов и т.д. Каждый узел сети имеет свой уникальный адрес, который позволяет другим узлам обращаться к нему и передавать данные. Примерами узлов сети могут быть компьютеры, маршрутизаторы, сетевые принтеры, серверы, мобильные устройства и т.д. Сбор информации автоматизированным средствами Ход действий 1. Начинаем с проверки существования доменного имени cyber-ed.ru командой: host cyber-ed.ru Утилита host есть в большинстве популярных ОС. Вызов команды host cyber-ed.ru в Linux позволяет получить информацию о доменном имени "cyber-ed.ru". Конкретно, эта команда выполняет DNS-запрос для определения IP-адреса, связанного с этим доменным именем, и выводит результаты в терминал. В ответ на команду "host cyber-ed.ru" будет выведено одно или несколько строк, содержащих информацию об IP-адресе, ассоциированном с доменным именем "cyber-ed.ru", а также что на этом доменном имени настроена почтовая служба. Убедившись в существовании данного доменного имени, мы можем прейти к поиску информации о прочих доменных именах, связанных с ним. ![](https://hackmd.io/_uploads/HJE_W2r_3.png) 2. Перейдем на сайт https://dnsdumpster.com/ для быстрого изучения известной информации о домене и связанных с ним ресурсов. ![](https://hackmd.io/_uploads/BkPpWhHOn.png) 3. Далее переходим на сайт https://crt.sh/. Сервис crt.sh — это база данных открытых SSL/TLS-сертификатов, которые были выданы для доменных имен. Сервис позволяет просматривать информацию о сертификатах и узнавать, какие доменные имена были зарегистрированы на конкретное лицо или организацию. ![](https://hackmd.io/_uploads/ByARW2S_2.png) 4. После использования методов пассивного сбора информации (о том, что такое "пассивный" и "активный" сбор информации, мы поговорим в следующих шагах) перейдем к методом активного сбора информации, а именно, воспользуемся утилитой Amass. Утилита Amass — это инструмент для сбора информации об инфраструктуре, который используется в тестировании на проникновение, исследовании цифровых активов и других областях информационной безопасности. Amass может помочь исследователям обнаруживать активные домены, поддомены, IP-адреса, а также другую связанную с инфраструктурой информацию. Amass использует множество источников данных, включая базы данных WHOIS, поиск по DNS, поиск веб-страниц, сборщики данных, базы данных сертификатов и другие. Он также может использовать дополнительные источники данных, предоставляемые пользователем. В результате использования всех этих инструментов мы смогли обнаружить список ресурсов, связанных с основным доменным именем, и расширили набор данных о цели, которые нужны будут в дальнейших шаг по оценке защищенности организации. Общие методы и конкретные способы сбора информации Общие методы сбора информации разделяются на две категории: активные и пассивные. Активные методы сбора информации в OSINT – это методы, которые требуют непосредственного взаимодействия с источником информации, например, с использованием запросов, сканирования портов и опроса сервисов. Иначе говоря, непосредственный владелец ИТ-инфраструктуры сможет определить применение по отношению к нему активных методов сбора информации, т.к. его системы получат запросы от действующего лица и его программ. При активном методе ваши сетевые запросы приходят прямо от ваших систем на системы владельца, и он может их увидеть. Примеры активных методов сбора информации включают: Сканирование портов – это способ, который позволяет определить, какие порты на серверах компании открыты для доступа извне. Сканирование портов может помочь определить, какие службы доступны на серверах и какая операционная система установлена на серверах. Энумерация и предугадывание доменных имен – это способы определения доменных имён, которые используются компанией или организацией. Этот процесс может включать в себя использование различных методов, таких, как перебор имен поддоменов, используемых в названии компании, и различных вариантов доменных зон (например, .com, .org, .net). Посещение и анализ сайтов – это способы углубленного анализа сайтов на предмет их функций, используемых ими технологий, поиске отладочной и технической информации о внутренней сети или устройстве ПО организации. Пассивные методы сбора информации в OSINT – это методы, которые не требуют непосредственного взаимодействия с источником информации, а основываются на анализе открытых источников информации. Примеры пассивных методов сбора информации включают: Интернет-мониторинг – это процесс отслеживания и анализа информации, публикуемой в онлайн-ресурсах, включая репозитории, блоги, форумы и другие интернет-сайты. Анализ открытых баз данных – это процесс сбора информации из открытых баз данных, таких, как государственные реестры, базы данных компаний, справочники и т.д. Анализ открытых источников информации – это процесс сбора и анализа информации, полученной из различных открытых источников, таких, как сайты-агрегаторы утечек данных, сайты, собирающие информацию о изменении DNS имен и историю DNS, сайты, исследующие интернет и опубликованные в нем сервисы. Отсев нерелевантных данных После применения различных методов и способов сбора информации всю полученную информацию необходимо валидировать. В общем случае белые хакеры предоставляют собранную информацию организации заказчику и выверяют с ней данные, которые действительно останутся в списке всей полученной информации, чтобы не затронуть информационные системы, которые не предполагаются для дальнейшего исследования и тестирования. Данные, которые мы собираем на этапе сбора информации об инфраструктуре Наши цели по исполнению этапа сбора информации: 1. Обнаружение доменных имен, принадлежащих организации 1. Обнаружение “живых” хостов в сети и составления списка их IP-адресов 1. Определение актуального статуса сетевых портов узлов из списка 1. Определение типа и версии операционной системы на исследованных машинах 1. Определение версий ПО или служб, которые находятся на сетевых портах 1. Сбор информации об используемых технологиях на веб-сайте Агрегация для OSINT: https://osintframework.com/ https://github.com/jivoi/awesome-osint https://habr.com/ru/companies/tensor/articles/706656/ Доменные имена Большинство организаций управляют своей ИТ-инфраструктурой, как публичной, так и внутренней, именуя ее логически и на основе мнемонических имен. Каждый узел сети охарактеризован адресом, по которому к узлу можно обратиться. Для того, чтобы удобно, по памяти, даже при смене адреса, обращаться к определенному узлу сети, таким узлам дают доменные имена. Из-за такой распространенной практики злоумышленники могут обнаружить все связанные с организацией ИТ-активы и впоследствии атаковать их. В свою очередь, белые хакеры могут имитировать эту деятельность: для того, чтобы показать организации, как много о ней могут узнать злоумышленники. С высокой вероятностью все имена узлов, принадлежащих компании ООО "Компания" с сайтом company.corp, будут располагаться в доменах 3-го уровня домена company.corp. Домен 3-го уровня – это часть доменного имени, расположенная перед доменным именем второго уровня. Например, часть "blog" в "blog.example.com" является доменом 3-го уровня, а "example.com" является доменом 2-го уровня. Они могут использоваться для разных целей, но выбор доменного имени зависит от намерений и потребностей владельца. Например: web.company.corp mail.company.corp support.company.corp portal.company.corp moscow.company.corp Таким образом, зная доменное имя 2-го уровня, мы можем попытаться найти массу имен 3-го уровня, которые будут ссылать нас на неизвестные нам ранее узлы инфраструктуры организации. Whois – это протокол поиска информации о зарегистрированных доменных именах, IP-адресах и автономных системах. Утилита whois является встроенной утилитой терминальной оболочки многих дистрибутивов операционных систем, таких как MacOS и Ubuntu Linux. СПАРК (https://spark-interfax.ru/) – это система, собирающая всю доступную информацию о компаниях и извлекая из нее знания, помогает получать подробную информацию о бизнесе организаций и о привязанных к нему информационных активах, сайтах и доменных именах. RIPE (Réseaux IP Européens) – это некоммерческая организация, которая занимается управлением и распределением ресурсов IP-адресации и автономных систем в регионе Европы, Ближнего Востока и некоторых частях Африки и Азии. На ее сайте https://apps.db.ripe.net/db-web-ui/fulltextsearch можно изучить информацию о связи доменных имен, автоматизированных систем и пр. зарегистрированную о ряде компаний. 1. Опрашивание DNS сервиса на известные ему записи раскрывающие доменные имена, связанные с доменом 2-го уровня. Т.е. выполнение запросов к таким DNS записям, как: CNAME, ANY, MX, NS, SRV и т.д. Пример выполнения запроса: nslookup -q=ANY example.com ![](https://hackmd.io/_uploads/BJAEHnSuh.png) 2. Перебор доменных имен на DNS сервисе компании при помощи использования словарей или правил мутации. В данном случае мы заранее подготавливаем большой список слов и возможных поддоменов и опрашиваем DNS сервис в формате слово.example.com, чтобы выявить все имена, которые существуют в инфраструктуре организации. Пример использования утилиты amass со стандартным словарем для перебора доменных имен: amass enum -v -src -ip -d example.com ![](https://hackmd.io/_uploads/SJAyrhrOn.png) 3. Выполнение запроса AXFR. AXFR запрос, или Zone transfer — это процесс передачи копии базы данных с DNS-зоной от главного сервера к вторичному. В идеале трансфер зоны ограничен только для определенных доверенных серверов, но неправильно сконфигурированные серверы разрешают трансферы любому, кто их попросит. Пример выполнения такого запроса: nslookup -q=AXFR example.com (зачастую требует указания конкретного DNS-сервера, к которому будет отправлен запрос). Другие примеры инструментов активного поиска: **amass — многофункциональный инструмент для разведки Sublist3r — OSINT инструмент поиска поддоменов assetfinder — пассивный сканер поддоменов на Go** Методы пассивного поиска доменных имен и поддоменов Методы пассивного поиска сводятся к использованию каких либо служб и сайтов, которые произвели активный поиск за нас или агрегировали известную информацию среди открытых источников. Есть множество веб-сайтов и служб, которые предлагают такие услуги в разной форме. Примеры: dnsdumpster.com shodan.io censys.io crt.sh pentest-tools.com Сканеры сети Сетевой сканер — это программа, предназначенная для сканирования компьютерных сетей и обнаружения устройств, портов и служб, работающих на этих устройствах. Они используются для проверки безопасности сетей, выявления уязвимостей и проверки соответствия настроек безопасности определенным стандартам. Популярные примеры сканеров: Nmap — один из самых популярных сканеров сети Zenmap — GUI для nmap Masscan — сканер сети, разработанный с целью увеличения скорости сканирования крупных сегментов сети, в т.ч. всего пространства адресов IPv4 https://nmap.org/presentations/BHDC10/Fyodor-David-BlackHatUSA-2010-Slides.pdf https://nmap.org/book/ https://github.com/chacka0101/Hacking_Books/raw/master/2017%20-%20NMAP%20-%20Network%20Exploration%20and%20Security%20Auditing%20Cookbook%20-%20Second%20Edition.pdf