Tanquem el Mòdul 4 amb un o diversos footholds a TechNova, gairebé sempre amb privilegis limitats: una shell com a www-data a la botiga, un usuari de servei al servidor intern Linux, un compte sense permisos en una estació Windows. La pregunta que obre el Mòdul 5 —fins on arriba realment aquest compromís?— comença a respondre's aquí. L'escalada de privilegis és el pas que converteix un accés menor en control total de l'host: de www-data a root, d'un usuari de domini corrent a Administrador o SYSTEM. Sense aquest salt, molts descobriments semblen inofensius; amb ell, una fallada "menor" es demostra com un compromís complet.
L'enquadrament no s'afluixa, ans al contrari. La post-explotació és el punt on un pentest professional es distingeix d'un manual d'abús. Tot passa al laboratori autoritzat de TechNova, dins de l'scope i les Regles d'Enfrontament (RoE). L'escalada té una única finalitat: mesurar i demostrar l'impacte real per a l'informe del Mòdul 6, no perjudicar ningú. I la regla d'or que repetirem a cada lliçó d'aquest mòdul: el pentester documenta cada acció i cada artefacte que crea, i el reverteix en acabar. Aquí, a més, cada tècnica ofensiva va acompanyada de la seva remediació, perquè l'objectiu és que TechNova tanqui el forat, no col·leccionar camins cap a root.
Contingut
- Què és l'escalada de privilegis i per què importa
- Escalada vertical vs. horitzontal
- Enumeració: el 90% de la feina (linPEAS/winPEAS)
- Vectors a Linux
- Vectors a Windows
- PoC de baix impacte i captura d'evidència
- Contrapartida: hardening i mínim privilegi
- Errors comuns i consells
- Exercicis
- Conclusió
- Què és l'escalada de privilegis i per què importa
Escalar privilegis és passar del nivell d'accés que dona el foothold a un de superior. Importa per tres raons que van directes a l'informe:
- Mesura l'impacte real. Un RCE com a
www-dataés seriós; el mateix RCE que acaba enrootsignifica control del servidor, les seves dades i les seves credencials. La diferència és la que el client necessita per prioritzar. - Habilita tota la resta. Amb privilegis alts s'accedeix a hashos de credencials, configuracions i altres hosts. La persistència (05-02) i el pivoting (05-03) solen requerir aquest pas.
- Revela fallades de hardening. Cada via d'escalada és una mala configuració concreta i corregible: un
SUIDde més, unsudomassa permissiu, un servei amb permisos febles.
- Escalada vertical vs. horitzontal
Dos moviments diferents que convé no confondre:
| Tipus | En què consisteix | Exemple a TechNova |
|---|---|---|
| Vertical | Pujar de nivell: usuari → root/admin | www-data → root a la botiga |
| Horitzontal | Moure's a un altre compte del mateix nivell | devapp → contable, tots dos usuaris normals |
L'escalada horitzontal sembla menys greu, però sovint és el trampolí: el compte de contable pot tenir accés a dades sensibles o a un sudo que el de devapp no tenia. Totes dues es documenten. I compte: moure's a una altra màquina ja no és escalada, és moviment lateral —això és 05-03, no ho cobrim aquí.
- Enumeració: el 90% de la feina
L'escalada rarament és un exploit espectacular; gairebé sempre és trobar la mala configuració que ja hi és. Per això la fase reina és l'enumeració local des del foothold: entendre el sistema des de dins. S'automatitza amb scripts especialitzats que revisen centenars de comprovacions conegudes.
# Linux: linPEAS enumera vies d'escalada (SUID, sudo, cron, capabilities, kernel...)
# Es puja a l'host al lab autoritzat i s'executa sense persistir
./linpeas.sh | tee /tmp/linpeas_evidencia.txt # desar la sortida com a evidencia# Windows: winPEAS fa l'equivalent (serveis, permisos, credencials, tokens)
.\winPEASx64.exe > C:\Windows\Temp\winpeas_evidencia.txtAquests scripts ressalten els descobriments interessants (a linPEAS, en vermell/groc). No substitueixen el criteri: cal entendre per què cada descobriment és explotable. Nota professional: linPEAS/winPEAS són sorollosos i els detecta qualsevol EDR decent —cosa que, en un pentest, és també informació útil: si el SOC de TechNova no salta, és un descobriment defensiu per si mateix.
flowchart LR
A[Foothold<br/>privilegis limitats] --> B[Enumeracio local<br/>linPEAS/winPEAS]
B --> C[Identificar vector<br/>SUID, sudo, servei...]
C --> D[PoC de baix impacte]
D --> E[root / SYSTEM<br/>+ evidencia]
- Vectors a Linux
Els camins clàssics d'usuari a root en un host Linux. Cadascun amb què el fa explotable i com es remeia.
| Vector | Per què escala | Com es remeia |
|---|---|---|
| Binaris SUID mal posats | Un binari amb SUID root s'executa com a root; si permet llançar comandes, dona root | Treure SUID innecessaris; auditar amb find / -perm -4000 |
| sudo mal configurat | Regles que permeten executar programes explotables sense contrasenya | Regles mínimes i específiques; evitar comodins i binaris amb escape |
| Cron de root amb permisos febles | Un script que root executa periòdicament i que tu pots editar | Scripts propietat de root, permisos 700, rutes absolutes |
| Capabilities perilloses | cap_setuid, etc., en un binari donen poders de root sense SUID |
Revisar amb getcap -r /; retirar capabilities de més |
| PATH manipulable | Un script privilegiat crida un binari sense ruta absoluta | Usar rutes absolutes; sanejar PATH als scripts |
| Kernel exploit | Un kernel sense pegat amb CVE local d'escalada | Pegar el kernel; és l'última opció pel seu risc de crash |
SUID — el vector més didàctic. Un binari amb el bit SUID s'executa amb els privilegis del seu propietari, no de qui el llança. Si aquest propietari és root i el binari permet executar comandes (o llegir/escriure fitxers arbitraris), tenim root. El projecte GTFOBins cataloga quins binaris comuns són abusables així.
# 1) Enumerar binaris amb SUID (evidencia per a l'informe)
find / -perm -4000 -type f 2>/dev/null
# Suposem que apareix /usr/bin/find amb SUID root (mala configuracio classica)
# 2) PoC de BAIX IMPACTE segons GTFOBins: nomes demostrar l'id, sense tocar res mes
find . -exec /bin/sh -p -c 'id' \;
# uid=0(root) gid=0(root) <- prova d'escalada; capturem i paremLa sortida uid=0(root) és la prova. No obrim una shell root persistent ni toquem /etc/shadow: demostrar l'escalada n'hi ha prou per a l'informe. Remediació: aquest find mai no hauria d'haver tingut SUID; es retira amb chmod u-s /usr/bin/find i s'audita la resta.
sudo mal configurat. Es revisa amb sudo -l. Si apareix quelcom com (root) NOPASSWD: /usr/bin/vim, és explotable: vim permet llançar una shell des de dins, així que executar-lo com a root dona root. Remediació: concedir per sudo només comandes que no permetin escape a shell, amb arguments concrets, evitant comodins.
- Vectors a Windows
A Windows l'objectiu sol ser SYSTEM o Administrador. Els camins canvien de nom però la lògica —una configuració feble que dona més del que toca— és idèntica.
| Vector | Per què escala | Com es remeia |
|---|---|---|
| Permisos de servei febles | Poder reconfigurar un servei que corre com a SYSTEM (binari o permisos alterables) | Permisos correctes als serveis; revisar amb accesschk |
| Unquoted service path | Ruta de servei amb espais i sense cometes → s'executa un binari intermedi | Posar cometes a les rutes de servei |
| Rutes/binaris escrivibles | Un binari d'un servei SYSTEM que pots sobreescriure | Permisos NTFS restrictius a Program Files i binaris |
| Abús de tokens | Privilegis com SeImpersonatePrivilege permeten suplantar tokens de SYSTEM |
Minimitzar comptes amb aquests privilegis |
| Bypass d'UAC | Saltar-se l'elevació en un compte que ja és d'administrador | UAC al màxim; comptes d'admin separats |
| Credencials a memòria/registre | Contrasenyes o hashos accessibles (LSASS, autologon, GPP) | Credential Guard, LAPS, no desar secrets en clar |
Exemple — permisos de servei febles. Si un servei corre com a SYSTEM i el nostre compte pot reconfigurar el seu binari, podem fer que executi quelcom nostre amb privilegis SYSTEM.
# 1) Buscar serveis amb permisos febles (accesschk de Sysinternals)
accesschk.exe -uwcqv "usuari_lab" * # podem MODIFICAR algun servei?
# 2) Si un servei SYSTEM es reconfigurable, PoC de baix impacte:
# apuntar temporalment a una comanda inocua que nomes escrigui el nostre id
sc config ServeiVulnerable binPath= "cmd /c whoami > C:\Windows\Temp\poc.txt"
sc stop ServeiVulnerable & sc start ServeiVulnerable
type C:\Windows\Temp\poc.txt # 'nt authority\system' -> prova d'escaladaEl fitxer poc.txt amb nt authority\system demostra l'execució com a SYSTEM. Immediatament després es restaura el binPath original (l'anotem abans de tocar-lo) per no deixar el servei trencat: revertir és obligatori. Remediació: corregir l'ACL del servei perquè els usuaris normals no puguin reconfigurar-lo; auditar amb accesschk.
Credencials a alt nivell. Un cop amb privilegis d'administrador, un atacant abocaria secrets de la memòria del procés LSASS (eines tipus Mimikatz) o de configuracions insegures. Aquí només ho anomenem com a impacte a documentar: l'ús d'aquestes credencials per saltar a altres hosts és moviment lateral (05-03), no escalada.
- PoC de baix impacte i captura d'evidència
El principi de tot el mòdul: demostrar, no destruir. Una PoC d'escalada correcta:
- Executa la mínima acció que prova el privilegi:
id(Linux) owhoami(Windows), amb hora i hostname. - No obre backdoors, no toca dades sensibles, no deixa shells root permanents.
- Reverteix qualsevol canvi temporal (un
binPathalterat, un fitxer de PoC): es restaura l'estat i s'anota a la bitàcola de l'engagement. - Captura evidència clara per al Mòdul 6: comanda, sortida (
uid=0/SYSTEM), marca de temps, i el vector concret (quin SUID, quina reglasudo, quin servei).
# Evidencia minima i neta d'una escalada a Linux
id; hostname; date # qui soc, on, quan
# -> uid=0(root) ... srv-web-interno ... 2026-07-12
rm -f /tmp/linpeas_evidencia.txt # netejar artefactes pujats, anotant-ho a la bitacola
- Contrapartida: hardening i mínim privilegi
El missatge que portarà l'informe a TechNova. Gairebé totes les vies d'escalada són configuració, no fallades irreparables:
- Mínim privilegi en tot: serveis amb el menor privilegi possible, usuaris sense
sudoinnecessari, comptes d'administrador separats de l'ús diari. - Auditar SUID/capabilities/serveis: revisions periòdiques de
find -perm -4000,getcap -r /, ACL de serveis; retirar tot allò que no tingui justificació. - sudo restringit: regles específiques, sense comodins, sense binaris amb escape a shell.
- Pegat del kernel i del SO: tanca els exploits locals d'escalada.
- Windows modern: LAPS (contrasenyes d'administrador local úniques i rotades), Credential Guard, UAC alt, permisos NTFS correctes.
- Detecció: EDR i monitoratge de creacions de processos anòmales, canvis de configuració de serveis, execució de linPEAS/winPEAS o d'eines conegudes.
- Errors Comuns i Consells
- Saltar primer a un kernel exploit. Són els més propensos a tombar l'host (kernel panic = denegació de servei no acordada). Esgota abans SUID, sudo, cron i serveis; deixa el kernel per al final i només amb acord.
- No revertir un canvi temporal. Deixar un
binPathalterat o un servei aturat és trencar producció i saltar-se la regla d'or. Anota l'estat abans de tocar i restaura'l sempre. - Escalar i posar-se a furgar en dades. La PoC acaba en
uid=0/SYSTEM. Llegir nòmines o correus excedeix la demostració llevat que el RoE ho demani explícitament. - Confondre escalada horitzontal amb "no greu". Moure's a un altre compte del mateix nivell sol ser el trampolí cap a root o a dades sensibles; documenta-la.
- Reportar la via sense la remediació. "Es va escalar a root" sense dir quin SUID o quina regla
sudoho va permetre no li serveix al client. El valor és a l'arranjament concret. - Oblidar que linPEAS/winPEAS són sorollosos. Si l'EDR no els detecta, això també és un descobriment (defensa insuficient) que va a l'informe.
- Consell: enumera exhaustivament abans d'intentar res. El 90% de les escalades estan servides a la sortida de linPEAS/winPEAS si saps llegir-la.
- Exercicis
Exercici 1. Des del teu foothold com a www-data a la botiga de TechNova, find / -perm -4000 revela que /usr/bin/find té SUID root. Explica per què això permet escalar, escriu una PoC de baix impacte que només demostri el privilegi, i dona la remediació exacta. Com detectaria l'equip blau aquest abús?
Exercici 2. En una estació Windows tens un compte d'usuari normal. accesschk mostra que pots reconfigurar un servei que corre com a SYSTEM. Descriu la seqüència d'escalada respectant el control d'impacte i la reversió, quina evidència capturaries i dues mesures de hardening que ho haurien impedit.
Exercici 3. Distingeix, amb un exemple de TechNova cadascun, escalada vertical i horitzontal, i explica per què l'horitzontal, encara que sembli menys greu, es documenta igual. Indica a més on acaba l'escalada i què ja seria matèria de la lliçó 05-03.
Solucions
Solució 1. find amb SUID root s'executa amb privilegis del seu propietari (root), i find permet llançar comandes amb -exec; per tant pot executar qualsevol ordre com a root. PoC de baix impacte (segons GTFOBins), demostrant només el privilegi: find . -exec /bin/sh -p -c 'id' \;, la sortida de la qual uid=0(root) és la prova —no s'obre shell persistent ni es toquen fitxers. Remediació: aquest find mai no hauria d'haver tingut SUID; es retira amb chmod u-s /usr/bin/find i s'auditen periòdicament els binaris SUID amb find / -perm -4000. Detecció (equip blau): l'auditoria del kernel (auditd) o l'EDR alerten davant un procés fill /bin/sh amb EUID 0 llançat per find des d'un compte sense privilegis, un patró anòmal característic de l'abús de SUID.
Solució 2. Seqüència: (1) confirmar amb accesschk que el servei és reconfigurable pel nostre compte; (2) anotar el binPath original abans de tocar res; (3) reconfigurar-lo temporalment a una comanda inocua (cmd /c whoami > C:\Windows\Temp\poc.txt); (4) reiniciar el servei i llegir poc.txt, que mostra nt authority\system com a prova d'execució amb privilegis SYSTEM; (5) restaurar de seguida el binPath original amb sc config i esborrar poc.txt, anotant-ho a la bitàcola. Evidència: el whoami com a SYSTEM, hora i nom del servei afectat. Hardening que ho hauria impedit: (a) corregir l'ACL del servei perquè els usuaris normals no puguin reconfigurar-lo; (b) aplicar mínim privilegi i auditar serveis amb accesschk de manera periòdica.
Solució 3. Vertical: de www-data (usuari de servei) a root al servidor de la botiga —es puja de nivell de privilegi—. Horitzontal: de devapp al compte contable, tots dos usuaris normals sense privilegis de root —es passa d'un compte a un altre del mateix nivell—. L'horitzontal es documenta perquè sol ser el trampolí: contable pot tenir accés a dades sensibles o una regla sudo que devapp no tenia, habilitant després una escalada vertical. L'escalada acaba en el control de l'host (root/SYSTEM en aquesta màquina); usar les credencials o l'accés obtinguts per saltar a altres màquines de la xarxa 10.10.10.0/24 ja és moviment lateral (05-03), fora de l'abast d'aquesta lliçó.
Conclusió
Hem fet el primer pas de la post-explotació: convertir un foothold amb privilegis limitats en control de l'host. Vam veure la diferència entre escalada vertical i horitzontal; que el gruix de la feina és enumerar (linPEAS/winPEAS) per trobar la mala configuració que ja hi és; i vam recórrer els vectors clàssics a Linux (SUID, sudo, cron, capabilities, PATH, kernel) i a Windows (serveis, tokens, UAC, credencials), cadascun amb una PoC de baix impacte que només demostra el privilegi, amb reversió de tot canvi temporal i la seva remediació concreta. La contrapartida va ser constant: mínim privilegi, hardening i pegat, amb detecció per EDR.
Ja som root/SYSTEM en un o diversos hosts de TechNova, amb l'evidència capturada. La següent pregunta natural de l'atacant —i per tant del pentester que mesura la seva capacitat— és com conservar aquest accés sense haver de reexplotar cada vegada. Això és 05-02 Manteniment de l'Accés: els mecanismes de persistència, però entesos com a demostració d'impacte en un engagement autoritzat, amb la contrapartida defensiva en primer pla i la regla d'or més present que mai: tot allò que es crea, es documenta i es reverteix.
Curs de Pentesting: Tècniques de Proves de Penetració
Mòdul 1: Introducció al Pentesting
- Què és el Pentesting?
- Tipus de Pentesting
- Fases del Pentesting
- Ètica i Legalitat en el Pentesting
- Metodologies i Estàndards del Sector
Mòdul 2: Reconeixement i Recollida d'Informació
- Reconeixement Passiu
- Reconeixement Actiu
- Eines de Recollida d'Informació
- OSINT i Anàlisi de la Superfície d'Atac
Mòdul 3: Escaneig i Enumeració
Mòdul 4: Explotació de Vulnerabilitats
- Introducció a l'Explotació
- Explotació de Vulnerabilitats Web
- Explotació de Vulnerabilitats de Xarxa
- Explotació de Vulnerabilitats de Sistemes
- Atacs a Contrasenyes i Autenticació
Mòdul 5: Post-Explotació
- Escalada de Privilegis
- Manteniment de l'Accés
- Pivoting i Moviment Lateral
- Cobertura de Petjades i Anti-Forense
Mòdul 6: Informe i Remediació
- Documentació de Troballes
- Classificació de Riscos i CVSS
- Recomanacions de Remediació
- Presentació de Resultats
