Приветствую всех, кто читает эту статью, в ней я хотел бы рассказать как я попал в пентест. Это не гайд и не инструкция, это небольшая история моей жизни связанная со сферой кибербезопасности, вы не найдёте тут абсолютно точного ответа на вопрос, как пройти свой пути, но, надеюсь, сможете подчеркнуть для себя что-то интересное и полезное, что позволит вам идти по нему проще, быстрее и эффективнее.
По большей части статья носит вдохновляющий и стимулирующий характер, с указанием тем и областей знаний, которые с более высокой долей вероятности могут вам пригодится в обучении и на самой работе по началу.
Для кого эта статья?
Впервую очередь для тех, кто интересуется как попасть в сферу ИБ, для людей которые заходят на тематические форумы и в чаты, чтобы спросить, что им почитать, какие курсы пройти и т.д. Также же , будет полезно тем, кто, как и я когда-то, хочет сменить сферу деятельности.
Все книги и материалы, которые я буду указывать в статье есть в свободном доступе(правда, многое под черным флагом), вы можете поискать попрактиковавшись в осинте и, уверен, легко их найдете.
Для начала самую малость вводных данных:
О себе - мне 27 лет, я из провинциального миллионника, получил медицинское образование, два последних года сидел в декрете и ни дня не работал в IT до сих пор.
Вкратце о тайм менеджменте:
Свой путь я начинал будучи мед предом, потом я выгодно поменял сиденья - вместо корпоративного Соляриса пересел на "сиденее" с ребенком и организацию домашних дел, так что времени для занятий было не очень то и много, поэтому я старался выжимать его по максимуму, я четко планировал своей день, закладывая самые разнообразные варианты исходов в каждый момент времени или чекпоинт, и использовал каждую свободную минуту. Читал на обеде, в очередях в поликлиниках, ночью, когда семья спит и т.д.
Также замечу, что доступ к пк тоже был далеко не всегда, поэтому я очень быстро нашел и освоил termux, и возможностей для учебы и практики стало гораздо больше, ясное дело что нерутованный termux не даст и четвертой доли того что можно сделать за полноценной машиной, но все же это лучше, чем ничего.
Узнал о пентест в начале 2023 года. За год до этого начал изучать питон, освоил основы буквально за месяц и мне этого было достаточно для работы, чтобы писать парсеры сайтов и собирать информацию в Ексель, и делать типовые отчеты по одному клику скриптом. Потом мне стало интересно в целом все это направление и я стал подумывать о программировании, начал углубляться в изучение питона, узнал что тру кодеры юзают Линукс и много чего еще поверхностного. Читал о смежных полезных технологиях и изучал основы, по сути больше для себя, потому что на тот момент практической нужды не было в этом, например, MySQL, как вообще работает компьютер и т.д.. В тот период я читал:
Изучаем питон - лутц
Линукс на примерах - Колесниченко
Как на самом деле работает компьютер - м. Джастис
SQL pocket guide - Жао
Через полгода мне наскучил питон и я решил попробовать другой язык, более так сказать трушный, ведь активное сидение на всевозможных пабликах и форумах с вечными холиварами "питон для лохов, плюсы выбор мастеров" заинтересовали меня. И один раз я наткнулся на мем, который четко дал мне понять что нужно учить, ведь на тот момент он полностью описал мое состояние, и так "плюсы"
(си начал изучать перед плюсами, просто потому что посчитал это идейно верно, тем более начитавшись все тех же форумов, узнал ,что си имеет вполне себе ограниченный пул знаний и его реально освоить, если можно так выразиться, "полностью", чего не скажешь о плюсах):
Язык программирования СИ - Ритчи, Керниган
Программирование. Принципы и практика Си+ + - Страуструп
Я изучал си и плюсы, учился работать в кли, начал активно осваивать баш, и где-то в это время я вышел в декрет:
Bash. Карманный справочник сис админа - Роббинс,
Advanced bash-scripting guide( ко многим книгам я часто возвращался/возвращаюсь, но к этой особо часто, это прям топ, но не для легкого чтения начинающих)
И вот однажды, перебираю свою электронную библиотеку, чтобы найти что-то по линухе, мой взгляд падает на книгу, которая сыграла огромную роль во всей этой истории:
Kali linux. Библия пентестера - Гас Хаваджа
Мне стало интересно, что это за Kali, и что такое пентестер. Я открыл ее, начал читать и тут-то все завертелось. Прочитал ее на одном дыхании за несколько дней и был преисполнен мыслями, вопросами и идеями.
Я начал хаотично выкачивать все материалы до которых мог дотянуться, в которых было сказано о пентесте. Я регался на всех площадках и форумах по этой теме, так я попал на кдб.
Общение с комьюнити:
Очень важный, супер полезный, аспект учёбы, однако он может быть и фатально деморализующим, если вы склоны слишком близко брать к сердцу и принимать за чистую монету слова людей. Общаться необходимо, но нужно уметь отделять зерна от плевел. Приведу самый базовый пример, который я часто слышал, когда общался с людьми:
без образования? Без опыта в айти? Чел ну сори, просто поиграй в цтф - норм тема, забей на пентест)
27? Ну поздновато конечно...
Притом эти же люди говорили действительно дельные вещи, и очень сильно помогли мне, спасибо им большое, хотя я понимаю, что кого-нибудь другого могло бы и оттолкнуть подобное, но не меня) я аж сам себя бешу порой своей самоуверенностью)
Трудности в начале:
Немного почитав о сфере и пообщавшись с людьми, я понял для себя, что путь в пентест это сугубо либо образование по ИБ, либо некст лвл после длительного опыта в разработке/администрировании, и начал сам себя отодвигать от пентеста в сторону администрирования(разработка померкла на фоне) и пытался создать такой роудмап чтобы сразу и рыбку съесть и сковородку не помыть, типо учишь одно а пригодится и в пентест и в администрирование, потом выйдешь в эникейшики, оттуда до админа, а там уже видно будет... Ну короче, говно план, благо все оказалось иначе XD
Я не гарантирую и ни в коем случае не оспариваю логичное предположение, что в пентест, с большей вероятностью, попадают так, как я написал выше, но НЕ только так, вам может так же фаратнуть как и мне, по крайней мере стоит это помнить и думать как реализовать эту возможность.
Вернёмся к нашим баранам.
Почитав недельку о категориях и посмотрев примеры задач, я решил попробовать решить что-то, первый таск был мистер дино, для человека который никогда не работал с js таск оказался достаточно простым, не зря он изи, и с помощью гугла я быстро его решил, приободрившись этим фактом, однако дальше был таск найди флаг или как он называется, не помню, где нужно было найти 4 фрагмента флага, и этот супер изи таск я решал дня три, потому что вообще ничего не смыслил в работе сайтов. На этом я закончил с вебом, попробовал другие категории, особо ничего не ненарешал, кроме крипты и детского реверса(самое тяжёлое было узнать чем открыть бинарник и как вывести строки из него). Ну и забил почти на год на попытки решения тасков, пока не выучу базу.
Тут я озадачился главными вопросами: "что читать, какие технологии изучать, какой роудмап?", но самый главный вопрос, который я для себя поставил, и который для меня стал маяком "а че по вакансиям?".
Я зашёл на хх, хабр.карьеру, нашел паблики в тг по вакансиям в иб и начал выписывать в одну таблицу по колонкам:
"Город вакансии", "требования", "чем предстоит заниматься", "будет плюсом ".
Просто 4 колонки с кашей из дублей, которые я потом неделю чистил, чтобы понимать, что в сухом остатке мне досталось. На основании этой таблицы и составил костяк роудмапа, который, безусловно, корректировал, обновлялся и сопоставлял с роудмапами, которые находил параллельно.
Микрореференс к "город вакансии":
Для меня это был по сути лимитирующий фактор, все остальное в моем понимании было вопросом времени, и этот нюанс сыграет, по сути, решающую роль, как я сейчас это вижу, во всей этой истории, но об этом ближе к концу.
Роудмап.
Я понимал, что в общем-то строго говоря, ты тем более успешен, чем больше ты знаешь обо всем, но это круто звучит и работает, когда ты живешь не "здесь и сейчас", а в идеально-фантастических условиях. Поэтому выбор пал на самый базовый и распространённый:
Сети > линух > ЯП > основы пентеста > углубленние в технологии и инструменты на практике
Pulp fiction:
Вот мы и дошли до фактического материала, все, что было выше, можно скипнуть при прочтении и просто глянуть на список ниже и комментарии к нему, но вы то этого не узнаете пока не прочитаете в первый раз)
Сети: хз даже, что сказать по сути есть 3-4 издания которые взаимозаменяемые, я "прочитал" все, точнее полностью прочитал только одну, остальные просто сверял выборочно по главам(не буду же я перечитывать физический уровень ОСИ каждый раз, его и один раз то можно особо не читать, но для общего развития хуже не будет), и перечитывал для лучшего понимания и запоминания , притом хочу заметить "прочитал", физически выучить такое количество материала я бы не успел, память хорошая, и я быстро осваиваю прочитанное.
На выбор:
Компьютерные сети - Эндрю Таненбаум (его прочитал полностью, вообще дед просто лучший, потом читал и читаю и другие его энциклопедии)
Компютерные сети - Олиферы
И тут внезапно очередные - Компьютерные сети. Нисходящий подход - Куроуз, Росс
Возможно даже, для пентестеров было бы профитнее читать именно нисходящий подход, там сразу изучение с более прикладнных тем идет, пока голова не забита сечениями кабелей и покрывающей способностью радиовышек...
Ну и конечно я не могу не упомянуть величайший курс по сетям от Андрея Созыкина "Компютерные сети и системы телекоммуникации".
Начать сети лучше с него, ноу дискасс, потом сделать перерыв на какую-то другую тему, и потом вернуться и читать что-то из литературы выше.
Микрорекомендация по сетям:физический можете пропустить, от него вам будет толку чуть больше чем, от ничего, возможно, в силу своей неопытности я чего-то не понимаю, но помню была статья в хакере про Митм через витую пару посредством "крокодилов", не то чтобы без знания физического уровня ОСИ вы не поймете о чем идёт речь в статье, но и вряд ли в первые свои годы работы будете искать новые способы подобных атак на хардваре
Линукс:
Тут пожалуй сделаю сразу же пометку!!! Учите не только Линукс, но Виндовс, и Винду даже больше, Линукс очевидно проще и понятнее, более логичная, ну опять же на мой взгляд. Мне было гораздо проще изучать и работать с линухой чем с окнами!
Сразу к делу:
Книг крайне много, книги разной направленности и области использования, я просто приведу в пример то, что читал сам и остался доволен, можете выбрать вообще любую, вам это больше для основ, а они есть всюду, я брал из расчета на сис админство:
Unix и Linux руководство системного администратора - Эви Немет и КО (лично я считаю, что это просто пушка, очень понравилась)
Linux глазами хакера - Михаил Фленов( насчет книг серии by hacker view: я читал, читаю все книги серии, мне нравки, приятные,а некоторые и вообще необходимы как воздух - АД, привет, спасибо Ральфу. Не читал из серии пока что только android глазами хакера. Можете ознакомиться с серией и почитывать в свободное время, приятное, полезное чтиво, как книги перед сном)
Винду на до момента трудоустройства не успел начать изучать, но сейчас читаю
Внутреннее устройство windows - Руссинович
Микросовет:
Создавайте виртуалки, живете мыслью о том, что богу виртуалок нужно больше виртуалок, создавайте, пробуйте, изучайте, например, что есть в Debian 12, или 11, кали( что добавили в последней версии, как сильно она отличается от предыдущих версий, как далеко она уже от дебиан), винда 10, 11, какие версии, какие отличия, какие патчи были, что патчили, win server и т.д. да это много и это жёстко, ну что поделать
ЯП:
Просто скопирую то, что писал в чате по этому поводу:
"учите все!"
Вы никогда не узнаете, какой вам понадобится именно сейчас. Понятное дело, что это невозможно, и вы будете осваивать их по мере работы и надобности, но есть те, которые определённо вам нужно знать, хотя бы основные:
Python
C#
C/C++
Powershell
Bash
Java
PHP
Js
Желательно еще потренироваться в sql, язык достаточно просто, просто его нужно понять, а разница между условными MySQL и постгрисом ерундовая, только mssql сильне других отличается, но они все ещё очень близкие
Ну и в догоночку язык гипертекстовой разметки) куда ж без нее
Это те, которые с гораздо большей вероятностью от вас потребуются на старте, так то может вам потребуется руби или перл, или ГО или вообще раст(но будьте аккуратны с ним, он попадает под закон о запрете пропаганды гомосексуализма)
Основы пентеста:
Ну что ж, будем честны, нет книг по пентесту, которые дадут вам чуть больше, чем просто общие сведения или типовые примеры. Когда получите базу вы сами будете искать статьи на интересующие темы.
Я приведу список книг, все из них я либо полностью либо, почти полностью прочитал и повторил руками по мере возможности, выберите одну любую ну или две для закрепления и пройдитесь по ним чтобы запомнить основы, ну и выучить базовые техники, остальные можете буквально пробежать глазами и что-то интересное выделить, чтобы почитать отдельно
Веб
Kali linux. Библия пентестера
Этичный хакинг - Грэм
Дневник охотника за ошибками - Клейн
Ловушка для багов - Яворски
Основы Веб пентеста - Яворски
Как стать хакером - Прутяну
Книги серии занимайся хакингом как/с ... Спарк флоу
По сетям не так много:
Сети:
Атака сетей на уровне протоколов - Форшоу
Сети глазами хакера - Магама Базаров
Также, журнал хакер, маст хев, я считаю
Этот этап уже можно уверенно совмещать с практикой в цтф, что я и начал делать с февраля 24 года, и дело пошло бодрее, гораздо бодрее. К середине июня я закрыл весь веб, что меня сильно порадовало.
Ввиду ограничений по времени и доступности пк, я долго решал порой простые таски, например квест ламер, который можно решить за пару часов, я решал чуть больше недели))
Тут пожалуй я дам свою личную справку по категориям тасков цтф в плане полезности в реальной практике:
Осинт -сосинт и этим все сказано, очевидно да, ноу дискасс, но цтфный сосинт и реальный осинт это как самолет и мотороллер, вроде смысл тот же, служит для передвижения, но разница колоссальная
Веб - очевидно да
Стега - очевидно нет, онли цтфная ерунда
Крипта - хе-хе, да, но тут есть нюанс, либо вам может попасться какой-то некриптостойкий/кривой самописный алгоритм и вы его сможете расшифровать и использовать по ходу пентеста(мой первый отчет на работе был по слабой крипте, которая помимо прочего открывала возможность для атаки), либо какой-то математически-апокалиптический ад, и проще сразу забить, проблема в том, что ты пока поймёшь это первый вариант или второй может уже пройти достаточно много времени)
Форензика - очевидно неочевидно, но да, большая часть работы
Квесты и АД объединим в понятие инфра - безусловно да, думать нечего, маст хев
Реверс и бинарщина - тоже да, реверс не в той степени, конечно, что для конкретно реверс инженеров, нам это больше для какого-то быстрого анализа, ну или конечно длительного, глубокого и всеобъемлющего, но не на начальном уровне, но знать надо, а бинарщина это уже к нам точно.
Разное - ну тащемто да, писать код уметь надо, яп разные применять уметь надо, алгоритмы знать надо, уметь читать и понимать код, знать паттерны проектирования(хотя это больше для реверса все таки) работать с сокетами, анализировать трафик, и все все все, вот это вот тоже знать надо
Как вы наверное могли догадаться, я не изменяю своей традиции писать с телефона и в свое свободное от домашних дел время - 4 утра, поэтому пальцы устали за несколько таких плодотворных ночей, пора наверное заканчивать эту статью:
В одно летнее утро зашел я на сайты для поиска вакансий, чтобы чекнуть, изменилось ли чего и не смог поверить глазам, первая и единственная вакансия за полтора года, в моем городе, так ещё и на самого что ни на есть начинающего специалиста, палец кликнул по кнопке откликнуться раньше чем я успел прочитать название организации. Я мыслил так:
- позовут на собес уже вин, я хотя бы своими глазами увижу, что есть пентест в провинции) смогу узнать что спрашивают, если не пройду то хоть спрошу что нужно почитать, что подтянуть, чтобы снова попытаться позже. Но все прошло куда лучше и меня взяли,вот так просто, без образования, опыта и т.д. по первой откликнувшийся вакансии. При том что я рискнул многим, ведь нужно было после этого срочно искать садик и отдавать ребенка и очень много еще каких бытовых вопросов, которые были на мне, пришло решать в гиперсжатые сроки и в тяжёлых физически условиях. Но и эти трудности разрешились, поэтому сейчас я доволен как слон. Сказать, что это лучшая работа в мире - это не сказать ничего.
Надеюсь статья была вам полезна и интересна, спасибо что прочли ее.
Удачи всем, кто только начинает этот путь, или уже на нем!
По большей части статья носит вдохновляющий и стимулирующий характер, с указанием тем и областей знаний, которые с более высокой долей вероятности могут вам пригодится в обучении и на самой работе по началу.
Для кого эта статья?
Впервую очередь для тех, кто интересуется как попасть в сферу ИБ, для людей которые заходят на тематические форумы и в чаты, чтобы спросить, что им почитать, какие курсы пройти и т.д. Также же , будет полезно тем, кто, как и я когда-то, хочет сменить сферу деятельности.
Все книги и материалы, которые я буду указывать в статье есть в свободном доступе(правда, многое под черным флагом), вы можете поискать попрактиковавшись в осинте и, уверен, легко их найдете.
Для начала самую малость вводных данных:
О себе - мне 27 лет, я из провинциального миллионника, получил медицинское образование, два последних года сидел в декрете и ни дня не работал в IT до сих пор.
Вкратце о тайм менеджменте:
Свой путь я начинал будучи мед предом, потом я выгодно поменял сиденья - вместо корпоративного Соляриса пересел на "сиденее" с ребенком и организацию домашних дел, так что времени для занятий было не очень то и много, поэтому я старался выжимать его по максимуму, я четко планировал своей день, закладывая самые разнообразные варианты исходов в каждый момент времени или чекпоинт, и использовал каждую свободную минуту. Читал на обеде, в очередях в поликлиниках, ночью, когда семья спит и т.д.
Также замечу, что доступ к пк тоже был далеко не всегда, поэтому я очень быстро нашел и освоил termux, и возможностей для учебы и практики стало гораздо больше, ясное дело что нерутованный termux не даст и четвертой доли того что можно сделать за полноценной машиной, но все же это лучше, чем ничего.
Узнал о пентест в начале 2023 года. За год до этого начал изучать питон, освоил основы буквально за месяц и мне этого было достаточно для работы, чтобы писать парсеры сайтов и собирать информацию в Ексель, и делать типовые отчеты по одному клику скриптом. Потом мне стало интересно в целом все это направление и я стал подумывать о программировании, начал углубляться в изучение питона, узнал что тру кодеры юзают Линукс и много чего еще поверхностного. Читал о смежных полезных технологиях и изучал основы, по сути больше для себя, потому что на тот момент практической нужды не было в этом, например, MySQL, как вообще работает компьютер и т.д.. В тот период я читал:
Изучаем питон - лутц
Линукс на примерах - Колесниченко
Как на самом деле работает компьютер - м. Джастис
SQL pocket guide - Жао
Через полгода мне наскучил питон и я решил попробовать другой язык, более так сказать трушный, ведь активное сидение на всевозможных пабликах и форумах с вечными холиварами "питон для лохов, плюсы выбор мастеров" заинтересовали меня. И один раз я наткнулся на мем, который четко дал мне понять что нужно учить, ведь на тот момент он полностью описал мое состояние, и так "плюсы"
Язык программирования СИ - Ритчи, Керниган
Программирование. Принципы и практика Си+ + - Страуструп
Я изучал си и плюсы, учился работать в кли, начал активно осваивать баш, и где-то в это время я вышел в декрет:
Bash. Карманный справочник сис админа - Роббинс,
Advanced bash-scripting guide( ко многим книгам я часто возвращался/возвращаюсь, но к этой особо часто, это прям топ, но не для легкого чтения начинающих)
И вот однажды, перебираю свою электронную библиотеку, чтобы найти что-то по линухе, мой взгляд падает на книгу, которая сыграла огромную роль во всей этой истории:
Kali linux. Библия пентестера - Гас Хаваджа
Мне стало интересно, что это за Kali, и что такое пентестер. Я открыл ее, начал читать и тут-то все завертелось. Прочитал ее на одном дыхании за несколько дней и был преисполнен мыслями, вопросами и идеями.
Я начал хаотично выкачивать все материалы до которых мог дотянуться, в которых было сказано о пентесте. Я регался на всех площадках и форумах по этой теме, так я попал на кдб.
Общение с комьюнити:
Очень важный, супер полезный, аспект учёбы, однако он может быть и фатально деморализующим, если вы склоны слишком близко брать к сердцу и принимать за чистую монету слова людей. Общаться необходимо, но нужно уметь отделять зерна от плевел. Приведу самый базовый пример, который я часто слышал, когда общался с людьми:
без образования? Без опыта в айти? Чел ну сори, просто поиграй в цтф - норм тема, забей на пентест)
27? Ну поздновато конечно...
Притом эти же люди говорили действительно дельные вещи, и очень сильно помогли мне, спасибо им большое, хотя я понимаю, что кого-нибудь другого могло бы и оттолкнуть подобное, но не меня) я аж сам себя бешу порой своей самоуверенностью)
Трудности в начале:
Немного почитав о сфере и пообщавшись с людьми, я понял для себя, что путь в пентест это сугубо либо образование по ИБ, либо некст лвл после длительного опыта в разработке/администрировании, и начал сам себя отодвигать от пентеста в сторону администрирования(разработка померкла на фоне) и пытался создать такой роудмап чтобы сразу и рыбку съесть и сковородку не помыть, типо учишь одно а пригодится и в пентест и в администрирование, потом выйдешь в эникейшики, оттуда до админа, а там уже видно будет... Ну короче, говно план, благо все оказалось иначе XD
Я не гарантирую и ни в коем случае не оспариваю логичное предположение, что в пентест, с большей вероятностью, попадают так, как я написал выше, но НЕ только так, вам может так же фаратнуть как и мне, по крайней мере стоит это помнить и думать как реализовать эту возможность.
Вернёмся к нашим баранам.
Почитав недельку о категориях и посмотрев примеры задач, я решил попробовать решить что-то, первый таск был мистер дино, для человека который никогда не работал с js таск оказался достаточно простым, не зря он изи, и с помощью гугла я быстро его решил, приободрившись этим фактом, однако дальше был таск найди флаг или как он называется, не помню, где нужно было найти 4 фрагмента флага, и этот супер изи таск я решал дня три, потому что вообще ничего не смыслил в работе сайтов. На этом я закончил с вебом, попробовал другие категории, особо ничего не ненарешал, кроме крипты и детского реверса(самое тяжёлое было узнать чем открыть бинарник и как вывести строки из него). Ну и забил почти на год на попытки решения тасков, пока не выучу базу.
Тут я озадачился главными вопросами: "что читать, какие технологии изучать, какой роудмап?", но самый главный вопрос, который я для себя поставил, и который для меня стал маяком "а че по вакансиям?".
Я зашёл на хх, хабр.карьеру, нашел паблики в тг по вакансиям в иб и начал выписывать в одну таблицу по колонкам:
"Город вакансии", "требования", "чем предстоит заниматься", "будет плюсом ".
Просто 4 колонки с кашей из дублей, которые я потом неделю чистил, чтобы понимать, что в сухом остатке мне досталось. На основании этой таблицы и составил костяк роудмапа, который, безусловно, корректировал, обновлялся и сопоставлял с роудмапами, которые находил параллельно.
Микрореференс к "город вакансии":
Для меня это был по сути лимитирующий фактор, все остальное в моем понимании было вопросом времени, и этот нюанс сыграет, по сути, решающую роль, как я сейчас это вижу, во всей этой истории, но об этом ближе к концу.
Роудмап.
Я понимал, что в общем-то строго говоря, ты тем более успешен, чем больше ты знаешь обо всем, но это круто звучит и работает, когда ты живешь не "здесь и сейчас", а в идеально-фантастических условиях. Поэтому выбор пал на самый базовый и распространённый:
Сети > линух > ЯП > основы пентеста > углубленние в технологии и инструменты на практике
Pulp fiction:
Вот мы и дошли до фактического материала, все, что было выше, можно скипнуть при прочтении и просто глянуть на список ниже и комментарии к нему, но вы то этого не узнаете пока не прочитаете в первый раз)
Сети: хз даже, что сказать по сути есть 3-4 издания которые взаимозаменяемые, я "прочитал" все, точнее полностью прочитал только одну, остальные просто сверял выборочно по главам(не буду же я перечитывать физический уровень ОСИ каждый раз, его и один раз то можно особо не читать, но для общего развития хуже не будет), и перечитывал для лучшего понимания и запоминания , притом хочу заметить "прочитал", физически выучить такое количество материала я бы не успел, память хорошая, и я быстро осваиваю прочитанное.
На выбор:
Компьютерные сети - Эндрю Таненбаум (его прочитал полностью, вообще дед просто лучший, потом читал и читаю и другие его энциклопедии)
Компютерные сети - Олиферы
И тут внезапно очередные - Компьютерные сети. Нисходящий подход - Куроуз, Росс
Возможно даже, для пентестеров было бы профитнее читать именно нисходящий подход, там сразу изучение с более прикладнных тем идет, пока голова не забита сечениями кабелей и покрывающей способностью радиовышек...
Ну и конечно я не могу не упомянуть величайший курс по сетям от Андрея Созыкина "Компютерные сети и системы телекоммуникации".
Начать сети лучше с него, ноу дискасс, потом сделать перерыв на какую-то другую тему, и потом вернуться и читать что-то из литературы выше.
Микрорекомендация по сетям:физический можете пропустить, от него вам будет толку чуть больше чем, от ничего, возможно, в силу своей неопытности я чего-то не понимаю, но помню была статья в хакере про Митм через витую пару посредством "крокодилов", не то чтобы без знания физического уровня ОСИ вы не поймете о чем идёт речь в статье, но и вряд ли в первые свои годы работы будете искать новые способы подобных атак на хардваре
Линукс:
Тут пожалуй сделаю сразу же пометку!!! Учите не только Линукс, но Виндовс, и Винду даже больше, Линукс очевидно проще и понятнее, более логичная, ну опять же на мой взгляд. Мне было гораздо проще изучать и работать с линухой чем с окнами!
Сразу к делу:
Книг крайне много, книги разной направленности и области использования, я просто приведу в пример то, что читал сам и остался доволен, можете выбрать вообще любую, вам это больше для основ, а они есть всюду, я брал из расчета на сис админство:
Unix и Linux руководство системного администратора - Эви Немет и КО (лично я считаю, что это просто пушка, очень понравилась)
Linux глазами хакера - Михаил Фленов( насчет книг серии by hacker view: я читал, читаю все книги серии, мне нравки, приятные,а некоторые и вообще необходимы как воздух - АД, привет, спасибо Ральфу. Не читал из серии пока что только android глазами хакера. Можете ознакомиться с серией и почитывать в свободное время, приятное, полезное чтиво, как книги перед сном)
Винду на до момента трудоустройства не успел начать изучать, но сейчас читаю
Внутреннее устройство windows - Руссинович
Микросовет:
Создавайте виртуалки, живете мыслью о том, что богу виртуалок нужно больше виртуалок, создавайте, пробуйте, изучайте, например, что есть в Debian 12, или 11, кали( что добавили в последней версии, как сильно она отличается от предыдущих версий, как далеко она уже от дебиан), винда 10, 11, какие версии, какие отличия, какие патчи были, что патчили, win server и т.д. да это много и это жёстко, ну что поделать
ЯП:
Просто скопирую то, что писал в чате по этому поводу:
"учите все!"
Вы никогда не узнаете, какой вам понадобится именно сейчас. Понятное дело, что это невозможно, и вы будете осваивать их по мере работы и надобности, но есть те, которые определённо вам нужно знать, хотя бы основные:
Python
C#
C/C++
Powershell
Bash
Java
PHP
Js
Желательно еще потренироваться в sql, язык достаточно просто, просто его нужно понять, а разница между условными MySQL и постгрисом ерундовая, только mssql сильне других отличается, но они все ещё очень близкие
Ну и в догоночку язык гипертекстовой разметки) куда ж без нее
Это те, которые с гораздо большей вероятностью от вас потребуются на старте, так то может вам потребуется руби или перл, или ГО или вообще раст(но будьте аккуратны с ним, он попадает под закон о запрете пропаганды гомосексуализма)
Основы пентеста:
Ну что ж, будем честны, нет книг по пентесту, которые дадут вам чуть больше, чем просто общие сведения или типовые примеры. Когда получите базу вы сами будете искать статьи на интересующие темы.
Я приведу список книг, все из них я либо полностью либо, почти полностью прочитал и повторил руками по мере возможности, выберите одну любую ну или две для закрепления и пройдитесь по ним чтобы запомнить основы, ну и выучить базовые техники, остальные можете буквально пробежать глазами и что-то интересное выделить, чтобы почитать отдельно
Веб
Kali linux. Библия пентестера
Этичный хакинг - Грэм
Дневник охотника за ошибками - Клейн
Ловушка для багов - Яворски
Основы Веб пентеста - Яворски
Как стать хакером - Прутяну
Книги серии занимайся хакингом как/с ... Спарк флоу
По сетям не так много:
Сети:
Атака сетей на уровне протоколов - Форшоу
Сети глазами хакера - Магама Базаров
Также, журнал хакер, маст хев, я считаю
Этот этап уже можно уверенно совмещать с практикой в цтф, что я и начал делать с февраля 24 года, и дело пошло бодрее, гораздо бодрее. К середине июня я закрыл весь веб, что меня сильно порадовало.
Ввиду ограничений по времени и доступности пк, я долго решал порой простые таски, например квест ламер, который можно решить за пару часов, я решал чуть больше недели))
Тут пожалуй я дам свою личную справку по категориям тасков цтф в плане полезности в реальной практике:
Осинт -
Веб - очевидно да
Стега - очевидно нет, онли цтфная ерунда
Крипта - хе-хе, да, но тут есть нюанс, либо вам может попасться какой-то некриптостойкий/кривой самописный алгоритм и вы его сможете расшифровать и использовать по ходу пентеста(мой первый отчет на работе был по слабой крипте, которая помимо прочего открывала возможность для атаки), либо какой-то математически-апокалиптический ад, и проще сразу забить, проблема в том, что ты пока поймёшь это первый вариант или второй может уже пройти достаточно много времени)
Форензика - очевидно неочевидно, но да, большая часть работы
Квесты и АД объединим в понятие инфра - безусловно да, думать нечего, маст хев
Реверс и бинарщина - тоже да, реверс не в той степени, конечно, что для конкретно реверс инженеров, нам это больше для какого-то быстрого анализа, ну или конечно длительного, глубокого и всеобъемлющего, но не на начальном уровне, но знать надо, а бинарщина это уже к нам точно.
Разное - ну тащемто да, писать код уметь надо, яп разные применять уметь надо, алгоритмы знать надо, уметь читать и понимать код, знать паттерны проектирования(хотя это больше для реверса все таки) работать с сокетами, анализировать трафик, и все все все, вот это вот тоже знать надо
Как вы наверное могли догадаться, я не изменяю своей традиции писать с телефона и в свое свободное от домашних дел время - 4 утра, поэтому пальцы устали за несколько таких плодотворных ночей, пора наверное заканчивать эту статью:
В одно летнее утро зашел я на сайты для поиска вакансий, чтобы чекнуть, изменилось ли чего и не смог поверить глазам, первая и единственная вакансия за полтора года, в моем городе, так ещё и на самого что ни на есть начинающего специалиста, палец кликнул по кнопке откликнуться раньше чем я успел прочитать название организации. Я мыслил так:
- позовут на собес уже вин, я хотя бы своими глазами увижу, что есть пентест в провинции) смогу узнать что спрашивают, если не пройду то хоть спрошу что нужно почитать, что подтянуть, чтобы снова попытаться позже. Но все прошло куда лучше и меня взяли,вот так просто, без образования, опыта и т.д. по первой откликнувшийся вакансии. При том что я рискнул многим, ведь нужно было после этого срочно искать садик и отдавать ребенка и очень много еще каких бытовых вопросов, которые были на мне, пришло решать в гиперсжатые сроки и в тяжёлых физически условиях. Но и эти трудности разрешились, поэтому сейчас я доволен как слон. Сказать, что это лучшая работа в мире - это не сказать ничего.
Надеюсь статья была вам полезна и интересна, спасибо что прочли ее.
Удачи всем, кто только начинает этот путь, или уже на нем!