
TP Sécurité Informatique UTN FRBA 2021
Pour exploiter la vulnérabilité, il est nécessaire de lancer un conteneur docker avec un environnement préparé pour exécuter Tensorflow avec une version 2.2.3 qui a encore la vulnérabilité. Il comprend :
Vérifier si la machine dispose de docker en exécutant :
docker -v
Une fois que notre système d'exploitation a docker installé, exécuter les commandes suivantes dans le dossier racine de ce dépôt pour construire et lancer l'application :
docker-compose build
docker-compose up
Ou bien, pour lancer sans docker compose :
docker build -t docker-exploit-tensorflow-vulnerability:1.0 . # pour construire l'image
docker run --add-host=host.docker.internal:host-gateway --name exploit-tensorflow-vulnerability docker-exploit-tensorflow-vulnerability:1.0 # pour créer et lancer le processus pour la première fois
docker start -a exploit-tensorflow-vulnerability # pour relancer le processus
Pour que le reverse shell fonctionne, il faut avoir netcat installé sur la machine attaquante, et ouvrir un port d'écoute pour une session ssh. Ex :
nc -lvp 10000
Ensuite, on exploitera la vulnérabilité via un modèle d'IA malveillant, où nous lancerons la connexion avec l'attaquant. Il faut configurer l'ip et le port d'écoute de l'attaquant dans le fichier reverseShell.yaml