Executive Summary

Σε αυτό το άρθρο τεκμηριώνουμε την πλήρη διαδικασία ηθικής εκμετάλλευσης της εικονικής μηχανής Mr Robot (VulnHub CTF) σε ελεγχόμενο εργαστηριακό περιβάλλον VirtualBox. Από ένα Apache web server με WordPress, καταφέραμε να αποκτήσουμε remote code execution ως ο χρήστης daemon, να προχωρήσουμε στον χρήστη robot σπάζοντας έναν αδύναμο MD5 hash, και τελικά να αναβαθμίσουμε την πρόσβασή μας σε root εκμεταλλευόμενοι μια SUID misconfiguration στο /usr/local/bin/nmap.

Εντοπίσαμε και τα 3 flags (key-1-of-3.txt, key-2-of-3.txt, key-3-of-3.txt) και τεκμηριώνουμε επτά (7) ευρήματα ασφαλείας με αντίστοιχη βαθμολόγηση CVSS και χαρτογράφηση σε MITRE ATT&CK. Στο τέλος του άρθρου παρέχουμε συγκεκριμένες αμυντικές συστάσεις για τις ομάδες Blue Team και τους WordPress administrators.

Lab Environment

Στοιχείο Τιμή
Attacker Kali Linux — 172.10.0.13
Target Mr Robot CTF VM — 172.10.0.19
Network Isolated VirtualBox host-only
Authorization Lab-only, εκπαιδευτική
Scope Οι δύο παραπάνω διευθύνσεις

 

Μεθοδολογία

Η εργασία ακολούθησε τη μεθοδολογία PTES (Penetration Testing Execution Standard) σε συνδυασμό με OSCP-style enumeration και χαρτογράφηση MITRE ATT&CK. Οι φάσεις:

  1. Pre-engagement και validation εμβέλειας
  2. Παθητικό και ενεργητικό reconnaissance
  3. Web και CMS enumeration
  4. Vulnerability analysis και ανάλυση exploit chain
  5. Exploitation και initial foothold
  6. Lateral movement και credential cracking
  7. Privilege escalation στον root
  8. Συλλογή ενδείξεων, σύνταξη αναφοράς, συστάσεις

Reconnaissance

Στιγμιότυπο τερματικού: Επιβεβαίωση εμβέλειας — ip a & ping
cmd-01 — Επιβεβαίωση εμβέλειας — ip a & ping

Full TCP port scan

Στιγμιότυπο τερματικού: Full TCP port scan με nmap
cmd-02 — Full TCP port scan με nmap

nmap full TCP scan

Ανοικτά: 80/tcp, 443/tcp. Το 22/tcp ρητά closed (όχι filtered), δεν υπάρχει SSH service.

Service detection

Στιγμιότυπο τερματικού: Service detection (nmap -sV -sC)
cmd-03 Service detection (nmap -sV -sC)

Output:

Στιγμιότυπο τερματικού: nmap service detection — αποτελέσματα
cmd-04 nmap service detection αποτελέσματα

Web fingerprinting

Στιγμιότυπο τερματικού: Web fingerprinting (WhatWeb & wafw00f)
cmd-05 Web fingerprinting (WhatWeb & wafw00f)

Headers του /wp-login.php:

Στιγμιότυπο τερματικού: HTTP response headers — PHP & WordPress
cmd-06 HTTP response headers, PHP & WordPress

Επιβεβαίωση πως πρόκειται για WordPress σε PHP 5.5.29 (απαρχαιωμένη έκδοση).

Web Enumeration

Robots.txt

Στιγμιότυπο τερματικού: Λήψη του robots.txt
cmd-07  Λήψη του robots.txt
Στιγμιότυπο τερματικού: Περιεχόμενα robots.txt
cmd-08  Περιεχόμενα robots.txt

Δύο άμεσες ενδείξεις: ένα flag σε plaintext και ένα μεγάλο dictionary file.

Στιγμιότυπο τερματικού: Πρώτη σημαία (FLAG 1) & fsocity.dic
cmd-09 Πρώτη flag (FLAG 1) & fsocity.dic

Robots.txt disclosure και πρώτη σημαία

WordPress enumeration

