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

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

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

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

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

Категории

Все категории
Loading categories
nopowershell — PowerShell, пересобранный на C# для целей Red Teaming | Kitploit
Инструменты/GitHubGitHub/bitsadmin/nopowershell
РазведкаСбор информацииПост-эксплуатацияКомандование и УправлениеRed Teaming
GitHubbitsadmin/nopowershell

nopowershell

PowerShell, пересобранный на C# для целей Red Teaming

Репозиторий
1.1k144710 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

NoPowerShell

NoPowerShell — это инструмент, реализованный на C#, который поддерживает выполнение команд, похожих на PowerShell, оставаясь невидимым для любых механизмов журналирования PowerShell. Этот совместимый с .NET Framework 2 бинарный файл может быть загружен в Cobalt Strike для выполнения команд в памяти. System.Management.Automation.dll не используется; только нативные библиотеки .NET. Альтернативный вариант использования NoPowerShell — запуск в виде DLL через rundll32.exe в ограниченной среде: rundll32 NoPowerShell.dll,main.

Этот проект позволяет каждому легко расширить его функциональность, написав всего несколько строк кода на C#. Дополнительная информация — в CONTRIBUTING.md.

Свежие бинарные файлы доступны на странице Releases. Ветка MASTER обновляется не очень регулярно; последние версии кода и командлетов доступны в ветке DEV. Чтобы быстро освоить NoPowerShell, обязательно посмотрите также Шпаргалку по командлетам.

Скриншоты

Запуск в Cobalt Strike

Поддерживаемые команды NoPowerShell

Пример выполнения команд

Примеры команд NoPowerShell

Версия Rundll32

NoPowerShellDll через rundll32

Зачем NoPowerShell

NoPowerShell разработан для использования с командой execute-assembly в Cobalt Strike или в ограниченной среде с помощью rundll32.exe. Причины использовать NoPowerShell:

  • Работает довольно скрытно
  • Мощная функциональность
  • Предоставляет командлеты, которые вы уже знаете по PowerShell, поэтому не нужно изучать ещё один инструмент
  • Если вы ещё не очень хорошо знакомы с PowerShell, доступны также алиасы cmd.exe (например, ping вместо Test-NetConnection)
  • Если через powerpick или powershell командлеты недоступны, они доступны в nps (например, командлеты из модуля ActiveDirectory)
  • Легко расширяется всего несколькими строками кода на C#

Использование

Примеры

См. CHEATSHEET.md.

Использование в Cobalt Strike через execute-assembly

Используйте команду execute-assembly в Cobalt Strike для запуска NoPowerShell.exe. Например: execute-assembly /path/to/NoPowerShell.exe Get-Command. При желании NoPowerShell.cna можно использовать для добавления алиаса nps в Cobalt Strike.

Использование в Cobalt Strike через BOF.NET

  1. Установите BOF.NET BOF с https://github.com/CCob/BOF.NET
  2. Загрузите среду выполнения BOF.NET: bofnet_init
  3. Загрузите модуль NoPowerShell: bofnet_load /path/to/NoPowerShell.dll
  4. Выполните командлеты NoPowerShell: bofnet_execute NoPowerShell.Program Get-Command

Использование в Cobalt Strike с форком BOF.NET от @williamknows

Этот форк позволяет запускать обычные .NET-исполняемые файлы

  1. Получите и скомпилируйте форк BOF.NET от @williamknows с https://github.com/williamknows/BOF.NET
  2. Загрузите среду выполнения BOF.NET: bofnet_init
  3. Загрузите модуль NoPowerShell: bofnet_load /path/to/NoPowerShell.exe
  4. Выполните командлеты NoPowerShell: bofnet_executeassembly NoPowerShell Get-Command

Запуск через rundll32

  1. Создайте новый ярлык для файла NoPowerShell.dll (перетащите файл правой кнопкой мыши -> Создать ярлыки здесь)
  2. Измените ярлык, добавив к имени файла префикс rundll32 и суффикс ,main
  3. Теперь ярлык будет выглядеть так: rundll32 C:\Path\to\NoPowerShell.dll,main
  4. Дважды щёлкните по ярлыку

