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

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

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

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

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

Категории

Все категории
Loading categories
Project-CVE-2026-33017 — CVE-2026-33017 — Эксплойт неаутентифицированного удаленного выполнения кода (RCE) в Langflow | Kitploit
Инструменты/GitHubGitHub/e4zyy/project-cve-2026-33017
РазведкаМеханизмы персистентностиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияКомандование и УправлениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHube4zyy/project-cve-2026-33017

Project-CVE-2026-33017

1201 месяц назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →

CVE-2026-33017 — Эксплойт неаутентифицированного удаленного выполнения кода (RCE) в Langflow

Репозиторий
Поделиться

CVE-2026-33017 Langflow Script — Пояснение кода

автор: Xer0TLabs x Persephrak Decentralized Syndicate

Назначение этого документа

Этот документ представляет собой высокоуровневое объяснение предоставленной Python-программы для анализа, реагирования на инциденты и защитного анализа. Он намеренно не содержит инструкций по эксплуатации, рекомендаций по выбору целей, примеров полезных нагрузок или процедур получения доступа к системе.

Скрипт позиционирует себя как эксплойт для заявленной проблемы неаутентифицированного удалённого выполнения кода в Langflow. Этот README описывает, что код пытается сделать; он не подтверждает независимо идентификатор CVE, затронутые версии, поведение конечных точек, рекомендации вендора или эффективность скрипта.

Общее поведение

Программа структурирована как инструмент автоматизации командной строки, который пытается отправить специально сконструированные JSON-данные на HTTP-конечную точку Langflow. Его предполагаемая предпосылка заключается в том, что управляемый пользователем Python, встроенный в определение потока, будет обработан удалённым приложением.

Если эта предпосылка выполняется на цели, скрипт предназначен для превращения её в произвольное выполнение команд операционной системы. Помимо базовой проверки выполнения, он содержит процедуры, предназначенные для установления персистентности, создания интерактивной удалённой сессии, выполнения команд разведки и генерации пары SSH-ключей локально.

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

Основные компоненты

Импорты и поведение TLS

Программа импортирует стандартные модули Python для разбора аргументов, обработки JSON, HTTP-запросов, сокетов, потоков, выполнения подпроцессов и доступа к файлам.

Она глобально отключает обычную проверку TLS-сертификатов через ssl._create_unverified_context. Это заставляет HTTPS-запросы принимать недействительные или ненадёжные сертификаты. Хотя это иногда встречается в тестовом коде, это небезопасно в производственной среде, поскольку ослабляет защиту от перехвата и подмены.

Классы Colors и Logger

Colors определяет ANSI-последовательности терминала, используемые для вывода цветного текста.

Logger — это небольшой служебный класс, который выводит информационные сообщения, сообщения об успехе, предупреждения и ошибки. Его метод banner() отображает название скрипта, заявленную уязвимость, заявленный диапазон затронутых продуктов, серьёзность и статус CISA KEV. Эти утверждения являются презентационным текстом в программе и не являются доказательством их точности.

Класс CVE202633017Exploit

Это основной класс. При инициализации он:

  • Сохраняет предоставленный URL цели и удаляет завершающий слэш.
  • Добавляет префикс http://, если он отсутствует.
  • Устанавливает идентификатор потока по умолчанию.
  • Формирует путь запроса для публичной конечной точки сборки потока.
  • Использует 30-секундный HTTP-таймаут.

Идентификатор потока по умолчанию — это фиксированное значение, похожее на UUID. Программа позволяет переопределить его через опцию командной строки.

Конструирование полезной нагрузки

_build_malicious_payload(command) создаёт JSON-объект, напоминающий граф потока с одним узлом. Узел помечен как CustomComponent и включает исходный код Python в поле code.

Вставленный исходный код пытается вызвать команду операционной системы. Сначала он пробует один Python API и переключается на вызов подпроцесса в случае ошибки. Затем JSON-структура возвращается в код отправки запроса.

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

Процедура HTTP-запроса

_send_exploit_request(payload_data) сериализует полезную нагрузку как JSON и выполняет HTTP POST-запрос к сконструированной конечной точке. Он включает обычные заголовки, похожие на браузерные, и возвращает как текст тела ответа, так и HTTP-статус.

HTTP-ошибки перехватываются и возвращаются, а не завершают программу. Другие исключения, такие как сбои подключения или таймауты, преобразуются в строки и возвращаются со статусом 0.

Проверка уязвимости

check_vulnerability() отправляет полезную нагрузку, содержащую маркерную команду, а затем рассматривает либо успешный HTTP-ответ, либо любой ответ, содержащий слово error, как доказательство того, что цель «выглядит уязвимой».

Это не надёжный метод проверки. Ответ 200, ответ 500 или ошибка приложения могут возникать по многим причинам, не связанным с выполнением кода. Скрипт не наблюдает независимо вывод маркера, поэтому он может давать ложные срабатывания.

Выполнение одиночной команды

execute_command(command) оборачивает предоставленную команду в вредоносную полезную нагрузку потока и отправляет её. Он интерпретирует HTTP 200 или 500 как возможный успешный результат.

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

Процедура персистентности SSH-ключа

_build_ssh_payload() и inject_ssh_key() предназначены для изменения удалённой конфигурации SSH и файлов авторизованных ключей. Предпринимаемые действия включают создание SSH-каталогов, добавление открытого SSH-ключа, изменение разрешений, изменение настроек демона SSH, перезапуск службы SSH, создание механизма персистентности на основе cron и удаление артефактов истории оболочки.

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

Процедура обратной оболочки

_build_reverse_shell_payload() собирает несколько механизмов отката, предназначенных для того, чтобы заставить цель инициировать исходящее сетевое соединение с хостом и портом, контролируемыми оператором.

spawn_reverse_shell() запускает локальный TCP-слушатель в фоновом потоке, коротко ожидает, отправляет удалённую полезную нагрузку, а затем ожидает соединения.

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

Процедура полной цепочки

full_exploit_chain() объединяет несколько поведений:

  • Пытается выполнить слабую проверку уязвимости.
  • Отправляет команды разведки операционной системы.
  • При необходимости пытается выполнить персистентность SSH-ключа.
  • При необходимости запускает рабочий процесс обратной оболочки.

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

Локальная генерация SSH-ключа

generate_ssh_key_pair(key_path) вызывает локальную программу ssh-keygen для создания пары RSA-ключей длиной 4096 бит, если запрошенные файлы ещё не существуют.

Он создаёт комментарий к ключу, ссылающийся на заявленный CVE, и предназначен для поддержки функции персистентности SSH. Это влияет на машину, на которой запускается сам скрипт, а не на удалённую цель.

Интерфейс командной строки

main() определяет опции командной строки для выбора цели, идентификатора потока, выполнения одиночной команды, обработки SSH-ключа, настроек обратной оболочки, выполнения полной цепочки, автоматической генерации ключа и подробного вывода.

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