Использование Hping3 для разведки, часть 1

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Один из самых трудоёмких, но необходимых видов деятельности в хакерстве — это разведка. Прежде чем взломать систему, нужно знать, какая операционная система в ней установлена, какие порты открыты, какие службы запущены и, желательно, какие приложения установлены и запущены.

6a4a49_c3b766fec4404a45ac28670347412067~mv2.jpg


Хорошая разведка увеличивает наши шансы на успех и снижает вероятность обнаружения. Один из лучших инструментов для этого — hping3.

Благодаря своей универсальности hping3 часто называют «инструментом для создания пакетов», что означает, что он может создавать практически любые типы пакетов, которые вы только можете себе представить. Это может быть очень полезно для разведки, поскольку разные пакеты вызывают разные ответы стека TCP/IP операционной системы, давая нам подсказки о базовой ОС, портах и службах.

Кроме того, мы можем протестировать различные методы обхода IDS и брандмауэров, такие как фрагментация пакетов, медленное сканирование и т. д. С помощью hping3 можно сделать очень многое, но в этом руководстве я ограничусь лишь несколькими из них.

Как и почти все инструменты, которые я демонстрирую в Hackers-Arise, hping3 встроен в Kali. Итак, давайте запустим Kali и посмотрим на hping3.

Шаг 1: Поиск hping3

hping3 — мощный инструмент с множеством функций и возможностей. Здесь мы рассмотрим некоторые из основных функций, которые пригодятся хакерам, но немного времени, потраченного на изучение дополнительных возможностей, будет потрачено с пользой.

Давайте сначала посмотрим на экран справки.

kali > hping -h

6a4a49_132b5576bf714ed7abd40a2eb1317722~mv2.png


Как видите, экран справки по hping3 очень длинный и подробный. Чтобы лучше его рассмотреть, давайте перенесём его в режим просмотра.

kali >hping3 -h | больше

6a4a49_4a09cb3a37374d229114e5fb7137a2b5~mv2.png


После нескольких нажатий клавиши Enter для перемещения вниз по экрану мы видим следующую информацию. Обратите внимание, что hping3 может создавать пакеты TCP, RAW IP, ICMP и UDP, при этом TCP используется по умолчанию. Примерно в середине экрана обратите внимание на следующее:

  • - коммутатор позволяет нам подделывать наш IP-адрес
  • –rand-dest создает пакеты со случайными портами назначения
  • –rand-source создает пакеты со случайными адресами
  • -t устанавливает время жизни (TTL) для пакетов
  • -f фрагментирует пакеты
Если теперь немного прокрутить страницу справки вниз, мы увидим следующие опции. Обратите внимание, что, как и в nmap, мы можем установить любой из флагов в пакете (FSPURA).

6a4a49_81721ba5dac3414cbbee03c8fb0a9ec8~mv2.png


Я хочу, чтобы вы обратили внимание на следующие переключатели:

  1. -Q показывает только порядковый номер
  2. -S сканирование с использованием SYN-пакетов
  3. –tcp-timestamp извлекает временную метку из пакета TCP
Также обратите внимание, что мы можем установить любой из флагов TCP (S,A,F,P, R, U), а также сканирование XMAS (-X) (установлены флаги P,U,F).

Шаг 2: hping3 по умолчанию

Одна из важнейших особенностей hping3 заключается в том, что по умолчанию он использует пакет TCP. Это означает, что даже если сетевое устройство, например маршрутизатор или брандмауэр, блокирует ICMP (ping), мы всё равно можем выполнять обнаружение и разведку хостов с помощью hping3.

Давайте попробуем установить флаг SYN (по сути, это то же самое, что nmap -sS scan) и проверить, открыт ли порт 80 (-p 80).

kali > hping3 -S 192.168.1.105 -p 80

6a4a49_b0b450bb8a5b446db82f593ea46ea747~mv2.png
Обратите внимание на скриншот выше: пакеты возвращаются с установленными флагами SA, что означает, что порт открыт. Если бы порт был закрыт, он бы ответил RA.

Если мы хотим сканировать все порты, начинающиеся с 1, мы можем просто добавить переключатель приращения (++) после переключателя порта (p) и номер порта, с которого мы хотим начать сканирование (в данном случае 1), вот так:

kali > hping3 -S 192.168.1.105 -p ++1

6a4a49_6587f1fe09c8460c9db6f9bf7a7a0b24~mv2.png


Это приведет к сканированию каждого порта, начиная с 1, а затем к увеличению на единицу до порта 2, затем 3 и т. д.

Шаг 3. Фрагментация пакетов с помощью hping3

TCP был разработан как надёжный протокол, способный поддерживать связь даже в неблагоприятных или сложных условиях. Одной из особенностей, обеспечивающих эту надёжность, является его способность обрабатывать пакеты, фрагментированные или разбитые на несколько частей. TCP собирает эти пакеты по достижении целевой системы.

