* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Utilisez [**Trickest**](https://trickest.io/) pour créer et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
Le reverse shell court est une technique de piratage qui permet à un attaquant d'établir une connexion à distance avec une machine cible. Cette technique est souvent utilisée pour contourner les restrictions de Bash et obtenir un accès non autorisé à un système. Voici un exemple de commande pour établir une connexion de reverse shell court :
Dans cet exemple, la commande Bash est utilisée pour rediriger les entrées et sorties standard vers une connexion TCP à l'adresse IP 10.0.0.1 sur le port 8080. Cela permet à l'attaquant d'exécuter des commandes à distance sur la machine cible.
Lorsque vous êtes dans un shell restreint, il peut y avoir des chemins ou des mots interdits qui vous empêchent d'exécuter certaines commandes. Cependant, il existe des moyens de contourner ces restrictions en utilisant des chemins alternatifs ou en renommant les commandes.
#### Contournement de chemins interdits
Si un chemin est interdit, vous pouvez essayer d'utiliser un chemin alternatif pour accéder à la commande. Par exemple, si `/bin/ls` est interdit, vous pouvez essayer d'utiliser `/usr/bin/ls` ou `/bin/../usr/bin/ls`.
#### Contournement de mots interdits
Si un mot est interdit, vous pouvez essayer de renommer la commande que vous voulez exécuter. Par exemple, si `ls` est interdit, vous pouvez renommer la commande en `myls` et l'exécuter avec ce nouveau nom.
```bash
$ cp /bin/ls /tmp/myls
$ PATH=/tmp:$PATH
$ myls
```
#### Contournement de chemins et de mots interdits
Si à la fois un chemin et un mot sont interdits, vous pouvez combiner les deux techniques précédentes. Par exemple, si `/bin/ls` est interdit et que `ls` est également interdit, vous pouvez renommer `/bin/ls` en `/tmp/myls` et l'exécuter avec ce nouveau nom.
```bash
$ cp /bin/ls /tmp/myls
$ PATH=/tmp:$PATH
$ myls
```
#### Contournement de la restriction de shell
Si vous êtes dans un shell restreint, vous pouvez essayer de lancer un nouveau shell en utilisant une commande qui n'est pas restreinte. Par exemple, si `bash` est restreint, vous pouvez essayer d'utiliser `sh` ou `dash`.
Certaines restrictions de shell peuvent empêcher l'utilisation d'espaces dans les commandes. Cela peut être contourné en utilisant des caractères spéciaux pour représenter les espaces.
#### Technique
- Utiliser des guillemets simples ou doubles pour entourer la commande et les arguments qui contiennent des espaces.
```bash
$ ls 'my forbidden folder'
```
- Utiliser des caractères d'échappement pour représenter les espaces.
```bash
$ ls my\ forbidden\ folder
```
- Utiliser des variables pour stocker les arguments qui contiennent des espaces.
### Obtenir des caractères à partir de variables d'environnement
---
Il est possible d'obtenir des caractères à partir de variables d'environnement en utilisant la commande `echo` et en utilisant la syntaxe `${VAR:OFFSET:LENGTH}`.
-`VAR` est le nom de la variable d'environnement.
-`OFFSET` est l'index de départ à partir duquel extraire les caractères.
-`LENGTH` est le nombre de caractères à extraire.
Par exemple, pour extraire les 3 premiers caractères de la variable d'environnement `MY_VAR`, vous pouvez utiliser la commande suivante :
Cette technique peut être utile pour contourner les restrictions de shell, car elle permet d'extraire des caractères à partir de variables d'environnement même si l'accès direct à ces variables est restreint.
Dans le cas où vous ne pouvez pas exécuter de fonctions externes et que vous avez uniquement accès à un **ensemble limité de commandes intégrées pour obtenir RCE**, il existe quelques astuces pratiques pour y parvenir. Habituellement, vous **ne pourrez pas utiliser toutes** les **commandes intégrées**, vous devez donc **connaître toutes vos options** pour essayer de contourner la prison. Idée de [**devploit**](https://twitter.com/devploit).\
Tout d'abord, vérifiez toutes les [**commandes intégrées du shell**](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html)**.** Ensuite, voici quelques **recommandations** :
Bashfuscator est un outil qui permet de brouiller le code Bash pour éviter la détection par les outils de sécurité. Il peut être utilisé pour contourner les restrictions Bash telles que `restricted_shell` ou `rbash`. Le principe de fonctionnement de Bashfuscator est de transformer le code Bash en un code équivalent mais difficile à comprendre pour un humain. Cela rend la détection et l'analyse du code beaucoup plus difficiles pour les outils de sécurité.
La technique consiste à utiliser la commande `exec` pour exécuter une commande externe. Cependant, la commande `exec` est restreinte dans un shell Bash restreint. Pour contourner cette restriction, nous pouvons utiliser la commande `eval` qui permet d'évaluer une chaîne de caractères comme une commande.
La commande `eval` n'est pas restreinte dans un shell Bash restreint, donc nous pouvons l'utiliser pour exécuter la commande `exec`. La commande `exec` peut être utilisée pour exécuter une commande externe avec les privilèges de l'utilisateur courant.
Si vous êtes dans un système de fichiers avec des protections de lecture seule et noexec, il existe encore des moyens d'exécuter des binaires arbitraires. L'un d'entre eux est l'utilisation de DDexec, vous pouvez trouver une explication de la technique dans:
Utilisez [**Trickest**](https://trickest.io/) pour créer et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
* Travaillez-vous dans une entreprise de cybersécurité? Voulez-vous voir votre entreprise annoncée dans HackTricks? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).