Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала.




Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в сообщениях день ото дня. Я не могу ответить на каждое сообщение, поэтому решил написать статью и отправлять всех новичков читать ее.

Я занимаюсь Bug Bounty уже пять лет. Тем не менее, есть множество вещей, которых я не знаю, да и сам я не эксперт, поэтому прошу не считать эту статью советом от эксперта. Я просто поделюсь тем, чего достиг за последние 5 лет, совершенствуя свои навыки день ото дня.

Введение


Я видел множество людей в Bug Bounty сообществе, говорящих: «я не технарь, поэтому у меня не очень хорошо получается заниматься Bug Bounty».

На самом деле это заблуждение, что быть хорошим специалистом в Bug Bounty может только кто-то из компьютерной сферы. Если вы знакомы с информатикой, это, безусловно поможет, но это не обязательно, вы можете вполне изучить основы самостоятельно. Однако, если у вас нет технического бэкграунда, заниматься bug bounty стоит только в том случае, если вы больше заинтересованы в изучении информационной безопасности, а не в зарабатывании денег.

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

Я могу рассказать много историй о том, как люди из нетехнической сферы добиваются успеха в области информационной безопасности и bug bounty.

Однако у всех них были общие качества, а именно «интерес» и готовность заниматься «тяжелой работой».

Если вы думаете, что добьетесь успеха за одну ночь, за неделю или за месяц, то это не то, чем вам следует заняться. В bug bounty очень большая конкуренция, ведь хорошая «охота на баг» может занять целый год. Вам следует постоянно продолжать обучение, обмениваться опытом и практиковаться. Вас должно преследовать любопытство, вы должны стремиться узнать что-то новое и исследовать эту область самостоятельно. Сейчас есть очень большое количество бесплатного образовательного контента.

Не платите людям, которые говорят, что сделают из вас специалиста в bug bounty за одну ночь. Большинство из них – мошенники.

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

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

«Не жди, что тебе принесут все на тарелочке с голубой каемочкой.»

Как задавать вопросы?


Задавая кому-либо технический вопрос, делайте это со всей ответственностью.
Вы не должны задавать вопросы вида: «Вот конечная точка, не мог бы ты за меня обойти фильтр XSS?»

Вы должны задавать вопросы по существу – только и всего.
А еще не ждите, что люди смогут дать ответ на ваш вопрос в течение нескольких минут. Они ответят, как только у них появится свободное время, либо же вам могут вообще не ответить из-за своего плотного графика или по какой-то другой причине. Подходите уважительно к консультациям – не пингуйте кого не нужно.

Как найти ответы на все свои вопросы?


Что ж, я делал так раньше, делаю сейчас и буду делать в будущем. Я использую Google. (вы можете использовать и другие поисковики: Р)

Базовые технические навыки для начинающего


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

Протокол HTTPМодель TCP/IP
Linux – Командная строка
Технологии веб-приложений
Базовые сетевые навыки

Получить базовые навыки HTML, PHP, Javascript – Это лишь начало, поскольку список никогда не закончится, да и зависит он от ваших личных интересов. Вы так или иначе формируете интерес в соответствии со своими потребностями.

Также очень важно получить представление о различных типах уязвимостей как можно быстрее. Для этого я добавил раздел «Основы безопасности веб-приложений».

Выбор пути


Выбрать правильный путь в сфере bug bounty очень важно, и он будет полностью зависеть от ваших интересов, однако многие ребята выбирают для себя начинать с веб-приложений, да и сам я считаю, что этот путь самый простой.

  1. Тестирование безопасности веб-приложений.
  2. Тестирование безопасности мобильных приложений.


Однако не ограничивайтесь этими двумя пунктами. Повторюсь, здесь дело интереса.

Основы безопасности веб-приложений
OWASP TOP-10 за 2010 год
OWASP TOP-10 за 2013 год
OWASP TOP-10 за 2017 год


Начните с 2010 года, чтобы понять какие уязвимости оказались в топе в том году, проследите что стало с ними в 2017 году. Вы осознаете это изучая их и практикуя.

Руководство по тестированию OWASP V4

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

Тестирование безопасности мобильных приложений

Как только вы получите больше опыта, вы сможете свободно переключаться между сферами, которые вам больше нравятся.

OWASP TOP-10 уязвимостей мобильных приложений

Есть одна остановка, которую нужно сделать на пути к безопасности мобильных приложений:

Википедия безопасности мобильных приложений от Aditya Agrawal.
Википедия безопасности приложений также от Aditya Agrawal


Книги, к которым я периодически обращаюсь


  1. Web Application Hacker’s Handbook
  2. Mastering Modern Web Penetration Testing
  3. The Hacker Playbook 1, 2 and 3
  4. The Mobile Application Hacker’s Handbook
  5. Breaking into Information Security
  6. Web Hacking 101


Каналы и плейлисты на Youtube


  1. IppSec
  2. LiveOverflow
  3. Web Development Tutorials


Конференции, которые вам стоит посмотреть


Akhil George — создал плейлист посвящённый bug bounty на Youtube.



How to Shot Web от Jason Haddix









Практика! Практика! Практика!


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

Вы можете начать работать с приложениями с уязвимостями.

  1. HackerOne
  2. Bug Bounty Notes
  3. Pentesterlab
  4. Hackthebox
  5. Damn Vulnerable Web Application
  6. XSS Game от Google
  7. Vulnhub
  8. Hack me


