Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/verizon/redshell
Tests d'IntrusionCommandement et ContrôleRed Teaming
GitHubverizon/redshell

redshell

Voir le dépôt
22543il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Une invite de commande interactive pour le red teaming et les tests d'intrusion. Pousse automatiquement les commandes via des proxies SOCKS4/5 via proxychains. L'intégration optionnelle avec Cobalt Strike récupère les proxies SOCKS4/5 des beacons depuis le team server. Enregistre automatiquement les activités dans un fichier CSV local et sur un team server Cobalt Strike (si configuré).

Partager

RedShell

Une invite de commande interactive pour le red teaming et le pentesting. Pousse automatiquement les commandes via les proxys SOCKS4/5 via proxychains. L'intégration optionnelle avec Cobalt Strike récupère les proxys SOCKS4/5 des beacons depuis le serveur d'équipe. Enregistre automatiquement les activités dans un fichier CSV local et sur un serveur d'équipe Cobalt Strike (si configuré).

Notez que comme RedShell utilise proxychains en interne, seul le trafic TCP est proxyé.

Installation

RedShell fonctionne avec Python > 3.8.

Installer les dépendances :

root@kitploit:~
pip3 install -r requirements.txt

Installer proxychains-ng (https://github.com/rofl0r/proxychains-ng) :

root@kitploit:~
apt install proxychains4

RedShell n'est plus dépendant de Cobalt Strike. Cependant, si vous utilisez l'intégration Cobalt Strike, le client CS doit être installé sur le même hôte que RedShell. Rendez également le wrapper agscript exécutable :

root@kitploit:~
chmod +x agscript.sh

Utilisation

Lancer RedShell :

root@kitploit:~
$python3 redshell.py 

                ____           _______ __         ____
               / __ \___  ____/ / ___// /_  ___  / / /
              / /_/ / _ \/ __  /\__ \/ __ \/ _ \/ / / 
             / _, _/  __/ /_/ /___/ / / / /  __/ / /  
            /_/ |_|\___/\__,_//____/_/ /_/\___/_/_/

            
Logging to: /home/user/.redshell/redshell_2022_08_22_13_00_13.csv

redshell > 

Afficher l'aide :

root@kitploit:~
redshell > help

Documented commands (use 'help -v' for verbose/'help <topic>' for details):
===========================================================================
beacon_exec  cs_connect      cs_status     help        pwd    socks
cd           cs_disconnect   cs_use_pivot  history     quit 
config       cs_load_config  exec          log         set  
context      cs_pivots       exit          proxy_exec  shell
 

Définir les options :

root@kitploit:~
redshell> set option VALUE

Journalisation

RedShell enregistre automatiquement les activités via les commandes beacon_exec, proxy_exec, exec ou log. La journalisation est initialisée automatiquement au démarrage, et les fichiers de journal sont écrits dans : ~/.redshell.

Pour journaliser vers Cobalt Strike, connectez-vous à un serveur d'équipe, sélectionnez un pivot et utilisez la commande beacon_exec.

Proxys

RedShell utilise proxychains-ng et un fichier de configuration proxychains personnalisé. Les modifications du fichier de configuration et le proxy des commandes sont gérés à la volée.

Cobalt Strike

Pour utiliser un proxy via Cobalt Strike, connectez-vous à un serveur d'équipe, sélectionnez un pivot et utilisez la commande beacon_exec. Référez-vous à la section Cobalt Strike pour plus de détails.

Proxys personnalisés

Des proxys socks version 4 ou 5 personnalisés peuvent être définis avec la commande socks.

root@kitploit:~
redshell > socks -h
usage: socks [-h] [-u SOCKS5_USER] [-p SOCKS5_PASS] {socks4,socks5} ip_address socks_port

Use a custom socks4/5 server

positional arguments:
  {socks4,socks5}
  ip_address
  socks_port

options:
  -h, --help       show this help message and exit
  -u SOCKS5_USER
  -p SOCKS5_PASS

Vérification du proxy SOCKS

RedShell vérifie automatiquement les connexions et l'authentification (le cas échéant) aux proxys SOCKS lors de la sélection (en utilisant les commandes socks ou cs_use_pivot). Cela peut être désactivé avec la commande suivante : set check_socks false

Contexte

Le contexte de RedShell est un aspect clé de la journalisation des activités. Le contexte vous permet de définir la perspective (dans les journaux d'activité) de la machine source exécutant des activités dans un réseau cible. Les attributs de contexte suivants peuvent être inclus dans les journaux d'activité : Adresse IP, Nom DNS, Nom NetBIOS, Nom d'utilisateur et ID de processus. Seule l'adresse IP est requise.

Remarques sur le contexte :

  • Le contexte est effacé lorsque vous définissez un nouveau port socks
  • Le contexte est effacé lorsque vous vous connectez/déconnectez d'un serveur d'équipe CS

Contexte - Proxys personnalisés

Après avoir défini un proxy socks avec la commande socks, ajoutez les détails du contexte avec la commande context.

root@kitploit:~
RedShell> context -h
usage: context [-h] [-d DNSNAME] [-n NETBIOSNAME] [-u USERNAME] [-p PID] ip_address

Set a custom context (Source IP/DNS/NetBIOS/User/PID) for logging

positional arguments:
  ip_address            Source IP Address

optional arguments:
  -h, --help            show this help message and exit
  -d DNSNAME, --dnsname DNSNAME
                        DNS Name
  -n NETBIOSNAME, --netbiosname NETBIOSNAME
                        NetBIOS Name
  -u USERNAME, --username USERNAME
                        User Name
  -p PID, --pid PID     Process ID

Contexte - Cobalt Strike

Si vous utilisez un pivot sur un serveur d'équipe, les valeurs du contexte sont automatiquement définies en fonction du beacon.

Invite de commande

L'invite de commande est automatiquement mise à jour avec les variables de contexte (utilisateur@hôte).

Exécuter et journaliser

Les commandes RedShell suivantes sont capturées dans les journaux d'activité :

  • beacon_exec - Exécute une commande via le proxy socks du beacon et la journalise simultanément sur le teamserver.
  • proxy_exec - Exécute une commande via un proxy socks personnalisé et la journalise simultanément dans le fichier local.
  • exec - Exécute une commande et la journalise dans le fichier local.
  • log - Ajoute une entrée de journal manuelle dans le fichier local.

Exemple de proxy personnalisé

alt text

Cobalt Strike

Connexion à Cobalt Strike

Définir les options de connexion Cobalt Strike :

root@kitploit:~
redshell > set cs_host 127.0.0.1
redshell > set cs_port 50050
redshell > set cs_user somedude

Se connecter au serveur d'équipe (le mot de passe du serveur d'équipe vous sera demandé) :

root@kitploit:~
redshell > cs_connect 

Exemple :

alt text

Ou charger depuis un fichier de configuration. Remarque : les mots de passe du serveur d'équipe ne sont pas lus depuis les fichiers de configuration. RedShell demandera le mot de passe du teamserver puis se connectera automatiquement.

root@kitploit:~
$ cat config.txt 
cs_host=127.0.0.1
cs_port=12345
cs_user=somedude
cs_directory=/path/to/cobaltstrike/install
root@kitploit:~
redshell > cs_load_config config.txt

Afficher les pivots proxy disponibles :

root@kitploit:~
redshell > cs_pivots 

Exemple :

alt text

Sélectionner un pivot proxy (remarque : cela ne peut être défini qu'après avoir établi une connexion au serveur d'équipe) :

root@kitploit:~
redshell > cs_use_pivot 2
SOCKS5 pivot requires authentication.

Enter SOCKS5 user: username
Enter SOCKS5 password:

Vérifier le statut de Cobalt Strike :

root@kitploit:~
redshell > cs_status

Exemple :

alt text

Exécuter des commandes via le proxy socks du beacon. Elles peuvent être exécutées dans le contexte de l'utilisateur actuel ou via sudo. Spécifier 'proxychains' dans la commande est optionnel. Les commandes sont forcées via proxychains. Les identifiants de tactique MITRE ATT&CK sont optionnels.

root@kitploit:~
redshell > beacon_exec -h
usage: beacon_exec [-h] [-t TTP] ...

Execute a command through beacon socks proxy and simultaneously log it to the teamserver.

positional arguments:
  command            Command to execute through the proxy and log.

optional arguments:
  -h, --help         show this help message and exit
  -t TTP, --ttp TTP  MITRE ATT&CK Tactic IDs. Comma delimited to specify multiple.

example: 
beacon_exec -t T1550.002,T1003.002 cme smb 192.168.1.1 --local-auth -u Administrator -H C713B1D611657D0687A568122193F230 --sam

Exemple :

alt text

Remarque sur les options de répertoire d'installation de RedShell et CS - le script a besoin de savoir où il se trouve, ainsi que Cobalt Strike. Si quelque chose ne fonctionne pas, assurez-vous de définir les répertoires en conséquence :

root@kitploit:~
redshell > set redshell_directory /opt/redshell
redshell > set cs_directory /opt/cobaltstrike

Généralités

Remarque sur les mots de passe utilisés dans les commandes *exec : les caractères spéciaux dans les mots de passe peuvent être interprétés comme des métacaractères du shell, ce qui pourrait faire échouer les commandes. Pour contourner ce problème, définissez l'option de mot de passe puis invoquez avec '$password'. Exemple :

root@kitploit:~
redshell > set password Test12345
password - was: ''
now: 'Test12345'
redshell > beacon_exec cme smb 192.168.1.14 --local-auth -u administrator -p $password --shares

RedShell inclut des commandes pour naviguer dans le système de fichiers :

root@kitploit:~
redshell > cd /opt/redshell/
redshell > pwd
/opt/redshell

Des commandes supplémentaires peuvent être exécutées via la commande shell ou via le raccourci '!' :

root@kitploit:~
redshell > shell date
Mon 29 Jul 2019 05:33:02 PM MDT
redshell > !date
Mon 29 Jul 2019 05:33:03 PM MDT

Les commandes sont suivies et accessibles via la commande history :

root@kitploit:~
redshell > history 
    1  load_config config.txt
    2  status
    3  help

RedShell inclut également la complétion par tabulation et le nettoyage de la fenêtre du terminal via ctrl + l.

Format du journal CSV

root@kitploit:~
Datetime,IP Address,DNS Name,NetBIOS Name,User,PID,Activity,TTPs
2021/09/21 14:22:32 +0000,192.168.56.106,,WINDEV,USER,7312,[PROXY] cme smb 192.168.56.105,

Remarques :

  • Champs obligatoires : DateTime, Adresse IP, Activité
  • Champs optionnels : Nom DNS, Nom NetBIOS, Utilisateur, PID, TTPs
  • Format de la date et heure : "%Y/%m/%d %H:%M:%S %z" (UTC)

Mainteneurs

  • exfiltrata

Licence

Ce projet est sous licence Apache 2.0 open source. Veuillez vous référer à LICENSE pour les conditions complètes.

Télécharger l’outil