Fuzzing FTP

Prenons pour commencer un cas simple avec l’application Ability Server 2.34 qui est un logiciel commercial permettant de créer simplement un serveur FTP, HTTP ou e-mail.

Nous nous attaquerons au serveur FTP puisque faillible et connu.

images/04EP01.png

Allons dans Settings pour configurer un utilisateur avec l’identifiant ftp et le mot de passe ftp par exemple.

images/04EP02.png

À partir de ce moment, lorsque nous cliquons sur Activate sur la ligne de FTP Server, nous obtenons un accès au FTP en nous connectant en tant qu’utilisateur ftp avec le mot de passe ftp.

Nous partirons donc de ce constat pour créer un script qui va tenter de faire planter l’application.

Nous sommes en présence du protocole FTP, il nous faut donc savoir quels sont les tests que nous pourrons effectuer.

Un des tests possibles est de fournir en argument d’une commande un nombre d’arguments non prévu.

Il nous faut donc répertorier les commandes FTP qui acceptent des arguments. Pour cela, nous avons une documentation très utile qui est la RFC.

Nous pouvons donc aller consulter la RFC 959 et nous pourrons voir que les commandes CWD, MKD et STOR acceptent des arguments.

Pour l’exemple, nous ne prendrons que ces trois commandes, mais dans la pratique, il faudrait tester toutes les commandes acceptant un argument.

Nous allons donc commencer par écrire un script en Python qui effectue la connexion pour tester celle-ci.

script_connexion_ftp.py


import socket ...
couv_EP2HAFO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Introduction
Suivant
Fuzzing avec Scapy