Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Кибербезопасность_стратегия_атак_и_обороны.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
19.49 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Выполнение повышения привилегий 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

169to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис.8.8

Обход контроля над учетной записью пользователя

Windows обладает хорошо структурированным механизмом для управления привилегиями всех пользователей в сети и на локальной машине. У нее есть функцияконтроля учетных записей пользователей (UAC),котораядейству-

ет как ворота между обычными пользователями и пользователями уровня ад- министратора. Функция UAC используется для предоставления прав доступа программе, повышения их привилегий и запуска с привилегиями уровня ад- министратора. Поэтому Windows всегда предлагает пользователям разрешать выполнение программ, которые хотят выполняться с этим уровнем доступа. Также примечательно, что только администраторы могут разрешить запуск программ с этими привилегиями. Поэтому обычному пользователю будет от- казано в праве запускать программу с правами администратора.

Это похоже на отказоустойчивый механизм, при котором только админист­ раторы могут запускать программы с повышенными привилегиями, посколь- ку они могут легко отличить вредоносные программы от подлинных. Однако в этом механизме обеспечения безопасности системы есть пробелы. Некото-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

170  Повышение привилегий

 

 

 

 

to

 

 

 

 

 

 

w Click

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

рым программам Windows разрешено повышать привилегии или выполнять

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

COM-объекты с повышенными правами без предварительного запроса поль- зователя.

Например,rundl32.exe используетсядлязагрузкикастомнойDLL-библиотеки, которая загружает COM-объект с повышенными привилегиями.Она выполня- ет файловые операции даже в защищенных каталогах, которые обычно тре- буют от пользователя повышенных прав доступа, а это делает механизм UAC отрытым для компрометации,чем могут воспользоваться знающие злоумыш- ленники. Те же процессы, которые используются для запуска программ Win- dows без проверки подлинности,могут позволить вредоносному программно- му обеспечению работать с правами администратора аналогичным образом. Злоумышленники могут внедрить вредоносный процесс в доверенный и тем самым получить преимущество от его запуска с правами администратора без необходимости запрашивать пользователя.

Существуют и другие способы, обнаруженные черными хакерами, которые можно использовать для обхода UAC. На GitHub было опубликовано множест­ во методов, которые потенциально могут быть использованы по отношению к UAC. Один из них – eventvwr.exe, который можно скомпрометировать, т. к. обычноонавтоматическиповышаетсяпризапуске,следовательно,внегомож- но внедрить специфичный двоичный код или скрипты.Еще один подход к по- беде над UAC – обычная кража учетных данных администратора. Механизм UAC считается единой системой безопасности, поэтому привилегии процесса, выполняющегося на одном компьютере, остаются неизвестными для побоч- ныхсистем.Труднопойматьзлоумышленников,неправомерноиспользующих учетные данные администратора для запуска процессов с привилегия­ми вы- сокого уровня.

Чтобы обойти UAC в Windows 7, также можно использовать uacscript, который легко скачать по адресу https://github.com/Vozzie/uacscript.

Внедрение DLL-библиотек

Внедрение DLL-библиотек – это еще один метод повышения привилегий, ис- пользуемыйзлоумышленниками.Онтакжеподразумеваеткомпрометациюле- гитимных процессов и служб операционной системы Windows. DLL-инъекции используются для запуска вредоносного кода в контексте легитимного про- цесса. Используя контекст процесса, признанного легитимным, злоумыш- ленник получает ряд преимуществ, особенно возможность доступа к памяти процессов и правам доступа. Действия злоумышленника также маскируются легитимными процессами. Недавно был обнаружен довольно сложный метод внедрения – отражающее внедрение DLL (13). Он более эффективен, по- скольку загружает вредоносный код без необходимости выполнения обычных вызовов Windows API, следовательно, в обход мониторинга загрузки DLL (13). Он использует хитрый процесс загрузки вредоносной библиотеки из памяти в работающий процесс.Вместо обычного процесса внедрения DLL при загруз-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Выполнение повышения привилегий  171to

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

ке вредоносного кода DLL из пути, который не только создает внешнюю за-

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

висимость и ухудшает скрытность атаки, отражающее внедрение создает свой

 

 

 

 

 

 

 

 

 

 

 

 

 

вредоносный код в виде необработанных данных. Его сложнее обнаружить

 

 

 

 

 

 

 

 

 

 

 

 

 

