
Доказательство концепции для CVE-2025-31161, использующее искаженный HTTP-заголовок для выполнения неаутентифицированной подмены любого пользователя в Crush FTP server.
Предупреждение: Этот инструмент предназначен только для авторизованного тестирования безопасности и образовательных целей. Несанкционированное использование против систем, на которые у вас нет явного разрешения на тестирование, является незаконным.
Этот инструмент является доказательством концепции (PoC) для CVE-2025-31161 — критической уязвимости обхода аутентификации в CrushFTP (версии < 10.8.4 и < 11.3.1). Уязвимость использует логическую ошибку в разборе заголовка AWS4-HMAC, где искаженный заголовок вызывает исключение IndexOutOfBounds. Это исключение предотвращает очистку сессии на сервере, оставляя пользователя аутентифицированным как запрошенная учетная запись без пароля.
Credential=user/) вызывает необработанное Java-исключение, обходя очистку сессии.requests librarypip install requests
Скрипт работает в двух режимах: Check (Наблюдение) и Exploit (Действие).
Проверяет, уязвима ли цель, пытаясь утечь файл cookie сессии для учетной записи администратора по умолчанию. Это не изменяет целевую систему.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080Перехватывает сессию для указанного администратора и использует её для внедрения новой учетной записи администратора в группу MainUsers.
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| Флаг | Имя | Описание | По умолчанию |
|---|---|---|---|
-u | --url | IP-адрес или имя хоста цели | Обязательно |
-p | --port | Порт цели | 8080 |
-a | --admin_user | Существующая учетная запись администратора для подмены | crushadmin |
-nu | --new_user | Имя пользователя для новой учетной записи администратора | Обязательно |
-np | --new_password | Пароль для новой учетной записи администратора | Обязательно |