Shell Stable et Reverse Shell
Shell Stable
⚠️ Avertissement : Ce contenu est strictement destiné à un usage éducatif et éthique dans le domaine de la cybersécurité. Toute utilisation illégale ou malveillante est interdite et engage la seule responsabilité de l’utilisateur.
1. Utilisation de rlwrap
rlwrap
Si l'outil rlwrap
est disponible sur la machine attaquante, tu peux améliorer l’interactivité du shell avec l'historique et les touches directionnelles :
2. Méthode Bash (sans Python)
Si Python n'est pas disponible, mais que Bash est présent, utilise cette commande pour obtenir un shell interactif :
3. Méthode Python
Si Python est disponible sur la machine cible, utilise cette commande pour obtenir un shell interactif :
4. Méthode Python3
Si Python3 est disponible, utilise cette commande :
5. Méthode avec socat
(si disponible)
socat
(si disponible)Si socat
est disponible sur la machine cible ou si tu peux l’installer, tu peux établir un shell stable :
6. Méthode Netcat et /dev/tcp
/dev/tcp
Si l’accès réseau est possible depuis le shell et que la machine cible permet la lecture via /dev/tcp
, tu peux établir une connexion stable avec Netcat :
7. Utilisation de SSH
Si tu as accès à une session avec un shell limité, tu peux essayer d’utiliser SSH pour obtenir un shell stable :
Reverse Shell
Un reverse shell est utilisé pour établir une connexion de la machine cible vers ton PC (machine attaquante). Voici des exemples pour différents langages.
1. Bash
Commande 1 :
Commande 2 :
2. Python
Si Python est disponible sur la cible :
3. Python3
Si Python3 est disponible :
4. PowerShell
Utilise cette commande si PowerShell est présent :
Bind Shell
Un bind shell permet à ton PC de se connecter à un port ouvert sur la machine cible.
1. Bash
2. Python
3. PowerShell
Web Shell
Un web shell est une interface web permettant d’exécuter des commandes sur un serveur via un navigateur.
1. PHP
2. JSP
3. ASP
Bonnes Pratiques
Obtenir des autorisations :
Toujours travailler dans un cadre légal et éthique. Obtenez des autorisations explicites avant de tester des systèmes.
Minimiser les traces :
Configurez des délais entre les connexions et utilisez des outils comme des VPN ou des proxys pour éviter d’attirer l’attention.
Analyser les environnements :
Avant d’exécuter un shell interactif, vérifiez les configurations locales pour éviter de briser les sessions existantes.
Liens utiles :
Dernière mise à jour