Введение
Чем больше информации мы соберём о цели, тем успешнее будет взлом. А какую информацию нужно собирать? Ответ: Всё что можете: Информацию о DNS, IP-адреса, конфигурацию системы, имена пользователей, название организации. В открытом доступе много информации, и любые сведения будут очень полезными.
Методы сбора информации
Существуют 2 метода сбора информации: активный и пассивный
Общедоступные сайты
В сети очень много сайтов собирают всевозможную информацию и предоставляют её всем желающим. Преимущество использования данных ресурсов в том, что сетевой трафик не отправляется непосредственно на домен, поэтому в журнал событий целого домена инфа о вашем посещении не попадёт. Зато злоумышленник может посмотреть код страницы и узнать какая CMS используется, её версия и библиотеки которая она использует. При этом данных о злоумышленнике не будет.
Вот список полезных ресурсов:
Благодаря этим сайтам, можно добыть много информации о нашей цели.
Получение информации о домене
Для получения информации о домене мы будем использовать утилиту whois:
Утилита позволит получить информацию о регистраторе домена, о владельце и контактных данных. Но информация о контактах владельца может быть скрыта регистратором. В таком случае посмотреть её нельзя без запроса к регистратору.
Для соответсвующего домена можно также перейти к регистратору доменов верхнего уровня:
Команда host
Команда host позволяет получить различную информацию о хоасте, как минимум его IPv4 и IPv6 адреса и адрес почтового сервера.
Также можно получить все DNS-записи, указав параметр -a:
Команда host, запрашивая информацию об узле, использует DNS-серверы, указанные в вашем файле /etc/resolv.conf. Используйте лучше IP-адреса 8.8.8.8 и 8.8.4.4 - это DNS серверы Google - чтобы информация была более актуальной.
Важно понимать, что вы получите в ответ на ввод команды host -a. Она выводит DNS-записи прямо из DNS-зоны:
SOA - начало записи полномочий
NS - здесь содержится имя сервера имён
A - здесь хранится IP-адрес
MX - запись обмена почтой
PTR - запись указателей
AAAA - запись IPv6-адреса
CNAME - аббревиатура канонического имени
TXT - Запись произвольных двоичных данных
Команда dig
Помимо команды host, вы можете использовать команду dig. Её вывод более понятный, а также она позволяет обработать список доменных имён из файла.
Вот пример её работы:
Deepmagic Information Gathering Tool или же DMitry
Программа dmitry содержит в себе всё, что необходимо. Её можно использовать для:
Ключи -iwnse:
Dmitry также умеет сканировать порты:
Команда traceroute
Команда traceroute позволяет получить маршрут прохождения пакетов от вашей системы до системы жертвы.
Получив маршрут прохождения пакетов, вы поймёте, через какие маршуртизаторы (хопы) добирается пакет до жертвы. Также можно выяснить, кто является провайдером жертвы - это обычно последний хоп:
Команда tcptranceroute является дополнением к команде traceroute. Команда traceroute отправляет целевой машине или UDP, или эхо-пакет ICMP, равным единице. Значение TTL увеличивается на единицу для каждого хоста до тех пор, пока пакет не достигнет целевой машины. Основное различие между командой traceroute и инструментом tcptraceroute в том, что последний для целевой машины использует пакет TCP SYN.
Главное преимущество использования tcptraceroute состоит в том, что мы можем на пути от машины злоумышленника к целевой машине встретить брандмауэр. Брандмауэры часто настраиваются для фильтрации трафика ICMP и UDP, связанного с командой traceroute. В таком случае информация о трассировке будет искажена. Использование инструмента tcptraceroute позволяет установить TCP-соединение на определённом порте, через который брандмауэр позволт вас пройти, тем самым показав на пути сетевой маршрутизации брандмауэр:
Если вывод идентичен, то на пути нет брандмауэров, блокирующих трафик ICMP и UDP.
Интсрумент Metagoofil
Данный инструмент использует поисковики Google для получения метаданных из документов, доступных в целевом домене.
На данный момент поддерживаются документы типов doc, docx, xls, xlsx, ods, ppt, pptx, odp, pdf.
Вот так выглядит команда:
Получение информации из Robots.txt
Файл robots.txt находящийся в корневом каталоге любого веб-сервера, содержит специальные инструкции для поисковых движков. Исследуя этот файл, злоумышленник может получить дополнительную информацию. Вот например строчки:
Теперь мы знаем что на сервере используется CMS WordPress, что видно по названиям директорий.
Сканер Nmap
Сетевой сканер Nmap самый популярный сетевой сканер. Nmap помимо своей бешеной популярности, имеет неменее бешеную ползеность. Nmap - очень важный инструмент предоставляющий информацию об удалённом узле.
Нам нужен подробный отчёт, поэтому будем использовать ключи:
Такой метод называется интенсивным сканированием в результате которого мы получаем намного больше информации.
Сканер Nikto
Nikto - это мощный сканер веб-сервера, который делает его одним из лучших инструментов Kali Linux. Он проверяет потенциально опасные файлы/программы, устаревшие версии сервера и многое другое. Работа Nikto включает в себя сканирование более чем 6700 элементов для обнаружения неверной конфигурации, опасных файлов и т.д.
Его функции:
У Nikto много разных опций. Мы использовали -h, задающую имя или IP. Также может пригодится -port, для порта.
Фаззинг
Как можно обсуждать тему сбора информации и не затронуть фаззинг? Вот и я о том же, Фаззинг поможет узнать какие директории нам доступны на сайте, поможет подобрать значение для параметров, найти поддомены, подобрать логин и пароль методом грубой силы. Вообщем для всего я всегда использую FFuF, в других я просто не вижу смысла, но тут кому как удобнее.
Вот например команда для поиска директорий на сайте:
Программа в красивых цветах (благодаря ключу -c) выведет информацию о директориях, какие - доступны, а какие - нет.
Слово FUZZ - служит ориентиром, куда подставлять слова из словаря.
Так например можно найти поддомены
Ну конечно такой вывод будет очень неудобен, поэтому нужно с помощью дополениня ">> out.txt" сохранить информацию и посмотреть через команду less))))) Да ладно, я шучу, можно использовать ключ
Точно также можно фаззить POST запросы, синтаксис напоминает curl, поэтому я думаю вы уже догадываетесь как это делать.
Заключение
Вроде бы ничего не забыл и каждый этап сбора информации описал, если у вас есть что дополнить обязательно пишите! Спасибо за уделённое время.
Чем больше информации мы соберём о цели, тем успешнее будет взлом. А какую информацию нужно собирать? Ответ: Всё что можете: Информацию о DNS, IP-адреса, конфигурацию системы, имена пользователей, название организации. В открытом доступе много информации, и любые сведения будут очень полезными.
Методы сбора информации
Существуют 2 метода сбора информации: активный и пассивный
- Активный - предусматривает сбор с помощью прослушки трафика целевой сети
- Пассивный - сбор информации со сторонних источников, например из google.
Общедоступные сайты
В сети очень много сайтов собирают всевозможную информацию и предоставляют её всем желающим. Преимущество использования данных ресурсов в том, что сетевой трафик не отправляется непосредственно на домен, поэтому в журнал событий целого домена инфа о вашем посещении не попадёт. Зато злоумышленник может посмотреть код страницы и узнать какая CMS используется, её версия и библиотеки которая она использует. При этом данных о злоумышленнике не будет.
Вот список полезных ресурсов:
Ссылка скрыта от гостей
- архивы сайтов, с помощью него, можно узнать как сайт выглядил год или более назад.
Ссылка скрыта от гостей
- Этот сайт предоставит сведения о доменных именах.
Ссылка скрыта от гостей
- содержит множество инструментов для проверки серверов и маршрутизации.
Ссылка скрыта от гостей
- бесплатные сетевые утилиты, такие как браузер, ping, traceroute, whois. Преимущество в том, что при использововании этих сайтов, наш IP остаётся неизвестным.
Ссылка скрыта от гостей
- бесплатная поисковая ситсема, которую можно использовать для поиска людей (только USA, для СНГ я не нашёл аналогов, но этот сайт нам не особо нужен для тестирования).Благодаря этим сайтам, можно добыть много информации о нашей цели.
Получение информации о домене
Для получения информации о домене мы будем использовать утилиту whois:
whois example.de
Утилита позволит получить информацию о регистраторе домена, о владельце и контактных данных. Но информация о контактах владельца может быть скрыта регистратором. В таком случае посмотреть её нельзя без запроса к регистратору.
Для соответсвующего домена можно также перейти к регистратору доменов верхнего уровня:
- Америка:
Ссылка скрыта от гостей
- Европа:
Ссылка скрыта от гостей
- Азиатско-Тихоокеанский регион:
Ссылка скрыта от гостей
- Латинская Америка и Карибы:
Ссылка скрыта от гостей
nslookup codeby.net
Команда host
Команда host позволяет получить различную информацию о хоасте, как минимум его IPv4 и IPv6 адреса и адрес почтового сервера.
host example.de
Также можно получить все DNS-записи, указав параметр -a:
host -a example.de
Команда host, запрашивая информацию об узле, использует DNS-серверы, указанные в вашем файле /etc/resolv.conf. Используйте лучше IP-адреса 8.8.8.8 и 8.8.4.4 - это DNS серверы Google - чтобы информация была более актуальной.
Важно понимать, что вы получите в ответ на ввод команды host -a. Она выводит DNS-записи прямо из DNS-зоны:
SOA - начало записи полномочий
NS - здесь содержится имя сервера имён
A - здесь хранится IP-адрес
MX - запись обмена почтой
PTR - запись указателей
AAAA - запись IPv6-адреса
CNAME - аббревиатура канонического имени
TXT - Запись произвольных двоичных данных
Команда dig
Помимо команды host, вы можете использовать команду dig. Её вывод более понятный, а также она позволяет обработать список доменных имён из файла.
Вот пример её работы:
dig example.de
Deepmagic Information Gathering Tool или же DMitry
Программа dmitry содержит в себе всё, что необходимо. Её можно использовать для:
- Записи протокола Whois (получение регистрационных данных о владельцах доменных имён) с применением IP-адреса или доменного имени.
- Сведений о хосте от
Ссылка скрыта от гостей
- Данных из поддоменнах в целевом домене
- Адресов электронной почты целевого домена
dmitry -iwnse example.de
Ключи -iwnse:
- Выполнить поиск whois;
- Получить информацию от netcraft.com;
- Выполнить поиск всех возможных поддоменнов;
- Выполнить поиск всех возможных адресов электронной почты;
Dmitry также умеет сканировать порты:
dmitry -p example.de -f -b
-f - выполнить сканирование портов TCP на хосте, показывая вывод, сообщающий об отфильтрованных портах.
-b - прочитать баннер, полученный со сканируемого порта.
Команда traceroute
Команда traceroute позволяет получить маршрут прохождения пакетов от вашей системы до системы жертвы.
Получив маршрут прохождения пакетов, вы поймёте, через какие маршуртизаторы (хопы) добирается пакет до жертвы. Также можно выяснить, кто является провайдером жертвы - это обычно последний хоп:
traceroute example.de
Команда tcptranceroute является дополнением к команде traceroute. Команда traceroute отправляет целевой машине или UDP, или эхо-пакет ICMP, равным единице. Значение TTL увеличивается на единицу для каждого хоста до тех пор, пока пакет не достигнет целевой машины. Основное различие между командой traceroute и инструментом tcptraceroute в том, что последний для целевой машины использует пакет TCP SYN.
Главное преимущество использования tcptraceroute состоит в том, что мы можем на пути от машины злоумышленника к целевой машине встретить брандмауэр. Брандмауэры часто настраиваются для фильтрации трафика ICMP и UDP, связанного с командой traceroute. В таком случае информация о трассировке будет искажена. Использование инструмента tcptraceroute позволяет установить TCP-соединение на определённом порте, через который брандмауэр позволт вас пройти, тем самым показав на пути сетевой маршрутизации брандмауэр:
tcptraceroute example.de
Если вывод идентичен, то на пути нет брандмауэров, блокирующих трафик ICMP и UDP.
Интсрумент Metagoofil
Данный инструмент использует поисковики Google для получения метаданных из документов, доступных в целевом домене.
На данный момент поддерживаются документы типов doc, docx, xls, xlsx, ods, ppt, pptx, odp, pdf.
Вот так выглядит команда:
metagoofil -d example.de -l 20 -t doc,pdf -n 5 -f test.html -o /home/kali/Desktop/test
Из собранных документов вы получите большое кол-во информации, например, имена пользователей и сведения о пути. Можно задействовать полученные имена пользователей для брутфорса паролей, например.где, -d - домен, -l - максимальный результат поиска, -t - типы файлов для скачивания, -n - имит на скачку файлов, -f - сохранить html ссылки в файл, -o - сохранить в директорию.
Получение информации из Robots.txt
Файл robots.txt находящийся в корневом каталоге любого веб-сервера, содержит специальные инструкции для поисковых движков. Исследуя этот файл, злоумышленник может получить дополнительную информацию. Вот например строчки:
Код:
Dissallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Сканер Nmap
Сетевой сканер Nmap самый популярный сетевой сканер. Nmap помимо своей бешеной популярности, имеет неменее бешеную ползеность. Nmap - очень важный инструмент предоставляющий информацию об удалённом узле.
Нам нужен подробный отчёт, поэтому будем использовать ключи:
nmap -T4 -A -v example.de
Такой метод называется интенсивным сканированием в результате которого мы получаем намного больше информации.
Сканер Nikto
Nikto - это мощный сканер веб-сервера, который делает его одним из лучших инструментов Kali Linux. Он проверяет потенциально опасные файлы/программы, устаревшие версии сервера и многое другое. Работа Nikto включает в себя сканирование более чем 6700 элементов для обнаружения неверной конфигурации, опасных файлов и т.д.
Его функции:
- Отчёт в форматах HTML, XML, CSV.
- Поддержка SSL.
- Сканирование портов на сервере.
- Поиск субдоменов
- Вывод пользователей Apache
- Проверка на устаревшие компоненты
- Обнаружение хостинга
nikto -h codeby.net
У Nikto много разных опций. Мы использовали -h, задающую имя или IP. Также может пригодится -port, для порта.
Фаззинг
Как можно обсуждать тему сбора информации и не затронуть фаззинг? Вот и я о том же, Фаззинг поможет узнать какие директории нам доступны на сайте, поможет подобрать значение для параметров, найти поддомены, подобрать логин и пароль методом грубой силы. Вообщем для всего я всегда использую FFuF, в других я просто не вижу смысла, но тут кому как удобнее.
Вот например команда для поиска директорий на сайте:
ffuf -u example.de/FUZZ -w /wordlist/dirs.txt -c
Программа в красивых цветах (благодаря ключу -c) выведет информацию о директориях, какие - доступны, а какие - нет.
Слово FUZZ - служит ориентиром, куда подставлять слова из словаря.
Так например можно найти поддомены
ffuf -u https://FUZZ.example.de/ -w /wordlist/dirs.txt -c
Ну конечно такой вывод будет очень неудобен, поэтому нужно с помощью дополениня ">> out.txt" сохранить информацию и посмотреть через команду less))))) Да ладно, я шучу, можно использовать ключ
-fc
со значением 200
Точно также можно фаззить POST запросы, синтаксис напоминает curl, поэтому я думаю вы уже догадываетесь как это делать.
Заключение
Вроде бы ничего не забыл и каждый этап сбора информации описал, если у вас есть что дополнить обязательно пишите! Спасибо за уделённое время.