Στιγμιότυπο τερματικού: WPScan enumeration users/plugins/themes
cmd-10  WPScan enumeration users/plugins/themes
  • WordPress core εντοπίστηκε με themes twentyfifteen, twentyfourteen, twentythirteen.
  • Το wpscan δεν εντόπισε users μέσω author archives (η εγκατάσταση δεν έχει αναρτημένα posts).

Username enumeration μέσω login response

Το /wp-login.php διαφοροποιεί τα μηνύματα λάθους ανάμεσα σε “Invalid username” και “Incorrect password”. Δοκιμή ονομάτων (ταυτότητες της σειράς Mr Robot):

Στιγμιότυπο τερματικού: Username enumeration via login response
cmd-11 Username enumeration via login response

Αποτέλεσμα: elliot έγκυρος, οι υπόλοιποι όχι.

Vulnerability Analysis

ID Εύρημα Επίπτωση CVSS MITRE ATT&CK
F-01 Robots.txt εκθέτει wordlist + flag Πληροφορίες 7.5 T1083, T1592
F-02 WP login user enumeration Πληροφορίες 5.3 T1589.002
F-03 Αδύναμα WordPress credentials RCE (auth) 9.8 T1110.001, T1078
F-04 Theme editor αυθαίρετο PHP write RCE (auth) 9.1 T1505.003, T1059.004
F-05 World-readable hash του robot Credential disclosure 7.8 T1552.001
F-06 Unsalted MD5 storage Credential weakness 7.5 T1003
F-07 SUID nmap (legacy) με --interactive Local Priv Esc → root 8.8 T1548.001, T1068

Exploitation — Initial Access

Brute-force του χρήστη elliot

Με ένα ενεργό username και custom wordlist (fsocity-unique.dic):

Στιγμιότυπο τερματικού: WPScan brute-force του χρήστη elliot
cmd-12 — WPScan brute-force του χρήστη elliot

WPScan brute-force success

Αποτέλεσμα: elliot : ER28-0652 (αναφορά στον αριθμό σήματος του Elliot Alderson στη σειρά). Η επίθεση πέρασε μέσω XML-RPC system.multicall, που πολλαπλασιάζει τα logins ανά αίτημα και μειώνει τον χρόνο σε δευτερόλεπτα.

PHP reverse shell μέσω theme editor

Με admin access ο επιτιθέμενος αντικαθιστά το αρχείο 404.php του ενεργού theme με PHP reverse shell:

Στιγμιότυπο τερματικού: PHP reverse shell μέσω theme editor
cmd-13 — PHP reverse shell μέσω theme editor

Το listener δέχεται σύνδεση:

Στιγμιότυπο τερματικού: Λήψη reverse shell στο Kali
cmd-14 — Λήψη reverse shell στο Kali

Reverse shell ως daemon

TTY:

Στιγμιότυπο τερματικού: Σταθεροποίηση interactive shell
cmd-15 Interactive shell

Post-Exploitation & Privilege Escalation

Lateral movement σε robot

Στιγμιότυπο τερματικού: Lateral movement — αρχεία του robot
cmd-16 Lateral movement, αρχεία του robot

Το key-2-of-3.txt είναι mode 0400 owned by robot — μη αναγνώσιμο ως daemon. Το password.raw-md5 ωστόσο είναι world-readable (κρίσιμη παράλειψη).

Cracking του MD5

Στιγμιότυπο τερματικού: John the Ripper — MD5 cracking
cmd-17 John the Ripper, MD5 cracking

Στο συγκεκριμένο dataset το hash ταυτίζεται απευθείας με το γνωστό alphabet string:

Στιγμιότυπο τερματικού: Επιβεβαίωση MD5 hash
cmd-18 Επιβεβαίωση MD5 hash
Στιγμιότυπο τερματικού: su robot — δεύτερη σημαία (FLAG 2)
cmd-19 su robot, δεύτερο FLAG

Lateral move + key-2-of-3.txt

SUID enumeration

Στιγμιότυπο τερματικού: SUID binary enumeration
cmd-20 SUID binary enumeration

SUID listing

Το /usr/local/bin/nmap ξεχωρίζει, δεν είναι standard SUID στις διανομές. Έλεγχος έκδοσης:

Στιγμιότυπο τερματικού: Εντοπισμός legacy nmap (3.81)
cmd-21 Εντοπισμός legacy nmap (3.81)