Делая лабораторные по проверке безопасности, я написал несколько статей в своем блоге, вы можете найти их ниже:


.
Платформы для Bug Bounty – это отличное место, где вы можете протестировать ваши навыки. Не расстраивайтесь, если не получится сразу, вы все еще учитесь и такая награда, как опыт гораздо более важна.

Hackerone
Bugcrowd
Synack
HackenProof
Intigriti
Bountyfactory
Bugbounty Japan
Antihack

Хэштеги в Twitter, на которые вам стоит подписаться:

#bugbounty
#bugbountytips
#infosec
#togetherwehitharder

Инструменты, которые вы должны освоить (*tool)


Burp Suite

Для начала практикуйтесь с помощью бесплатной версии Burp Suite или версии community edition, чтобы начать работать над программами bug bounty, а как только начнет хорошо получаться, расщедритесь и купите Burp Suite Professional edition. Вы об этом не пожалеете.

Примечание: Не используйте пиратскую версию Burp Suite Professional, уважайте работу, которую делает команда Portswigger.

Существует множество открытых источников, откуда можно узнать больше о Burp Suite pro, но помогут они вам только в случае, если вы решитесь инвестировать в свое хобби немного денег. Я могу порекомендовать следующие источники:

Онлайн-курс от Pranav HivarekarBurp Suite Mastery
Основы Burp Suite от Akash Mahajan

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

Bug Bounty и психическое здоровье


Область Bug Bounty плотно связана со стрессом, поэтому вы должны заботиться о своем физическом и моральном здоровье, что очень важно. Остальное не имеет значения. Мой хороший друг Nathan написал отличный пост на эту тему.

Вам обязательно стоит его прочитать.

Блоги, которые стоит читать



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

Наблюдайте за классными парнями на GitHub


Michael Henriksen
Michael Skelton
Ice3man
Ben Sadeghipour
Tom Hudson
Ahmed Aboul-Ela
Mauro Soria
Gianni Amato
Jeff Foley
Gwendal Le Coguic

Подумайте о том, чтобы пожертвовать им небольшую часть своей награды за успешную bug bounty, чтобы поддержать их открытые проекты или же вы можете помочь им в развитии их проектов. Конечно, это только в том случае, если они принимают финансовую поддержку.

Следите за активными участниками Bug Bounty в Twitter


Frans Rosen
Mathias Karlsson
dawgyg
Olivier Beg
Jobert Abma
STOK
Gerben Javado
Tanner
Ben Sadeghipour
Yassine Aboukir
Geekboy
Patrik Fehrenbach
Ed
x1m
Nathan
Th3G3nt3lman
Uranium238
Santiago Lopez
Rahul Maini
Brett Buerhaus
Harsh Jaiswal
Paresh
Joel Margolis
Abdullah Hussam
zseano
Ron Chan
Parth Malhotra
Prateek Tiwari
Pranav Hivarekar
Jigar Thakkar
nikhil
Rishiraj Sharma
pwnmachine
Bull
n a f f y | thought leader
shubs
Inti De Ceukelaire
Artem
Bhavuk Jain
Avinash Jain
Emad Shanab
Ebrahim Hegazy
Yasser Ali
Akhil Reni
ak1t4
mongo
Arbaz Hussain

И многие другие ребята, но всех я добавить также не могу.

Благодарности


Спасибо Prateek Tiwari, Rishiraj Sharma и Geekboy за то, что помогли с редактурой этой статьи!

До скорого!

На этом все. А мы приглашаем всех на бесплатный вебинар по теме: "(Не)безопасность приложений: охота за ошибками".

Комментарии (5)


  1. Andrey2008
    18.12.2019 19:01

    P.S. Плюс смотрите нашу заметку "Легкий способ заработать на Bug Bounty".


  1. Sayaka
    18.12.2019 19:27
    +1

    Будет звучать банально, однако если вы решили заниматься Bug Bounty, боже вас упаси ,читать советские газеты связываться с компанией из СНГ, без 100% железной уверенности, что она это одобряет, иначе последствия могут быть самыми плачевными.


    1. mikechips
      17.12.2019 23:19

      У многих больших компаний ведь Баунти предусмотрен и есть страничка на нужных сервисах, даже не нужно писать на почту. А маленькие компании обычно денег не могут дать, ибо нету


      1. vilgeforce
        18.12.2019 01:17

        Частенько именно мелкие шараги платят за откровенно детские косяки, а монстры нефтепереработки или телекома (оба есть на Хабре) не способны даже хоть как-то отреагировать, не говоря уже о закрытии дыры.


      1. pyrk2142
        18.12.2019 06:12

        Имхо, в большинстве случаев заявления про отсутствие денег и невозможность заплатить — это только отговорки. Я убеждён, что почти всегда деньги хотя бы на небольшую выплату/бонус/сувенир найдутся. Если их честно нет, то сломавшаяся мышка у программиста окончательно разорит эту компанию, новую купить не на что, бесплатную IDE не открыть больше.


        На другом полюсе чудесные большие компании, которые тратят сотни миллионов на рекламу, но заявляют, что за уязвимости вообще ничего не могут выплатить. Самое забавное, что безопасников при этом даже не пытаются выяснить степень серьёзности уязвимости, словно не им порежут годовую премию за утечку данных всех клиентов.