The Bug Hunters Methodology: обнаружение цели и о составление карты архитектуры веб-приложения.
 Предыдущие статьи:
  1. Философия

Обнаружение

Найдите путь, который ещё не изведан другими

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

  • ^.acme.com — чем больше вы найдете поддоменов, тем лучше, т.к. маловероятно, что тот или иной сервис крутящийся на найденном поддомене полностью протестирован
  • Ищите домены с помощью Google (также не забывайте и про другие поисковики)
    • Это можно автоматизировать с помощью recon-ng и пр. инструментов.
  • Сканирование портов непонятных веб-серверов/служб (во всех доменах)
  • Функциональные изменения: фичи, крупные обновления и пр.
  • Мобильные веб-сайты
  • Мобильные приложения
  • Поиск головной компании по товарным знакам или политике конфиденциальности

Инструменты: recon-ng script (enumall.py)

https://github.com/jhaddix/domain

LMGTFY: Let Me GOOGLE That For You

site:paypal.com —www.paypal.com —www.sandbox (прим. переводчика: видимо автор пытается сказать, что пора бы научиться пользоваться поисковыми системами и разобрать наконец основные операторы поиска)

Список слияний и поглощение компаний на примере Facebook

https://en.wikipedia.org/wiki/List_of_mergers_and_acquisitions_by_Facebook

Сканирование портов

Полное сканирование портов всех найденных целей, как правило приблизит вас к победе:

  • отдельные веб-приложения
  • посторонние сервисы
  • у Facebook была Jenkins Script console, к которой можно было подключиться без авторизации (прим. переводчикапост об этой уязвимости)
  • IIS.net имел открытый rdp, что позволяло выполнить MS12_020

пример команды nmap:

nmap -sS -A -PN -p- --script=http-title dontscanme.bro

Ключ Описание
sS посылать только syn и считать порт открытым если получен syn_ack
A запустить все возможные тесты одновременно
PN расценивать все хосты как работающие
p- сканирование всех портов
script=  сканирование с использование скриптов, в данном случае http-title

Составление карты архитектуры веб-приложения

Советы по составлению:

Directory Bruteforce Workflow

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

Пример:

<code>GET http://www.acme.com - 200
GET http://www.acme.com/backlog/ - 404
GET http://www.acme.com/controlpanel/ - **401 hmm.. ok**
GET http://www.acme.com/controlpanel/[bruteforce here now]
</code>

Составление архитектуры/Обнаружение уязвимостей используя OSINT

Найдите предыдущую/существующую уязвимость:

Об уязвимости может быть уже известно, используйте её для развития дальнейшей атаки.

Новый проект: Maps

Новый OSINT/Mapping проект

  • 250+ багбаунти программ
  • Сканирование
  • информация о DNS + брутфорс
  • Метаданные (ссылки, награды, цели)
  • API

https://github.com/bugcrowdlabs/directory

Использование Maps Project на примере сканирования:

Using + Ruby + Anemone + JSON + Grep

<code>$cat test_target_json.txt | grep redirect

https://test_target/redirect/?url=http://twitter.com
https://test_target/redirect/?url=http://facebook.com/...
https://test_target/redirect/?url=http://pinterest.com/...
</code>

Новый инструмент: Intrigue

OSINT фреймворк. Пример функций:

  • DNS Subdomain Brute force
  • Web Spider
  • Nmap Scan
  • и другие

http://github.com/intrigueio/intrigue-core