Acceso grafico a Kali Linux por Remote Desktop Protocol

Introducción

Es habitual que cuando trabajamos con kali Linux para propósitos ofensivos, lo tengamos instalado localmente o bien en una máquina virtual donde tenemos acceso de consola. Aquí el acceso grafico se puede realizar con facilidad.

Hay situaciones donde es necesario tener la instalación de kali en una VPC o en un proveedor de cloud, para poder aprovechar el direccionamiento público o mantener una IP fija durante un periodo de tiempo. Esto es de especial interés cuando dejamos algún tipo de handler o listener en escucha a la espera de recibir conexiones reversas desde los equipos objetivo.

En general toda la administración de kali puede hacerse por línea de comando, pero hay ciertas herramientas donde contar con la interfaz gráfica brinda facilidades o información valiosa. En esas situaciones contar con acceso gráfico es de suma utilidad.

En este punto se desprenden dos posibles escenarios (nos concentraremos en el segundo)_

  1. El cliente desde el que vamos a acceder es un Linux, se puede hacer out of the box a través de una conexión X sobre SSH (ssh -X username@10.0.0.10 y luego startx — :1)
  2. El cliente desde el que vamos a acceder es un Windows.

Al habernos encontrado con esta situación algunas veces, decidimos buscar alguna forma rápida de poder acceder con el cliente estándar incorporado en Windows.

Nota: esta configuración se puede usar con el cliente estándar de Windows y con clientes de remote desktop protocol para otros sistemas operativos como Linux y OSX.

Instalación

Lo primero que debemos hacer es descargar los paquetes necesarios


sudo apt-get install xrdp

Configuración

Una vez instalado debemos configurar varios aspectos.


sudo update-alternatives --config x-session-manager

Seleccionar la opción que se corresponda con xfce4-session

Editar la configuración de XRDP


sudo nano /etc/xrdp/xrdp.ini

Aquí hay que verificar algunos valores para asegurarnos de su configuración:

autorun=sesman-any

Si queremos ahorrar ancho de banda en la conexión RDP (y mejorar la velocidad de respuesta), debemos buscar la línea max_bpp=32 y modificarla por valores más bajos, por ejemplo:

max_bpp=16

Para finalizar debemos agregar al final de las sesiones

[sesman-any]
ip=127.0.0.1

Si queremos acceder con el usuario kali y no con root, debemos editar el archivo /etc/X11/Xwrapper.config


sudo nano /etc/X11/XWrapper.config

Y modificar «console» por «anybody»

Iniciar los servicios de xrdp:


sudo service xrdp start
sudo service xrdp-sesman start

Y a partir de este punto podemos probar acceder por RDP a la IP de Kali:

Nos aparecerá una advertencia respecto de la autenticación del server (kali)

Nota: podríamos mejorar el nivel de seguridad modificando security_layer=tls y generando el certificado y clave privada correspondiente para el transporte TLS (certificate=/path/a/certificado y key_file=/path/a/clave_privada).

Si todo funcionó correctamente podremos ver el escritorio de kali:

Finalmente, para poder mantener los servicios con auto start (por si el equipo se reinicia) debemos ejecutar:


sudo update-rc.d xrdp enable
sudo systemctl enable xrdp-sesman.service

A partir de ese momento el servicio quedará habilitado incluso si se reinicia la máquina de kali.

Esperamos que les resulte de utilidad en alguna oportunidad.

Referencias

Github xrdp: https://github.com/neutrinolabs/xrdp

Manpage xrdp.ini: http://manpages.ubuntu.com/manpages/eoan/man5/xrdp.ini.5.html

Gist con algo similar pero en kali 2016.2: https://gist.github.com/Erreinion/f2eda80adfa06cf330d9874dc667e998

5 comentarios

  1. Gonzalo

    Hola Exceñente guía! Facil y rapida.
    En mi caso a la hora de querer conectarme por rdp, me figura el siguiente mensaje:

    «Connecting to sesman ip 127.0.0.1 port 3320
    sesman connect pok
    sending login info to session manager, plase wait…
    login failed for display 0»

    Cable aclarar que las credenciales se encuentran OK, pero no encuentro manera de resolverlo. ALguna idea?

    1. Javier Antunez

      Gonzalo, lo hiciste con una cuenta que este deslogueada del kali?

  2. Juan P. B.

    Excelente tu post, ejecute las mismas condiciones pero al intentar ingresar con rdp se cierra la ventana. Me da el siguiente error en el dmesg.

    x-session-manag[250257]: segfault at 2c ip 000055deab340c40 sp 00007ffda0a42878 error 4 in xfce4-session[55deab32c000+1b000]
    [174307.052933]
    Code: 85 e4 74 16 48 83 c4 08 4c 89 e7 5d 41 5c e9 27 c1 fe ff 0f 1f 80 00 00 00 00 48 83 c4 08 5d 41 5c c3 0f 1f 84 00 00 00 00 00 47 2c c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 8b 47 28 c3 66 66

  3. Juan P. B.

    Encontre el fallo, tu user con el que vas a hacer RDP tiene que estar logged out de Kali para poder ingresar.

    1. Javier Antunez

      Que bueno que pudiste solucionarlo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Captcha 14 + = 23