Сканирование портов и разведка с помощью Hping3

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

LeSh1y777

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

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

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

6a4a49_75f3a0bd294949e081269b779935002d~mv2.jpg


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

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

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

Шаг 1: Поиск Hping3

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

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

kali > hping -h

6a4a49_5a7314d8f7c54fa08a7fb0d9a7f9c628~mv2.png


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

kali >hping3 -h |more

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

  • - коммутатор позволяет нам подделывать наш IP-адрес
  • –rand-des t создает пакеты со случайными портами назначения
  • –rand-source создает пакеты со случайными адресами
  • -t устанавливает время жизни (TTL) для пакетов
  • -f фрагментирует пакеты
6a4a49_6e6fcc7e5554480980b608357a9f0720~mv2.png


Если теперь немного прокрутить страницу справки вниз, мы увидим следующие опции. Обратите внимание, что, как и в случае с nmap , мы можем установить любой из флагов в пакете (FSPURA).

Хочу обратить ваше внимание на следующие переключатели.

  • -Q показывает только порядковый номер
  • -S сканирование с использованием SYN-пакетов
  • –tcp-timestamp извлекает временную метку из пакета TCP
Шаг 2: hping3 по умолчанию

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

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

kali > hping3 -S 192.168.1.116 -p 80

6a4a49_65bb162bdccc4b73927d794bcc487c91~mv2.png


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

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

kali > hping -S 192.168.1.116 -p ++1

6a4a49_1e8ce1d2c2864a19a4ffe62f8ec8ef6f~mv2.png


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

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

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

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

Давайте попробуем фрагментацию hping3.

кали> hping3 -f 192.168.1.105 -p 80

6a4a49_2f2289f1e8124006accf11324327441f~mv2.png


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

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

Допустим, у нас есть файл с именем malware, содержащий эксплойт, который мы пытаемся отправить на цель. Кроме того, нас беспокоит

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

kali > hping3 -f 192.168.1.116 -p 445 -d 100 -E вредоносное ПО

6a4a49_84557f16174c4eb0ad177494d0d07b28~mv2.png


Где:

  • -d — размер полезной нагрузки данных (здесь мы обозначили его как 100 байт)
  • -E сообщает hping3 о необходимости извлечь данные из следующего файла
Затем эта команда отправляет содержимое файла вредоносной программы по 100 байт за раз на целевой порт 445.

Шаг 5: Трассировка маршрута с помощью hping3

Traceroute — это инструмент, позволяющий отслеживать маршрут пакета через Интернет от клиента до цели, манипулируя TTL (временем жизни) пакетов ICMP.

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

К счастью для нас, hping3 позволяет делать то же самое, но с использованием TCP, который поддерживает практически любой брандмауэр (иначе он бы не пропускал интернет-трафик). Давайте попробуем запустить traceroute с помощью hping3, установив флаг SYN на google.com.

kali > hping3 -z -t 1 -S google.com -p 80

Где:

  • -z связывает команду с клавишей Ctrl+Z на клавиатуре, так что при каждом нажатии TTL увеличивается на 1.
  • -t устанавливает начальный TTL (в данном случае мы используем 1)
  • -S устанавливает флаг SYN
  • -p 80 устанавливает порт назначения 80
На скриншоте выше TTL по-прежнему равен 1, и hping3 сообщает нам, что устройство НЕИЗВЕСТНО. Затем мы можем нажать CTRL+z, чтобы увеличить TTL на единицу и найти все устройства между нами и целью.

На этом скриншоте показаны два устройства между мной и google.com. Продолжая нажимать CTRL+z, я буду увеличивать время жизни устройства и искать его, пока не доберусь до сервера Google.

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

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

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

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

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

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

6a4a49_0e54f7cce0fe400ba7e52d64f3f9076d~mv2.png


Где:

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

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

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

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

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

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

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

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

6a4a49_beb3942eaa004710acb6ed7e7485e7b9~mv2.png


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

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