
Apache Struts (CVE-2017-5638) Shell
Apache Struts (CVE-2017-5638) Shell
La "LowNoiseHG (LNHG) Struts Shell" ("StrutsShell" de ahora en adelante) fue concebida en marzo de 2017 tras darse cuenta de la utilidad de no tener que explotar manualmente Apache Struts CVE-2017-5638 (solicitudes HTTP GET a mano) y tras darse cuenta de que el respectivo módulo de metasploit para esta vulnerabilidad no funcionaba (al menos en nuestros casos de prueba).
La operación básica de StrutsShell consiste en el procesamiento de una entrada de línea de comandos (shell) para la plataforma atacada (Windows, Linux, etc.) y utilizando la vulnerabilidad Apache Struts para enviarla a la shell para su ejecución. La herramienta luego devuelve la respuesta y espera el siguiente comando de shell, proporcionando una experiencia de interacción impecable.
# 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.
por inspiración, ideas y ayuda en depuración/pruebas beta.
Como la mayor parte de la I+D realizada en LowNoiseHG (LNHG), esta herramienta fue diseñada y desarrollada solo por su utilidad y sin fondos económicos ni tiempo asignado. Todo el desarrollo se ha realizado solo en tiempo personal, y continuará a medida que surjan características interesantes, y si hay tiempo disponible considerando otros proyectos.
La versión actual funciona muy bien, aunque todavía hay algunos pequeños problemas (errores) por resolver, y algunas características básicas que pueden mejorarse.
StrutsShell y todo su código relacionado se distribuyen bajo la licencia de código abierto GPL v3. La licencia completa se adjunta en el archivo LICENSE.md.
Para ejecutar StrutsShell "listo para usar" (out-of-the-git), con todas las opciones habilitadas, necesitarás:
NOTA: StrutsShell fue desarrollado y probado en Kali, Ubuntu y Debian. Estoy seguro de que TÚ puedes hacerlo funcionar en otras plataformas de tu elección ;)
$ 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
Puedes ver la lista completa de opciones en cualquier momento con:
$ ./StrutsShell -h