Эту особенность протокола TCP можно использовать против него самого, используя такой инструмент, как hping3, чтобы разбить атаку на несколько пакетов и обойти систему обнаружения вторжений (IDS) и межсетевой экран, а затем повторно собрать вредоносное ПО в целевой системе.

Хотя большинство современных систем обнаружения вторжений (IDS) теперь пытаются обнаруживать атаки фрагментации (в Snort
есть препроцессор frag3, который пытается обнаружить фрагментацию), старые системы этого не делают. Даже новые IDS могут обнаруживать только ту фрагментацию, на которую они рассчитаны. Преимущество hping3 в том, что он позволяет нам разрабатывать новые атаки, которые IDS ещё не распознала.

Давайте попробуем сканирование фрагментации hping3 на порту 445 (SMB)

kali> hping3 -S -f 192.168.1.105 -p 445

6a4a49_92df65ee55154427ad694fa5060de894~mv2.png


Шаг 4. Отправка данных с помощью hping3

Помимо возможности создавать пакеты практически с любыми характеристиками, hping3 также позволяет нам помещать в эти пакеты любые данные. Обратите внимание, что в справочном окне из шага 1 ключ -E позволяет указать файл, который мы хотим использовать для заполнения полезной нагрузки пакета.

Допустим, у нас есть файл с именем malware, содержащий эксплойт, который мы пытаемся отправить на цель. Кроме того, мы обеспокоены тем, что эта вредоносная программа может быть обнаружена системой обнаружения вторжений (IDS). Мы могли бы использовать переключатель фрагментации и загрузить вредоносную программу несколькими пакетами, где она будет собрана на цели, обходя при этом систему обнаружения вторжений (IDS) или антивирусную программу.

kali > hping3 -f 192.168.1.105 -p 80 -d 10 -E вредоносное ПО

Где:

  • -d — размер полезной нагрузки данных (здесь мы обозначили его как 10 байт)
  • -E сообщает hping3 о необходимости извлечь данные из следующего файла
6a4a49_0888ec95ca7f484eab3cea7827f2a2f6~mv2.png


Затем эта команда отправляет содержимое файла вредоносной программы по 10 байт за раз на целевой порт 80.

Шаг 5: Прогнозирование порядковых номеров с помощью hping3

Еще одной функцией, встроенной в TCP для обеспечения его надежности, является возможность переупорядочивать пакеты в целевом узле, даже если они поступают в нарушенном порядке.

Помните, что пакеты не всегда следуют к цели одним и тем же маршрутом, поэтому они очень часто приходят в неправильном порядке. TCP присваивает пакетам порядковый номер, чтобы иметь возможность восстановить их порядок по прибытии.

Эта функция использовалась хакерами с незапамятных времён (ну… по крайней мере, с зарождения Интернета) для проведения атак типа «человек посередине» (MitM). Для защиты от атак типа «человек посередине» производители операционных систем модифицировали стек TCP/IP таким образом, чтобы порядковые номера больше не нумеровались последовательно. Вместо этого, чтобы затруднить проведение атак типа «человек посередине», ОС использует алгоритм генерации порядковых номеров.

Для успешной атаки MitM нам потребуется предсказать порядковые номера. hping3 может помочь нам в этом. Мы можем получить от целевой системы ответ с порядковыми номерами, а затем по этим номерам определить алгоритм, используемый ОС. Это можно сделать следующим образом:

kali > hping3 -Q -S google.com -p 80

Где:

-Q отображает порядковые номера

6a4a49_371eddb0fcc34d69b5ada4142165b75c~mv2.png


Как вы можете видеть, google.com отвечает своими порядковыми номерами, которые hping3 фиксирует и отображает.

Шаг 6: hping3 для бесперебойной работы

Наконец, с помощью hping3 можно определить, как долго сервер работает. Это может быть очень полезной информацией для хакера, поскольку обычно для установки обновлений и исправлений сервер необходимо перезагружать. Зная, как долго система работает, мы можем предсказать, какие исправления были установлены и к каким взломам она уязвима.

Например, если мы находим систему, которая не перезагружалась в течение трёх лет, мы можем быть уверены, что все выпущенные за это время исправления безопасности не были применены. Это означает, что все уязвимости, о которых стало известно за это время, по-прежнему остаются открытыми в этой системе.

Hping3 использует поле tcp-timestamp для прогнозирования продолжительности работы системы.

Давайте попробуем это на google.com.

kali > hping3 –tcp-timestamp -S google.com -p 80

6a4a49_4b184b6a24e74bfd94d214cf0f2f35bc~mv2.png
Как мы видим, этот веб-сервер google.com работает всего 9 дней, 22 часа, 21 минуту и 40 секунд. Если вы попробуете провести такое сканирование на других серверах, вы, вероятно, обнаружите гораздо более длительные промежутки времени между последней перезагрузкой, иногда измеряемые годами. Конечно, именно они и будут основными целями!

Продолжайте встречаться, мои начинающие хакеры, ведь мы продолжаем изучать самый ценный навык XXI века — хакерство!
 
Назад
Сверху Снизу