Author Topic: Bloquez le compilateur GCC  (Read 623 times)

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6048
  • Karma: 50
    • View Profile
    • EdelweissHosting
Bloquez le compilateur GCC
« on: Octobre 16, 2006, 02:48:26 pm »
Un compilateur est un système qui permet de transformer un code source en un programme exécutable. On rentre donc avec un fichier texte et on sort avec un programme compilé que le serveur comprend et exécute.

Sur tous les serveurs, il y a un ou plusieurs compilateurs. GCC est un compilateur qui comprend le language C et il est donc capable de transformer les codes C en programmes exécutables.

La présence du compilateur est nécessaire quand on met à jour les programmes du serveur (Apache, PHP, mySQL... etc) parce que des éléments de ceux-ci doivent être compilés.

Le danger:
Le pirate upload un fichier texte sur votre serveur. Ceci peut se faire en utilisant n'importe quel site que vous hébergez et qui permet les uploads sans trop de contrôle. Beaucoup d'installations Joomla ou autre permettent d'uploader des fichiers texte. Le fichier contient du code source.

Par la suite, le pirate invoque le compilateur GCC de votre serveur et celui-ci va s'attaquer au fichier texte et le transformer en redoutable programme qui se lance sur votre serveur. Les programmes compilés s'exécutent beaucoup plus rapidement et sont plus efficaces que les scripts traditionnels non compilés.

Par exemple, un script PHP est compilé à chaque appel. Il y a donc une perte de temps et l'exécution est lente. Un script C compilé est plus rapide.


Conséquences:
A chaque fois qu'on a vu un serveur qui a été attaqué par un script compilé, les données étaient 100% perdues. Une seule fois on a pu récupérer 99% des données attaquées par un tel script mais le client a eu une facture à 4 chiffres.


Exemple:


Comme vous pouvez le voir, le script d'origine (un simple fichier texte) est uploadé dans le dossier /tmp. Il s'appelle pwned.c puis gcc est invoqué et le transforme en exécutable pwned. Puis, la commande rm -f est exécutée pour effacer le fichier texte d'origine. C'est une attaque authentique arrivée à un client. Le pirate a eu un accès root total suite à cela et les données détruites.


Bloquez GCC:
On fait juste un CHMOD 000 pour bloquer tout type d'accès à GCC. Cette commande se fait depuis le SSH avec un accès root:

chmod 000 /usr/libexec/gcc

Dès ce moment, il n'est plus possible de compiler des scripts sur votre machine.

Pour remettre l'usage de gcc, il faut faire:

chmod 700 /usr/libexec/gcc

N'oubliez pas de le bloquer après usage.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php