192.168.2.110 08:00:27:1a:bb:4f PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird verwendet, um das lokale Netzwerk mittels ARP-Protokoll nach aktiven Geräten zu scannen. Es listet die IP-Adresse, die dazugehörige MAC-Adresse und den Hersteller der Netzwerkkarte auf.
Bewertung: Ein aktives Gerät wurde unter der IP-Adresse `192.168.2.110` gefunden. Die MAC-Adresse `08:00:27:1a:bb:4f` gehört zum Hersteller `PCS Systemtechnik GmbH`, was typischerweise auf eine VirtualBox-VM hinweist. Die Ziel-IP wurde erfolgreich identifiziert.
Empfehlung (Pentester): Notieren Sie die IP `192.168.2.110` als Ziel für nachfolgende Scans. Behalten Sie die VirtualBox-Information im Hinterkopf, falls spezifische VM-Exploits relevant werden könnten.
Empfehlung (Admin): Implementieren Sie Netzwerküberwachung, um unautorisierte ARP-Scans zu erkennen. Segmentieren Sie das Netzwerk, um die Reichweite solcher Scans zu begrenzen.
127.0.0.1 localhost 192.168.2.110 nebula.hmv
Analyse: Die lokale Host-Datei (`/etc/hosts`) auf dem Angreifer-System wird bearbeitet (`vi`) und anschließend ihr Inhalt angezeigt (`cat`). Der Eintrag `192.168.2.110 nebula.hmv` wurde hinzugefügt, um den Hostnamen `nebula.hmv` lokal auf die Ziel-IP aufzulösen.
Bewertung: Dies ist ein nützlicher Schritt, um die Interaktion mit dem Ziel, insbesondere mit Webdiensten, die möglicherweise auf Hostnamen angewiesen sind (Virtual Hosts), zu vereinfachen. Der Name `nebula.hmv` wird nun für weitere Tests verwendet.
Empfehlung (Pentester): Verwenden Sie den definierten Hostnamen `nebula.hmv` in allen weiteren Befehlen, die auf das Ziel zugreifen, insbesondere bei Web-Scans und Browser-Interaktionen.
Empfehlung (Admin): Dies ist eine lokale Konfiguration des Angreifers. Es ist jedoch wichtig zu wissen, dass Angreifer versuchen werden, auf Dienste über verschiedene Hostnamen zuzugreifen.
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Analyse: Ein `nmap`-Scan wird gegen die Ziel-IP `192.168.2.110` durchgeführt.
Bewertung: Der Scan identifiziert zwei offene Ports: SSH auf Port 22 (OpenSSH 8.2p1) und HTTP auf Port 80 (Apache 2.4.41). Die Verwendung von `-Pn` war notwendig, da der Host möglicherweise auf Pings nicht geantwortet hat.
Empfehlung (Pentester): Analysieren Sie die vollständige `nmap`-Ausgabe. Untersuchen Sie den Webserver auf Port 80 genauer. Prüfen Sie die OpenSSH- und Apache-Versionen auf bekannte Schwachstellen.
Empfehlung (Admin): Überprüfen Sie die Firewall-Regeln; möglicherweise blockiert sie ICMP (Ping). Beschränken Sie den Zugriff auf SSH auf notwendige IPs. Halten Sie alle Dienste aktuell.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-27 00:26 CEST Nmap scan report for nebula.hmv (192.168.2.110) Host is up (0.00015s latency). Not shown: 65533 filtered tcp ports (no-response) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 63:9c:2e:57:91:af:1e:2e:25:ba:55:fd:ba:48:a8:60 (RSA) | 256 d0:05:24:1d:a8:99:0e:d6:d1:e5:c5:5b:40:6a:b9:f9 (ECDSA) |_ 256 d8:4a:b8:86:9d:66:6d:7f:a4:cb:d0:73:a1:f4:b5:19 (ED25519) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu)) |_http-title: Nebula Lexus Labs |_http-server-header: Apache/2.4.41 (Ubuntu) MAC Address: 08:00:27:1A:BB:4F (Oracle VirtualBox virtual NIC) Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose|storage-misc Running (JUST GUESSING): Linux 4.X|5.X|2.6.X|3.X (97%), Synology DiskStation Manager 5.X (91%), Netgear RAIDiator 4.X (87%) OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 cpe:/o:linux:linux_kernel:2.6.32 cpe:/o:linux:linux_kernel:3 cpe:/a:synology:diskstation_manager:5.2 cpe:/o:netgear:raidiator:4.2.28 Aggressive OS guesses: Linux 4.15 - 5.8 (97%), Linux 5.0 - 5.4 (97%), Linux 5.0 - 5.5 (94%), Linux 2.6.32 (91%), Linux 3.10 - 4.11 (91%), Linux 3.2 - 4.9 (91%), Linux 3.4 - 3.10 (91%), Synology DiskStation Manager 5.2-5644 (91%), Linux 2.6.32 - 3.10 (91%), Linux 2.6.32 - 3.13 (91%) No exact OS matches for host (test conditions non-ideal). Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.15 ms nebula.hmv (192.168.2.110) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 11.43 seconds
Analyse: Dies ist die vollständige Ausgabe des vorherigen `nmap`-Scans ohne `grep`-Filterung.
Bewertung: Bestätigt die offenen Ports 22 (SSH 8.2p1) und 80 (Apache 2.4.41). Der Titel der Webseite lautet "Nebula Lexus Labs". Die MAC-Adresse bestätigt VirtualBox. Nmap hat Schwierigkeiten bei der OS-Erkennung ("Warning: OSScan results may be unreliable...", "No exact OS matches for host"), da anscheinend keine geschlossenen Ports gefunden wurden (alle 65533 nicht angezeigten Ports sind als "filtered" markiert). Dies deutet auf eine Firewall hin, die Pakete an geschlossene Ports verwirft (DROP) anstatt sie abzulehnen (REJECT mit RST). Nmap schätzt dennoch ein Linux-System (Kernel 4.x/5.x). Die SSH-Hostkeys werden angezeigt.
Empfehlung (Pentester): Die Firewall erschwert die OS-Erkennung und das Finden geschlossener Ports, aber die offenen Ports sind klar. Konzentrieren Sie sich auf den Apache-Webserver. Untersuchen Sie die Webseite "Nebula Lexus Labs" genauer.
Empfehlung (Admin): Eine Firewall, die Pakete an geschlossene Ports verwirft, ist eine gängige Konfiguration, die das Scannen erschwert. Stellen Sie sicher, dass die Firewall nur die notwendigen Ports (22, 80) öffnet.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.110 + Target Hostname: 192.168.2.110 + Target Port: 80 + Start Time: 2024-04-27 00:21:48 (GMT2) --------------------------------------------------------------------------- + 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 (use '-C all' to force check all possible dirs) + Apache/2.4.41 appears to be outdated (current is at least Apache/2.4.54). [...] + /: Web Server returns a valid response with junk HTTP methods which may cause false positives. + /img/: Directory indexing found. + /img/: This might be interesting. + /login/: Cookie PHPSESSID created without the httponly flag. [...] + /login/: This might be interesting. + 8102 requests: 0 error(s) and 8 item(s) reported on remote host + End Time: 2024-04-27 00:21:58 (GMT2) (10 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `nikto` scannt den Webserver auf Port 80 nach bekannten Schwachstellen und interessanten Funden.
Bewertung: Nikto findet:
Empfehlung (Pentester): Untersuchen Sie `/img/` manuell. Konzentrieren Sie sich auf das Verzeichnis `/login/`. Führen Sie Directory Enumeration auf `/` und `/login/` durch. Testen Sie `/login/` auf gängige Schwachstellen (SQLi, Brute-Force, XSS).
Empfehlung (Admin): Implementieren Sie die fehlenden Sicherheitsheader. Aktualisieren Sie Apache. Deaktivieren Sie Directory Indexing. Setzen Sie das `HttpOnly`-Flag für Session-Cookies. Konfigurieren Sie den Webserver so, dass er auf ungültige HTTP-Methoden korrekt mit einem Fehler antwortet.
=============================================================== Gobuster v3.6 [...] =============================================================== http://nebula.hmv/index.php (Status: 200) [Size: 3511] http://nebula.hmv/img (Status: 301) [Size: 306] [--> http://nebula.hmv/img/] http://nebula.hmv/login (Status: 301) [Size: 308] [--> http://nebula.hmv/login/] http://nebula.hmv/joinus (Status: 301) [Size: 309] [--> http://nebula.hmv/joinus/] =============================================================== [...]
Analyse: `gobuster` wird verwendet, um das Root-Verzeichnis von `http://nebula.hmv` nach Verzeichnissen und Dateien zu durchsuchen. Es verwendet die `directory-list-2.3-medium.txt` und eine lange Liste von Dateierweiterungen. 404-Fehler werden ignoriert.
Bewertung: Der Scan findet `index.php` und bestätigt die bereits von `nikto` gefundenen Verzeichnisse `/img/` und `/login/`. Zusätzlich wird ein neues Verzeichnis `/joinus/` entdeckt. Alle Verzeichnisse leiten mit Status 301 auf eine Version mit abschließendem Schrägstrich weiter.
Empfehlung (Pentester): Untersuchen Sie die Verzeichnisse `/login/` und `/joinus/` genauer. Führen Sie `gobuster` oder `dirb` auch innerhalb dieser Verzeichnisse aus.
Empfehlung (Admin): Stellen Sie sicher, dass nur beabsichtigte Verzeichnisse und Dateien über das Web zugänglich sind. Implementieren Sie eine robuste Zugriffskontrolle.
# Analyse von: http://nebula.hmv/index.php#about-us Web Server: Apache HTTP Server 2.4.41 Programmiersprache: PHP Betriebssysteme: Ubuntu CDN: jsDelivr UI Frameworks: Bootstrap 5.3.0
Analyse: Das Browser-Plugin `Wappalyzer` (oder ein ähnliches Tool) wurde verwendet, um die auf der Webseite `http://nebula.hmv/index.php` eingesetzten Technologien zu identifizieren.
Bewertung: Wappalyzer identifiziert Apache 2.4.41, PHP, Ubuntu, das CDN jsDelivr und das UI-Framework Bootstrap 5.3.0. Dies bestätigt die Server-Software und gibt Hinweise auf die verwendete Backend-Sprache (PHP) und das Frontend-Framework (Bootstrap).
Empfehlung (Pentester): Suchen Sie nach bekannten Schwachstellen in PHP-Anwendungen allgemein sowie spezifisch in Bootstrap 5.3.0, falls benutzerdefinierte Implementierungen fehlerhaft sein könnten. Die PHP-Information ist besonders relevant für die Suche nach Code-Injection, LFI/RFI etc.
Empfehlung (Admin): Halten Sie alle Komponenten (PHP, Bootstrap-Bibliotheken) auf dem neuesten Stand. Konfigurieren Sie PHP sicher (z.B. `display_errors` auf Off in Produktion).
# Zugriff auf: http://nebula.hmv/joinus/ # Sichtbarer Inhalt auf der Seite (Auszug): Welcome to Nebula Labs! Explore the secrets of Nebula Lexus Labs [...] If you believe you have what it takes to join us and uncover the secrets of the universe, follow these steps: Download and complete our application form here. Send the completed form to our email address: join@nebula-lexus-labs.com [...]
Analyse: Die Seite im Verzeichnis `/joinus/` wird manuell im Browser betrachtet.
Bewertung: Die Seite enthält einen Link zum Herunterladen eines Bewerbungsformulars ("Download... form here.") und eine E-Mail-Adresse (`join@nebula-lexus-labs.com`). Die Domain `nebula-lexus-labs.com` ist neu und könnte relevant sein. Der Benutzername `join` ist eine Möglichkeit.
Empfehlung (Pentester): Finden Sie den genauen Link zum Download-Formular (möglicherweise durch Untersuchen des HTML-Quellcodes). Laden Sie das Formular herunter und analysieren Sie es. Fügen Sie `join` zur Liste potenzieller Benutzernamen hinzu. Recherchieren Sie die Domain `nebula-lexus-labs.com` (DNS, Whois).
Empfehlung (Admin): Stellen Sie sicher, dass Download-Links korrekt funktionieren und nur die beabsichtigten Dateien heruntergeladen werden können. Überwachen Sie die angegebene E-Mail-Adresse.
=============================================================== Gobuster v3.6 [...] =============================================================== http://nebula.hmv/joinus/index.php (Status: 200) [Size: 1712] http://nebula.hmv/joinus/application_form.pdf (Status: 200) [Size: 83859] =============================================================== [...]
Analyse: `gobuster` wird gezielt auf das Verzeichnis `/joinus/` angesetzt, um darin nach Dateien und Unterverzeichnissen zu suchen.
Bewertung: Der Scan findet die `index.php` (die vermutlich die zuvor angezeigte Seite ist) und die Datei `application_form.pdf`. Dies ist das auf der Seite erwähnte Bewerbungsformular.
Empfehlung (Pentester): Laden Sie die Datei `application_form.pdf` mit `wget` oder über den Browser herunter und untersuchen Sie sie auf Metadaten oder versteckte Informationen.
Empfehlung (Admin): Stellen Sie sicher, dass PDF-Dateien und andere Dokumente keine unbeabsichtigten Metadaten oder sensible Informationen enthalten, bevor sie veröffentlicht werden.
--2024-04-27 00:58:05-- http://nebula.hmv/joinus/application_form.pdf Auflösen des Hostnamens nebula.hmv (nebula.hmv)… 192.168.2.110 Verbindungsaufbau zu nebula.hmv (nebula.hmv)|192.168.2.110|:80 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: 83859 (82K) [application/pdf] Wird in application_form.pdf gespeichert. application_form.pdf 100%[===================>] 81,89K --.-KB/s in 0s 2024-04-27 00:58:05 (248 MB/s) - application_form.pdf gespeichert [83859/83859]
Analyse: Die Datei `application_form.pdf` wird mit `wget` vom Webserver heruntergeladen.
Bewertung: Der Download war erfolgreich. Die PDF-Datei steht nun zur lokalen Analyse bereit.
Empfehlung (Pentester): Öffnen Sie die PDF-Datei und suchen Sie nach Hinweisen, Kommentaren, Metadaten oder versteckten Feldern. Verwenden Sie Tools wie `pdfinfo` oder `exiftool`.
Empfehlung (Admin): Überwachen Sie Serverlogs auf ungewöhnliche Download-Aktivitäten.
# Inhalt oder Metadaten aus application_form.pdf (Auszug):
[...]
What to do when you are accepted
[...] access to the Meeting URL in the website.
The link will be like:
https://nebulalabs.org/meetings?user=admin&password=d46df8e6a5627debf930f7b5c8f3b083
Analyse: Bei der Untersuchung der heruntergeladenen PDF-Datei (`application_form.pdf`) wird ein Textabschnitt gefunden, der eine URL enthält.
Bewertung: **Kritischer Fund!** Die PDF-Datei enthält eine URL (`https://nebulalabs.org/meetings`), die scheinbar Zugangsdaten als GET-Parameter übergibt: `user=admin` und `password=d46df8e6a5627debf930f7b5c8f3b083`. Der Passwortwert ist ein MD5-Hash (32 hexadezimale Zeichen).
Empfehlung (Pentester): Versuchen Sie, den MD5-Hash `d46df8e6a5627debf930f7b5c8f3b083` mit Tools wie `hashcat`, `john` oder Online-Crackern (z.B. CrackStation) zu knacken. Testen Sie die Zugangsdaten (`admin` / geknacktes Passwort) auf der Login-Seite (`http://nebula.hmv/login/`).
Empfehlung (Admin): **KRITISCH!** Entfernen Sie sofort sensible Informationen wie Zugangsdaten aus öffentlichen Dokumenten (PDFs etc.). Verwenden Sie niemals MD5 zum Hashen von Passwörtern. Verwenden Sie starke, gesalzene Hashing-Algorithmen (bcrypt, Argon2). Übergeben Sie Zugangsdaten niemals als GET-Parameter in URLs.
# Zugriff auf: http://nebula.hmv/login/dashboard.php (nach Login, vermutlich mit admin/geknacktem_hash) # Relevanter Inhalt auf der Seite: Search Centrals Meeting Room If you are from the PMC Central, please enter by SSH. # Tabelle (oder ähnliche Struktur) auf der Seite: id role username 1 Security pmccentral
Analyse: Nach einem (angenommenen) erfolgreichen Login auf `http://nebula.hmv/login/`, wahrscheinlich mit `admin` und dem geknackten MD5-Passwort, wird das Dashboard (`dashboard.php`) untersucht.
Bewertung: Das Dashboard enthüllt wichtige Informationen:
Empfehlung (Pentester): Fügen Sie `pmccentral` zur Liste der Benutzernamen hinzu. Versuchen Sie, das Passwort für `pmccentral` zu finden oder zu erraten (möglicherweise durch SQL-Injection, falls das Dashboard Daten aus einer DB lädt, oder durch Brute-Force). Untersuchen Sie die `meeting_room.php`.
Empfehlung (Admin): Zeigen Sie in Dashboards nur die Informationen an, die für den angemeldeten Benutzer relevant sind (Least Privilege). Vermeiden Sie Hinweise auf interne Strukturen oder alternative Zugriffsmethoden (wie SSH).
[...] [!] legal disclaimer: [...] [*] starting @ 01:15:27 /2024-04-27/ [01:15:27] [INF] parsing HTTP request from '/home/cyber/Downloads/neu.sql' [01:15:27] [INF] resuming back-end DBMS 'mysql' [01:15:27] [INF] testing connection to the target URL sqlmap resumed the following injection point(s) from stored session: --- Parameter: id (GET) Type: boolean-based blind Title: AND boolean-based blind - WHERE or HAVING clause Payload: id=2' AND 3499=3499-- ERUX Type: time-based blind Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP) Payload: id=2' AND (SELECT 9736 FROM (SELECT(SLEEP(5)))zItq)-- LCAh Type: UNION query Title: Generic UNION query (NULL) - 3 columns Payload: id=2' UNION ALL SELECT NULL,NULL,CONCAT(0x716a767671,0x70424a624358634d6a4e66736a5547655755704c64714e434b4c4b75586769434e596d4a4e765342,0x716a6b6271)-- - --- [01:15:27] [INF] the back-end DBMS is MySQL web server operating system: Linux Ubuntu 20.04 or 20.10 or 19.10 (focal or eoan) web application technology: Apache 2.4.41 back-end DBMS: MySQL >= 5.0.12 (MariaDB fork) [01:15:27] [INF] fetching columns for table 'users' in database 'nebuladb' [01:15:27] [INF] fetching entries for table 'users' in database 'nebuladb' [01:15:27] [INF] recognized possible password hashes in column 'password' do you want to store hashes to a temporary file for eventual further processing with other tools [y/N] N do you want to crack them via a dictionary-based attack? [Y/n/q] Y [01:15:27] [INF] using hash method 'md5_generic_passwd' [...] > 1 [01:15:27] [INF] using default dictionary [...] [01:15:27] [INF] starting dictionary-based cracking (md5_generic_passwd) [01:15:27] [INF] starting 16 processes [01:15:27] [INF] cracked password '999999999' for user 'pmccentral' Database: nebuladb Table: users [7 entries] +----+----------+----------------------------------------------+-------------+ | id | is_admin | password | username | +----+----------+----------------------------------------------+-------------+ | 1 | 1 | d46df8e6a5627debf930f7b5c8f3b083 | admin | | 2 | 0 | c8c605999f3d8352d7bb792cf3fdb25b (999999999) | pmccentral | | 3 | 0 | 5f823f1ac7c9767c8d1efbf44158e0ea | Frederick | | 3 | 0 | 4c6dda8a9d149332541e577b53e2a3ea | Samuel | | 5 | 0 | 41ae0e6fbe90c08a63217fc964b12903 | Mary | | 6 | 0 | 5d8cdc88039d5fc021880f9af4f7c5c3 | hecolivares | | 7 | 1 | c8c605999f3d8352d7bb792cf3fdb25b (999999999) | pmccentral | /* Duplicate? */ +----+----------+----------------------------------------------+-------------+ [01:15:30] [INF] table 'nebuladb.users' dumped to CSV file [...] [01:15:30] [INF] fetched data logged to text files under [...] [*] ending @ 01:15:30 /2024-04-27/
Analyse: `sqlmap` wird ausgeführt, um eine SQL-Injection-Schwachstelle auszunutzen, die in einer vorherigen Sitzung gefunden wurde (vermutlich über den GET-Parameter `id` in einer URL, die in `neu.sql` gespeichert ist). Das Ziel ist es, den Inhalt (`--dump`) der Tabelle `users` aus der Datenbank `nebuladb` zu extrahieren.
Bewertung: **Erfolg!** `sqlmap` bestätigt die SQL-Injection und extrahiert die `users`-Tabelle. Wichtige Funde:
Empfehlung (Pentester): Verwenden Sie die Zugangsdaten `pmccentral`:`999999999`, um sich per SSH anzumelden (wie im Dashboard-Hinweis erwähnt). Versuchen Sie auch, die anderen MD5-Hashes zu knacken.
Empfehlung (Admin): **KRITISCH!** Beheben Sie die SQL-Injection-Schwachstelle sofort (Prepared Statements, Input-Validierung). Verwenden Sie niemals MD5 zum Speichern von Passwörtern; migrieren Sie zu bcrypt oder Argon2. Erzwingen Sie starke Passwörter und entfernen Sie doppelte oder unnötige Benutzerkonten aus der Datenbank.
Analyse: Es wird versucht, mit `awk` das neunte Feld (`$9`) aus einer Datei namens `user.txt` zu extrahieren und das Ergebnis wieder an `user.txt` anzuhängen (`>>`).
Bewertung: Dieser Befehl ist höchstwahrscheinlich fehlerhaft oder zumindest nicht zielführend im aktuellen Kontext. `user.txt` existiert wahrscheinlich nicht oder enthält nicht die `sqlmap`-Ausgabe in einem Format, bei dem das 9. Feld relevant wäre. Das `cat user.txt | ... >> user.txt` führt oft zu unerwünschtem Verhalten (Datei wird während des Lesens geändert/geleert). Der Zweck war vermutlich, Hashes oder Benutzernamen zu extrahieren, was aber so nicht funktioniert.
Empfehlung (Pentester): Ignorieren Sie diesen fehlerhaften Befehl. Extrahieren Sie relevante Informationen (Benutzernamen, Hashes, Passwörter) manuell oder mit korrekten `grep`/`awk`/`cut`-Befehlen aus der `sqlmap`-Ausgabe oder den Logdateien.
Empfehlung (Admin): Dies zeigt, wie wichtig es ist, Befehle vor der Ausführung zu überprüfen.
# Hashes: d46df8e6a5627debf930f7b5c8f3b083 c8c605999f3d8352d7bb792cf3fdb25b 5f823f1ac7c9767c8d1efbf44158e0ea 4c6dda8a9d149332541e577b53e2a3ea 41ae0e6fbe90c08a63217fc964b12903 5d8cdc88039d5fc021880f9af4f7c5c3 c8c605999f3d8352d7bb792cf3fdb25b # Usernames: admin Frederick Samuel Mary hecolivares pmccentral
Analyse: Hier werden die Hashes und Benutzernamen, die zuvor mit `sqlmap` extrahiert wurden, vermutlich manuell aufgelistet oder in Dateien gespeichert.
Bewertung: Dies ist eine nützliche Zusammenfassung der aus der Datenbank gewonnenen Benutzerdaten.
Empfehlung (Pentester): Verwenden Sie die Liste der Benutzernamen und Hashes für weitere Crack-Versuche oder Passwort-Spray-Angriffe (falls zutreffend). Nutzen Sie das bereits geknackte Passwort für `pmccentral`.
Empfehlung (Admin): Behandeln Sie alle diese Konten als potenziell kompromittiert und erzwingen Sie Passwortänderungen nach Behebung der SQLi und Umstellung auf sichere Hashes.
pmccentral@nebula.hmv's password: 999999999
Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-169-generic x86_64)
[...]
Last login: Mon Dec 18 20:05:04 2023 from 192.168.193.186
pmccentral@laboratoryuser:~$
Analyse: Es wird eine SSH-Verbindung zum Ziel `nebula.hmv` als Benutzer `pmccentral` mit dem von `sqlmap` geknackten Passwort `999999999` aufgebaut.
Bewertung: **Erfolg!** Der SSH-Login war erfolgreich. Wir haben nun eine Shell auf dem System als Benutzer `pmccentral`. Der Hostname des Systems scheint `laboratoryuser` zu sein. Die Initial-Access-Phase ist abgeschlossen.
Empfehlung (Pentester): Beginnen Sie mit der lokalen Enumeration als `pmccentral`. Prüfen Sie sofort die `sudo`-Rechte (`sudo -l`), da `pmccentral` die Rolle "Security" hatte. Suchen Sie nach der User-Flagge und weiteren Wegen zur Privilege Escalation.
Empfehlung (Admin): Ändern Sie sofort das kompromittierte Passwort `999999999`. Überprüfen Sie die Berechtigungen von `pmccentral`. Implementieren Sie SSH-Hardening (fail2ban, Key-Authentifizierung).
Analyse: Nach dem Login als `pmccentral` ist der nächste logische Schritt die Überprüfung der `sudo`-Berechtigungen, um einen Weg zur Rechteerweiterung zu finden.
Bewertung: Die Ausführung von `sudo -l` zeigt, dass der Benutzer `pmccentral` den Befehl `/usr/bin/awk` als Benutzer `laboratoryadmin` ausführen darf (`(laboratoryadmin) /usr/bin/awk`). `awk` ist ein mächtiges Textverarbeitungsprogramm, das auch Systembefehle ausführen kann. Dies stellt einen klaren Pfad zur Eskalation der Rechte zum Benutzer `laboratoryadmin` dar. Nach der Eskalation zu `laboratoryadmin` wird festgestellt (durch Ausführung von `./PMCEmployees` im Verzeichnis `~/autoScripts`), dass ein Skript existiert, dessen Ausführung zu Root-Rechten führt, möglicherweise durch eine unsichere Konfiguration oder ein SUID-Bit auf diesem Skript (obwohl es nicht in der `find`-Ausgabe erschien).
Empfehlung (Pentester): Nutzen Sie die `sudo awk`-Berechtigung, um eine Shell als `laboratoryadmin` zu erhalten (siehe GTFOBins). Untersuchen Sie dann als `laboratoryadmin` das Verzeichnis `~/autoScripts` und das Skript `PMCEmployees`, um den Mechanismus für die endgültige Eskalation zu Root zu verstehen und auszunutzen.
Empfehlung (Admin): **KRITISCH!** Entfernen oder beschränken Sie die `sudo`-Regel für `awk`. Weisen Sie Rechte spezifischer zu und vermeiden Sie generische Tools. Untersuchen und sichern Sie das Skript `PMCEmployees` und dessen Ausführungsmechanismus. Stellen Sie sicher, dass keine Skripte mit unnötig hohen Rechten laufen oder durch normale Benutzer manipulierbar sind.
[sudo] password for pmccentral: 999999999
Matching Defaults entries for pmccentral on laboratoryuser:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User pmccentral may run the following commands on laboratoryuser:
(laboratoryadmin) /usr/bin/awk
Analyse: Die `sudo`-Berechtigungen für den Benutzer `pmccentral` werden überprüft. Das Passwort `999999999` wird eingegeben.
Bewertung: Die Ausgabe bestätigt, dass `pmccentral` den Befehl `/usr/bin/awk` als Benutzer `laboratoryadmin` ohne Passwortabfrage (NOPASSWD ist nicht explizit erwähnt, aber da keine erneute Passwortabfrage beim Exploit erfolgt, ist es wahrscheinlich) ausführen darf. Dies ist der erste Schritt der Privilege Escalation.
Empfehlung (Pentester): Nutzen Sie GTFOBins oder ähnliche Ressourcen, um den `awk`-Befehl zur Ausführung einer Shell als `laboratoryadmin` zu finden (z.B. `sudo -u laboratoryadmin awk 'BEGIN {system("/bin/sh")}'`).
Empfehlung (Admin): Entfernen Sie diese `sudo`-Regel. Sie gewährt unnötige und gefährliche Rechte. Wenn `pmccentral` bestimmte Aufgaben als `laboratoryadmin` ausführen muss, erstellen Sie ein spezifisches, sicheres Skript dafür und erlauben Sie nur dessen Ausführung.
total 16 drwxr-xr-x 4 root root 4096 Dec 17 15:34 ./ drwxr-xr-x 19 root root 4096 Dec 16 14:21 ../ drwx------ 8 laboratoryadmin laboratoryadmin 4096 Dec 18 16:15 laboratoryadmin/ drwxr-xr-x 7 pmccentral pmccentral 4096 Dec 17 13:24 pmccentral/
830 44 -rwsr-xr-x 1 root root 44784 Nov 29 2022 /usr/bin/newgrp 337 164 -rwsr-xr-x 1 root root 166056 Apr 4 2023 /usr/bin/sudo [...] 484 56 -rwsr-sr-x 1 daemon daemon 55560 Nov 12 2018 /usr/bin/at [...] 884 32 -rwsr-xr-x 1 root root 31032 Feb 21 2022 /usr/bin/pkexec [...]
Analyse: Es wird der Inhalt von `/home` aufgelistet und erneut nach SUID-Dateien gesucht.
Bewertung: Die Auflistung von `/home` zeigt das Home-Verzeichnis des Zielbenutzers `laboratoryadmin`. Die SUID-Suche liefert die üblichen Verdächtigen, einschließlich `pkexec` und `at` (welches SUID für `daemon` ist, nicht `root`). Keine neuen, offensichtlichen SUID-Exploits gefunden.
Empfehlung (Pentester): Konzentrieren Sie sich auf die `sudo awk`-Berechtigung.
Empfehlung (Admin): Standard-Systemdateien. Minimieren Sie SUID-Berechtigungen generell.
$ id
uid=1002(laboratoryadmin) gid=1002(laboratoryadmin) groups=1002(laboratoryadmin)
$
laboratoryadmin@laboratoryuser:/home/pmccentral$ cd ~
laboratoryadmin@laboratoryuser:~$ ls
autoScripts desktop documents downloads home user.txt
laboratoryadmin@laboratoryuser:~$ cat user.txt
flag{$udeR$_Pr!V11E9E_I5_7En53}
Analyse: Die `sudo awk`-Schwachstelle wird ausgenutzt. Der Befehl `sudo -u laboratoryadmin awk 'BEGIN {system("/bin/sh")}'` führt `awk` als `laboratoryadmin` aus. Der `awk`-Code führt im `BEGIN`-Block (bevor irgendeine Eingabe verarbeitet wird) den Shell-Befehl `system("/bin/sh")` aus, der eine neue Shell startet. Anschließend wird in der neuen Shell `id` ausgeführt, ins Home-Verzeichnis von `laboratoryadmin` gewechselt (`cd ~`) und `user.txt` ausgelesen.
Bewertung: Erfolg! Die Rechte wurden erfolgreich zum Benutzer `laboratoryadmin` eskaliert. Die User-Flagge (`flag{$udeR$_Pr!V11E9E_I5_7En53}`) wurde gefunden.
Empfehlung (Pentester): Untersuchen Sie die Umgebung und Berechtigungen des Benutzers `laboratoryadmin`. Suchen Sie nach weiteren Hinweisen oder Schwachstellen, um `root` zu werden. Untersuchen Sie insbesondere das Verzeichnis `autoScripts`.
Empfehlung (Admin): Entfernen Sie die unsichere `sudo awk`-Regel.
uid=1002(laboratoryadmin) gid=1002(laboratoryadmin) groups=1002(laboratoryadmin)
root@laboratoryuser:~/autoScripts# id uid=0(root) gid=1002(laboratoryadmin) groups=1002(laboratoryadmin) root@laboratoryuser:~/autoScripts#
Analyse: Im Home-Verzeichnis von `laboratoryadmin`, im Unterverzeichnis `autoScripts`, wird die `PATH`-Umgebungsvariable manipuliert, um das aktuelle Verzeichnis (`.`) an den Anfang des Suchpfads für ausführbare Dateien zu stellen (`PATH=$(pwd):$PATH`). Anschließend wird das Skript `./PMCEmployees` ausgeführt.
Bewertung: **Root-Privilege-Escalation erfolgreich!** Die Ausführung von `./PMCEmployees` führt zu einer Root-Shell (`uid=0(root)`). Der genaue Mechanismus ist unklar, aber es gibt zwei Hauptmöglichkeiten: 1. **PATH-Hijacking:** Das Skript `PMCEmployees` ruft ein anderes Kommando ohne absoluten Pfad auf (z.B. `ls` statt `/bin/ls`). Da das aktuelle Verzeichnis (`.`) nun am Anfang des `PATH` steht, könnte eine bösartige Datei mit demselben Namen (z.B. eine Datei namens `ls`, die `/bin/bash` ausführt) im Verzeichnis `autoScripts` erstellt und ausgeführt werden. 2. **SUID/Privilegiertes Skript:** Das Skript `PMCEmployees` selbst hat SUID-Root-Rechte (obwohl es in der `find`-Ausgabe nicht auftauchte, was seltsam ist) oder wird von einem anderen Prozess mit Root-Rechten aufgerufen, der auf dieses Verzeichnis zugreift.
Empfehlung (Pentester): Ziel erreicht. Wechseln Sie ins `/root`-Verzeichnis und lesen Sie die Root-Flagge. Analysieren Sie optional das Skript `PMCEmployees` und die Umgebung, um den genauen Eskalationsmechanismus zu verstehen.
Empfehlung (Admin): **KRITISCH!** Untersuchen Sie das Skript `PMCEmployees` und seine Berechtigungen. Entfernen Sie SUID-Bits von benutzerdefinierten Skripten. Stellen Sie sicher, dass Skripte immer absolute Pfade für aufgerufene Befehle verwenden, um PATH-Hijacking zu verhindern. Korrigieren Sie unsichere `sudo`-Regeln.
root.txt snap
flag{r00t_t3ns0}
Analyse: In der erlangten Root-Shell wird in das `/root`-Verzeichnis gewechselt und die Datei `root.txt` ausgelesen.
Bewertung: Die Root-Flagge `flag{r00t_t3ns0}` wurde erfolgreich gefunden.
Empfehlung (Pentester): Das Ziel der Maschine wurde erreicht. Dokumentieren Sie alle Schritte und gefundenen Schwachstellen.
Empfehlung (Admin): Beheben Sie alle identifizierten Schwachstellen (SQLi, MD5-Hashes, unsichere Dateiinhalte, unsichere sudo-Regeln, potenzielles PATH-Hijacking oder unsicheres Skript).