Эксперименты сумасшедшего – Telegram
Эксперименты сумасшедшего
749 subscribers
80 photos
1 video
65 links
"No, the loli must stay."
Download Telegram
Media is too big
VIEW IN TELEGRAM
Седьмой выпуск подкаста про кибербез образование 🎶

В этот раз поговорили с Владимиром Николаевым, инженером отдела эксплуатация систем кибербезопасности в Positive Technologies.

Владимир в 22 года, будучи студентом четвертого курса, решил глубже погрузиться в кибербез и начал самостоятельно изучать разные направления. Первое время он никак не мог устроиться на работу и только коллекционировал отказы. Сейчас он работает в Positive Technologies и преподает в МТУСИ 👨‍🏫

👉 Подкаст доступен на Яндекс.Музыке , видео на RuTube и VK.

Таймкоды:
00:22 - О своей деятельности.
5:56 - Путь в кибербезопасность через ROM хакинг.
9:20 - Ожидания от университета.
10:28 - Про платное обучение в вузе.
13:34 - Физика в вузе и поиск первой работы, стажировка в Positive Technologies.
18:30 - Базовые знания и собеседования.
19:25 - Идея создания факультатива в вузе и обучение на старших курсах.
22:50 - Очередная попытка пройти собеседование.
27:48 - Три оффера одновременно и путь в Positive Technologies.
32:34 - Создание образовательной программы по кибербезу в вузе.
40:43 - Как правильно относиться к университету?
44:34 - Что вдохновляет преподавать?
48:41 - Про выбор темы для новой лекции.
54:34 - Как начать преподавать?
01:02:48 - Пожелания студентам первого курса.

Дополнительно: выступление Владимира на Standoff101 и выступление на PHDays 2 👷

#подкаст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥187❤‍🔥3👾1
Очередной M*CTF позади, а это значит... что можно подвести итоги

Если говорить касательно M*CTF, то было проведено 4 основных ивента:
- M*CTF 2024 Junior Quals
- M*CTF 2024 Quals
- M*CTF 2024 Junior Finals
- M*CTF 2024 Finals

Общий итог по всем ивентам?
- Мы не справились 🙂

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

Были и хорошие моменты, которые на самом деле я больше скидываю на "удачу", мы очень хорошо провели школьную часть ивентов, но не без своих косяков.

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

В этом году я провел на самом деле куда больше CTF ивентов... нежели чем просто M*CTF... были как ивенты в RU регионе, так и в EU, но самым важным всегда был и оставался M*CTF Finals, и мне очень грустно, что именно в этом году, он получится таким каким получился.

Ну чтож... все технические проебы я напишу в "Реквием по M*CTF 2024" или как это модно сейчас называть "ретро"

Наверное, самое главное, что я получил очень много вещей которые нужно будет дорабатывать в течение года, думаю можно будет еще разочек попробовать 🥳

Ну и давайте, чтобы этот пост нес какую-то пользу, я приложу довольно интересное чтиво... одного из разработчиков M*CTF 2021, тогда ребята тоже попали не в самую простую ситуацию.

Как-то так...
Please open Telegram to view this post
VIEW IN TELEGRAM
124😢4
Конец этого года... был довольно насыщенный на самые разные события... повторю фразу написанную в прошлом году "местами даже хорошо... что он подходит к концу."
Ну и многословным быть тоже не хочется... в этом году подводим итоги так:

- Спасибо всем, кто читает и интересуется всем, что тут происходит, я думаю у нас с вами много крутого впереди 💖
- Я думаю все будет круто 😻
- С наступающим вас, будьте умничками :3 🕺

Ну и давайте под завершение года все же запульну... тот самый обещанный "реквием"

🟠Реквием по MCTF 2024 Finals
Please open Telegram to view this post
VIEW IN TELEGRAM
22🎄6👎1
Рубрика "интересные факты"

Сидел я тут как-то с одной задачкой сбора всех снепшотов ВМок с конкретных датасторов на vSphere
Собрал довольно нехитрый ps скритец, который под капотом юзает модуль VMware PowerCLI.

