Téléchargé un fichier de capture de paquets (.pcapng) depuis malware-traffic-analysis.net qui était un exemple de tentative d’attaque contre un serveur web exploitant la vulnérabilité Log4J (CVE-2021-44228). J’ai examiné le nombre de points de terminaison communiquant avec le serveur et, connaissant jnidi comme un élément courant de la vulnérabilité, je l’ai trouvé en texte clair.
En ouvrant le PCAP, la première chose que j'aime faire est de voir combien d'appareils sont présents/communiquent (Statistiques -> Points de terminaison)
Après avoir constaté un nombre inhabituel de trafic et de conversations IPv4 provenant de différents pays, j'ai exporté les points de terminaison pour les afficher sur une carte mondiale à l'aide de la base de données GEOIP de Max Mind. (Points de terminaison -> Carte -> Ouvrir dans le navigateur)
Sachant que j'avais affaire à un PCAP d'exploit Log4J, l'exploit exploite la vulnérabilité de l'interface Java Naming and Directory Interface (jndi), j'ai donc pensé que ce serait un bon filtre pour commencer (ip contient "jndi")
Le filtre pour "jndi" a bien fonctionné, et j'ai développé le premier paquet qui était une requête HTTP POST et j'ai examiné le champ User-Agent qui montrait une requête ldap avec une IP suivie de texte encodé en base64.
En décodant la fin de la première requête POST de l'attaque, on obtient un wget (une requête web vers une IP) pour télécharger lh[.]sh, un script shell, et la commande chmod qui change les privilèges pour ajouter x, soit les droits d'exécution. Enfin, le script shell serait lancé.
J'ai ensuite déterminé si le serveur hôte à 198.71.247.91 avait effectué des connexions vers un serveur extérieur, en particulier vers l'IP de wget présente dans la chaîne décodée. J'ai filtré les paquets SYN qui établissent une connexion TCP et j'ai constaté que le serveur ne s'était pas connecté à des adresses extérieures, ce qui signifie probablement que le serveur était patché et donc que l'exploit a échoué.
Avec le script décodé, j'ai mené une investigation supplémentaire à l'aide de VirusTotal pour en savoir plus sur l'IP appelée par le script et j'ai découvert qu'elle était malveillante.
Dans la section Communauté de VirusTotal, d'autres preuves indiquaient qu'il s'agissait d'une attaque Log4J, car cette IP était connue pour avoir tenté l'exploit par le passé.
