
Интерактивная командная оболочка для эксплуатации уязвимости Apache Struts CVE-2017-5638. Автоматизирует эксплуатацию HTTP/HTTPS с интерактивным взаимодействием с оболочкой на уязвимых целях.
Оболочка Apache Struts (CVE-2017-5638)
«LowNoiseHG (LNHG) Struts Shell» (далее «StrutsShell») была задумана в марте 2017 года после осознания полезности автоматизации эксплуатации уязвимости Apache Struts CVE-2017-5638 (вручную отправлять HTTP GET запросы) и после того, как соответствующий модуль metasploit для данной уязвимости не работал (по крайней мере, в наших тестовых случаях).
Основной принцип работы StrutsShell заключается в обработке ввода командной строки (оболочки) для атакуемой платформы (Windows, Linux и т.д.) и использовании уязвимости Apache Struts для передачи команды в оболочку на выполнение. Затем инструмент возвращает ответ и ожидает следующую команду, обеспечивая безупречный интерактивный опыт.
# LowNoiseHG Apache Struts (CVE-2017-5638) Shell v.0.1 (2017/03/17)
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to Andrew Weidenhamer (@AWeidenhamer), David Llorens (c4an),
# Tauseef Ghazi (@tghazi), and AJ (@nikamajinkya) for inspiration, ideas
# and debugging/betatesting help.
usage: StrutsShell.py [-h] [-d] [-u URL]
LNHG Apache Struts (CVE-2017-5638) Shell v.0.1
optional arguments:
-h, --help show this help message and exit
-d, --debug show debugging info
-u URL, --url URL Apache Struts vulnerable URL (i.e.:
http://www.example.com/test/login.action)
for inspiration, ideas and debugging/beta-testing help.
Как и большинство НИОКР, выполненных в LowNoiseHG (LNHG), этот инструмент был спроектирован и разработан только из соображений полезности и без какого-либо финансирования или выделенного времени. Вся разработка велась исключительно в личное время и будет продолжаться по мере появления интересных функций и при наличии времени с учётом других проектов.
Текущая версия работает очень хорошо, хотя ещё остались некоторые мелкие недочёты (ошибки), которые нужно исправить, и некоторые базовые функции, которые можно улучшить.
StrutsShell и весь связанный с ним код выпускается под открытой лицензией GPL v3. Полный текст лицензии прилагается в файле LICENSE.md.
Для запуска StrutsShell «из коробки» со всеми включёнными опциями вам потребуется:
ПРИМЕЧАНИЕ: StrutsShell разрабатывался и тестировался на Kali, Ubuntu и Debian. Я уверен, что ВЫ сможете заставить его работать и на других платформах по вашему выбору ;)
$ sudo apt-get install -y python git
$ pip install requests
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/StrutsShell.git
$ cd StrutsShell
$ ./StrutsShell.py -u http://www.example.com/test/login.action
Полный список опций можно просмотреть в любое время с помощью:
$ ./StrutsShell -h
