
Apache Struts (CVE-2017-5638) Shell
Apache Struts (CVE-2017-5638) Shell
La "LowNoiseHG (LNHG) Struts Shell" ("StrutsShell" d'ora in poi) è stata concepita nel marzo 2017 dopo aver realizzato l'utilità di non dover sfruttare manualmente Apache Struts CVE-2017-5638 (richieste HTTP GET a mano) e dopo aver constatato che il rispettivo modulo metasploit per questa vulnerabilità non funzionava (almeno nei nostri casi di test).
Il funzionamento di base di StrutsShell consiste nell'elaborazione di un input da riga di comando (shell) per la piattaforma attaccata (Windows, Linux, ecc.) e nell'uso della vulnerabilità Apache Struts per spingerlo nella shell per l'esecuzione. Lo strumento restituisce quindi la risposta e attende il prossimo comando shell, offrendo un'esperienza di interazione impeccabile.
# 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.
Come la maggior parte della R&S svolta in LowNoiseHG (LNHG), questo strumento è stato progettato e sviluppato solo per la sua utilità, senza fondi economici o tempo dedicato. Tutto lo sviluppo è stato fatto solo nel tempo personale, e continuerà man mano che emergeranno funzionalità interessanti, e se il tempo sarà disponibile tenendo conto di altri progetti.
La versione attuale funziona molto bene, anche se ci sono ancora alcuni piccoli intoppi (bug) da sistemare e alcune funzionalità di base che possono essere migliorate.
StrutsShell e tutto il codice correlato sono rilasciati sotto la licenza open-source GPL v3. La licenza completa è allegata nel file LICENSE.md.
Per eseguire StrutsShell "out-of-the-git", con tutte le opzioni abilitate, avrai bisogno di:
NOTA: StrutsShell è stato sviluppato e testato su Kali, Ubuntu e Debian. Sono sicuro che TU possa farlo funzionare su altre piattaforme a tua scelta ;)
$ 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
Puoi controllare l'elenco completo delle opzioni in qualsiasi momento con:
$ ./StrutsShell -h
