Libssh2-Exploit
Objectifs
Dans ce projet, nous visons à créer un exploit pour une vulnérabilité de lecture hors limites dans libssh2 décrite dans CVE-2019-13115. Créez un serveur ssh malveillant pour faire planter un client qui s'y connecte et voyez si cela peut être exploité davantage pour voler des données du client.
Mise en route du serveur OpenSSH
- Téléchargez et extrayez openssh-8.1p1.tar.gz (pour le serveur OpenSSH non modifié) ou openssh-malicious.zip (pour le serveur malveillant).
- Accédez au dossier et exécutez les commandes ci-dessous
- ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-audit=debug --disable-strip
- make
- sudo make install
- sudo /usr/local/sbin/sshd
Configuration de libssh2 et vérification du crash
- Téléchargez et extrayez libssh2-1.8.2.tar.gz dans n'importe quel dossier, par exemple /usr/src/libssh2-1.8.2
- Exécutez les commandes suivantes
- ./configure
- make
- make install
- ./ssh2 127.0.0.1 <username> <password> Cela déclenchera un crash
- Pour compiler un programme C utilisant les bibliothèques libssh2, utilisez les commandes suivantes
- gcc -g -I /usr/src/libssh2-1.8.2/include -I /usr/src/libssh2-1.8.2/src -L /usr/local/lib ssh2.c -o ssh222 -lssh2