Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / практический хакинг.pdf
Скачиваний:
22
Добавлен:
19.04.2024
Размер:
31.35 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

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щий или исходящий обмен данными? Можете ли вы получить полно-

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

мочия владельца системы после того, как вы успешно атаковали ееd?f-x chan

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

e

 

Убедитесь, что вы получили надежные ответы на эти вопросы.

Тестирование беспроводного протокола

Мы посвящаем целый раздел этой главытестированию беспроводно- го протокола, учитывая распространенность протоколов радиосвязи короткого, среднего и дальнего действия в экосистемах интернета вещей. Этот уровень может совпадать с тем, что в других публика- циях называется «уровень восприятия» (Perception Layer),и включает

всебя такие технологии распознавания, как радиочастотная иденти-

фикация (Radio-Frequency Identification, RFID), Глобальная система позиционирования (Global Positioning System,GPS) и стандартрадио-

связи в ближнем поле (Near-Field Communication, NFC).

Процесс анализа этих технологий перекрывается с действиями на сетевом уровне, описанными выше (см. подразделы «Анализ се- тевого трафика» и «Протоколы реверс-инжиниринга»). Для анализа и атаки беспроводных протоколов обычно требуется специальное оборудование, в том числе: определенные чипсеты Wi-Fi с возмож- ностью вводаданных,такие какAtheros; модули USB-Bluetooth,такие как Ubertooth; инструменты программно определяемой радиосвязи

(Software-Defined Radio, SDR),такие как HackRF или LimeSDR.

На этом этапе вы испробуете определенные атаки, относящиеся к конкретному используемому беспроводному протоколу. Напри- мер, если какие-либо компоненты IoT используют Wi-Fi, протести- руйте атаки, основанные на подмене пользователя или уязвимостях протокола WEP (Wired Equivalent Privacy) (он будет выделен красным флажком, потому что его легко взломать) и небезопасных реализа- циях защищенного доступа Wi-Fi (WPA/WPA2) со слабыми учетными данными. WPA3 скоро может попасть в эту категорию небезопасных протоколов. Мы рассмотрим наиболее важные атаки на эти прото- колы в главах 10–13. Для пользовательских протоколов вы должны проверить отсутствие аутентификации (включая отсутствие взаим- ной аутентификации) и отсутствие шифрования и проверки целост- ности – то, что, к сожалению, мы наблюдаем довольно часто, даже

вкритически важных устройствах инфраструктуры.

Оценка веб-приложений

Веб-приложения, в том числе используемые в системах IoT, предо- ставляют одну из самых простых точек входа в сеть, потому что они часто доступны извне и имеют множество уязвимостей. Оценка веб-приложений – обширная тема, и существует огромное количе- ство ресурсов,которые помогут вам в этом.Итак,мы сосредоточимся на методах, которые применяются конкретно к веб-приложениям, используемым в устройствах интернета вещей.На самом деле они не

Методология тестирования безопасности­   77

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

отличаются существенно отлюбого другого существующего веб-при-

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

df-x chan

 

o

 

ложения,ноте,которые обнаруживаются на встроенных устройствах,

.

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

e

 

часто, как известно, не имеют жизненных циклов безопасной разра- ботки программного обеспечения, что приводит к очевидным и из- вестным уязвимостям. Ресурсы для тестирования веб-приложений включаютThe Web Application Hacker’s Handbook и все проекты OWASP,

в число которых входит список топ-10 рисков,Application Security Ver- ification Standard (ASVS) и OWASP Testing Guide.

Картирование приложений

Чтобы выполнить картирование веб-приложения,начните с изучения видимого,скрытого и содержимого веб-сайта по умолчанию.Опреде- литеточкивводаданныхискрытыеполяиперечислитевсепараметры. Автоматизированные инструменты для сканирования (программное обеспечение для интеллектуального анализа данных, которое скани- рует веб-сайты по одной странице за раз) могут помочь ускорить этот процесс, но вам также следует всегда просматривать сайты вручную. Можете использоватьперехватывающий проксидляпассивногоскани- рования (мониторинг веб-контента при просмотре вручную), а также

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

Вы можете обнаружить скрытый контент или конечные точки веб-приложений, которые обычно недоступны по видимым гиперс- сылкам, пробуя ввести в адресной строке распространенные имена каталогов и имена/расширения файлов. Обратите внимание, что это может быть довольно заметная деятельность, ведь все эти запросы будут генерировать большой сетевой трафик. Например, средний списокраспространенныхназванийкаталоговиименфайловдляин- струмента веб-сканирования DirBuster содержит220 560 записей.Это означает,что,если вы его используете,он отправит объекту не менее 220 560 HTTP-запросов в надежде обнаружить скрытые URL-адреса. Но не пренебрегайте этим шагом, особенно если оценка проводится

вконтролируемой среде.Мы порой обнаруживаем оченьинтересные, часто неаутентифицированные конечные точки веб-приложений на устройствах интернета вещей. Например, однажды мы обнаружили скрытый URL-адрес популярной модели камеры наблюдения, кото- рый позволял делать снимки без аутентификации, что, по сути, обе- спечивало злоумышленнику удаленный контроль того, на что была направлена камера!

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

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

