Maison >Opération et maintenance >Sécurité >Qu'est-ce que l'analyse Webshell de la déformation obscurcie ?
À l'origine, Webshell était souvent appelé un script permettant aux administrateurs de serveur Web de gérer le serveur à distance. Plus tard, avec la naissance de certains outils de gestion Webshell, le processus d'obtention des autorisations Web a été considérablement simplifié, c'est pourquoi on l'a progressivement appelé script d'outil d'intrusion Web.
Webshell est différent des vulnérabilités, mais utilise des vulnérabilités d'application ou des vulnérabilités de serveur (vulnérabilités de téléchargement de fichiers, vulnérabilités d'inclusion de fichiers, etc.) pour télécharger des fichiers de script sur le serveur en vue d'une exploitation ultérieure, qui appartient à l'exploitation ultérieure des tests d'intrusion et du TA0002. Étape d'exécution (exécution) de ATT&CK .
Figure 1 TA0002
Source de référence : https://mitre-attack.github.io/attack-navigator/ (ATT&CK Navigator)
Afin de contourner les équipements de détection et de protection, les logiciels, etc., ils modifient souvent leurs méthodes d'écriture Webshell pour garantir que leurs scripts ne seront pas détectés tout en garantissant la fonctionnalité. Parmi eux, les scripts php sont plus importants étant donné qu'il existe de nombreuses fonctions disponibles dans le langage de script php, php peut avoir des fonctions en constante évolution. déformation de l'écriture.
Les chevaux de Troie à une phrase sont également des scripts Webshell. Les amis qui s'intéressent aux chevaux de Troie à une phrase peuvent se référer au numéro précédent « Transformations multiples des chevaux de Troie à une phrase » pour les apprendre et les comprendre par eux-mêmes. Cet article n'entrera pas dans les détails. encore.
Lorsque j'ai analysé les webshells auparavant, j'ai découvert qu'il existe un type de webshell qui peut complètement contourner divers logiciels de détection. Ce type de script semble souvent dénué de sens au niveau du code et n'a pas de fonctionnalités webshell communes, mais. Après avoir fouillé les couches du cocon, il n'est pas difficile de trouver l'idée de ce type de script obscurci. Je viens de recevoir un script obscurci intéressant. Je souhaite partager le processus d'analyse de ce script avec mes amis, en espérant. qu'il peut également servir de point de départ.
Quand j'ai vu ce script pour la première fois, j'ai vu la fonction eval évidente dans son contenu, j'ai donc instinctivement extrait cette partie du code, mais ce n'était pas suffisant pour prouver quoi que ce soit, car le contenu Une partie est pleine de charabia apparemment inutile, sans aucune trace de WebShell.
Si vous regardez attentivement, vous constaterez qu'en plus de eval, les trois fonctions gzinflate, base64_decode et str_rot13 sont également appelées. Vous pouvez peut-être commencer par ces trois fonctions pour trouver une percée dans l'analyse.
Figure 2 Contenu du script
str_rot13()
L'encodage ROT13 fait avancer chaque lettre de 13 lettres dans l'alphabet. Les chiffres et les caractères non alphabétiques restent inchangés (chiffre de César).
base64_decode()
Base64 encode le contenu de la chaîne.
Gzinflate
utilise la méthode d'encodage ZLIB_ENCODING_RAW par défaut pour les données et utilise l'algorithme de compression des données deflate. En fait, elles sont compressées d'abord avec LZ7 puis avec le codage Huffman.
Figure 3 Appel de la commande echo
En utilisant la commande echo pour analyser le contenu, il a été constaté que str_rot13() a été exécuté, nous avons donc répété cette idée, essayez de décoller le contenu original couche par couche.
Figure 4 Résultats de l'analyse
Après trois analyses répétées de la commande echo, ce qui apparaît n'est finalement plus du code monotone, prouvant que la direction de l'analyse est probablement correcte, et à en juger par la quantité de code, il ressemble à un cheval de Troie aux multiples fonctions, communément appelé grand cheval.
Figure 5 Analyse multiple
Bon gars, c'est en effet un gros cheval.
Après des recherches, il a été constaté que les fonctions de ce cheval de Troie incluent l'obtention d'informations sur le système, la lecture de répertoires, le téléchargement de fichiers, le téléchargement de fichiers, etc.
Image 6 L'apparence originale de la Malaisie
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!