Не всегда самые дорогие баги, обнаруженные в рамках баг-баунти, — это классика типа 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.
Важное напоминание! Когда ты найдешь баг, не докручивай его до финала, если тебя не попросят об этом специально. Не нужно дампить базу, дефейсить сайт или каким-то образом влиять на пользователей. Тот, кто принимает у тебя баг, обычно и сам в состоянии довести дело до логического конца.
Еще один совет начинающим: не стоит выпрашивать деньги у компаний. Объективные баги они оценят по достоинству, опыта у них, скорее всего, гораздо больше, чем у тебя.
Для более эффективного багхантинга нам необходимо мониторить изменения на периметре компании — это позволит оперативно обнаруживать новые сервисы или новые версии веб-приложений. Также мониторинг может быть полезен, если у тебя есть команда — вы сможете обмениваться информацией при совместной охоте.
https://github.com/SerpicoProject/Serpico
Первое, что нам понадобится, — система хранения и описания багов. В свое время я использовал Dradis, но сейчас предпочитаю Serpico. Эта программа позволяет заносить баги по классификациям и сразу подтягивает их описание. Все это прекрасно кастомизируется и масштабируется для командной работы.
Фреймворк работает в Linux/Win-среде, есть контейнер Docker для развертывания.
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
Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке
1 год7190 р. Экономия 1400 рублей! |
1 месяц720 р. 25-30 статей в месяц |
Уже подписан?
Читайте также
Последние новости