• XSS.stack #1 – первый литературный журнал от юзеров форума

ver 0.0 или моё начало пути в мир инфобеза

varang1an

CD-диск
Пользователь
Регистрация
11.10.2023
Сообщения
10
Реакции
12

0.1 Начало пути

new_road.jpeg

Вводная часть и пару слов о себе

Всем доброго времени суток, меня зовут XXX, мне 3X лет и работаю я в XXX по профессии XXX.
Так сложилось что на своем рабочем месте имею неограниченное свободное время, компьютер и практически не имею каких-либо обязанностей.
До некоторого времени вопросы о саморазвитии, какой-то самозанятости да и в целом о выходе из сторнирующего состояния мою голову не посещали, т.к. работа не пыльная, платят выше среднего по рынку, если верить статистике по моему региону, знай себе, смотри тик-токи и прочие инстаграмы со смешными котами, да в игры на компьютере играй.
Единственное, что хоть как-то можно было назвать полезным из моих занятий это чтение художественной и исторической литературы, а так же игра в шахматы, чаще всего против компьютерного оппонента.
Еще со студенческих лет я восхищался ребятами которые занимались программированием, радиофизикой и связанной с этим темами. И вот с недавнего времени все на том же ютубе мне стали попадаться видеоматериалы связанные с темой "пентеста".

Такие ролики очень увлекли меня и я стал искать и читать\смотреть\слушать все что хоть как-то связано с "хакерами", информационной защитой, кибератаками, "кибер-полигонами", и вообще всё что касается этой тематики.
Чем больше информации получал об этой нише, тем больше испытывал неподдельный интерес от всего этого, проникался романтикой данного ремесла и у меня загорались глаза.
Как-то читая очередную статью окутанную флером противостояния криминалистов из организации XXX и неких неизвестных хакеров, пришло осознание того, что я сам хочу погрузиться в этот доселе невиданный, но такой интересный мир информационной безопасности.

К чему все эти тирады

Для этого есть несколько причин. Первая по списку причина для меня, это-то, что данная статья будет являться **публичной офертой** перед пользователями данного форума о том, что я решил встать на этот тернистый путь и не намерен с него сворачивать.
Если сказать проще: "если я пасану, перед пацанами будет не удобно."

Вторая причина это-то что описав свои задумки, появляется возможность получить советов мудрых от более опытных и прокаченных людей, о выбранных материалах (об этом будет чуть дальше), как правильнее двигаться, и даже может быть на вопрос жизни, вселенной и вообще...
И последняя в данном абзаце причина до боли проста, выливая все эти излияния на ~~бумагу~~ дисплеи устройства читающего, я как бы даю вводную для последующих своих статей, рассуждений и надеюсь будущих знакомств, т.к. обмен реальным опытом это мгновенный рост.
Это релиз нейролингвистической программы XXX ver 0.0 если угодно.

0.2 Что и как изучаю в данный момент

pentest_road_directions.jpeg

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

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

Сам график выглядит примерно следующим образом:
  • ПН: Программирование
  • ВТ: Базовая криптография
  • СР: Администрирование операционных систем
  • ЧТ: Программирование
  • ПТ: Администрирование операционных систем и сети
  • СБ: Программирование и сети
  • ВС: Анализ пройдённого материала, составление Anki карт, структурирование заметок

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

У вас может возникнуть вполне логичный вопрос:
Если ты собрался заниматься наступательной безопасностью, то где собственно тут сама безопасность и почему все приоритеты отданы каким-то другим вещам ?​
А я вам отвечу:
В данный момент, а вернее в момент моего начала изучения компьютерных наук, я совершенно не имел никакого опыта, вот от слова совсем, мой максимум заключался это переустановить себе операционную систему да моды к какой ни будь игре установить. В следующей главе я расскажу с какими проблемами столкнулся и чуть более развернуто отвечу на этот вопрос.​

Программирование

coding.jpeg


Анализируя рынок труда в направлении "пентеста", смотря что и как делают другие люди в интернете, чему учат в профильных институтах и по некоторым другим причинам которые опишу далее, я выбрал для себя следующие языки программирования:

Python

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

Материалы которые изучаю:
  • Книги:
    • Укус питона - Люди в интернете очень хорошо о ней отзываются, чаще использую как справочник чем как книгу.
  • YouTube:
    • Питон для сетевых инженеров - Так как я активно изучаю и устройство сети, смотрю этот канал.
    • Python с нуля и до мидла Андрей+=Пронин - Мне очень понравился формат в котором сделаны ролики, происходит это в формате вопрос-ответ двух людей, помимо простого объяснения темы. Понравилось тем что у меня иногда возникают вопросы а там даются объяснения в режиме живого общения
  • Курсы:
  • Дополнительные материалы:
  • Практика:
    • LeetCode - Сайт на котором просто огромное количество задач по программированию

