Статья В поисках туториала по пентесту

tutorial.jpg

Последние год-полтора я медленно бродил по просторам интернета в поисках информации по становлению специалистом по ИБ и пентесту. В основном суть информации сводилась к "что нужно знать специалисту по ИБ", "что должен уметь специалист по ИБ". Это всё не давало никакого представления пути становления безопасника. Если вы так же, как и я долго ищете "то самое", то милости прошу ознакомиться с моими начинаниями, размышлениями и результатами ленивых поисков :)

Если кратко, то в данной статье я собрал информацию о том, как и откуда получить базовые знания, чтобы стать специалистом по ИБ.​

Немного о себе

Я студент 3 курса, 20 лет, учусь на ИБ автоматизированных систем. В безопасность я пошёл лишь потому, что люблю возиться с компьютерами. По пути я успел захватить квалификацию технического переводчика (курс на 2 года в институте). Не так давно я понял чем хочу заниматься. Путь был долгим. Первый курс блуждания на тёмной стороне (script-kiddie): взлом wi-fi через загрузочный образ kali, безуспешные попытки взломов сайтов (местами успешные, но бестолковые), изучение работы unix систем (поднимал умный дом на Raspberry Pi, быть может напишу об этом; поставил несколько WSL; ставил разные системы на второй комп ради экспериментов FreeBSD, AstraLinux), - затем участия в различных CTF (capture the flag) на втором курсе. Пентест - именно то, что меня всё это время затягивало.​

Зачем идти в ИБ?

Как я сказал, это то, что меня действительно увлекает и только придаёт сил. По сравнению со спортивным программированием (ICPC, acmp, nlogn, codeforces, codeWars и т.д.) сфера пентеста, администрирования систем, ИБ и т.п. кажется практичнее. Почему мне интересно ИБ? Где-то в голове сидит мысль, что всё должно быть правильно защищено, и что это действительно важно. Надеюсь, что я смогу внести лепту в эту часть мира.​

Результаты поисков

