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

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

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

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

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

Категории

Все категории
Loading categories
opensshenum — CVE-2018-15473 - Opensshenum is an user enumerator exploiting an OpenSsh bug | Kitploit
Инструменты/GitHubGitHub/gbonacini/opensshenum
Port ScanningVulnerability AnalysisExploitationInformation GatheringNetwork SecurityPenetration Testing
GitHubgbonacini/opensshenum

opensshenum

CVE-2018-15473 - Opensshenum is an user enumerator exploiting an OpenSsh bug

Репозиторий
37 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Описание:

Opensshenum — это инструмент для перебора пользователей OpenSSH, позволяющий проверить произвольный список имен пользователей на сервере OpenSSH и определить, какие из них реально присутствуют на удаленной машине. Программа использует уязвимость (исправленную в июле 2018 года), которая, как доказано, работала как минимум с OpenSSH 2.3.0 (выпущенной в ноябре 2000 года).

Я написал эксплойт на основе Tssh — SSH 2 клиента, который я написал на C++11 с нуля, руководствуясь RFC.

Дополнительная информация здесь:

http://seclists.org/oss-sec/2018/q3/124

Эта проблема получила идентификатор CVE-2018-15473.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:

Этот код опубликован в информационных и образовательных целях. Вторжение в системы и сервисы без разрешения владельца незаконно. Неправильное использование информации и программного обеспечения из этого репозитория может привести к уголовному преследованию нарушителя. Любые действия или деятельность, связанные с материалами, содержащимися в этом Git-репозитории, являются исключительно вашей ответственностью. Автор не несет ответственности в случае предъявления уголовных обвинений лицам, неправильно использующим информацию или программное обеспечение с этого сайта для нарушения закона.

Предварительные требования:

Программа предназначена для использования в среде *nix и протестирована на различных дистрибутивах Linux и OS X:

  • Ubuntu 17.10;
  • OS X 10.11.6;

с использованием одного из следующих компиляторов:

  • gcc version7.2.0 (Ubuntu 7.2.0-8ubuntu3.2);
  • Apple LLVM version 8.0.0 (clang-800.0.42.1)

и одного из следующих SSH-серверов:

  • OpenSSH_7.5p1

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

  • OpenSSL 1.0.2h;

(Это означает, что в OS X обязательно обновление).

Для компиляции программы необходимы следующие инструменты/библиотеки:

  • компилятор c++ (с поддержкой c++11);
  • automake/autoconf;
  • libtool;
  • OpenSSL 1.0.2h или выше (пакеты "dev");

Установка:

  • запустите скрипт configure: ./configure
  • скомпилируйте программу: make
  • установите программу и man-страницу: sudo make install

Инструкции:

Программа обрабатывает список пользователей, переданный через конвейер, пример:

cat user.txt | ./opensshenum -i dummy_cert target_addr
xxx:NOK
gabriel:OK

где user.txt — файл, содержащий список пользователей, по одному в строке, а dummy_cert — ключ, сгенерированный командой ssh-keygen от OpenSSH (по умолчанию каталог ключей — ~/.ssh).

Программу можно использовать для генерации списка:

printf "xxx\ngabriel" | ./src/opensshenum -i dummy_rsa localhost
xxx:NOK
gabriel:OK

Смотрите man-страницу, включенную в этот релиз.

Новые возможности:

Сканер портов:

Добавлена возможность сканирования SSH-портов: теперь opensshenum может сканировать все порты, связанные с адресом, чтобы найти экземпляры SSH, прослушивающие порты, отличные от 22, и выполнить эксплойт только на проверенных портах. Эту функцию можно использовать отдельно, получая только список портов, связанных с SSH, без выполнения атаки.

Пример:

opensshenum -s -n -t2 -m22221 -M22225 -r'.*OpenSSH' -idummy_rsa my_imaginary_website.com

просканирует порты (-s) в диапазоне от 22221 до 22225 (оба включительно), выполняя только сканирование (-n), с таймаутом 2 секунды (-t), ожидая hello-строку, содержащую строку OpenSSH, используя открытый ключ с именем idummy_rsa (рекомендую сгенерировать ключ только для таких операций) и в качестве цели my_imaginary_website.com. Более подробная информация в man-странице.

Параллельное выполнение:

Включен альфа-скрипт с использованием GNU Parallel (parallenum.sh) в качестве PoC для сокращения времени сканирования путем разделения диапазона сканируемых портов на поддиапазоны, каждый из которых относится к определенному процессу. Это, очевидно, создает много шума. Для уменьшения шума можно использовать параметр -t.

Снятие отпечатков:

Функция снятия отпечатков, полезная для автоматической идентификации типа ОС (например, если hello-строка опущена) и служб с помощью базы данных пользователей/комбинаций пользователей. База данных создается из файлов *.lst, собранных в каталоге. Каждый файл *.lst имеет имя <os_name_or_service>.lst, примеры:

ubuntu_17_10.lst aix.lst proprietary_ftp.lst

База данных, CSV-файл, имеет формат:

user_1;os_or_service_1; ... ;os_or_service_n ... user_m;os_or_service_1; ... ;os_or_service_n

Базу данных можно создать из файлов *.lst с помощью утилиты createdb, находящейся в каталоге ./utils, указав каталог *.lst, пример:

cd utils make ./createdb ../lists/

Чтобы запросить снятие отпечатков, используйте опцию -F с файлом базы данных, пример:

cat test/scan.sample | opensshenum -p22 -idummy_rsa -Futils/opensshenum.db localhost

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