Fundamentos de Linux
Linux es el sistema del atacante (tu máquina de ataque es Kali/Parrot) y, a la vez, uno de los objetivos más comunes (servidores web, contenedores, infraestructura). Moverte con soltura por su sistema de ficheros, permisos, procesos y usuarios es prerrequisito para todo lo demás: sin esto, ni manejas tus herramientas ni entiendes una escalada de privilegios.
Sistema de ficheros
Sección titulada «Sistema de ficheros»Todo cuelga de / (raíz). Las rutas que importan:
/etc configuración (passwd, shadow, crontab, servicios)/home directorios de usuario/root home del superusuario/var logs (/var/log), webroots (/var/www), colas/tmp temporal, escribible por todos (útil para payloads)/usr/bin /bin binarios/proc /sys pseudo-FS del kernel (info de procesos y sistema)/etc/passwd usuarios; /etc/shadow hashes de contraseñas (solo root)Permisos (lo más importante para privesc)
Sección titulada «Permisos (lo más importante para privesc)»Cada fichero tiene dueño, grupo y permisos para dueño/grupo/otros (rwx):
-rwxr-xr-- 1 root root ... │└┬┘└┬┘└┬┘ │ │ │ └ otros: r-- │ │ └ grupo: r-x │ └ dueño: rwx └ tipo (- fichero, d directorio, l enlace)
chmod 755 file # rwx r-x r-x (numérico: r=4 w=2 x=1)chown user:grp fileBits especiales clave en seguridad:
- SUID (
chmod u+s, aparece comorws): el binario se ejecuta con los permisos de su dueño, no de quien lo lanza. Un SUID de root mal elegido = escalada a root (ver GTFOBins). - SGID y sticky bit (
/tmp).
find / -perm -4000 -type f 2>/dev/null # buscar binarios SUID (privesc)Usuarios, grupos y sudo
Sección titulada «Usuarios, grupos y sudo»id ; whoami ; groups # quién soy y a qué pertenezcosudo -l # qué puedo ejecutar como root (¡clave en privesc!)cat /etc/passwd # usuarios del sistemasu - usuario # cambiar de usuariosudo -l es la primera parada en una escalada: un sudo mal configurado hacia un binario de GTFOBins suele ser root directo.
Procesos, servicios y red
Sección titulada «Procesos, servicios y red»ps aux | grep X # procesos (qué corre y como quién)top / htop # recursos en vivosystemctl status svc # servicios (systemd)ss -tulpn # puertos en escucha y sus procesoscrontab -l ; cat /etc/crontab ; ls /etc/cron.* # tareas programadas (privesc)Shell, redirecciones y pipes
Sección titulada «Shell, redirecciones y pipes»comando > out.txt # redirige stdout (sobrescribe)comando >> out.txt # añadecomando 2>/dev/null # descarta stderrcmd1 | cmd2 # pipe: salida de cmd1 a entrada de cmd2cmd1 && cmd2 # cmd2 solo si cmd1 tuvo éxito$(comando) # sustitución de comandoDominar pipes + grep/awk/sed/cut/sort/uniq convierte miles de líneas de output en el dato que buscas (ver Bash scripting, Expresiones regulares).
Por qué importa en seguridad
Sección titulada «Por qué importa en seguridad»La escalada de privilegios en Linux es, casi toda, abuso de lo de arriba: SUID binaries, sudo -l, cron jobs escribibles, capabilities, permisos flojos en /etc. Y como objetivo, un servidor Linux comprometido se analiza con estos mismos comandos. Es la base de los cursos de Python Ofensivo y de todo pentest de infraestructura.
Checklist de dominio
Sección titulada «Checklist de dominio»- Navego el FHS y sé qué contiene /etc, /var, /tmp, /proc
- Leo e interpreto permisos rwx y los cambio con chmod/chown
- Explico SUID/SGID y por qué son vector de privesc
-
sudo -l,id,/etc/passwd,/etc/shadowy para qué sirven - Inspecciono procesos, servicios, puertos y cron
- Encadeno comandos con pipes y redirecciones
- Sé buscar binarios SUID y cruzarlos con GTFOBins