Минимальный набор знаний чтобы войти в тестирование безопасности

Discussion in 'Болталка' started by testwebnew200, 25 Feb 2018.

  1. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Уже год пытаюсь вкатиться в тестирование безопасности/bug bounty, и пока безуспешно.

    То есть иногда что-то получается найти, но крайне редко.

    Понял что сейчас, спустя этот год, максимум что я могу это фаззить и вхерачивать как можно большее количество всякой херни(вроде https://github.com/swisskyrepo/PayloadsAllTheThings) в как можно большее количество полей ввода(ну или любых изменяемых значений в запросе).

    Могу находить CSRF, Clickjacking и простые XSS. В теории еще базовые SQL-инъекции, но на практике в живой природе эксплуатируемых запросом OR 1=1

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

    Пересмотрены все возможные курсы, как русские так и зарубежные по теме Ethical hacking.

    Освоен на хорошем уровне бурп, плюс установлены плагины, рекомендованные топовыми багхантерами и разумеется полный набор утилит которые стали почти стандартом индустрии: Sublister, dirsearch, MassDNS итд.

    Прочитаны и стоят в закладках твиттеры ребят вроде fransrosen и thedawgyg.

    На начальном уровне знаю всего понемногу, в профессии тестировщика без этого никак.

    Но при этом будучи скрипткидом, неспособным написать и пару строчек кода(не только код, с командами в терминале примерно так же), в упор не могу эксплуатировать вещи требующие написать хоть что-то свое. Да даже обойти эскейпинг XSS: я обычно просто долбаю все десятком самых мощных XSS-полиглотов, и если они не работают то сдаюсь.



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

    И решил взять таймаут чтобы подтянуть базу, и потом снова попытаться еще раз.

    Но тут возникает вопрос: а сколько достаточно для того чтобы быть багхантером?

    На одно только освоение одного языка можно потратить годы(хотя прикинул что для моих целей плотного изучения Питона в течение месяцев 3 должно хватить).

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

    Неплохо ориентироваться в HTML, CSS и JS чтобы эксплуатировать XSS на уровне фронта(помню было так обидно когда сканером нашел валидную XSS, в одном из селекторов, но не смог тогда сам ее раскрутить, потому что нет знаний чтобы стриггерить ее).

    Подтянуть SQL чтобы полноценно простукивать не только простыми запросами, но и через UNION или через blind SQL injections(кстати на известных сайтах только такие и остались кажется).

    Хорошо разбираться в строении серверов, уметь самому написать простой сервер.

    Отлично знать команды в терминале, желательно вообще UNIX-подобные системы на уровне админа.

    Ну и многое другое что сразу не пришло на ум.



    Но ведь это по хорошему несколько лет плотного изучения. А я точно знаю что в багхантинге достаточно много народу, с нуля вкатившегося и за полгода-год начавшего успешно этим заниматься(по статистике Hackerone большая часть людей имеет опыт меньше года).



    Пока составляю себе программу типа: пройти все курсы по Питону и по терминалу на общедоступных сайтах(codecademy/codeschool)

    https://www.codecademy.com/learn/learn-the-command-line

    https://www.codecademy.com/learn/learn-python



    Но не очень понимаю что делать дальше и как это поможет мне эксплуатировать уязвимости в сайтах например на Java.

    И в каком объеме достаточно того же питона и знания терминала?

    Стоит ли параллельно проходить курсы по веб разработке(стек HTML+CSS+JS), или в голове после этого будет каша из языков?

    Заранее спасибо за советы.
     
  2. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
  3. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,063
    Likes Received:
    1,559
    Reputations:
    40
    про html не забыл, респект
     
    Triton_Mgn likes this.
  4. d1v

    d1v Elder - Старейшина

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    Вот ты и сам на свой вопрос ответил. Прежде чем что-то "ломать", нужно понять как это работает.
     
    Triton_Mgn likes this.
  5. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Как оно работает-я примерно понимаю, умение читать ошибки в консоли браузера, грепать логи бэкенда или даже понять какой коммит разработчика сломал функционал-это навыки необходимые уже на текущей работе(ручное тестирование).
    Но этого, как оказалось, мало, и нужно судя по всему самому начать писать код(плюс видимо быть админом тоже). Вопрос только в каком объеме. Пока для себя выделил примерно следующее:

    1.Первое-терминал, на уровне написания небольших баш скриптов. Текущих знаний терминала хватает на то чтобы работать в системе почти не используя GUI, но этого для пентестинга мало. Пока ищу подходящие курсы/статьи.
    2. Питон-несколько месяцев на освоение синтаксиса и умение написать простые однострочные скрипты в том же терминале.
    3.Веб-несколько курсов по веб-стеку технологий, с последующим созданием своего небольшого сайта, на котором можно будет учиться/тренироваться, постепенно усложняя его структуру.
    4.Еще есть мысли ознакомиться с binary exploitation(самая пока темная для меня тема) http://liveoverflow.com/binary_hacking/
    но не факт что она не окажется слишком сложной для моего уровня.

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

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,673
    Likes Received:
    5,797
    Reputations:
    51
    Сделайте - ни кто не против.
     
  7. d1v

    d1v Elder - Старейшина

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    Сначала определись точно в какой области ты хочешь развиваться. Если это веб, то изучение питона тебе мало чем поможет - большинство сайтов написано на php. Если это уязвимости систем, то написание баш-скриптов не даст ясного понимания того как работает ядро (хотя, безусловно, будет полезно). А вообще, багхантинг - дело неблагодарное и ставить цель стать багхантером я бы не стал. Лучше научись что-то создавать, а багхантинг оставь для приятного хобби после работы.
     
  8. Triton_Mgn

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,673
    Likes Received:
    5,797
    Reputations:
    51
    Хорошо, а от на что надо?
     
  9. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0

    Оно как я это вижу, комплексное, и исходя из тусовки которую приходилось наблюдать например на Zero nights, обычно это и работа пентестером/в СИБ и участие в CTF(я собственно когда-то относительно удачно поучаствовав в CTF и вдохновился темой) и в bug bounty.
    И несмотря на то что в командных зачетах по CTF часто есть специализация, при формате например jeopardy большинство участников может в одиночку решить и web задания, и криптографию, и pwn таски.
    Собственно я и хотел бы приобрести минимально требуемый набор знаний во всех областях, а уже потом думать над специализацией.
    Да, жить с багбаунти сложно если ты не очень хороший спец, но даже моих скромных знаний хватило чтобы уже сейчас получить приятную прибавку к зп.
    Моя итоговая цель-перейти из ручного тестирования в pentesting(для СИБ вряд ли хватит знаний даже через пару лет).
    Багхантинг это в моем случае способ тренировки. Всякие WebGoat и DVWA это неплохо, но на живых системах тренироваться лучше.
     
  10. Sun2017

    Sun2017 Member

    Joined:
    5 May 2017
    Messages:
    337
    Likes Received:
    85
    Reputations:
    0
    Iptables знаешь?
     
  11. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    слышал, пока не изучал
     
  12. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,063
    Likes Received:
    1,559
    Reputations:
    40
    А, что слышал? Что вообще умеешь. есть какие-нибудь достижения, профиль где-то, видео, пруфы итд. каков твой скилл?
     
  13. testwebnew200

    testwebnew200 New Member

    Joined:
    20 Feb 2018
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Да я вроде все примерно описал в изначальном посте в плане моих "навыков".
    Скрипткиддинг, за счет утилит/сканеров/плагинов, которые я старательно вычитывал из всех возможных статей и твитов западных хантеров удается периодически выловить какую-нибудь xss или csrf.
    Есть в HoF пары достаточно известных компаний(везение, настойчивость и хорошо настроенный сканер, особой своей заслуги не вижу).Дальнейшие детали без полного диванона перед рядом коллег, наверняка посещающих форум, сообщить не выйдет, могу в личку если интересно.
    Но тема ведь не про это.
    Мне скорее интересно было послушать мнение опытных людей относительно моего плана развития: или "Sounds like a plan, двигайся как решил", или "Не, ты какую-то херню придумал, надо не так а вот так"
     
  14. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,063
    Likes Received:
    1,559
    Reputations:
    40
    ясна панятна