Не всегда самые дорогие баги, обнаруженные в рамках баг-баунти, — это классика типа XSS/SQL или ошибки логики работы приложения. Утечка логов, доступ к критичным файлам и сервисам без авторизации, сессионные и авторизационные токены, исходные коды и репозитории — все это может быть использовано злоумышленниками для успешных атак, поэтому и платят за такие штуки тоже неплохо. Я расскажу о полезных утилитах, которые помогут в выявлении уязвимостей.

У нас было два мощных веб-краулера, 1 174 991 домен баг-баунти, семь хедеров для обхода WAF, свой сервер в Digital Ocean на случай блокировки IP, список из 50 системных директорий для поиска и куча дополнительных мелких проверок на XSS, CRLF, open redirect и админки с простыми паролями… Не то чтобы все это было нужно в багхантинге, но если уж взялся автоматизировать поиск багов, то надо идти до конца.

— В. Поляков (JohnDoe1492)

Например, недавно была обнародована утечка авторизационного токена Snapchat для обращения к API. Уязвимость была оценена в 15 000 долларов США, при этом сам багхантер ожидал лишь статуса informative и более скромной награды.

Из своего опыта и опыта коллег могу сказать, что даже за server-status, phpinfo или лог-файлы выплата может достигать 1000 долларов. Хорошо, скажешь ты, но ведь искать все это вручную довольно утомительно и малопродуктивно, да и наверняка кто-то другой уже нашел все баги. Представь себе, далеко не так! Баги встречаются повсеместно, компании обновляют или выкатывают новые сервисы, разработчики забывают отключить журналы отладки или удалить репозитории.

 

Правила

В первую очередь советую внимательно ознакомиться с правилами программы, в которой ты хочешь принять участие: чем больше скоуп, тем шире attack surface и выше возможность что-нибудь найти. Тем не менее стоит обращать внимание на принадлежность сервисов к тем или иным доменам. Например, программы баг-баунти обычно не охватывают домены, принадлежащие третьей стороне. Впрочем, если есть шанс, что это повлияет на основные сервисы, можешь рассчитывать на повышение рейтинга на Hacker1 и денежную компенсацию.

Из российских компаний я бы отметил Mail.Ru Group. Это лояльная команда, которая быстро отвечает и принимает баги. Хотя поставили мне несколько n/a.

WARNING

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

Еще один совет начинающим: не стоит выпрашивать деньги у компаний. Объективные баги они оценят по достоинству, опыта у них, скорее всего, гораздо больше, чем у тебя.

 

Готовим плацдарм

Для более эффективного багхантинга нам необходимо мониторить изменения на периметре компании — это позволит оперативно обнаруживать новые сервисы или новые версии веб-приложений. Также мониторинг может быть полезен, если у тебя есть команда — вы сможете обмениваться информацией при совместной охоте.

Serpico

https://github.com/SerpicoProject/Serpico

Первое, что нам понадобится, — система хранения и описания багов. В свое время я использовал Dradis, но сейчас предпочитаю Serpico. Эта программа позволяет заносить баги по классификациям и сразу подтягивает их описание. Все это прекрасно кастомизируется и масштабируется для командной работы.

Фреймворк работает в Linux/Win-среде, есть контейнер Docker для развертывания.


Nmap-bootstrap-xsl

https://github.com/honze-net/nmap-bootstrap-xsl/

Нет, читатель, я не считаю тебя мамкиным хакером, который не знает про Nmap. Но мы будем использовать еще и отличный аддон для работы с журналами сканирований nmap-bootstrap-xsl. Он позволяет конвертировать результаты сканирований в HTML с удобным интерфейсом и возможностью выборки. Это бывает очень удобно при сравнении результатов сканирования.

Скачиваем nmap-bootstrap.xsl и запускаем сканирование:

$ nmap -sS -T4 -A -sC -oA scanme --stylesheet https://raw.githubusercontent.com/honze-net/nmap-bootstrap-xsl/master/nmap-bootstrap.xsl scanme.nmap.org 
$ scanme2.nmap.org

Далее преобразовываем выхлоп скана в HTML:

$ xsltproc -o scanme.html nmap-bootstrap.xsl scanme.xml

Продолжение доступно только подписчикам

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

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Оставить мнение

Check Also

Путешествие по даркнету. Что интересного можно найти в анонимной сети I2P

I2P, или Invisible Internet Project, — это на сегодняшний день самая анонимная сеть. Здесь…