Райтапы по CTF{2025}
2.84K subscribers
215 photos
25 videos
87 files
393 links
☺️ Уютное сообщество для публикации райтапов с разных CTF соревнований и платформ

💬 Наш ламповый чатик: @writeup_chat

✍️ По любому вопросу можно писать мне: @freenameruuuu

Таски решать тут: @writeup_ctf_bot
Download Telegram
Bitlocker-1. PicoCTF 2025 Writeup от @Max_RSC

Неожиданный интерес со стороны аудитории вдохновил меня и побудил быстрее взяться за дело. Итак, задачка Bitlocker-1 с PicoCTF 2025, категория forensics, уровень сложности medium.

Нам предоставлен диск bitlocker-1.dd, зашифрованный с использованием BitLocker. Наша цель — взломать хеш пароля BitLocker, получить доступ к диску и извлечь содержащиеся на нем данные.

Первым шагом мы извлекаем хеш пароля с помощью утилиты bitlocker2john:

bitlocker2john -i bitlocker-1.dd > bitlocker.hash


Теперь запускаем инструмент для взлома хешей. Я использовал Hashcat, но также можно было воспользоваться John the Ripper:

john --wordlist=rockyoulight.txt bitlocker.hash


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

hashcat -m 22100 -a 0 bitlocker.hash rockyoulight.txt


После некоторого времени работы Hashcat успешно находит пароль:

$bitlocker$0$16$cb4809fe9628471a411f8380e0f668db$1048576$12$d04d9c58eed6da010a000000$60$68156e51e53f0a01c076a32ba2b2999afffce8530fbe5d84b4c19ac71f6c79375b87d40c2d871ed2b7b5559d71ba31b6779c6f41412fd6869442d66d:jacqueline


Как можно заметить, пароль соответствует имени пользователя (Jacky), значит, мы на верном пути.

Теперь мы можем открыть зашифрованный диск с помощью инструмента cryptsetup:

sudo cryptsetup bitlkOpen bitlocker-1.dd windows


Также можно воспользоваться инструментом dislocker — здесь кому как больше нравится.

Открываем диск и сразу же находим флаг.

#picoctf2025 #forensics
193
flags are stepic. PicoCTF 2025 Writeup от @Max_RSC

Продолжаем серию разборов задач по форензике с PicoCTF 2025. Рассмотрим задачку flags are stepic уровня сложности medium.

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

Запускаем инстанс и переходим на сайт. Сначала мне показалось, что здесь что-то вроде Navy Signals Code — необходимо составить флаг из флагов стран. Однако всё оказалось гораздо интереснее.

Подсказка "In the country that doesn't exist, the flag persists" намекает на то, что флаг нужно искать в несуществующей стране. Такую страну можно быстро найти — это Upanzi Network. Скачиваем флаг этой "страны" на свой компьютер:

wget http://standard-pizzas.picoctf.net:61688/flags/upz.png


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

Итак, что нужно делать? Название задачки решило всё: flags are stepic. Немного погуглив, я нашел man-страницу стегоутилиты stepic:

# stepic (1)           - Python image steganography


Думаю, идея ясна. Осталось разобраться с синтаксисом, который оказался довольно простым:

stepic -d -i upz.png -o output.jpg


Таким образом, вторая часть задачки – это стеганография. Стеганография как часть форензики.

Дальше всё банально:

strings -n 8 output.jpg | grep -i pico


Получаем флаг.

#picoctf2025 #forensics
9👍7
task.zip
653.5 KB
Event-Viewing. PicoCTF 2025 Writeup от @Max_RSC

Продолжаем серию разборов задач по форензике с PicoCTF 2025. Рассмотрим задачку Event-Viewing уровня сложности medium.

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

Мы знаем, что флаг будет закодирован в base64. Давайте запустим парсер, который выведет все события в удобочитаемом формате, а затем просто отфильтруем вывод с помощью команды grep. Парсер, который я использую для таких задач, я прикрепил к посту. Главное, чтобы парсер и файл Windows_Logs.evtx находились в одной директории.

В условии сказано, что флаг состоит из трех частей. Первую часть найти проще всего, ведь мы знаем, что флаг начинается с picoCTF, что в base64 выглядит как cGljb0NURn.

Запускаем команду:

python3.12 evtx_parser.py | grep cGljb0NURn 


И вот она, первая часть флага: cGljb0NURntFdjNudF92aTN3djNyXw==

Теперь, зная, что base64-строки часто заканчиваются на '==', давайте выведем все строки с двумя знаками '==' подряд. Выполняем команду:

python3.12 evtx_parser.py | grep '==' 


И находим вторую часть флага: MXNfYV9wcjN0dHlfdXMzZnVsXw==

С третьей частью флага могут возникнуть проблемы, ведь она не обязательно будет заканчиваться на '==', потому что на PicoCTF флаги уникальны для каждой команды. Здесь есть несколько вариантов. Если с фантазией все в порядке, то можно догадаться, что третья часть флага начинается со слова "tool". Или можно просто поискать по последнему символу флага, то есть по '}'. В base64 слово "tool" (вернее "t00l") будет выглядеть как dDAwb.

python3.12 evtx_parser.py | grep dDAwb


В результате мы быстро находим последнюю часть флага: dDAwbF8zZjJhMWI0Y30K=

#picoctf2025 #forensics
11