Blog d'un Éternel Geek

Un détecteur d'intrus pour plateforme PHP

http://img4.hostingpics.net/pics/616588intruslettre640x415.jpg

Dernièrement, certains sites ont souffert de petits soucis concernant la sécurité au sein de leur infrastructure. Certainement, vu la récurrence des agissements du hacker, il me semble que la réponse devait être une intrusion dans le langage PHP, les plugicielles assez nombreux et out-date sont la plupart du temps la cause majeure, qui a permit d'installer surement un backdoor.

La backdoor n'est pas un exploit, ni un système de piratage, il est seulement le moyen le plus facile pour le hacker de revenir malgré l'update ou la correction de la faille de la part de l'administrateur.

Cela porte bien son nom, le hacker laisse une porte dérobé qui lui permettra sans cesse de revenir, il utilise essentiellement des Webshells codé assez souvent en PHP.

 

Alors quel joie d'avoir trouver ou plutôt retrouver le lien vers cette veille conférence en date de 2015 dans lesquels, il est fait référence à un outil open-source élaboré dans le cadre d'une analyse Forensique appelé : PHP Malware Finder.

 

Malheureusement, il n'y a plus de vidéos valide de cette année là, cependant le lien de téléchargement lui est toujours d'actualité et je pense qu'il serait dommage de s'en priver.

 

_______  __   __  _______
|  ___  ||  |_|  ||       |
| |   | ||       ||    ___|
| |___| ||       ||   |___   Webshell finder,
|    ___||       ||    ___|   kiddies hunter,
|   |    | ||_|| ||   |               website cleaner.
|___|    |_|   |_||___|
 
Detect potentially malicious PHP files.

 

https://github.com/nbs-system/php-malware-finder

 

Alors la seule dépendance obligatoire est d'installer YARA https://virustotal.github.io/yara/ , alors sur la page d'accueil vous remarquerez que Kapersky et bien d'autre utilisent ce système de détection et de classification des malwares.

YARA est un outil destiné à aider les chercheurs en logiciels malveillants à identifier et à classer les échantillons de logiciels malveillants. Avec YARA, vous pouvez créer des descriptions de familles de logiciels malveillants (ou tout ce que vous voulez décrire) en fonction de motifs textuels ou binaires. Chaque description, a une règle qui consiste en un ensemble de chaînes et une expression booléenne qui détermine sa logique. En clair, il est modulable, on peut le mettre à jour en y incorporant des descriptions, règle,… mais surtout la signature trouvé de nouveaux malwares.

 

http://img4.hostingpics.net/pics/353058trouvezlintrus215.jpg

 

Au lieu d'utiliser une approche basée sur le hash, PMF essaie autant que possible d'utiliser des motifs sémantiques, pour détecter des choses comme une variable $ _GET qui serait décodée deux fois, décompressée puis transmise à une fonction dangereuse pour le système.

L'installation est simple sur Linux :

git clone https://github.com/nbs-system/php-malware-finder.git

 

Une fois en place on se root dessus et on lance à la console :

 

$ ./phpmalwarefinder /chemin/vers/ses/pages/php

 

Le script va lister tous les chemins vers des fichiers dont des signatures potentiellement dangereuses auraient été aperçus accompagnés du type de problèmes.

 

Bien entendu, d'autres options sont disponibles et ceux en tapant :

 

$ ./phpmalwarefinder -h
Usage phpmalwarefinder [-cfhtv] [-l (php|asp)] <file|folder> ...    -c  Optional path to a configuration file    -f  Fast mode    -h  Show this help message    -t  Specify the number of threads to use (8 by default)    -v  Verbose mode    -l  Set language ('asp', 'php')

 

Ou si vous préférez utiliser yara:

$ yara -r ./php.yar /var/www$ yara -r ./asp.yar /var/www

 

PHP-malware-finder fait de son mieux pour détecter le code obfusqué, l'encodage et le dodgy code, ainsi que des fichiers utilisant des fonctions PHP souvent utilisées dans malwares / webshells.

Pour compléter ce prodigieux script, je pense qu'il serait bon de le coupler avec le vieux mais très bon https://github.com/emposha/PHP-Shell-Detector qui a prouvé son efficacité.

Lorsque vous aurez une attaque qui semble se répéter continuellement sans avoir la possibilité de connaitre la faille ou comment le hacker entre dans votre site web, je préconise la suspension  sous maintenance, puis vous transférer tous vos fichiers sur votre ordinateur.

A partir de là, vous utilisez des Shell Détecteur comme ceux présenté qui vont scanner et rechercher toute modification ayant l'aspect d'un malwares ou Webshell. Il suffira de le retirer et vérifier l'intégrité du chemin où il a été placé.

Parfois, il le place à l'endroit de l'intrusion, d'autre fois c'est juste un backdoor laissé derrière suite à une intrusion plus complexe, donc si vous n'avez pas une idée de la technique utilisée, il est préférable d'identifier les systèmes out-date et soit de les supprimer ou faire leurs mises à jour.

Il est préférable d'avoir moins de gadgets au profit d'une meilleure sécurité. Ce qui compte c'est d'avoir à l'esprit que la patience et la mise en place de chaque élément distinctement fait gagner du temps à la précipitation.

 

Merci à bientôt.






 Geek me     Je suis un Geek dans l'âme. 18 ans à silloner internet pour récolter des informations afin de comprendre son fonctionnement. Idéalement j'étudie également le comportement humain.

C'est afin de vous partager mes connaissances que j'ai ouvert ce blog alors je vous souhaite une bonne lecture.



À lire également


Écrire un commentaire

Votre adresse de messagerie ne sera pas publiée.

Quelle est la quatrième lettre du mot rytlxm ? :