В конце концов я набрёл на форум CodeBy, а если быть точнее, на статью Welcome to the club, buddy! Или как начать свой путь в ИБ? В ней развёрнут длинный монолог о том, с чего же действительно надо начать и к чему стремиться. Я понял, что "вот оно, наконец-то". Я решил собрать всё в кучу: ту статью, некоторые полезные комментарии и материалы в ней, статью с необходимой литературой (местами обновил редакции, дневники других начинающих пентестеров, которые, видимо давно не появлялись на форуме, статьи относящиеся к методам конспектирования/изучения материала, а также мои собственные попытки создать индивидуальную программу обучения.​

У вас есть план, Мистер Фикс?


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

Начнём по порядку:​
  • Необходимо изучить и осознать следующие статьи:
  • Полезные комментарии, замеченные мною под прочитанными статьями:
  • Сборник материалов по теме пентеста и ИБ:
    • - автор этой статьи собрал необходимые материалы для изучения в одном месте.​
    • - автор этой статьи собрал необходимые материалы для изучения в одном месте.​
  • Материалы по конспектированию изученного:
    • ( , zettelkasten+obsidianMD, ) - специальная кросс-платформенная программа для заметок. Проект быстро растёт. Имеется много расширений для удобной работы, также можно и свои плагины писать.​
    • ("Картотека") Лумана (обзор с хабра, - в конце концов надо будет хранить всю накопленную информацию. Обычное складирование приведёт только к потере времени из-за бесконечных поисков. В результате вы просто пойдёте и загуглите это, хотя могли поштурмовать свою картотеку и вынести оттуда что-то гениальное или что-то, что вы для себя когда-то отметили, хотя тогда оно было совсем ненужным. Луман предложил хранить всё в неструктурированном виде, основываясь только на связях между карточками (идеями). В нашем случае, конспекты немного не подходят под эту идею. Я посчитал, что необходимо прибегнуть к ещё одному инструменту, о котором далее.​
    • Многоуровневые конспекты (часть 1, часть 2, часть 3) - если последовать идеям zettelkasten, то можно потерять контекст карточки и впоследствии уже не найти. У нас немного другое течение жизни, и у каждого она вообще своя. И нам свойственно забывать. Автор предлагает создавать многоуровневые конспекты (1 - почти исходник, 2 - главные цитаты, 3 - основные заголовки, термины, 4 - итог 1 и 2 уровней, 5 - выражение своих собственных мыслей на основе всех предыдущих).​

У меня есть план и я его придерживаюсь


Цель

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

Время

На данный момент у меня в распоряжении два выходных (вторник и воскресенье) пара неполных дней (пятница и суббота). В уме я прикинул, что на изучение материалов я бы хотел тратить 2-3 полных часа в неделю, 1 час на английский и 1-2 часа на практику (т.к. CTF всегда со мной).​

План

На данный момент я для себя определил следующий план.​
  • Основа:
    1. Книга: Николай Кузьменко: Компьютерные сети и сетевые технологии.​
    2. Видеоуроки по сетям на YouTube канале: Andrey Sozykin.​
    3. Книга: Linux от новичка к профессионалу 6 издание.​
    4. Книга: Руссинович Марк, Соломон Дэвид "Внутреннее устройство Windows".​
    5. ...​
  • Практика:
    1. Решение задач с сайтов , . Начните с easy тасков в категории stego (стеганография). В общем, если что-то не получается ну вот прям совсем, и не у кого-то попросить хинт (подсказку), то советую смотреть write-up'ы. Не забывайте конспектировать проделанное и делать свои write-up'ы, это поможет глубже понимать проделанное.​
    2. Освоение write-up'ов кубка России по CTF (т.к. он на носу). - Не забывайте конспектировать используемые приёмы. Быть может они вас выручат в будущем.​
    3. ...​
  • Английский:
    1. Вспомнить азы грамматики английского языка English Grammar in Use, Raymond Murphy.
    2. Пройтись по упражнениям из Everyday English Дроздовой.​
    3. ...

Прикинем время освоения книжки Николай Кузьменко: Компьютерные сети и сетевые технологии (~368 страниц). В среднем на прочтение 40 страниц художественной литературы у меня уходило около часа, это если я делаю гигантский перерыв и мне тяжело разогнаться. Насчёт технической литературы ничего сказать не могу. Учтём, что необходимо конспектировать изученное, дабы в будущем накопленной информацией пользоваться. Примем скорость равной 20 страницам в час. В книге их 368. Значит, на полное освоение книги уйдёт чуть больше 18 часов обучения. Уделяя книге по 2 часа в неделю, я её освою за 9 недель, то есть чуть больше 2 месяцев. Немного медленно, но быть может я буду ускоряться местами, когда буду видеть знакомые вещи, или когда у меня будет немного больше времени (например, зимние каникулы).​

Это только начало

С этого момента я начинаю учиться и идти к своей цели.

Повторюсь, в ближайшем будущем я создам обновлённый сборник материалов, в котором объединю то, что выкладывали авторы статей, и найденное мной в сети. Сделаю несколько шпаргалок: на какие сайты стоит обращать внимание при поиске информации по компьютерам, ИБ и т.п. (ИМХО); приёмы/инструменты конспектирования (и сами конспекты); какие бывают сертификации и что мне приглянулось.​
 
Последнее редактирование модератором:
Спасибо, очень интересно было читать твою статью
Удачи тебе в дальнейшем и по ИБ. Ну к сожалению я сам не стану пентестером)
Наверное, для меня это слишком сложно... Что то не получается его учить..
 
  • Нравится
Реакции: redlineo
Спасибо, очень интересно было читать твою статью
Удачи тебе в дальнейшем и по ИБ. Ну к сожалению я сам не стану пентестером)
Наверное, для меня это слишком сложно... Что то не получается его учить..
Всё впереди! Необязательно идти целиком в пентест. Возможно вам будет интересна определённая область ИБ.
Благодарю за отзыв!
 
  • Нравится
Реакции: dream to perfection
Всё впереди! Необязательно идти целиком в пентест. Возможно вам будет интересна определённая область ИБ.
Благодарю за отзыв!
Может быть. Просто не могу найти свой главный цель.
Либо ИБ либо что-то.
 
  • Нравится
Реакции: redlineo
Странно, почему все новички берут низкий старт на сетях и сайтах. Это конечно просто и понятно, пока не столкнешься с JavaScript в любимой XSS или ручной эксплуатацией инъекии SQL с записью запроса прямо в URL. Поэтому можно не мелочиться, скачать x86dbg, начать читать книги по программированию на ассемблере, но перед этим стоит купить мыло и веревку (шутка). Ну а если ближе к делу, то флаг в руки, во всех смыслах этого слова и вперед к изучению ИБ (написание статей кстати помогает закрепить знания)
 