даже на компьютерах, которые надлежащим образом защищены программ-

 

 

 

 

 

 

 

 

 

 

 

 

 

ными средствами обеспечения безопасности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DLL-инъекции использовались злоумышленниками для изменения реестра

 

 

 

 

 

 

 

 

 

 

 

 

 

Windows, создания потоков и загрузки DLL. Все это действия,требующие прав

 

 

 

 

 

 

 

 

 

 

 

 

 

администратора,нозлоумышленникинаходятспособпроникнуть,неимеята-

 

 

 

 

 

 

 

 

 

 

 

 

 

ких привилегий.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приведенная ниже диаграмма – краткая иллюстрация того, как работают

 

 

 

 

 

 

 

 

 

 

 

 

 

DLL-инъекции (рис. 8.9).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прикрепляется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нелегитимный процесс

Легитимный процесс

 

 

 

 

 

 

 

 

 

 

 

Нелегитимный процесс

Получает доступ к памяти

Легитимный процесс

Нелегитимный процесс

Копирует вредоносную DLL в память

Легитимный процесс

 

DLL

 

Выполняется

Нелегитимный процесс

с легитимным процессом

Легитимный процесс

 

DLL

 

Рис.8.9

Важно помнить, что они используются не только для повышения приви­ легий.

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

Backdoor.Oldrea– внедряется в процесс explore.exe;

BlackEnergy – внедряется в качестве DLL-библиотеки в процесс svchost.

exe;

Duqu– внедряется во многие процессы,чтобы не дать себя обнаружить.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

172  Повышение привилегий

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

 

 

e

 

 

 

 

 

 

Перехват порядка поиска DLL

 

 

 

 

 

n

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Перехват порядка поиска DLL – это еще один метод, используемый для ком- прометации DLL-библиотек и предоставления злоумышленникам возмож- ности повысить свои привилегии для продолжения атаки. В этом методе злоумышленники пытаются заменитьлегитимные DLL-библиотеки вредонос- ными. Поскольку места, где программы хранят свои DLL-библиотеки, можно легко идентифицировать, злоумышленники могут поместить вредоносные библиотеки высоко в списке директорий, в которых выполняется поиск леги- тимной библиотеки.Поэтому,когда Windows будет искать определенную DLLбиблиотеку в своем обычном месте, она найдет DLL-файл с тем же именем, но это будет вовсе не легитимная библиотека. Часто данный тип атаки эффек- тивен с программами, которые хранят DLL-библиотеки в удаленных местах­ , например в веб-ресурсах. Таким образом, библиотеки более уязвимы для зло- умышленников, им больше не нужно физически обращаться к компьютеру, чтобы скомпрометировать файлы на жестких дисках.

Еще один подход к перехвату порядка поиска в DLL состоит в изменении способов загрузки DLL программами. В этом случае злоумышленники изме- няют файлы манифеста или файлы .local, задающие пути поиска DLL, в вы- бранном приложении, чтобы программа загружала библиотеку, отличную от предполагаемой.Злоумышленники могутперенаправитьпрограмму,чтобыта всегда загружала вредоносную DLL, что приведет к постоянному повышению привилегий.Злоумышленникитакже могутизменитьпутьклегитимным DLLбиблиотекам, когда скомпрометированная программа ведет себя ненормаль- но. Целевые программы – это программы, которые выполняются с высоким уровнем привилегий. При выполнении правильной программы злоумышлен- ник может существенно повысить привилегии, чтобы стать системным поль- зователем и, следовательно, получить доступ к большему количеству вещей.

Перехват DLL сложен и требует большой осторожности, чтобы предотвра- тить ненормальное поведение программы-жертвы.В случае неудачи (или уда- чи), когда пользователь понимает, что приложение ведет себя странно, он или она может просто удалить его, что помешает атаке.

На приведенной ниже диаграмме показан порядок перехвата поиска, когда злоумышленник поместил вредоносный DLL-файл в путь поиска легитимного файла (рис. 8.10).

Перехват поиска dylib

Перехват поиска dylib – это метод, используемый при атаке на компьютеры Apple. Компьютеры с операционной системой OS X используют аналогичный метод для поиска динамических библиотек (dylib), которые должны быть за- гружены в программы. Этот метод поиска также основан на переборе путей в файловой системе, и, как было видно в случае с перехватом поиска DLL, злоумышленники могут использовать знания об этих путях для повышения привилегий. Злоумышленники проводят исследования, чтобы найти динами-