78  Глава 3

 

 

 

 

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

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

t

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

NOW!

r

 

 

 

 

 

 

BUY

 

 

Элементы управления на стороне клиента

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Вы можете использовать элементы управления на стороне клиента (client-side controls),т. е. все, что обрабатывается браузером,локаль- ные или мобильные приложения. Элементы управления на сторо- не клиента могут представлять собой скрытые поля, файлы cookie

и Java-апплеты.Другие примеры –объекты JavaScript,AJAX,ASP.NET ViewState, ActiveX, Flash или Silverlight. Например, мы видели мно-

жество веб приложений на встроенных устройствах, выполняющих аутентификацию пользователя на стороне клиента, которую зло- умышленник всегда может обойти, поскольку пользователь может контролировать все, что происходит на стороне клиента. На устрой- ствах использовались файлы JavaScript или .jar, .swf и .xap, которые злоумышленники могли декомпилировать и изменять для выполне- ния своих задач.

Аутентификация

Ищите уязвимости в механизме аутентификации приложения. Об- щеизвестно, что огромное количество систем интернета вещей по- ставляется с небезопасными предварительно настроенными учет- ными данными и что пользователи часто оставляют эти учетные данные без изменений. Эти учетные данные можно узнать, обра- тившись к руководствам или другим интернет-ресурсам или просто методом подбора. При тестировании систем интернета вещей нам приходилось встречать пары логин/пароль начиная с популярных admin/admin и вплоть до a/a (да, имя пользователя «a», пароль «a»!), а иной раз аутентификация и вовсе не использовалась. Чтобы взло- мать пароли, отличные от заданных по умолчанию, выполните ата- ки с подбором по словарю на все конечные точки аутентификации. В таких атаках задействованы автоматизированные инструменты для подбора пароля с использованием наиболее распространенных словарных слов или списков паролей, полученных в результате уте- чек. Почти каждый составленный нами отчет об оценке безопас­ ности включаетв себя «отсутствие защиты отперебора»,встроенные устройстваинтернетавещейчастоимеютограниченныеаппаратные ресурсы и могут не сохранять состояние,как это должны делать при- ложения SaaS.

Крометого,проверьтенебезопаснуюпередачуучетныхданных(ко- торая обычно включаетдоступ по протоколу HTTP по умолчанию,без перенаправления на HTTPS); проверьте все функции «забыл пароль» и «запомнить меня»; выполните перечисление имен пользователей (угадать и перечислить допустимых пользователей); ищите условия открытия при отказе, при которых не удается выполнить аутентифи- кацию, но из-за некоторого исключения приложение предоставляет открытый доступ.

Методология тестирования безопасности­   79

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Управление сеансом

w Click

to

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Сеансы веб-приложения – это последовательности HTTP-транзакций, связанных с одним пользователем. Управление сеансом или процесс отслеживания этих HTTP-транзакций может стать сложным, поэто- му проверьте эти процессы на наличие недостатков. Проверьте ис- пользование предсказуемых токенов, небезопасную передачу токе- нов и раскрытие токенов в журналах. Вы также можете обнаружить недостаточное время сеанса, уязвимости фиксации сеанса и атаки

(Cross-site Request Forgery – CSRF), когда вы можете манипулировать аутентифицированными пользователями, чтобы выполнять нежела- тельные действия.

Контрольдоступа и авторизация

Затем убедитесь,что сайтдолжным образом применяет контрольдо-

ступа. Разделение на уровне пользователя, или практика предоставле-

ния пользователям доступа с разными привилегиями к различным данным или функциям, является общей особенностью устройств ин- тернета вещей. Другое название этой тактики – управление доступом на основе ролей (role-based access control, RBAC). Особенно часто она используется в сложных медицинских системах. Например, в систе- ме доступа к электронным медкартам для врача предусмотрен более привилегированный доступ,чем для медсестры, которой может быть назначенотолько право на чтение.Точнотак же системы камер будут иметькак минимум учетную записьадминистратора,которомудове- рено право изменять настройки конфигурации, и менее привилеги- рованнуюучетнуюзапись–толькодляпросмотра,позволяющуюопе- раторам устройства просматривать канал камеры.Но длятого,чтобы эта схема работала, должны использоваться надлежащие средства контролядоступа.Мы видели системы,в которых можно было запро- сить привилегированное действие из непривилегированной учетной записи, просто зная правильный URL-адрес или HTTP-запрос. Если система поддерживает несколько учетных записей, проверьте все границы привилегий. Например, может ли гостевая учетная запись получить доступ к функциям веб-приложения, которые должен ис- пользоватьтолькоадминистратор?Можетлигостеваяучетнаязапись получить доступ к API администратора, управляемому другой струк- турой авторизации?

Проверка ввода

Убедитесь, что приложение правильно проверяет и очищает вводи- мые пользователем данные для всех данных точки входа. Это дей- ствие имеет решающее значение, поскольку наиболее популярным типом уязвимостей веб-приложений является ввод, при котором пользователи могут отправить свой собственный код в приложение под видом пользовательских данных (см. «Топ-10 рисков в сфере ин-

80  Глава 3