
TP Sicurezza Informatica UTN FRBA 2021
Per sfruttare la vulnerabilità, è necessario avviare un contenitore docker con un ambiente preparato per avviare Tensorflow con una versione 2.2.3 che ancora presenta la vulnerabilità. È composto da:
Verificare se la macchina dispone di docker eseguendo:
docker -v
Una volta che il nostro sistema operativo ha docker installato, eseguire i seguenti comandi nella cartella radice di questo repository per costruire e avviare l'applicazione:
docker-compose build
docker-compose up
Oppure, per avviare senza docker compose:
docker build -t docker-exploit-tensorflow-vulnerability:1.0 . # per costruire l'immagine
docker run --add-host=host.docker.internal:host-gateway --name exploit-tensorflow-vulnerability docker-exploit-tensorflow-vulnerability:1.0 # per creare e avviare il processo per la prima volta
docker start -a exploit-tensorflow-vulnerability # per avviare nuovamente il processo
Affinché la reverse shell funzioni, è necessario avere netcat installato sulla macchina attaccante, e aprire una porta in ascolto per una sessione ssh. Esempio:
nc -lvp 10000
Quindi, si sfrutterà la vulnerabilità mediante un modello di IA malizioso, dove lanceremo la connessione con l'attaccante. Bisogna configurare l'IP e la porta di ascolto dell'attaccante nel file reverseShell.yaml