Vous devrez rendre par mail a secu@lse.epita.fr avant le mercredi 22 avril 2006 a 23h42 une tarball bz2 nommee avec votre login. Les fichiers a rendre sont expliques ci-dessous.
Nous allons creer une backdoor cachee qui s'active lorsqu'elle recoit certains paquets. L'interet d'une telle backdoor est qu'elle ne cree pas de connexions : elle ecoute juste un certain port, recoit les paquets et execute une commande si le paquet et valide. Comme elle ne cree pas de connexions, elle n'apparait pas lorsque l'on fait un netstat ou un port scan. L'interet de ce type de backdoor tres discrete est souvent de faire des DDOS (Distributed Denial Of Service) [c'est mal].
Objectifs et fonctionnement :
Il faut donc:
Voici les etapes effectuees par le handler :
Voila a quoi ressemble un packet : (la partie entre '*' est cryptee)
------------------------------------------------------------------------------------
| |clef |* *|
| |en-tete|* *|
|en-tete udp | |* start[command]end *|
| | |* *|
|44 octes | |* *|
------------------------------------------------------------------------------------
Voila pour la backdoor, a vous de trouver comment envoyer les paquets cryptes, c'est assez simple : on peut utiliser un petit programme C de quelques lignes qui applique la crypto sur la commande et un script qui pipe dans hping2 par exemple qui est un programme qui va se charger de l'envoyer correctement.
Si vous suivez bien les details il ne devrait pas avoir de problemes. N'hesitez pas a poster des questions bien sur.
Vous devrez rendre dans votre tarball de rendu le fichier backdoor.c qui contient la source de votre serveur backdoor, avec quelques explications en commentaire (votre tout petit algo de chiffrement), et le fichier send_command.c qui servira de client, pour envoyer les commandes.