Примечание

При использовании NoPowerShell из cmd.exe или PowerShell необходимо экранировать символ вертикальной черты (|) с помощью крышки (^) или обратной кавычки (`) соответственно, например:

  • cmd.exe: ls ^| select Name
  • PowerShell: ls `| select Name

Известные проблемы

  • Символы конвейера должны быть окружены пробелами
  • TLS 1.1+ не поддерживается .NET Framework 2, поэтому любой сайт, требующий его, вызовет ошибку соединения

Улучшения

  • Исправить указанные выше проблемы
  • Поддержка групп параметров
  • Добавить поддержку .NET-кода в командной строке, например: [System.Security.Principal.WindowsIdentity]::GetCurrent().Name

Запрошенные командлеты NoPowerShell

КомандлетОписание
Invoke-CommandИспользование PSRemoting для выполнения команды на удалённой машине (которая в этом случае, конечно, будет залогирована)
*Дополнительные команды *-Item*
Search-ADAccount
Get-ADPrincipalGroupMembership
Get-ADOrganizationalUnits
*Больше команд из модуля ActiveDirectory PowerShell
*Утилиты Sysinternals, такие как pipelist и sdelete

Добавленные сообществом командлеты NoPowerShell

Авторы дополнительных командлетов NoPowerShell добавлены в таблицу ниже. Кроме того, в таблице перечислены команды, которые сообщество просит добавить. Вместе мы можем разработать мощный набор инструментов NoPowerShell!

КомандлетАвторGitHubTwitterОписание

Включённые командлеты NoPowerShell

КомандлетМодульПримечания
Get-ADUserActiveDirectory
Get-ADObjectActiveDirectory
Get-ADReplicationSubnetActiveDirectory
Get-ADGroupActiveDirectory
Get-ADGroupMemberActiveDirectory
Get-ADComputerActiveDirectory
Get-ADDomainControllerActiveDirectory
Get-ADTrustActiveDirectory
Copy-AclAdditional
Get-RemoteSmbShareAdditional
Resolve-AdiDnsNameAdditional
Get-WhoamiAdditional
Get-WinStationAdditional
Compress-ArchiveArchiveТребуется .NET 4.5+
Expand-ArchiveArchiveТребуется .NET 4.5+
Get-HelpCore
Get-CommandCore
Where-ObjectCore
Resolve-DnsNameDnsClient
Get-LocalGroupMemberLocalAccounts
Get-LocalGroupLocalAccounts
Set-ClipboardManagement
Get-PSDriveManagement
Get-HotFixManagement
Stop-ProcessManagement
Get-ChildItemManagement
Copy-ItemManagement
Invoke-WmiMethodManagement
Remove-ItemManagement
Get-ItemPropertyValueManagement
Get-ItemPropertyManagement
Get-ComputerInfoManagement
Get-DnsClientCacheManagement
Get-ProcessManagement
Get-WmiObjectManagement
Get-ClipboardManagement
Get-ContentManagement
Test-NetConnectionNetTCPIP
Get-NetTCPConnectionNetTCPIP
Get-NetNeighborNetTCPIPПоддержка IPv6 пока отсутствует
Get-NetRouteNetTCPIP
Get-NetIPAddressNetTCPIP
Get-ServiceNoPowerShell.Commands
Get-LocalUserNoPowerShell.Commands
Get-WinEventNoPowerShell.Commands
New-ShortcutNoPowerShell.Commands
Get-AclSecurity
Get-SmbMappingSmbShare
Get-SmbShareSmbShare
Invoke-SqlcmdSQLPS
Get-FileHashUtility
ConvertFrom-SddlStringUtility
Sort-ObjectUtility
Measure-ObjectUtility
Invoke-WebRequestUtility
Select-ObjectUtility
Out-FileUtility
Format-TableUtility
Format-ListUtility
Export-CsvUtility
ConvertTo-CsvUtility
Write-OutputUtility

Также обязательно посмотрите Шпаргалку с примерами использования этих командлетов.

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