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

 

 

 

 

7

 

 

 

 

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

 

 

 

 

Автоматизированное

тестирование

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

Впредыдущихглавахмыобсуждаливнеполосноеобнаружениеуязвимостей,

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

Эта глава познакомит вас с ценными инструментами, и после ее прочтения вы сможете:

расширить перехватывающий прокси-сервер, чтобы автоматизировать утомительные задачи;

настроить Burp для использования публичного экземпляра Collaborator;развернуть свой собственный экземпляр Collaborator.

Расширение функциональных возможностей Burp Suite

Burp Suite – фантастический набор инструментов, который поставляется с рядом замечательных функций прямо из коробки. Как упоминалось в предыдущих главах, Intruder – это гибкий инструмент для осуществления полного перебора, Repeater позволяет проверять и точно настраивать атаки, а Decoder упрощает манипулирование данными. Отличительной особенностью Burp яв-

 

 

 

 

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

 

 

w Click

to

BUY 156  Глава 7.Автоматизированное тестирование

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

ляется возможность расширения функциональности с помощью расширений,

 

 

 

e

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

разрабатываемых и поддерживаемых сообществом. PortSwigger, создатель Burp Suite, также поддерживает онлайн-каталог расширений, BApp Store. Доступ к нему можно получить с помощью вкладки Extender в Burp Suite.

Рис.7.1. BApp Store

С помощью расширений можно пассивно выполнять проверку на предмет наличия устаревших библиотек, настраивать sqlmap и осуществлять быстрый поиск уязвимостей, связанных с аутентификацией или авторизацией.

Расширения для Burp обычно написаны на языках Java, Python или Ruby. Поскольку Burp является Java-приложением, расширения Java будут работать прямо из коробки. Для расширений, написанных на Python или Ruby, нужно указать Burp Suite на интерфейсы Jython и JRuby. Python и Ruby – очень мощ-

ные языки, а некоторые даже скажут, что работать с ними проще, чем с Java. BAppStore–этовосновномрасширения,написанныенаJavaиJython,ноиног­ да используется и JRuby.

Например, Additional Scanner Checks – это расширение, написанное на языке Python. Как следует из названия,данное расширение дополняет модуль сканера Burp несколькими дополнительными проверками. Однако, преж­ де чем мы сможем установить его, Burp предложит нам загрузить Jython. Это означает­ , что среда Extender Python еще не настроена должным образом, что часто­ встречается в новых установках Burp Suite.

Можно найти Additional Scanner Checks в списке расширений BApp Store, а

в правой части экрана вы увидите кнопку Install серого цвета.Страница BApp Store предоставляет возможность скачать Jython (см. рис. 7.2).

Процесс настройки Burpдля Jython и JRuby прост.Реализации обеих библио­ тек поставляются в виде отдельных JAR-файлов, которые можно загрузить прямо в Burp.

Jython доступен на странице http://www.jython.org/downloads. html в виде автономного файла в формате JAR.

JRuby доступен на странице http://jruby.org/download в виде полного JAR-файла.

 

 

 

 

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

-xcha

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расширение функциональных возможностей Burp Suite 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

157 BUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.7.2. Additional Scanner Checks на странице BApp Store

На вкладке Options (Параметры) модуля Extender можно указатьтолько что загруженные автономные файлы Jython и JRuby.

Рис.7.3. Конфигурирование сред Jython и JRuby

После соответствующей настройки среды BApp Store должен позволить установить расширение Additional Scanner Checks. После нажатия на кнопку Refresh list (Обновить список) изменения в конфигурации будут приняты, а кнопка Install – активирована.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY 158 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

-xcha

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 7.Автоматизированное тестирование

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.7.4. Кнопка Install активируется после предварительной настройки среды

Нелегальная аутентификация и злоупотребление учетными записями

Одним из самых утомительных тестов безопасности приложений является проверка аутентификации или авторизации. Основные шаги для проверки данного типа уязвимости примерно такие:

1)аутентификация с использованием заведомо исправного аккаунта;

2)захват идентификатора сеанса;

3)сканирование приложения с использованием этого идентификатора сеанса;

4)открытие нового сеанса приложения;

5)аутентификацияспомощьюотдельногозаведомоисправногоаккаунта;

6)захват идентификатора сеанса;

7)повтор сканирования с новым идентификатором сеанса:

проверка на предмет возможности вертикального или горизонтального повышения привилегий;

8) анонимный повтор сканирования без идентификатора сеанса:

проверка на предмет наличия проблем, связанных с обходом аутентификации­ .

 

 

 

 

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

 

 

 

Расширение функциональных возможностей Burp Suite  159 BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

Делатьвсе это вручную–настоящий кошмар итратадрагоценного времени.

 

 

e

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

df

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

К счастью, в BApp Store есть расширение, которое помогает автоматизировать бóльшую часть этих процессов и сообщить нам о любых потенциальных проб­ лемах уже на шаге 3.

Autorize сделаетза настяжелую работу.Его можно быстро установить через интерфейс Burp Suite.

Рис.7.5. Autorize на странице BApp Store

Проще говоря, после настройки Autorize будет повторять каждый запрос, который мы отправляем приложению, еще два раза и сравнивать ответ с исходным запросом.

Первый повторный запрос будет содержать идентификатор сеанса второго заведомо исправного аккаунта,а второй повторный запрос будетанонимным. Ответ на исходный запрос должен быть успешным, в то время как два других дадутсбой,предлагаяотдельныйответ,возможно,скодом403или,покрайней мере, изменив тело ответа, чтобы сообщить об ошибке авторизации. Autorize рассмотрит оба ответа и выдаст соответствующее предупреждение.Если ответ первого повторного запроса совпадает с ответом исходного запроса, значит, обе учетные записи могут получить доступ к странице. Если это портал администратора и только одна из учетных записей является аккаунтом админист­ ратора, мы только что обнаружили серьезную проблему, связанную с авторизацией.

Autorize также поможет найти более серьезные уязвимости со вторым повторным запросом, который удаляет заголовок Cookie, делая его анонимным

 

 

 

 

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

 

 

w Click

to

BUY 160  Глава 7.Автоматизированное тестирование

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

запросом.Если ответэтого запроса совпадаетс ответом оригинала,в приложе-

 

 

 

e

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

нии возникает проблема, связанная с обходом аутентификации.

Поток запросов Autorize

Новый запрос осуществляется через перехватывающий прокси-сервер.

1.Замените заголовок Cookie другим идентификатором сеанса.

2.Повторите запрос.

Соответствуетли ответ исходному запросу? Внимание!

3.Удалите заголовок Cookie.

4.Повторите запрос.

Соответствуетли ответ исходному запросу? Внимание!

После установки Autorize необходимо настроить соответствующий заголовок Cookie, чтобы он мог выявлять проблемы в приложении, выбранном в качестве объекта атаки.

Прежде всего необходимо захватить заголовок Cookie и идентификатор сеанса для пользователя с низкими привилегиями. Это можно сделать, открыв новый сеанс просмотра и посмотрев на ответ сервера. Будем просматривать приложение, используя учетную запись администратора.

После входа в систему с учетной записью с низким уровнем привилегий можно получить значение сеанса из любого запроса к приложению.

GET /admin/ HTTP/1.1 Host: panel.c2.spider.ml

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

Accept:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5

Referer: http://panel.c2.spider.ml/

Cookie: PHPSESSID=g10ma5vjh4okjvu7apst81jk04

Connection: close Upgrade-Insecure-Requests: 1

Неплохо было бы запомнить весь заголовок Cookie, поскольку некоторые приложения используют более одного куки для отслеживания сеанса пользователя.

На вкладке Authorize можно ввести это значение в разделе Configuration (Конфигурация) (см. рис. 7.6).

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

 

 

 

 

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

 

 

Расширение функциональных возможностей Burp Suite  161 BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

сканирования. Нам не нужно генерировать в три раза больше трафика для по-

 

 

e

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

сторонних элементов.

Рис.7.6. Вкладка Autorize и раздел Configuration

Authorize начнет воспроизведение запросов, как только мы нажмем кнопку

Enable.

Рис.7.7. Панель конфигурации куки в Autorize

После того как мы настроили значение Cookie, можем аутентифицироваться в приложении, используя учетную запись с высоким уровнем привилегий, и просмотреть панель администратора. Все последующие запросы будут проверены с использованием низко привилегированных и анонимных сеансов.