L’énoncé du challenge
PassManager
1 | * Euh Teampass? |
Url: https://blog.schermi.fr/static/pass_manager.ova
Niveau: Très difficile
Ouverture de l’OVA avec virtualbox
La machine virtuelle importée est une debian 64 bits et peu de ressources :
- 1 processeur
- 512 Mo de RAM
- 2 Go de disque
J’ai d’abord démarré la machine pour identifier la version de debian et sortir les dernières commandes tapé.
La machine est une debian stretch et les commandes sont :
cat /root/.bash_history
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16mkdir /mnt/usb-key-found
mount /dev/sdb1 /mnt/usb-key-found
cd /mnt/usb-key-found
ls
. ./suspicious_autorun.sh
ls
umount /mnt/usb-key-found
rm -rf /mnt/usb-key-found
apt update
apt install -y git build-essential libsqlite3-dev libssl-dev
cd /usr/src
git clone https://github.com/nrosvall/titan.git
cd titan
make
make install
sh
cat /home/jdoe/.bash_history
1
2
3
4mkdir ~/.titan
titan -i ~/.titan/my-flags.db
titan -a
titan -e
L’historique des commandes permet d’identifier le gestionnaire de mot de passe titan, qui stocke les mots de passes dans une base sqlite chiffrée en AES.
Export du disque pour analyse forensique
Le disque a été ensuite analysé avec DiskEditor afin de chercher les fichiers effacés.
Seul le fichier /home/jdoe/.titan/my-flags.db.titan
qui est effacé semble intéressant.
Mais le md5 du fichier /home/jdoe/.titan/my-flags.db.titan
et le même que le fichier /home/jdoe/.titan/my-flags.db
Analyse du processus de chiffrement de la base de titan
Le man de l’outil en ligne de commande titan montre que l’option -i initialise une base de donnée et enfin l’option -e chiffre la base de donnée.
Le système de fichier doit donc avoir à un moment la base non chiffrée.
Scalpel
J’ai donc fait un carving à l’aide de scalpel à la recherche de base sqlite.
Scalpel n’a récupéré qu’une base de donnée avec ce contenu :1
2
3
4
5sqlite> .tables
entries
sqlite> select * from entries;
1|ndh|||flag-55ffabb0-7724-11e8-a115-07ebd48f4922||2018-06-23 22:32:04
sqlite>