Назад к обновлениям
New releaseSep 11, 2026

ssh-mitm v6.0.0

SSH-MITM - аудит SSH стал простым

Поделиться

SSH-MITM — аудит SSH стал проще

SSH-MITM intercepting password login

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

Download as an AppImage     Download on Flathub     Get it from the Snap Store

OpenSSF Best Practices Code style: black CodeFactor Documentation Status PRs Welcome GitHub Follow me on GitHub

Правовое уведомление: SSH-MITM предназначен только для авторизованных аудитов безопасности, тестирования на проникновение и исследований. Не используйте его против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения. Несанкционированный перехват SSH-трафика может быть незаконным в вашей юрисдикции.


🎓 Новичок в SSH-MITM? Начните с интерактивного учебника

ssh-mitm tutorial

Открывает пошаговое руководство в браузере — целевой сервер не требуется. Пять глав описывают авторизованную оценку Logfile Inc., охватывая перехват паролей, аутентификацию по открытому ключу, передачу файлов по SFTP, выполнение команд и зеркалирование живого сеанса.

SSH-MITM interactive tutorial


Быстрый старт

Расположенный между клиентом и его SSH-сервером, SSH-MITM перехватывает соединение — независимо завершая обе стороны и пересылая весь трафик, предоставляя аудитору полную видимость и контроль:

SSH-MITM setup

1. Установка

SSH-MITM не требует установки. Скачайте AppImage — и всё готово:

wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage

Другие варианты установки (pip, Flatpak, Snap) описаны в руководстве по установке.

⚡ Получите последнюю версию

Релиз на PyPI может отставать. Установите напрямую с GitHub, чтобы получить интерактивный учебник и все последние улучшения:

pip install git+https://github.com/ssh-mitm/ssh-mitm.git

2. Запуск SSH-MITM

Укажите SSH-MITM целевой хост — используйте систему, которую вы уполномочены тестировать:

./ssh-mitm-x86_64.AppImage server --remote-host <target-host>

3. Направьте клиентское соединение

Заставьте SSH-клиент подключаться через SSH-MITM на порту 10022:

ssh -p 10022 user@mitm-host

SSH-MITM перехватывает сеанс и немедленно записывает учётные данные:

INFO     Remote authentication succeeded
    Remote Address: <target-host>:22
    Username: alice
    Password: secret
    Agent: no agent

SSH-MITM intercepting credentials

4. Подключение к живому сеансу

Для каждого перехваченного соединения SSH-MITM открывает зеркальную оболочку на локальном порту:

INFO     ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1

Подключитесь к ней из отдельного терминала:

ssh -p 34463 127.0.0.1

Зеркальная оболочка отражает сеанс в реальном времени. Аудитор может наблюдать за действиями пользователя и независимо внедрять команды, не влияя на исходное соединение.

Возможности SSH-MITM

ФункцияОписание
Интерактивный мониторинг сеансовПодключайтесь к любому перехваченному сеансу через зеркальную оболочку — наблюдайте и внедряйте команды в реальном времени
Управление передачей файловПерехватывайте передачи SCP/SFTP, сохраняйте копии или заменяйте файлы на лету
Перехват переадресации портовПерехватывайте TCP-туннели и динамическую переадресацию SOCKS 4/5
Фишинг токенов FIDO2Перехватывайте аутентификацию аппаратных токенов через атаку тривиальной аутентификации (информация OpenSSH)
Перехват аутентификацииЗахватывайте пароли; принимайте тот же открытый ключ, что и целевой сервер, и автоматически переходите к аутентификации по паролю
Мониторинг сеансов MOSHПерехватывайте и расшифровывайте UDP-сеансы MOSH (Mobile Shell); просматривайте живой терминал через встроенный эмулятор VT100/ANSI
Удалённое управление PowerShell (PSRP)Перехватывайте сеансы удалённого управления PowerShell через SSH; регистрируйте команды, вывод, ошибки и переходы состояний; записывайте транскрипты для каждого сеанса
Аудит клиентовВыявляйте известные уязвимости подключающихся SSH-клиентов только по поведению при согласовании ключей
Поддержка плагиновРасширяйте и настраивайте всё поведение перехвата с помощью плагинов

Варианты использования

  • Тестирование на проникновение — активно аудируйте SSH-клиенты и серверы в авторизованных проектах; перехватывайте, изменяйте и воспроизводите сеансы
  • Исследования безопасности — интерактивно анализируйте поведение SSH-клиентов, потоки аутентификации и уязвимости на уровне протокола
  • Учебные среды — демонстрируйте методы MITM и захват сеансов в контролируемых лабораторных условиях
  • Анализ вредоносного ПО — отслеживайте SSH-сеансы подозрительных клиентов и взаимодействуйте с ними в изолированных средах

Исследования безопасности

SSH-MITM изначально был разработан для исследования фундаментальной слабости в том, как SSH-клиенты обрабатывают аутентификацию аппаратных токенов. Исследование выявило, что токены FIDO2 — часто используемые как второй фактор — могут быть скомпрометированы с помощью техники, называемой тривиальной аутентификацией.

Атака использует тот факт, что SSH-клиентов можно принудить к тривиальному методу аутентификации — например, keyboard-interactive без запросов — что фактически предоставляет доступ без какой-либо реальной аутентификации. Это полностью обходит защиту аппаратных токенов, поскольку токен никогда не подвергается проверке. SSH-MITM может имитировать это против любого клиента, который явно не отклоняет такой метод:

ssh-mitm server --enable-trivial-auth

Действуя с позиции «человек посередине», можно наблюдать поведение SSH-клиента, которое невидимо ни с одной из конечных точек. SSH-MITM использовался для обнаружения 7 ранее неизвестных уязвимостей в широко распространённом SSH-программном обеспечении:

CVE-2026-60000 CVE-2022-38337 CVE-2022-38336 CVE-2021-36370 CVE-2021-36369 CVE-2021-36368 CVE-2021-36367

Последнее: CVE-2026-60000 — GSSAPI-аутентификация OpenSSH нарушала RFC 4462 таким образом, что позволяла атакующему полностью обойти MaxAuthTries, вызывая отказ в обслуживании до аутентификации. Та же первопричина также породила оракул валидности имени пользователя и сбой привилегированного процесса — всё исправлено в OpenSSH 10.4.

Доклад на DeepSec 2021 — полное объяснение атаки:
Нажмите, чтобы посмотреть на vimeo.com
Click to view video on vimeo.com

Скачать слайды презентации

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

(наверх)

Участие в разработке

Вклад приветствуется! Пожалуйста, прочитайте CONTRIBUTING.md для получения подробной информации о настройке среды разработки, стиле кода и о том, как отправить pull request.

(наверх)

Контакты

(наверх)

Участники

Категории