Последнее редактирование:
Странно, почему все новички берут низкий старт на сетях и сайтах. Это конечно просто и понятно, пока не столкнешься с JavaScript в любимой XSS или ручной эксплуатацией инъекии SQL с записью запроса прямо в URL. Поэтому можно не мелочиться, скачать x86dbg, начать читать книги по программированию на ассемблере, но перед этим стоит купить мыло и веревку (шутка). Ну а если ближе к делу, то флаг в руки, во всех смыслах этого слова и вперед к изучению ИБ (написание статей кстати помогает закрепить знания)
Почему-то всё умные дяди рекомендуют начинать с сетей. У меня уже есть небольшой опыт в реверсе, вебе и прочем. Писать sql инъекцию прямо в url я уже умею :) XSS тоже пробовал в некоторых тасках.

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

а если ближе к делу, то флаг в руки, во всех смыслах этого слова и вперед к изучению ИБ
Спасибо!
 
Почему-то всё умные дяди рекомендуют начинать с сетей. У меня уже есть небольшой опыт в реверсе, вебе и прочем. Писать sql инъекцию прямо в url я уже умею :) XSS тоже пробовал в некоторых тасках.
Я тоже начинал с сетей, но вскоре все же затянула реверс-инженерия и строение бинарника. По поводу сетей и сайтов рекомендую прочитать книгу " ". Сам прошел эту книгу от и до, материала для новичков там достаточно. К тому же книга дает основы, которые необходимы в дальнейшем
 
  • Нравится
Реакции: prodigy, Denchi и redlineo
Вот "роадмап" от одного из ведущих пентестеров России. Это касаемо веб-пентеста, чтобы стать стажером в его компании.

1. PHP Laravel/symfony, Python Django/Flask, Java Spring MVC (Написть приложения занимающееся аутентификацией на основе базы данных) (одно из приложений нужно написать при помощи сырых запросов к БД)

2. Решить 20 машин на HackTheBox, написать врайтапы

3. PortSwigger Academy 100%
 
  • Нравится
Реакции: Denchi и redlineo
Вот "роадмап" от одного из ведущих пентестеров России. Это касаемо веб-пентеста, чтобы стать стажером в его компании.

1. PHP Laravel/symfony, Python Django/Flask, Java Spring MVC (Написть приложения занимающееся аутентификацией на основе базы данных) (одно из приложений нужно написать при помощи сырых запросов к БД)

2. Решить 20 машин на HackTheBox, написать врайтапы

3. PortSwigger Academy 100%
Учтём! А можете, пожалуйста, сослаться на оригинал или хотя бы на самого "ведущего пентестера России"?
 
Х. З.... Это из моей личной переписки. Но хочу сказать, что при правильном подходе, этот роадмап учитывает особенности современного анализа защищённости веб-приложений.
А вы в свою очередь подумайте, как Вам получить ответ на свой вопрос, из моего ответа ;)
 
  • Нравится
Реакции: redlineo
Привет. Удачи тебе мужик, так как она очень понадобится. Я когда начинал 2 года назад, то у меня был похожий план. К сожалению он пошел по бароде через 1.5 года. Почему так? То чего ты явно не найдешь на просторах сети, так это всех направлений ИБ и как к каждому из них готовится. Понятие "пентест", это что-то очень общее от всего. Penetration testing - тестирование на проникновение. Что в принципе уже говорит о том, что это наступательная часть ИБ. И вот тут начинается самое интересное))
Можно ковырять сетевое оборудование и искать бреши в протоколах и назвать это Net Penetration Testing
Можно ковырять Веб, а еще сейчас в моде ковырять Веб 3.0 и назвать это Web Penetration Testing
Можно ковырять приложухи на уровне кода и назвать это реверсом
А еще есть инфраструктура, а есть отдельные элементы этой инфры, например та сладкая Scada
А еще есть аналитики угроз, которые тоже требуют навыков оффенсив части, а есть IoT pentest. А еще можно искать уязы на уровне процессора.
Вообщем я к тому, что если нет четкого понимания куда целится, то 100% промахнешься. План хорошо, но охватывает он все, а все тут выучить не возможно, ибо необъятное это дело. Рекомендую сосредоточится на чем-то конкретно и погружаться.
Мне этого не сказали и я потерял 1.5 года! Успехов
 
Начинайте с языков программирования. К примеру, C#, C++, Python. Попробуйте написать пару штук парсер/брутер/стиллер (в образовательных целях, естественно). Параллельно пробуйте себя в пентесте WEB/SCADA. Изучайте виды уязвимостей, способы их эксплуатации и защита от них. Естественно, без практики некуда. Потихоньку пробуем себя на хак-площадках (рут-ми, хтб). Смотрите или читайте врайтапы к машинам, чтоб в следующий раз смогли сами так повторить.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!