Libssh2-Exploit
Ziele
In diesem Projekt möchten wir einen Exploit für eine Out-of-Bounds-Read-Schwachstelle in libssh2 erstellen, die in CVE-2019-13115 beschrieben ist. Erstellen Sie einen bösartigen SSH-Server, um einen Client, der sich mit ihm verbindet, zum Absturz zu bringen, und prüfen Sie, ob dies weiter ausgenutzt werden kann, um Daten vom Client zu stehlen.
OpenSSH-Server zum Laufen bringen
- Laden Sie openssh-8.1p1.tar.gz herunter und extrahieren Sie es (für den unveränderten OpenSSH-Server) oder openssh-malicious.zip (für den bösartigen Server).
- Gehen Sie zu dem Ordner und führen Sie die folgenden Befehle aus
- ./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
Einrichten von libssh2 und Überprüfen des Absturzes
- Laden Sie libssh2-1.8.2.tar.gz herunter und extrahieren Sie es in einen beliebigen Ordner, z. B. /usr/src/libssh2-1.8.2
- Führen Sie die folgenden Befehle aus
- ./configure
- make
- make install
- ./ssh2 127.0.0.1 <username> <password> Dies wird einen Absturz auslösen
- Verwenden Sie zum Kompilieren eines C-Programms mit libssh2-Bibliotheken die folgenden Befehle
- 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