Добро пожаловать обратно, кибервоины!
В этой части серии мы рассмотрим, как PowerShell можно использовать для создания масштабных сбоев — от замедления работы систем до полного их отключения. Эти методы варьируются от простых атак на истощение ресурсов, перегружающих процессор и память, до отключения аппаратных интерфейсов, стирания лицензионных ключей и, наконец, до принудительных «синих экранов» или невозможности загрузки систем.
Необходимо сразу же подчеркнуть, что эти методы крайне разрушительны. Они не предназначены для случайных экспериментов. Некоторые из них применялись в ходе киберопераций для защиты Украины от России. Однако, если их использовать не по назначению, в неправильном контексте, последствия могут быть катастрофическими и необратимыми.
Мы начнем с основ и постепенно перейдем к самым опасным приемам.
Этот скрипт работает, агрессивно потребляя системную память. Он многократно выделяет большие массивы, пока не исчерпается почти вся доступная оперативная память, оставляя лишь небольшой буфер, чтобы операционная система не вышла из строя. Компьютер работает очень медленно, приложения перестают отвечать, и система становится непригодной к использованию.
На практике этот тип атак может преследовать несколько целей. Он может использоваться для отказа в обслуживании, чтобы заблокировать рабочую станцию или сервер, или же служить отвлекающим фактором, заставляя администраторов сосредоточиться на снижении производительности, пока другая активность происходит незаметно в фоновом режиме.
Реализация проста:
PS > .\loadram.ps1
До выполнения система может казаться стабильной, но после запуска скрипта потребление памяти резко возрастает, а скорость отклика существенно замедляется.
Этот скрипт применяет тот же принцип к ядрам процессора. Он запускает высокоприоритетные математические операции в каждом потоке процессора, удерживая загрузку на уровне 100% до завершения работы скрипта. Как и в случае с исчерпанием оперативной памяти, этот метод может нарушить нормальную работу или служить прикрытием для выполнения других вредоносных задач.
Запустите скрипт следующим образом:
PS > .\loadcpu.ps1
Машина перестает реагировать, вентиляторы раскручиваются, и пользователи быстро понимают, что что-то не так.
Этот скрипт использует более тонкий, но не менее вредоносный подход. Он очищает ключи продукта Windows, удаляя из реестра записи OEM, розничных и корпоративных лицензий. После запуска система фактически лишается данных активации. После перезапуска службы защиты программного обеспечения Windows отображается как нелицензированная и может отказаться проходить проверку на серверах Microsoft.
Исполнение:
PS > .\license.ps1
Вы можете попробовать проверить ключ продукта позже с помощью:
PS > (Get-WmiObject -query 'select from SoftwareLicensingService').OA3xOriginalProductKey
Результат будет пустым, что подтверждает, что данные лицензии удалены.
Этот скрипт отключает как сетевые адаптеры, так и USB-контроллеры, полностью лишая устройство возможности подключения к сети и съёмным носителям. После срабатывания скрипта невозможно передавать файлы, подключаться к сети или даже подключать устройство восстановления без значительного ручного вмешательства.
Администраторы могут использовать эту функцию в кризисной ситуации, чтобы мгновенно изолировать машину во время реагирования на инцидент, но в плохих руках она становится инструментом саботажа, который фактически блокирует пользователя.
Запустите его следующим образом:
PS > .\killer.ps1
В состав фреймворка PowerSploit входит специальный модуль Mayhem, содержащий две наиболее разрушительные функции PowerShell: Set-CriticalProcessи Set-MasterBootRecord. Обе функции выходят далеко за рамки простого истощения ресурсов, напрямую атакуя стабильность самой операционной системы.
Сам сбой не приводит к необратимому повреждению. После перезагрузки Windows возобновляет нормальную работу. Это делает его полезным в качестве временной тактики блокировки, приводящей к простою системы, но не к её полному удалению.
Чтобы использовать его, сначала скопируйте модуль Mayhem из репозитория в:
C:\Program Files\WindowsPowerShell\Modules\
Затем выполните:
PS > Set-CriticalProcess
Подтвердите, нажав Y, и ожидайте, что через несколько мгновений устройство выдаст синий экран.
После перезаписи система может лишь выдать специальное сообщение, отказываясь загружаться. Эта тактика аналогична поведению вредоносных программ-вымогателей и программ-очистителей, делая целевую машину полностью непригодной к использованию до тех пор, пока загрузчик не будет восстановлен или переустановлен.
Пример исполнения:
PS > Set-MasterBootRecord -BootMessage 'Pwned by Cyber Cossacks!'
Чтобы автоматизировать перезагрузку и обеспечить немедленное вступление полезной нагрузки в силу:
PS > Set-MasterBootRecord -BootMessage 'Pwned by Cyber Cossacks!' -Force -RebootImmediately
После перезагрузки система больше не будет загружать Windows.
В этой части серии мы рассмотрим, как PowerShell можно использовать для создания масштабных сбоев — от замедления работы систем до полного их отключения. Эти методы варьируются от простых атак на истощение ресурсов, перегружающих процессор и память, до отключения аппаратных интерфейсов, стирания лицензионных ключей и, наконец, до принудительных «синих экранов» или невозможности загрузки систем.
Необходимо сразу же подчеркнуть, что эти методы крайне разрушительны. Они не предназначены для случайных экспериментов. Некоторые из них применялись в ходе киберопераций для защиты Украины от России. Однако, если их использовать не по назначению, в неправильном контексте, последствия могут быть катастрофическими и необратимыми.
Мы начнем с основ и постепенно перейдем к самым опасным приемам.
Перегрузка оперативной памяти
Репо
https://github.com/soupbone89/Scripts/tree/main/Load RAMЭтот скрипт работает, агрессивно потребляя системную память. Он многократно выделяет большие массивы, пока не исчерпается почти вся доступная оперативная память, оставляя лишь небольшой буфер, чтобы операционная система не вышла из строя. Компьютер работает очень медленно, приложения перестают отвечать, и система становится непригодной к использованию.
На практике этот тип атак может преследовать несколько целей. Он может использоваться для отказа в обслуживании, чтобы заблокировать рабочую станцию или сервер, или же служить отвлекающим фактором, заставляя администраторов сосредоточиться на снижении производительности, пока другая активность происходит незаметно в фоновом режиме.
Реализация проста:
PS > .\loadram.ps1
До выполнения система может казаться стабильной, но после запуска скрипта потребление памяти резко возрастает, а скорость отклика существенно замедляется.
Перегрузка ЦП
Репо:
https://github.com/soupbone89/Scripts/tree/main/Load CPUЭтот скрипт применяет тот же принцип к ядрам процессора. Он запускает высокоприоритетные математические операции в каждом потоке процессора, удерживая загрузку на уровне 100% до завершения работы скрипта. Как и в случае с исчерпанием оперативной памяти, этот метод может нарушить нормальную работу или служить прикрытием для выполнения других вредоносных задач.
Запустите скрипт следующим образом:
PS > .\loadcpu.ps1
Машина перестает реагировать, вентиляторы раскручиваются, и пользователи быстро понимают, что что-то не так.
Убийца лицензий Windows
Репо:
https://github.com/soupbone89/Scripts/tree/main/Windows License KillerЭтот скрипт использует более тонкий, но не менее вредоносный подход. Он очищает ключи продукта Windows, удаляя из реестра записи OEM, розничных и корпоративных лицензий. После запуска система фактически лишается данных активации. После перезапуска службы защиты программного обеспечения Windows отображается как нелицензированная и может отказаться проходить проверку на серверах Microsoft.
Исполнение:
PS > .\license.ps1
Вы можете попробовать проверить ключ продукта позже с помощью:
PS > (Get-WmiObject -query 'select from SoftwareLicensingService').OA3xOriginalProductKey
Результат будет пустым, что подтверждает, что данные лицензии удалены.
USB и сетевой убийца
Репо:
https://github.com/soupbone89/Scripts/tree/main/USB and Network KillerЭтот скрипт отключает как сетевые адаптеры, так и USB-контроллеры, полностью лишая устройство возможности подключения к сети и съёмным носителям. После срабатывания скрипта невозможно передавать файлы, подключаться к сети или даже подключать устройство восстановления без значительного ручного вмешательства.
Администраторы могут использовать эту функцию в кризисной ситуации, чтобы мгновенно изолировать машину во время реагирования на инцидент, но в плохих руках она становится инструментом саботажа, который фактически блокирует пользователя.
Запустите его следующим образом:
PS > .\killer.ps1
Mayhem от PowerSploit
Репо:
https://github.com/PowerShellMafia/PowerSploit/tree/master/MayhemВ состав фреймворка PowerSploit входит специальный модуль Mayhem, содержащий две наиболее разрушительные функции PowerShell: Set-CriticalProcessи Set-MasterBootRecord. Обе функции выходят далеко за рамки простого истощения ресурсов, напрямую атакуя стабильность самой операционной системы.
Set-CriticalProcess
Windows защищает определённые процессы, такие как smss.exeи csrss.exe, помечая их как критические. При их завершении система выводит «синий экран смерти». Эта Set-CriticalProcessкоманда позволяет пометить любой процесс этим критическим статусом. Немедленное завершение процесса приводит к сбою системы.Сам сбой не приводит к необратимому повреждению. После перезагрузки Windows возобновляет нормальную работу. Это делает его полезным в качестве временной тактики блокировки, приводящей к простою системы, но не к её полному удалению.
Чтобы использовать его, сначала скопируйте модуль Mayhem из репозитория в:
C:\Program Files\WindowsPowerShell\Modules\
Затем выполните:
PS > Set-CriticalProcess
Подтвердите, нажав Y, и ожидайте, что через несколько мгновений устройство выдаст синий экран.
Set-MasterBootRecord
Это самый разрушительный из всех. В отличие от Set-CriticalProcess, который нарушает только текущий сеанс, эта атака повреждает главную загрузочную запись (MBR) — первый сектор жёсткого диска. MBR содержит загрузчик и таблицу разделов, и без неё Windows не сможет загрузиться.После перезаписи система может лишь выдать специальное сообщение, отказываясь загружаться. Эта тактика аналогична поведению вредоносных программ-вымогателей и программ-очистителей, делая целевую машину полностью непригодной к использованию до тех пор, пока загрузчик не будет восстановлен или переустановлен.
Пример исполнения:
PS > Set-MasterBootRecord -BootMessage 'Pwned by Cyber Cossacks!'
Чтобы автоматизировать перезагрузку и обеспечить немедленное вступление полезной нагрузки в силу:
PS > Set-MasterBootRecord -BootMessage 'Pwned by Cyber Cossacks!' -Force -RebootImmediately
После перезагрузки система больше не будет загружать Windows.