One of the most important phases of pentesting, where vulnerabilities are detected in an authorized way, is the Escalation of Privileges (Privesc). In this phase they try to find a way to scale between the accounts of the system.
For many security researchers this is a fascinating phase. We will use scenarios hosted in a Linux virtual machine (.ova), we will assume that we have already gained access to the machine's scenarios and we will go from a non-privileged user to root in Linux.
We will do some basic privilege escalation techniques on Linux. Automated tools will not be used.
Source .ova https://mega.nz/file/r01HUKZQ#SkXRpnF0uVo_rmprgsvcKU8dB_UKdbTnYZIxfNHsn20
Workshop Privesc Escalada de Privilegios Basica Linux CIBERSEG21
1. Privesc - Escalada de Privilegios básica en Linux
#CibersegVII
Track #Talleres
2. Disclaimer / Aviso Legal y Descargo de
Responsabilidad
>_1. El objetivo de este taller es mejorar nuestro
conocimientos de Ciberseguridad.
>_2. Los conocimientos que os vamos a intentar
transmitir, están dirigidos a una práctica ética, si
los usáis para practicas no adecuadas ni en
consonancia con la legislación sería únicamente
responsabilidad vuestra.
>_3. No nos hacemos responsables del mal uso que se le
pueda dar a las herramientas y habilidades que
mostremos.
3. >_ La asociación
Honey Sec es una asociación sin ánimo de lucro ubicada en la ciudad de
Guadalajara (España), que busca como objetivo fomentar buenas prácticas en
materia de seguridad informática y en el uso de las nuevas tecnologías. La
asociación está conformada por personas con un alto interés en temas de
ciberseguridad y que participan activamente en las distintas comunidades
establecidas a nivel nacional.
4. >_Privesc - Escalada de Privilegios básica en Linux
~# whoami
>_1Ꮩ4η Ꮢ @1r0Dm48O
>_Miembro de @HoneySec
>_Co-fundador de @H4ck3rs4FunCTF
>_Cibercooperante del @Incibe …
~#cat mission
Realizaremos algunas técnicas básicas de
escalado de privilegios en Linux…
5. >_Descargar .ova(MD5 b9ceb1bf1e0f55e8ed4da2598497dc41)
>_Importar maquina a VirtualBox
>_Misma Red Nat la maquina y nuestro Kali o Ubuntu
>_Tomar instantánea & RUN
~# cat deploy_machine (ciberseg21:PrivescLab)
>_Privesc - Escalada de Privilegios básica en Linux
6. >_Kernel exploits (DirtyCOW)
>_Programas ejecutándose “as root”
(GTFOBINS)
>_Vulns/Exploits servicios
>_Daemons (sshd,nfsd,apache2,exim)
>_Password Mining(Memory,Files,Hist…)
>_SUID/GUID malconfigurado
~# find . ways_to_privesc_Linux_1_2
>_Privesc - Escalada de Privilegios básica en Linux
7. >_Abuso “sudo-rights”
>_scripts editables “invoked by root”
>_Directorios/Files malconfigurados
>_cronjobs
>_Unmounted filesystems
~# find
ways_to_privesc_Linux_2_2
>_Privesc - Escalada de Privilegios básica en Linux
8. >_Read/Write/Delete any sensitive file
>_Persist easily between reboots
>_Insert a permanent backdoor
~# cat targets_privesc
>_Privesc - Escalada de Privilegios básica en Linux
9. >_Enumeración && Enumeración && Enum…
>_Analizar - Procesar los datos
>_Saber lo que buscar y buscar exploit
>_Adaptar el exploit (Customize)
>_Éxito y error
~# find . steps_to_privesc
>_Privesc - Escalada de Privilegios básica en Linux
13. >_SUID (Set User-ID) && GUID (Set Group-ID)
$ find / -perm /4000 2>/dev/null
$ find / -perm -2000 2>/dev/null
$ find / -perm -u=s -type f 2>/dev/null
$ find / -perm -g=s -type f 2>/dev/null
$ find / -perm 2 ! -type l –ls
$ find / -xdev (-perm 4000) -type f -print0 -exec ls -s {} ;
$ find / -user root -perm -4000 -exec ls -ldb {} ;
~# cat enum suid_guid_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux
14. >_SUDO rigths
$ sudo –l
$ sudo –V
$ cat /etc/sudoers
$ sudoedit -s '' `python -c 'print("A"*1000)'`
$ sudoedit -s '' `perl -e 'print "A" x 65536'`
~# cat enum sudo_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux
15. >_Scripts invoke to root
$ find / -writable -type d 2>/dev/null
$ find / -perm -222 -type d 2>/dev/null
$ find / -perm -o w -type d 2>/dev/null
$ find / -perm -o x -type d 2>/dev/null
$ find / ( -perm -o w -perm -o x ) -type d 2>/dev/null
~# cat enum scripst_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux
16. $ ls –l /etc/shadow
$ ls –l /etc/passwd
$ find / -not -type l -perm -o+w
~# cat weak_perm_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux
17. >_cronjob
$ crontab –l $ ls -la /etc/cron.d
$ find / -perm -2 -type f 2>/dev/null | grep cron
$ ls -alh /var/spool/cron $ ls -al /etc/ | grep cron
$ ls -al /etc/cron* $ cat /etc/cron*
$ cat /etc/at.allow $ cat /etc/at.deny
$ cat /etc/cron.allow $ cat /etc/cron.deny
$ cat /etc/crontab $ cat /etc/anacrontab
$ cat /var/spool/cron/crontabs/root
~# cat enum cronjob_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux
18. $ cd /tmp
$ cd /var/tmp
$ cd /dev/shm
$ cd /var/spool/vbox
$ cd /var/spool/samba
~# cat enum usefull_paths_privesc_Linux
>_Privesc - Escalada de Privilegios básica en Linux