Η έκδοση 3.81 υποστηρίζει την παλιά λειτουργία --interactive, η οποία επιτρέπει την εκτέλεση εντολών shell μέσω του prefix !. Όταν το binary είναι SUID root, η !sh σπάει σε root shell (αναφορά GTFOBins / nmap).

Root flag

Στιγμιότυπο τερματικού: SUID nmap --interactive → root + FLAG 3
cmd-22 SUID nmap –interactive → root + FLAG 3

Root + key-3-of-3.txt

Root & Flag Capture

Σημαία Τιμή Πηγή
key-1-of-3 073403c8a58a1f80d943455fb30724b9 HTTP exposed file
key-2-of-3 822c73956184f694993bede3eb39f959 /home/robot/ ως robot
key-3-of-3 04787ddef27c3dee1ee161b21670b4e4 /root/ ως root

Defensive Recommendations (Blue Team Lessons)

  1. Robots.txt δεν είναι μηχανισμός ασφαλείας. Ποτέ μην αναφέρετε αρχεία ή paths που περιέχουν ευαίσθητα δεδομένα, οι crawlers (καλόβουλοι και κακόβουλοι) θα τα διαβάσουν πρώτοι.
  2. WordPress error message hardening. Επιστρέψτε γενικό μήνυμα (“invalid credentials”) ώστε να μην διακρίνεται user enumeration. Επεκτείνετε με rate limiting (π.χ. Wordfence, Limit Login Attempts Reloaded).
  3. Απενεργοποίηση XML-RPC αν δεν χρησιμοποιείται. Το system.multicall πολλαπλασιάζει τα attempts brute-force.
  4. Strong password policy + 2FA. Κωδικοί τύπου ER28-0652 (12 χαρακτήρες, μικτό alphanumeric) σπάνε σε δευτερόλεπτα με στοχευμένο wordlist. Το 2FA θα είχε ακυρώσει την επίθεση ακόμα και με σωστό κωδικό.
  5. Restrict file editing στο WordPress. Προσθέστε define('DISALLOW_FILE_EDIT', true); στο wp-config.php ώστε να αχρηστευθεί ο theme/plugin editor.
  6. Hash storage. Ποτέ unsalted MD5. Χρησιμοποιήστε bcrypt/argon2 με unique salt. Επίσης, ποτέ δεν αποθηκεύουμε credential material σε /home με world-read permissions.
  7. SUID audit. Τρέξτε περιοδικά find / -perm -4000 -type f και συγκρίνετε με baseline. Καμία custom SUID binary δεν θα έπρεπε να υπάρχει εκτός whitelist.
  8. Patch management. Apache 2.4.7, PHP 5.5.29, kernel 3.13.0-55, όλα EOL. Κάθε CTF διδάσκει ότι η αναβάθμιση των εκδόσεων είναι η πρώτη γραμμή άμυνας.

Αποτέλεσμα

Το Mr Robot CTF προσφέρει μια εξαιρετική, ρεαλιστική κλιμακούμενη επίθεση που ακολουθεί τρεις διακριτές φάσεις:

  • Access μέσω αδύναμων web credentials και CMS misconfiguration,
  • Lateral movement μέσω λάθος permissions σε ευαίσθητο αρχείο,
  • Privilege escalation μέσω legacy SUID binary.

Κάθε μία από αυτές τις φάσεις αντιστοιχεί σε πραγματικά περιστατικά που ομάδες offensive security βλέπουν τακτικά σε πελάτες. Η αξία του engagement δεν είναι η ίδια η ροή του exploitation, αλλά η ευκαιρία να τυποποιήσουμε αμυντικά controls που θα είχαν σπάσει την αλυσίδα σε οποιοδήποτε σημείο.

Στο Audax Cybersecurity παρέχουμε αντίστοιχες αξιολογήσεις σε παραγωγικά WordPress estates, εσωτερικά Linux fleets και σε υποδομές που συνδυάζουν τα δύο. Επικοινωνήστε μαζί μας για Offensive Security Engagements.

References

Audax Cybersecurity · Offensive Labs — Ηθικά penetration tests σε ελεγχόμενα περιβάλλοντα. Όλες οι ενέργειες σε αυτό το άρθρο εκτελέστηκαν σε ιδιόκτητη εικονική υποδομή με πλήρη εξουσιοδότηση.