Большую часть времени я провожу на сайте LeetCode или в Vs Code разбираясь в стандартных и двух других (Django, Scapy) библиотеках. На курсы и книги уделяю несравненно меньше времени чем на чтение документаций. Как выяснилось книги и курсы (по крайней мере те что попадались мне) содержат достаточно устаревшую информацию т.к. видно развитие языка и библиотек.

C

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

Материалы которые изучаю:

  • Книги:
    • Язык программирования Си - Если пытался искать информацию по теме изучения данного языка, везде говорилось что эта книга является чуть ли не библией, а может даже и больше для людей работающих с этим языком.
    • Си на примерах. Практика, практика и только практика - Данную книгу я выбрал потому что в ней есть практические занятия посвященные с работой сети. Больше аргументов в силу такого выбора у меня нет.
  • YouTube:
    • Begin end - Мне понравилась подача материала, автор достаточно ясно излагает свои мысли а так же дает домашние задания для практики пройдённого материала.
    • Айтишник 👩‍💻 - В принципе это первый канал из IT тематики который начал смотреть, по большей части он представляет из себя сборную солянку по разными темам, но мне интересно только как он пишет свою игру, поэтому оставил в этом разделе.
  • Дополнительные материалы:
    • Gnu Си документация - Документация по версиям языка т.к. в книгах описываются другие версии и сюда я хожу как в справочник ибо информация там подается достаточно тяжело.
  • Практика:
    • Отдельного места для практики данного языка у меня нет, выполняю задания из видео, книг или переписываю код с питона на Си

SQL

Хоть данный "язык" и был вынесен в отдельную категорию, его изучение всегда проходит параллельно с изучением Python, так как нужно понимание взаимодействие веб приложений для дальнейшего поиска в них уязвимостей а так же поиска уязвимостей в базах данных. Каких-то отдельных материалов по его изучению у меня нет т.к. при работе с разными базами данных или библиотеками синтаксис а иногда и подход отличается, изучаю то что получается найти на просторах интернета по задаче решением которой занимаюсь в данный момент.

Администрирование и сети

networks_and_services.jpeg


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

  • Книги:
    • Linux от новичка до профессионала - Объемная книга по использованию Linux от работы с файлами до настройки собственных серверов. Ее одной хватает что бы забирать все выделенное время на чтение литературы по данному направлению.
  • YouTube:
    • RJ45 - Огромное количество видео-лекций на тему администрирования Windows серверов. Роли сервера, права доступа, организация политик безопасности, организация сети на базе Active Directory и т.д. тут все это есть.
    • Ит видео - Огромный сборник видео на тему администрирования серверов, облачной инфраструктуры, организация безопасности в компаниях и т.д.
    • Мир IT с Антоном Павленко - Мужик рассказывает о своем опыте и работе с серверами, информация разная от помощника системного администратора до DevOps инженера.
    • Kirill Semaev - Канал посвященный обучению администрированию серверов с домашними заданиями.
    • Andrey Sozykin - Тут я смотрю обучающие видео о работе с сетью, но чаще по вопросам сети я ищу в интернете документации где описываются принципы работы и взаимодействия разных протоколов и технологий.
  • Практика:
    • Каких-то специальных ресурсов для отучивания практических навыков администрирования найти мне не удалось кроме яндекс-практикума, но там момент с тем что все в основном завязано конкретно на их облачной инфраструктуре и преподаваемой ими теоретической базы. Поэтому в данном направлении я практикуюсь "создавая" свой виртуальный офис, с рабочими станциями, серверами, виртуальными коммутаторами и маршрутизаторами.

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

Базовая криптография

crypto.jpeg


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

  • Книги:
    • Прикладная криптография. Протоколы, алгоритмы и исходный код на C - Очень тяжелое для меня чтиво, но поскольку практически все современные системы используют разного рода шифрование, а так-же криптография обеспечивает нам защиту как личных данных так и самой личности, знания в этой области просто необходимы как мне кажется.
  • Практика:
    • Единственная возможная практика это попытки воспроизвести алгоритмы шифрования в собственном коде.

Мои инструменты

tools.jpeg


Git

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

Obsidian

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

Vs Code

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

VmWare Workstation

Система виртуализации - в данный момент глубоко не погружен в процессы виртуализации и использую VmWare потому что было много проблем с VirtualBox, одна из которых не удалось решить, это "микро-замирания" при виртуализации Linux систем, поэтому VmWare

Нейросети


ai_test2.jpeg


Нейронные сети новомодное изобретение, кто-то говорит что они скоро заменят всех IT специалистов, кто-то что это бесполезная технология и очередной пузырь для отмывания денег на грантах и прочие осваивания бюджетов.
Но я считаю что это просто удобный инструмент который помогает немного упростить повседневные задачи. Сам использую следующие: **Bing**, **Yandex GPT2** и **ChatGTP**
Для меня это некий аналог поисковика на несложные вопросы, сильно помогает когда сам вопрос сформулировать для поискового запроса не сразу получается.

P.S.
Картинки для данной статьи рисовала нейросеть Bing

P.S.S.
Если кто-то вдруг дочитал до этого момента и имеет такую возможность, был бы очень благодарен за API ключ или другой доступ к ChatGPT :D т.к. в данный момент я использую ее из бесплатных телеграмм ботов

0.3 Некоторые мысли и трудности на пути

go_to_road.jpeg


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

У самурая варяга нет цели, есть только путь. Это стало понятно когда по одной из так называемых "дорожных карт" пошел обучаться пентесту на площадку TryHackMe, там были методички и описания а так же задания по ним, но все что требовалось это скопировать пример из методички и вставить его в предполагаемое место уязвимости и все, поздравляем вы "хакер".
А когда начинаешь искать информацию по дополнительным источникам, то приходит осознание того, что для разбора этой уязвимости, понимания ее сути, возможности самостоятельно находить подобное, требуется разбираться в программирование, нужно понимать как разработчик писал свой код, почему этот баг там появился.

И как понимаю, это будет работать со всеми направлениями в пентесте.
Хочешь взламывать программы ? Учись программировать.
Хочешь взламывать веб приложения ? Учись писать их, понимать логику создателей этих приложений.
Хочешь взламывать сервера ? Учись их настраивать и понимать где администратор мог допустить ошибку. И как мне думается, после получения вышеописанных навыков, уже будет куда легче разбирать и искать уязвимости.
Но это сугубо мое мнение. Возможно тот кто проходил этот путь, объяснит мне в чем ошибаюсь.

Основная трудность - это желание знать все, информации получаются огромные объемы, начинаешь что-то читать, что-то делать и тут же информация в Лернейскую гидру, начинается разветвляется, отращивать новые головы, завиваться в клубки переплетаясь между другими дисциплинами, темами, источниками и весь твой пошаговый план летит в тартарары.
Я прекрасно осознаю что выучить все и сразу невозможно а в подобных попытках можно просто перегореть.
Но дорогу осилит идущий. Тяжело в учении - легко в бою. Копейка рубль бережет, или это уже не из той степи ?


Быстрый FAQ вместо выводов.


Q: Почему не сразу пентест а такой долгий путь выбрал ?
A: Хочу стать хакером а не Script kiddie

Q: Сколько часов в день уделяешь обучению ?
A: Ежедневно от 8 до 16 часов.

Q: Как отдыхаешь ?
A: Читаю или смотрю истории связанные с великими людьми в индустрии или технологиями.

Q: Что самое сложное в обучении ?
A: Нехватка времени в сутках и потребности организма в сне, еде, набегах...

Q: Какие планы дальше ?
A: Продолжать обучаться, начать писать статьи для форума, даже если тема уже обсуждалась, хочется делать какой-то свой контент, да и метод желтой уточки, все такое.

Q: Чего ожидаешь от статей\\посещения форумов ?
A: Советов мудрых от тех кто уже проходил этот путь.



Если у кого-то есть, советы, замечания, комментарии или иные мысли по поводу простыни выше, буду рад это почитать а так-же ответить на вопросы.
 
Нашел для себя еще один крайне занимательный инструмент, под названием Zeal
Который представляет собой, набор локальных документаций по разным языкам.
Удобнее это чем в браузере быстротой поиска, можно открывать несколько вкладок и не требует подключения к интернету, что приятно если например весь трафик в ОС идет через тор а доку почитать нужно.
По сути своей это конечно свистоперделка, но мне понравилось.
https://zealdocs.org/

Zeal.png
 
Your post was very well organized, I think you are already doing almost all the needed things, but I noticed something curious in your FAQ, " I want to become a hacker and not a Script kiddie", what do you understand by being a hacker? Also, since you are using great time to learn programming you will get the fundamentals very quick, and I agree that this is very important but don't postpone the moment where you get the hands dirt.

Lets say you are learning about some function in C, try to create your own experiments which are not covered in any book, if your program crash then learn how to debug (using prints is not wrong), but you should definitely learn how to use a debugger (eg: gdb, windbg, etc). Never stop studying, also read some well know hacker content like ezines.
 
Пожалуйста, обратите внимание, что пользователь заблокирован


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх