Приветствую читатель!
Ну что, вот-вот подойдет к концу 4-й год развития в офенсиф секурити с полного ноля. Как и обещал в прошлый раз, эта статья будет заключительной.
Для тех людей, которые мне писали про розовые очки, работу на себя и прочее:
В целях экономии вашего времени скажу:
- От части вы были правы. И да, у меня ничего не вышло. Признаю поражение, топаю отдыхать и кумекать что и как делать по жизни дальше.
Все, можете закрывать вкладку
Ну а для всех тех, у кого есть желание разобраться как так получилось или что не получилось, да и для всех кому просто любопытно как прошел у меня этот год, я рекомендую оставить статью для домашнего чтения и предварительно сделать чай ну или то, что вы любите пить и спокойно перечитать всю мою отсебятину))) Поехали!!!
В прошлой статье я писал о том, что у меня был план по взятию пары сертификатов. Так вот я не взял ни одного )))
Год начался странно для меня. Первые три недели января я не мог вообще найти силы. Как только малый засыпал я просто ложился спать. Не знаю с чем это было связано, но к вечеру я уже вообще не понимал что и где. Садится за материалы в таком состоянии очень глупо. К концу января, как гром средь ясного неба, жена сообщает что ее релокейтят. Вариантов остаться только один, это уволится по собственному. Мы понимали, что все финансы на ней и поэтому выбор был очевиден.
Знали бы вы, сколько было вложено в легализацию в другой стране за три полных года ((( Это было очень тяжело принять, тем более когда ты понимаешь от куда тебе нужно уехать и КУДА. Поэтому до середины февраля я тоже ничего не делал, а был сосредоточен на вопросе переезда. Так же было в течении первых двух недель в новой стране. По итогу у меня минус 2 месяца.
Когда я уже пришел в себя с пониманием что время пролетело и я потерял 2 месяца, я решил оставить вопрос с BSCP и просто пойти в инфру. С этого момента во мне начал рости внутрянщик )))
Из веба в инфраструктуру
Как и писал ранее, у меня было все готово. Я сделал выводы из первых 2.5 лет и решил что теперь буду учить комлексно, погружаясь в технологию, изучая ее и только потом уже ломать ее. Скажу что это было верным решением, пусть это и скушало 3 недели времени. Но в конечном итоге, у меня было понимание что вообще я делаю и где я это делаю. Как и ранее, средств на курс у меня не было.
В этот раз мне уже ничего не дарили ) Поэтому все нужно было делать и искать самому. Тут конечно огромное спасибки mayfly за такую лабу как GOAD. И конечно же за разбор этой лабы в его бложике. Потрясающий объем информации, огромное кол-во уязвимостей и около 10 векторов на взятие контроллера домена.
Я настоятельно рекомендую всем, у кого сложности с денежками, а учиться хочется. К сожалению, в силу своего характера и подходов, мне было мало инфы из блога. Там есть моменты которые не раскрыты совсем или только по верхам. Поэтому я гуглил, а если не мог нагуглить, я топал на канал красного братства (рекламы не будет, считайте это хинтом к осинту) и задавал вопросы там. Там конечно очень крутые ребята, поэтому если правильно задавать вопросики, то можно получать годные ответики.
В общем день за днем, неделя за неделей, ну и месяц за месяце что логично, я учил атаки на Active Directory. Я как-то сам не заметил, что меня туда втянуло. Хотя я изначально брался за инфру, только чтоб были базовые знания. Как вы помните, я заваливал собесы на этой теме ( В общем медлено подкрадываясь к июню месяцу, я уже почти закрыл весь материал по GOAD, когда в июне ко мне постучали …
Первый официальный корпаративный пентест
В один из дней, ко мне в личку постучал знакомый (я теперь не буду ссылаться на людей, потому что в прошлый раз народ начал писать undefo и мне было не ловко перед ним) и предложил поучавствовать в пентесте внешки. Все как полагается, в команде и за денежку.
Я конечно очень хотел, но понимал что у меня якорь в виде ребенка. Обговорив этот момент, пришли к тому, что я просто буду работать ночью. Со мной связался руководитель проекта, переговорил со мной и задал вопрос: -Что по деньгам ?
Я, в силу своей скромности и не уверенности, сказал что готов и просто ради опыта без денежек. На что получил ответ: -Так не пойдет! Скажи что ты хочешь за свой труд.
Как человек не имеющий опыта и не ориентирующийся в расценках, может дать ответ ? Короче я сходил к знакомому и спросил. Мне назвали циферку и с ней я пришел к руководителю. Удивлением для меня стало то, что предложили чутка больше и бонус за пробив )))
Кстати, если мы по найденым кредам, найдя цитрикс, заходим и попадаем во внутрянку, это считается пробивом ?
Так я и начал свое путешествие в проекте. И вроде все прикольно, но были вещи за которые я переживал:
- Я не могу ничего сказать жене. Я не могу пояснить причину, но просто исходите из того, что участие в проекте было под грифом СЕКРЕТНО
- Ребята в команде куда опытнее чем я и время они затрачивали другое. Мне было очень тяжело. Я думал что я обективно в хвосте поезда. Было не ловко, не комфортно.
Но при всем этом, я методично делал работу так, как я считал нужным. Реально мне ни капли не стыдно за проделанную работу. Жалко только, что три недели быстро пролетели. Я хотел еще))
Знаете, мне реально казалось что я не работаю, а просто увлечен темой которая мне нравится. Все эти дни я получал удовольствие от процессов, хоть и процессы были очень монотонными. По фану было только первые 2 дня, когда мы толпой просто влетели в скоуп. Но потом тимлид дал команду переключиться только на те сорцы, которые заказчик считает важными. И тут огонь пропал и началась методичная работа. А наш чатик утих до пары-тройки сообщений в день)
Самой большой сложностью для меня, оказалось копание в коде. Я не умею этого делать правильно. Я даже начал давать заднюю. Но потом принял вызов, взял себя в руки и начал делать так, как лично мне казалось нужно делать) Так как у меня был проект на ПХП, я просто начал грепать на предмет всяких интересностей, по типу функций. И монотонно читать и ходить по коду. В какой-то из дней у меня засверкал LFR )))
Юху, моя первая уязвимость при тестировании белым ящиком))) Но была сложность, сорц был под неизвестным для меня прокси, который по понятным причинам нужно было обойти. Написал лиду, указал на проблему. Как оказалось он тоже нашел ))) Но тоже не смог обойти прокси. Решили что задокументируем проблему и сунем в отчет. В принципе риск то имеется и к слову это главный сайт конторы.
И так я работал, каждую ночь. А жена загоняла меня спатки, чтоб я мог утром встать. И сказать я ничего не мог. Хотел сказать уже по факту, когда проект будет закрыт и на руках будут денежки. Ну типо: - Вот любимая, я принес денег в наше гнездо, а заработал я их вот там! Это снижало риск получить пиз..ы (конфликта)!
По итогу проект закрыли. Не знаю на сколько успешно, так как это мой первый проект, но с учетом всего найденого, думаю хорошо поработали. Была вещь которая меня интересовала больше денег, деньги вообще вторичны. Я хотел получить от лида фидбек, чтоб понимать как я на самом деле себя проявил, что нужно подтянуть и тд. Ждать пришлось долго(
Пока лид закрыл отчет с заказчиком. Потом я смеренно ждал когда у него закончится отпуск. Ждал и накручивал себя. Но потом таки получил ответ, где меня успокоили и сказали что все хорошо. Чувствуется не увереность, но вопрос решается практикой. Ну и написал мне на чем мне сосредоточиться. Короче было круто. Я знаю, что люди пригласившие меня и заплатившие мне, будут это читать.
Спасибо мужики, этот опыт по истине лечшее что было за 4 года. От души благодарен.
И конечно же заработок, как не описать. Я не буду говорить сколько, просто скажу, что это больше чем я расчитывал вообще. И эти деньги по другому ощущаешь. Нет ничего круче, чем получить деньги за свое увлечение. Я не работал ни минуты, я просто кайфовал)
Standoff365 и я в команде
После проекта, я добил оставшуюся часть по GOAD и решил поиграть на полигоне Standoff365.
В прошлой статье я писал об опыте и тогда я понял что мне рано. И вот я вернулся ) Выбрал сегмент NetFusion и начал курить. Если с внешкой все понятно, то попав во внутрянку, я как бы делал пук-пук. Я могу с уверенностью сказать, что стендофф это больше чем просто лабы по AD, это реплика сети. Реальной сети, которые выстраиваются в компаниях. И тут мы сталкиваемся не с просто задачами как взять доменного админа, а реализовать недопустимое событие (НС). Именно тут приходит понимание, что нужно учить сети.
Я часто вижу, как новичкам на вопрос: - С чего начать?, впаривают книги по сетям. Это ошибка! Например в вебе, знание сетей нужно лишь поверхтностное. DNS, dhcp, маска сети, asn, веб сокет, http\https. Что-то на этом уровне для понимания.
Но вот когда вы идете в инфру, то вот тут да. Вы попадаете в сеть, эта сеть строго сегментирована. И вам как-то нужно перемещаться между подсетями для риализации риска. В стендофф большой упор делается на credential harvesting, user hunting, боковое перемещение. Это те дисциплины, которые прям нужно уметь и знать.
Рельно я мучался на полигоне. У меня не работал фишинг и я думал реализовать пробив периметра и зайти с внешки. Но потом узнал, что не везде этот вектор заложен, поэтому попадать через фишинг таки пришлось. К концу лета я уже закрыл 6 из 8 нс-ок. Одна осталась на реверс, а реверсить я не умею. И один максимальный риск с внедрением бэкдора в код приложения. То бишь риск связаный с CI\CD. И на небольшой срок удалось закрепиться в топ10 на этом сегменте среди 132 активных участников.
Но потом меня от туда сбросили )))
Летом кстати, один из участников чата красного братства, написал мне с предложением присоединиться к команде. На что я конечно же ответил согласием.
Саша, спасибо тебе.
Потом со мной связался капитан, как оказалось знакомый мне человек. Мы поговорили и меня добавили в канал команды, где я познакомился уже с костяком. Ребята активные игроки CTF, но с небольшим опытом участия в стендофф13. Так вот и началось мое приключение.
Знаете, быть частью команды не просто. Наверное потому, что я не очень люблю скопления людей ) Мы тут как одна большая семья. Шутим, тролим друг-друга и порой ругаемся) Поэтому пользуясь случаем, хочу ивиниться:
- Мужики, если кого случайно обидел и мои слова или действия вас задели, знайте. Я не делал этого специально, я каждого уважаю. Я прошу прощения у всех если что не так )))
Так же стало приятно, что с моим приходом и рвением решать полигон, ребята начали играть и прокачиваться. И уже ушли дальше чем я, а некоторые попали в топ исследователей полигона по результатам этого года.
Леша, мои поздравления. Ты реально силачь)))
Саня, мое почтение. Ты конечно машина и я по доброму завидую твоей энергии. Я так точно не смогу. Возраст таки решает)
Минус серт, но плюс одна мечта которая сбылась
В конце лета я стал планировать сертификацию по внутрянке. В прошлый раз я писал что хотел бы закрыть PNPT. Но уже после GOAD и одного сегмента на полигоне, я как-то начал перебирать) Меня интересовал серт который дополнит мои знания и при этом будет что-то значить на рынке. И PNPT вот совсем перестал вписываться(
Из плюсов PNPT для меня:
- Экзамен 5 дней
- Закрытие очета во время общения
Из минусов:
- Он на 30% процентов меньше GOAD
- Стоимость 500 баксов
У читателя может возникнуть вполне здоровый вопрос: - Мужик, ну ты же заработал на пентесте!
Это да, но все заработаное я потратил на детей и львиную долю на стоматолога для супруги) Поэтому на тот момент я уже был пустой. Я начал смотреть цены на серты и выбрал двух кандидатов:
- CRTO от Zero Point
- CRTP от Altered Security
По наполнению материалов, мне конечно хотелось CRTO но закрадывались сомнения по теме уклонения. Так или иначе, а этот серт учитывает наличе средств защиты. Просто летом я погружался в тему и понял, что вне зависимости от техник, так или иначе нужно уметь кодить. Чтоб понимать на что тригерится СЗИ и соответственно вносить изменения в код так, чтоб не ругалось СЗИ и наша программа работала.
Поэтому выбор пал на CRTP, где тема уклонения не поднималась. Стоимость в принципе почти на одном уровне, разве что экзамен 24 часа, что в моих условиях сложно реализовать. Короче начали копить денежки)
В Сентябре выпала возможность которую я ждал все годы. Это участие в Standoff14, который к слову был международным и без участия топовых команд из СНГ. Предложение поступило со стороны Польши. А так как я в ЕС, то в принципе мог участвовать. Я загорелся конечно. Но была сложность. 4 дня мероприятия и мне как-то нужно было освободиться от домашней суеты. Переговорив с супругой, решили вызывать дедушку и бабушку. Это требовало ресурса. Поэтому мой серт ушол в фонд и жена еще накинула сверху. Сделав мне тем самым очень крутой подарок.
Standoff14
Перед тем как описать свой опыт и ощущения, нужна пояснялка. Команда не играла не разу вместе. Не весь состав имел опыт участия в принципе, только несколько человек. У всех имелся опыт игры на полигоне. У кого-то больше, у кого-то меньше. Но в принципе у всех было понимание куда они попадут. Это конечно было нашим преимуществом, так как данный вид состязания в мире не особо известен и многие просто не понимают что это и как это готовить.
У нас не было стратегии и тактики, у нас был хаос!
Мы были так уверены что пойдем через фишинг, что даже не допускали что где-то этот вектор просто не заложен. Мы разбились по 2 человека на сегмент. В первый час все уже сидели с учетками и доступами к почте. И были готовы ломится через фишинг. И тут мы поймали изрядный хук слева.
Я и товарищь не могли попасть через фишинг и сделали это только через 30 часов. Постояно что-то не работало, то боты, то кто-то скликивает наши доки и мы получали шеллы от других участников. Ребята на другом сегменте страдали часов 6, пока не стало известно что вектора вообще нет и им нужно ломится через внешку. А они этого ни когда не делали и это был первый опыт. Короче нормально пошло у ребят на сегменте “Банк”
Я конечно могу долго описывать каждый день, но это не тема статьи. Расскажу лишь о своих успехах и успехе команды в целом.
Я не сдал ничего((( 3 раза я уперался в реализацию НС-ок, и трижды я их не реализовывал. По одному НС мы по сей день не получили ответа и есть ощущение что кто-то из команды соперников просто грохнул цель риск, а именно файлы которые нужно было найти. Да, такое имеет место быть. Сознательно люди после сдачи НС, что-то ломают чтоб затормозить других. Я часто об этом слышал, но вот тут ощутил все на себе. Чего только стоят RDP сессии, которые постоянно висят. И когда тебе нужно куда-то попасть по РДП, ты вынужден ждать или играть в царя горы, выбрасывая соперника из сессии, а потом он меня и так по кругу пока одному не надоест(
Работа поддержки ужастная. Там явно не хватает людей или это делается намеренно. У нас тикеты висели часами. Позже я узнаю, что это всегда так, на любом из мероприятий.
Проходить можно по вектору и нет. Например, когда я все же попал внутрь, то все компы в сетевой доступности были пустые. Мы нашли креды, которые не работали. Только на следующий день, ребята повторно пройдуться по компам и найдут следы в lsass. И только это даст возможность закрыть НС. Почему креды не работали и для чего они, мы так и не узнаем. В общем. как бы там ни было, но команда заняла 5-е место. Одни ребята закрывали НС-ки пачками. Другие несколько штук. Мы с товарищем были аутсайдерами в команде. Да, не приятно признавать, но это так )
После мероприятия состояние было подавленым. Однозначно Standoff расставляет все по местам и показывает кто вы такой. С моим результатом причины расстроиться конечно же были. Были даже мысли закругляться с этой деятельностью вовсе. Потом правда я поставил себе мозги на место. Я мечтал участвовать и я поучаствовал. Мечты стать лидером или победить у меня не было. Так же раскрылись все недостатки, чего не хватает, где прокачаться и тд. Все это хороший опыт о котором я не жалею и хотел бы повторить в будущем, но уже с наигранным составом.
Что снова планы ?
И да и нет! Конечно пришло время собирать камни, это объективно. Прошло 4 года, а я все там же. Я знаю ребят, которые начали в то же время или позже и они уже работают. И 80% из них, уже OSCP-шники. Я же там где был, дома в качестве папы в декрете. Я не хочу в этот раз объясняться почему так как есть, искать причины и оправдания. Рельно нужно отдохнуть и осмыслить все происходящее. Конечно, как и говорил в прошлый раз, я буду пытаться устроиться даже по своей старой специальности. Просто сейчас я не могу даже этого. И как я понял, а я уже наводил справки, сделать это будет тоже не просто. Требования изменились, нужны новые знания чтоб быть конкурентным на рынке. Поэтому я могу смело сказать: - Я завис в декрете!
Я много слышал что так бывает, но не знал как это. Вот теперь я знаю
Мои ошибки
Я ,в течении всего года, отмечал моменты которыми хотел поделиться. Конечно я делюсь не всем, существует много личного чего я тут не напишу, но все это так или иначе влияло на меня. Но так как мы изначально сошлись на том, что это роад-мап по пентесту, то хочу поделиться своими ошибками на ранних этапах, с целью не допущения другими этих самых ошибок.
Почему ошибки а не рекомендации или советы? Я считаю что не достигнув конечной цели, я не в праве рекомендовать или советовать. Но я точно могу поделиться ошибками и возможно кому-то это поможет.
Лабы:
Я так хотел что-то сломать, что изначально качался в этом направлении. Проблема в том, что потом в будущем, мне приходилось откатываться назад для получения базовых знаний. Я настоятельно не рекомендую в первый год вообще лезть к лабам.
Программирование - вам придется много писать, читать код. Если вы не будете обладать навыком, вы просто будете тыкать кавычку там, где ей вообще не место. Это реальность, я вижу такие проблемы у других каждую неделю.
Docker - не изучив тему вначале, мне снова приходилось откатывать назад. Важная штука. Вы часто будете поднимать образы, у вас будет необходимость создавать свои. Короче обязаловка которая точно будет экономить вам время.
JavaScript - пройдите хотя бы базовый курс. Вы будете гулять по коду, часто будете. Быстро ориентироваться в нем важно.
Читать код:
Только когда я столкнуся с этим, я понял как это важно. Не игнорируйте белый ящик. Читайте сниппеты, решайте задачки. Читайте книжки по код ревью
Смотреть\читать гуру:
Ошибкой было то, что я накапливал много мусора. Только потом мне пояснили как определить кто автор такой. Стремитесь читать и общаться с теми, кто реально крут. Это можно узнать просто с помощью соцсетей и тд. Гуглите и все выйдет.
Пусть мозги вскипают:
Для любителей подсказок. Если вам легко, то вы не прокачиваетесь. Все что было выстраданно, осталось со мной. Разбудите меня ночью и я расскажу что и как. Всегда пробуйте решать сами. Если вы в отчаянии и прошла неделя - вторая, то да. Возможно нужно посмотреть райтап или хинт. Бывает так, что вы просто не знаете тему задания. Не всегда в книгах и статьях, а так же курсах, расскрывается все. Бывают тонкости, которые вы изучите только столкнувшись с ними.
Если быть кратким: - Прежде чем что-то ломать, изучите предмет взлома. Технология, протокол и тд. Только когда вы будете понимать как это работает, только тогда вы сможете выстраивать идеи для векторов.
Заключение
Вот собствено и все. Наверное часть читателей, кто за меня болел, расстроится. Другие улыбнуться и что-то пробурчат под нос. Да, это не саксес стори. Но за то эта история реальна, ни где не преувеличена и полностью правдива. Короче это моя история, пусть и без хеппи енда )
Из всех поставленых целей, я не достиг не одной. Но при этом я получил очень хорошую альтернативу. Считаю достойным разменом )
За эти 4 года многое изменилось и я тоже изменился. Я всем благодарен за то, что вы шли со мной все эти годы. Я благодарен людям, которые передают ссылки на мои статьи тем, кто только начинает. Я сам видел в нескольких чатах, как это происходит. И да, по какой-то не известной мне причине, люди в восторге. Капитан моей команды, Миша, говорит что я вроде как зарядил многих 30+ на достижения. Ну я рад что эти посты так повлияли на людей. Иногда мне писали: - Это вот ты?, бросая ссылку на статью. Я говорил что да, это я. В ответ масса восторга. И пару раз меня назвали легендой))) Мне конечно кажется что важность моей персоны слишком завышена, но при любом раскладе я рад что у людей возникают пололжительные эмоции от знакомства.
Спасибо Сергею Попову, что в какой-то момент вашей жизни, вы решили развивать этот ресурс. Он для многих стал домом и отправной точкой в мир информационной безопастности.
Спасибо @Dzen , за то, что постоянно правишь мои граммотические ошибки. Это не просто, я понимаю. Ну троечник я, что взять с троечника))
Спасибо @undefo за твое время. Как бы, я старался не задалбывать тебя и писать всегда по сути, чтоб не отнимать кучу времени.
Спасибо UrfinJuice , я умею пользоваться wireshark и выявлять проблемы если чет куда-то не летит )))
Спасибо Миша за то, что принял в семью. Да и за просто человеческое отнашение. Это сейчас на вес золота)
Всем спасибо и с наступающим Вас всех )))
Последнее редактирование: