Analyse d'Artefact : Chasse aux Webshells et Fichiers Modifiés sur Ivanti
1. Le terrain de chasse des webshells
Section intitulée « 1. Le terrain de chasse des webshells »Les appliances Ivanti exposent de nombreux services web. Les acteurs de la menace recherchent constamment des répertoires inscriptibles et mappés à la racine web pour y déposer leurs scripts malveillants. En supposant que l’image forensique soit montée sur /mnt/analyse/, les analystes doivent cibler des chemins spécifiques selon le type d’appliance.
A. Chemins cibles sur ICS (Connect Secure)
Section intitulée « A. Chemins cibles sur ICS (Connect Secure) »ICS utilise massivement Perl (.pl, .cgi) et Python.
/mnt/analyse/home/perl/hm/: contient de nombreux scripts CGI légitimes. C’est une cachette classique pour les webshells basés sur Perl./mnt/analyse/data/var/www/: la racine web pour certains services exposés./mnt/analyse/data/runtime/tmp/: utilisé pour stocker des fichiers temporaires, mais occasionnellement exposé ou abusé pour la préparation (staging) de charges utiles.
B. Chemins cibles sur EPMM (MobileIron)
Section intitulée « B. Chemins cibles sur EPMM (MobileIron) »L’architecture EPMM ressemble étroitement à une pile web traditionnelle (Apache/Tomcat).
/mnt/analyse/var/www/html/: la racine web Apache standard./mnt/analyse/usr/local/mobileiron/: le répertoire principal de l’application où les acteurs de la menace tentent de se fondre dans la masse.
2. L’art du “Trojanizing” (Modification de fichier)
Section intitulée « 2. L’art du “Trojanizing” (Modification de fichier) »Au lieu de déposer un nouveau fichier très visible, les APT sophistiqués préfèrent modifier des fichiers système légitimes existants. C’est ce qu’on appelle le “Trojanizing”.
- L’objectif : le vol d’identifiants (Credential Harvesting - intercepter les mots de passe en clair) ou le maintien d’une persistance furtive.
- La cible : les gestionnaires d’authentification. Les attaquants ciblent les scripts Perl (
.pl,.pm) ou Python (.py) responsables du flux de connexion. - Exemple classique : lors de l’exploitation de la CVE-2023-46805, il a été largement observé que les attaquants modifiaient le fichier
compcheck.pypour contourner l’authentification et exécuter des commandes arbitraires.
Détecter des fichiers modifiés à l’œil nu est extrêmement difficile car le nom du fichier, ses permissions et son emplacement semblent tout à fait légitimes. Cela nécessite l’utilisation de comparaisons de lignes de base cryptographiques.
3. L’artefact ultime : les logs de l’Integrity Checker Tool (ICT)
Section intitulée « 3. L’artefact ultime : les logs de l’Integrity Checker Tool (ICT) »Ivanti fournit un utilitaire interne appelé Integrity Checker Tool (ICT). Il scanne l’appliance et compare les hashs SHA256 de tous les fichiers système à une liste blanche cryptographique fournie par l’éditeur.
Si un snapshot du système ou une collecte de journaux a été réalisée, les analystes doivent immédiatement localiser les rapports ICT.
- Emplacement de l’artefact : généralement trouvé dans
/data/var/dlogs/ou/var/log/avec des noms de fichiers commeintegrity_check.log,ICT_result, ou dans l’archive du snapshot.
Décoder le rapport ICT
Section intitulée « Décoder le rapport ICT »Lors du parsing du journal ICT, les analystes doivent catégoriser les découvertes :
Matched: le fichier est sain et correspond au hash officiel.New: le fichier existe sur le disque mais n’est pas dans la liste blanche officielle. Il y a une forte probabilité que ce soit un webshell.Modified/Mismatch: le fichier existe dans la liste blanche, mais son hash a changé. Le fichier a été modifié (Trojanizé). C’est un indicateur de compromission confirmé.
4. Persistance au niveau de l’OS (Au-delà du Web)
Section intitulée « 4. Persistance au niveau de l’OS (Au-delà du Web) »Si un attaquant obtient un accès root via un exploit web, il tentera invariablement d’établir une persistance au niveau du système d’exploitation pour survivre aux mises à niveau du firmware ou aux redémarrages du service web.
Les analystes doivent pivoter vers des techniques forensiques Linux standards sur l’image montée :
- Tâches planifiées et Cron : auditez
/var/spool/cron/et/etc/cron*. Les attaquants ajoutent fréquemment des reverse shells en une seule ligne (ex: utilisantbash -iounc) pour s’exécuter périodiquement. - Artefacts SSH : vérifiez
/root/.ssh/authorized_keys. L’ajout d’une clé publique SSH frauduleuse permet à l’attaquant de contourner totalement l’exploit web pour ses accès futurs. - Persistance héritée : auditez
/etc/rc.localou les répertoires systemd (/etc/systemd/system/) pour détecter des scripts de démarrage malveillants.
5. Triage DFIR et scripts de chasse
Section intitulée « 5. Triage DFIR et scripts de chasse »Au lieu de s’appuyer uniquement sur des signatures antivirus, les analystes DFIR utilisent des commandes Linux natives sur l’image montée pour chasser les anomalies comportementales.
#!/bin/bashTARGET_DIR="/mnt/analyse"INCIDENT_DATE="2026-01-01"
echo "[+] Chasse aux fichiers nouvellement créés ou modifiés (MAC Times)..."find $TARGET_DIR/home/perl $TARGET_DIR/data/var/www -type f -newermt "$INCIDENT_DATE" -ls
echo "[+] Chasse aux fonctions suspectes dans les fichiers Perl/Python..."# Recherche de fonctions d'exécution de commandes OS ou d'offuscationgrep -rE "system\(|shell_exec|eval\(|base64_decode|popen\(" $TARGET_DIR/home/perl/
echo "[+] Chasse aux extensions de fichiers anormales..."# Un fichier .php ou .jsp caché dans un répertoire CGI Perl est hautement suspectfind $TARGET_DIR/home/perl/hm -type f \( -name "*.php" -o -name "*.jsp" \)Références et lectures complémentaires
Section intitulée « Références et lectures complémentaires »- Avis CISA : Catalogue des vulnérabilités connues exploitées (KEV)
- Écosystème lié : Architecture et Versioning Ivanti
- Artefact lié : Analyse des logs Ivanti et parsing
- Artefact lié : Persistance Linux via Cron
- Artefact lié : Artefacts SSH Linux