Вот его часть:
      $datastore = Read-Host `n"Enter datastore (Example: DATASTORE-01)"
Get-Datastore -Name $datastore | Get-VM | Get-Snapshot |
Select VM,
Name,
@{Name="Creator"; Expression = { ($_.Denoscription | Select-String -Pattern "SnapshotCreator: (.*)").Matches[0].Groups[1].Value -replace "XXXX" }},
@{Name="Size_snapshot (GB)";Expression={"{0:N2}" -f ($_.SizeGB)}},
Created,
@{Name="Days Old";Expression={(New-TimeSpan -End (Get-Date) -Start $_.Created).Days }},
@{Name="Datastore";Expression={Get-Datastore -Id($_.vm).datastoreidlist}} | Sort-Object -Property SizeGB -Descending | Export-Excel -Path "C:\tmp\Snapshots_$($datastore).xlsx" -TableName "Snapshots" -TableStyle "Medium27" -AutoSize


И заметил такую странную вещь... значения в столбце SizeGB иногда довольно сильно разнятся с тем, что я вижу в UI vSphere, а иногда и совсем это значение равняется - 0

Начал копать... и как выяснилось Get-Snapshot и веб морда сферы ссылаются на разные значения.
Одно возвращает явный размер VMDK файлов которые лежат внутри датастора, а другой размер так называемых delta дисков.

🌟 вот даже маленький топик на эту тему 🌟

Вот такие пироги... 🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4😱4❤‍🔥1👍1
Ненавижу, но люблю 🤯

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

Все делал довольно базово, коннект у меня шел по winrm к доменному хосту по порту 5985:
ansible_connection: winrm
ansible_winrm_transport: ntlm

Казалось бы что тут может пойти не так, а вот что:
[WARNING]: Failed to cleanup running WinRM command, resources might still be in use on the target server
...'Connection aborted.', error(104, 'Connection reset by peer')

Хм... окей, пошли смотреть в winrm.py, что это за warning интересный... обнаруживается вот это:
        except requests.exceptions.Timeout as exc:
raise AnsibleConnectionFailure('winrm connection error: %s' % to_native(exc))
finally:
if command_id:
# Due to a bug in how pywinrm works with message encryption we
# ignore a 400 error which can occur when a task timeout is
# set and the code tries to clean up the command. This happens
# as the cleanup msg is sent over a new socket but still uses
# the already encrypted payload bound to the other socket
# causing the server to reply with 400 Bad Request.
try:
self.protocol.cleanup_command(self.shell_id, command_id)
except WinRMTransportError as e:
if e.code != 400:
raise

display.warning("Failed to cleanup running WinRM command, resources might still be in use on the target server")


Ладно подумал я... возможно проблема в транспорте и типе подключения, давай поменяет на CredSSP
ansible_connection: psrp
ansible_winrm_transport: credssp

И тут такая же история... но уже с другой ошибкой, которая так же тянется из winrm.py:
  msg: 'Unexpected failure during module execution: Received a WSManFault message. (Code: 995, Machine: xxxxx, Reason: The I/O operation has been aborted because of either a thread exit or an application request.)'
stdout: ''

Думаю надо еще потыкаться и попробовать удалить пакетик не через модуль win_package, а напрямую через shell модуль, спойлер, наткнулся я на такие же ошибки, но обнаружил любопытный моментик:
[WARNING]: Failure cleaning temp path 'C:\Users\Administrator\AppData\Local\Temp\ansible-moduletmp-XXXXXXXXXXXXXXXXXXXXX': Win32Exception NtSetInformationFile() failed 0x00000001: Incorrect function
changed: [XXXXXXXXXX] => changed=true
...
...
rc: 0
reboot_required: false

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

ВСЕ, с этим ничего не сделаешь, так работает winrm

Какие остались варианты...
1) Обработка ошибки - обрабатывать конкретную ошибку не стал... ибо увидел, что у неё есть определенная вариативность и страшно представить, сколько я еще потенциальных проблем из-за транспорта мог не поймать
2) ignore_errors: true - ну это совсем плохой вариант
3) block / rescue - а вот это то что нужно, по сути после ошибки мы производим повторное выполнение таски и восстанавливаем winrm подключение

Вот такие пироги...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯10😱7👍3😁2🔥1
Ну чтож... видимо не суждено мне обойти PHD стороной...
В этом году меняю доклады на воркшопы, аж на 2... и примерно в одном временном промежутке 😊

Поэтому если кому интересно, рад буду с вами повидаться! 👋

Сперва вы меня сможете найти тут
🪟 Воркшоп: Автоматизация настройки источников SIEM с помощью Ansible
📔 Описание: Воркшоп предоставит участникам практические навыки по автоматизации настройки источников MaxPatrol 10 с помощью Ansible — этот инструмент существенно упростит повседневную работу и повысит эффективность управления системами безопасности.

🌎 Местоположение: Зал 14 «Маркони»
💬 Дата && Время: 24 мая, 10:30 - 12:00
📎 Ссылочка на регистрацию 📎

А потом я пулей побегу на второй воркшоп, где меня попросили помочь и рассказывать вам про платформу GoPhish

🪟 Воркшоп: Создание антифишинговой кампании
📔 Описание: В ходе мастер-класса мы разберем на составные части процесс подготовки сотрудников к выявлению фишинговых атак, научимся разбираться в видах фишинга, попрактикуемся в составлении тестовой атаки для контроля готовности сотрудников и обсудим методы повышения мотивации сотрудников.

🌎 Местоположение: Зал 13 «Гальвани»
💬 Дата && Время: 24 мая, 10:00 - 13:30 (именно я буду в промежутке ~12:15 - 13:30)
📎 Ссылочка на регистрацию 📎
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥11👍3❤‍🔥1💯1
Вот и PHD прошел… что там по статистике:

- 0 посещенных докладов
- 2 прекрасных воркшопа
- Куча приятных встреч и диалогов с прекрасными людьми
- 74588 шагов
- Великолепное завершение PHD в кругу моих любимых ребяток
- 1 проклятый DNS сервер

Всем огромное спасибо с кем успел повидаться и вместе потрогать траву, это было круто! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
44🔥15👍12
Сидим мы значит... и думаем, а как нам создать структуру DC... та не простую, а наполненную всякими OUшками, пользаками, группами... и всяким - всяким, да чтоб еще "prod-like"

По ощущениям... нужно сидеть и кодить на пшелле, но если честно эта задачка из разряда "западло" (даже с учетом LLM) 😂
В итоге я пошел копаться на гите и нашел вот такую красоту:
- https://github.com/BOAScripts/Set-DummyAD

Ну и отдельное спасибо моему коллеге, который поделился еще вот таким "чудом":
- https://github.com/davidprowe/BadBlood

Теперь остается только переписать списки... на слитые "Anonymous France" древнерусских православных юзеров 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥8😁3
Мне кажется я этим точно должен поделится...

Сидел я тут и искал хорошенький плейлист на M*CTF и наткнулся на этот шедевр 😈
- https://www.youtube.com/@AllHackingCons/videos

Тип собрал чуть ли не все "хакерские" форумы / конфы и закину все в один огромный плейлист на ютубчике.
Но на самом деле у него много чего интересного есть еще -> https://infocon.org/
Please open Telegram to view this post
VIEW IN TELEGRAM
18❤‍🔥6🔥5👍1
Знаете... работа с PTLabом научила меня очень интересной мысли.

Я никогда не могу предсказать где и что у меня отстрельнет и сколько времени мне потребуется чтобы это вернуть к жизни, и так... гипотеза:
"Если у нас упадёт X — сможем ли мы вовремя увидеть Y и за какое Z мы это исправим?"


Тогда мне в голову пришла очень интересная концепция... а что если объединить Chaos Engineering, Grafana, Alert Manager.
В качестве эксперимента... я решил взять своего покемона (без её согласия)... которая замучалась решать различные поломки... что я плодил ей на различных серверах MaxPatrol 10... это и стало так называемым объектом хаоса.

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

Я не просто "отключал сервер" - я моделировал реальные отказы компонентов MPX с помощью Ansible, было 2 роли с переключалками (true / false) внутри:
ybei_menya_maxpatrol.yml
- Останавливает агента
- Блокирует сетевой доступ к базе событий
- Удаляет конфигурационные файлы парсинга логов
- Имитирует переполнение диска
- Убивает службы на Core сервере в хаотичном порядке
- Создание X процессов на хосте, что забивает ОЗУ / ЦПУ

res_pls_maxpatrol.yml
- Восстанавливает сервисы
- Восстанавливает сетевые доступы к базе событий
- Перезапускает агент
- Проверяет целостность БД
- Подчищает то чем наспамил на хосте
- Убивает X процессы на хосте, ранее созданные для DDoSа

Архитектура была примерно такой:
[Ansible Server]  

↓ (запускает ybei_menya_maxpatrol.yml)
[MaxPatrol 10: Collector (true), DB (false), ...] → ломается

↓ (метрики в Prometheus, логи в Loki)
[Grafana] → срабатывает алерт → уведомление в Telegram

↓ (если реакции нет > 1 часа)
[Ansible Server] → запускает res_pls_maxpatrol.yml


[MaxPatrol 10] → восстановлен → Grafana показывает возврат к норме

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

В целом это и было целью... на "искусственных" примерах поднять экспертизу по траблшутинга продукта, кажется это было весело 💖
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓12😁9🔥6😱41
Forwarded from Мишка на сервере (Mikhail Savin)
Подумай перед тем, как задавать вопрос

Привет, %username%! Достаточно давно коллега (Никита, привет) закинул одну простую, но редкую мысль: редко кто говорит не просто о том, что "тупых вопросов не бывает", а о том, как вообще стоит задавать вопросы.

Подумаешь, мелочь – но ведь большая часть коммуникации уже давно ушла в чаты, и на этом поле царят две фракции:

1. Зайчики – уверены, что стоит просто спросить «почему не запускается приложение», и им сразу прилетит точный ответ.
2. Ёжики – считают, что если вопрос неидеальный, можно спокойно отправить вопрошающего "в гугл" и гордо поправить корону эксперта.

И вот парадокс – они оба правы. Да, серьезно. Только с разных сторон.

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

В итоге диалог не рождается – вместо обмена смыслами мы получаем пинг-понг усталости.

А что если попробовать по-другому?

Статья HBR "The Art of Asking Smarter Questions" говорит очень простую, но сильную вещь: хорошие вопросы – это такие, которые помогают думать, а не просто получать ответ. Сама сила вопроса не в поиске решения, а в расширении угла обзора.

Вот несколько приемов, над которыми стоит подумать:

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

Такой формат не делает вопрос "умным" – он делает тебя вовлеченным в поиск истины.

На этом уровне и зайчики перестают быть наивными, и ёжики – колючими. Потому что разговор становится о сути, а не об эго.

Так что давай честно: думать перед тем, как задать вопрос – не снобизм, а уважение к своему времени и времени других.

А ты как считаешь – вопрос должен быть идеальным, чтобы его задать, или достаточно просто проявить интерес и немного подумать?

#мысливслух #заметкинаполях #мягкиенавыки
❤‍🔥187👍2🌭1
Ну что сказать... кажется можно подвести итоги этого года...

Декабрь выдался... каким-то безумным на события, та и в целом как и весь год.
Мы провели M*CTF и знаете... провели его... во многом выше всех своих ожиданий, это было здорово, надеюсь это не был наш пик, в следующем году... сделаем еще круче 😁

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

А касательно... каких-то личных итогов, многое было...

- Приглашение в IBM / RHEL
- Личное знакомство с ДеХаном и ряда очень и очень крутых экспертов
- Мой любимый PTLab и надеюсь новая фаза его развития
- Автоматизация источников
- Закончился проект который было очень сложно отпускать
- Началось что-то действительно очень крутое и новое

Короче... давайте уже по традиции этого канала:
"местами даже хорошо... что он подходит к концу."


- Спасибо всем, кто читает и интересуется всем, что тут происходит, я думаю у нас с вами много крутого впереди 💖
- Я думаю все будет круто 😻
- С наступающим вас, будьте умничками :3 🕺
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄3217❤‍🔥10