Ilya Rusanen - Burp Suite + Python = <3

Ilya Rusanen - Burp Suite + Python = <3

D976a85e36e57b7a38a7290b8f7c4af9?s=128

Moscow 2600

October 07, 2016
Tweet

Transcript

  1. Burp Suite + Python = <3 f1nnix, @IlyaRusanen, f1nn.com, 2600,

    2k16 Делаем кастомный процессинг HTTP-ответов в Burp Suite для брутфорса Skype
  2. Burp Intruder — лучший друг вебхакера • позволяет перехватывать запросы

    прямо из браузера (в т.ч. и SSL если установлен rootCA) • позволяет задать параметры запроса • query-параметры • GET/POST-параметры • модифицировать запросы заданным набором пейлоадов • выводить все в результирующую таблицу для дальнейшего анализа
  3. Результаты пентеста в сводной таблице Intruder подставляет указанный payload set

    и реплеит запрос с каждым его элементом. Результаты выводятся в таблицу. Один ряд — один запрос с уникальным набором пейлоадов.
  4. Grep/Match и больше ничего Возможности анализа ответа нет. Единственное, что

    можно сделать — это грепнуть ответ по регулярке. Грепнутое значение будет выведено отдельным столбцом в результаирующей таблице.
  5. А если надо больше? 1.Процессинг данных локальным софтом 2.Анализ DOM-дерева

    3.Получение данных из внешних источников 4.Проведение комплементарных (ну и словечко!) атак с вычленением промежуточных результатов
  6. Суппорт 80лвл. Исправим?

  7. None
  8. Skype Number — настоящий номер Можно получить настоящий телефонный номер

    в любой стране мира. На него можно позвонить. С него можно позвонить. И стоит всего 18 евро.
  9. Выбираем страну, штат и local area 1 2 3

  10. Пробуем искать по паттерну 1. Ставим rootCA для поддержки SSL

    2. Вводим паттерн 3. Начинаем искать 4. Proxy перехыватвает запрос. 5. Посылаем его в Intruder и…
  11. Получаем данные для скана 1. Ставим rootCA для поддержки SSL

    2. Вводим паттерн 3. Начинаем искать 4. Proxy перехыватвает запрос. 5. Посылаем его в Intruder и…
  12. Запускаем скан В первый пейлоад кидаем список local areas, выдернутый

    их DOM-дерева регуляркой. Во второй — список крутых комбинаций
  13. PROFIT! Мы достали кучу номеров с 4444, 6666, 1337, 2600

    Отфитровано просто по длине ответа серера
  14. Но как выдернуть и показать
 в таблице сами номера? Идея

    состоит в том, чтобы: 1. Похукать момент получения ответа сервера 2. Обработать его своим кодом 3. Добавить результат вычислений в тот же самый ответ в специальном формате и отправить "дальше» 4. Дальше грепнуть это значение по регулярке штатными средствами Burp Intruder Чтобы реализовать этот трюк, нужно написать расширение для Burp Suite. Расширения для Burp пишутся на Java, Ruby или Python. Мы напишем на Python.
  15. У Burp Suite есть маленький App Store,
 а также возможность

    писать свои расширения Напишем и мы свое!
  16. Ставим Jython http://www.jython.org/ Учти, что нужно пользоваться не системным PIP-ом,

    а jython'овским, который лежит в директории бинарника jython (см. предыдущий скрин):
  17. Пишем
 расширение Суть: 20-36 строка

  18. Тестим, что приходит в body То, что нужно! В конце

    уже дописывается строка с доступными номерами для этого региона. Оно пригодно для GREP!
  19. Добавялем новый GREP из body… По предпросмотру регулярок уже видно

    что работает! …И
  20. Успех! И это мы отпроцессили тольо 1(!) штат в 1(!)

    стране. В USA 52 штата. В каждом по 10-50 local areas. Скайп предоставляет ~25 стран.
  21. Спасибо за внимание! f1nnix, @IlyaRusanen, f1nn.com, 2600, 2k16