👋🏻 Привет!
Вы попали на канал CTF-движения на Физтехе. Здесь мы играем в CTF от имени Физтеха, а также организуем занятия.
Все важные объявления будут здесь! Присоединяйтесь также к чату, чтобы быть в курсе происходящего.
📌 Полезные ссылки:
- Борда с задачами
- Чат сообщества
- Неофициальный канал
Вы попали на канал CTF-движения на Физтехе. Здесь мы играем в CTF от имени Физтеха, а также организуем занятия.
Все важные объявления будут здесь! Присоединяйтесь также к чату, чтобы быть в курсе происходящего.
📌 Полезные ссылки:
- Борда с задачами
- Чат сообщества
- Неофициальный канал
❤5🤮3👍1🔥1🥰1
🚨Первое огранизационное собрание пройдёт уже в эту пятницу, 12 сентября.
📅 Время и место: 17:05 - 18:35, поточная аудитория Цифры (УЛК 1).
💻 Что взять с собой: ничего!
🧑🏻💻Как с максимальной пользой провести время до него:
0) Вступите в чат канала, поскольку часть коммуникации будет вестись там.
1) Почитайте, что вообще такое CTF, например, тут или в любом другом удобном месте.
2) (опционально) Настройте окружение — большим плюсом будет Linux (совсем не обязательно Kali), в котором вы будете комфортно чувствовать себя. Будьте готовы поставить некоторое количество пакетов на будущих занятиях. Если есть время, можно вспомнить основы работы в терминале.
3) Зарегистрируйтесь на борде и попробуйте сдать несколько тасок — например, начните с sanity_check. Если не получится — не расстраивайтесь и всё равно приходите.
💻 Что взять с собой: ничего!
🧑🏻💻Как с максимальной пользой провести время до него:
0) Вступите в чат канала, поскольку часть коммуникации будет вестись там.
1) Почитайте, что вообще такое CTF, например, тут или в любом другом удобном месте.
2) (опционально) Настройте окружение — большим плюсом будет Linux (совсем не обязательно Kali), в котором вы будете комфортно чувствовать себя. Будьте готовы поставить некоторое количество пакетов на будущих занятиях. Если есть время, можно вспомнить основы работы в терминале.
3) Зарегистрируйтесь на борде и попробуйте сдать несколько тасок — например, начните с sanity_check. Если не получится — не расстраивайтесь и всё равно приходите.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🤮5🔥3👍2
🥰 Анонс первого занятия
📌 Категория: web.
📅 Время и место: 18:35 - 20:00, поточная аудитория Арктики, уже в эту пятницу (завтра).
Привет!
Уже завтра будет первое занятие, которое проведёт Антон Митрикас, выпускник КБ РТ'21.
На лекции познакомимся с SQL-инъекциями. Приходите, ждём всех! :)
📌 Категория: web.
Привет!
Уже завтра будет первое занятие, которое проведёт Антон Митрикас, выпускник КБ РТ'21.
На лекции познакомимся с SQL-инъекциями. Приходите, ждём всех! :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4❤2👎1🔥1
Презентация к сегодняшему занятию: https://shorturl.at/AqPff
Потыкать можно тут: http://sql.training.hackerdom.ru
UPD: на нашей борде тоже заспавнились таски: https://ctf.c3po.ru/challenges#sql_inj_level-12
Потыкать можно тут: http://sql.training.hackerdom.ru
UPD: на нашей борде тоже заспавнились таски: https://ctf.c3po.ru/challenges#sql_inj_level-12
🔥3🤔3🕊1
🥰 Анонс занятия
📌 Тема: введение в реверс-инжиниринг (часть 0x00).
📅 Время и место: 18:35 - 20:00, 203 УПМ 🫣, уже в эту пятницу (завтра).
Привет!
Завтра пройдёт занятие по реверс-инжинирингу, которое проведёт преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Планируем рассмотреть основы реверса и PWN, а также осветить представление и хранение данных.
🚨 Пожалуйста, воздержитесь от съемки занятий без явного разрешения. К сожалению, как выяснилось по прошлому занятию, это очевидно не всем. :(
📌 Тема: введение в реверс-инжиниринг (часть 0x00).
📅 Время и место: 18:35 - 20:00, 203 УПМ 🫣, уже в эту пятницу (завтра).
Привет!
Завтра пройдёт занятие по реверс-инжинирингу, которое проведёт преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Планируем рассмотреть основы реверса и PWN, а также осветить представление и хранение данных.
🚨 Пожалуйста, воздержитесь от съемки занятий без явного разрешения. К сожалению, как выяснилось по прошлому занятию, это очевидно не всем. :(
❤6🤯3
🥰 Анонс занятия
📌 Тема: введение в реверс-инжиниринг (часть 0x01).
📅 Время и место: 18:35 - 20:00, 432 ГК, уже в эту пятницу (завтра).
Привет!
Завтра пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Планируется взглянуть на архитектуру и ассемблер ARM, а также затронуть crackme и keygen.
📌 Тема: введение в реверс-инжиниринг (часть 0x01).
📅 Время и место: 18:35 - 20:00, 432 ГК, уже в эту пятницу (завтра).
Привет!
Завтра пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Планируется взглянуть на архитектуру и ассемблер ARM, а также затронуть crackme и keygen.
🌭8👀1
🥰 Анонс занятия
📌 Тема: введение в реверс-инжиниринг (часть 0x02).
📅 Время и место: 18:35 - 20:00, 801 КПМ, в ближайшую пятницу (10.10).
Привет!
В пятницу пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт всё тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных(внезапно) . Планируется потрогать arm и aarch64, а также заняться написанием keygen & crackme. Ждём вас. :)
👀 Напоминаем, что у канала есть чатик, где мы совместно собираемся что-нибудь порешать почти каждые выходные — тык.
📌 Тема: введение в реверс-инжиниринг (часть 0x02).
📅 Время и место: 18:35 - 20:00, 801 КПМ, в ближайшую пятницу (10.10).
Привет!
В пятницу пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт всё тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных
👀 Напоминаем, что у канала есть чатик, где мы совместно собираемся что-нибудь порешать почти каждые выходные — тык.
🥰3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
PWN FAQ
"Кто такой этот ваш PWN?"
Это эксплуатация бинарных уязвимостей. Т. е. уязвимостей, возникающих в результате так называемого undefined behavior в компилируемых языках вроде C/С++. Суть задач на эту тему - превратить undefined behavior программы в нечто полезное и получить некое преимущество.
"Что из себя представляют таски?"
Чаще всего в этих тасках можно встретить следующие вводные:
1. Вместе с таской выдаются файлы (архив) со всем необходимым для изучения уязвимой программы. Там могу быть скомпилированный файл с программой, её исходный код, всё необходимое для локально разворачивания окружения для работы таски (Dockerfile, docker-compose-yml), etc.
2. К таске приложена информация о подключении в духе
"Что нужно сделать?"
Это полностью зависит от самой таски. Если где-то в логике уязвимой программы есть функционал печати флага, то нужно как-то сделать так, чтобы он отработал и выдал флаг. Если в логике программы никаких таких специальных мест нет, то нужно узнать, где на сервере хранится флаг (изучив выданные к таске файлы) и придумать, как его прочитать. Чаще всего флаг хранится на файловой системе, к которой у атакующего доступа нет. В таком случае решение таски заключается в том, чтобы этот доступ получить: например, как-то заставить уязвимую программу прочитать файл с флагом и напечатать его или же вовсе заставить программу запустить шелл (
"Как это ломать?"
Из выше описанного следует, что для решения задачи необходимо изучить программу, найти уязвимость и придумать, как её проэксплуатировать на удалённом сервере, где хранится флаг.
В этом могут помочь различные инструменты для различных подзадач:
1. Чтение исходного кода глазами (если исходный код программы приложен к таске). См. C/C++
2. Реверс-инжиниринг программы без исходного кода (когда исходного кода нет). Для этого рекомендуется использовать декомпиляторы, которые способны в том или ином виде восстановить языковое представление программы. См. ghidra + IDA
3. Динамический анализ программы с помощью отладчика. Иногда заглянуть в память работающей программы гораздо проще, чем исполнять код в голове при чтении сорсов. См. gdb + pwndbg
4. Для автоматизации эксплуатации уязвимостей, в т.ч. на удалённом сервере, нужны языки программирования и библиотеки. Наиболее популярным инструментом для этого является библиотека питона pwntools. См. python3 + pwntools
5. Ну и в любой непонятной ситуации можно закинуть все файлы таски в LLM и спросить, что с этим делать. Скорее всего успех гарантирован, но при таком подходе может потеряться один из главных плюсов CTF: эффективное практическое обучение.
"Где можно этому научиться?"
Вероятно PWN одна из категорий CTF с самым большим порогом вхождения, потому что для начала решения задач в ней хорошо бы минимально знать языки C/C++, какую-нибудь компьютерную архитектуру и понимать основы работы ОС. Всё это можно освоить на базовых CS предметах в вузе, например. Но в принципе можно пойти по другому пути и начать добывать эти знания, решая таски, начиная с самых простых. В этом могут помочь лекции SPbCTF и лекции MEPhI CTF
"Я не понимаю, как сделать таску..."
Это нормально и случается примерно всегда, независимо от того, как долго и много человек решает CTFы. Смысл не в том, что уметь решать таску, как только её увидел, а в том, чтобы уметь исследовать выданную автором таски шарманку и придумывать способы её поломать. Если совсем худо будет с нашими тасками, можно смело задавать вопросы в лс авторам. По PWNу можно писать @s41nt0l3xus.
flag{g0_pwn_th3m_4ll}
"Кто такой этот ваш PWN?"
Это эксплуатация бинарных уязвимостей. Т. е. уязвимостей, возникающих в результате так называемого undefined behavior в компилируемых языках вроде C/С++. Суть задач на эту тему - превратить undefined behavior программы в нечто полезное и получить некое преимущество.
"Что из себя представляют таски?"
Чаще всего в этих тасках можно встретить следующие вводные:
1. Вместе с таской выдаются файлы (архив) со всем необходимым для изучения уязвимой программы. Там могу быть скомпилированный файл с программой, её исходный код, всё необходимое для локально разворачивания окружения для работы таски (Dockerfile, docker-compose-yml), etc.
2. К таске приложена информация о подключении в духе
nc <task_IP> <task_PORT>
nc - утилита linux для сетевого взаимодействия по TCP/UDP прямо из терминала. В контексте таски это означает, что где-то на удалённом сервере (task_IP) на каком-то порту (task_PORT) работает уязвимая программа. Т.е. для решения таски необходимо проэксплуатировать уязвимость именно в программе на удалённом сервере, где после успешной эксплуатации можно как-то извлечь флаг."Что нужно сделать?"
Это полностью зависит от самой таски. Если где-то в логике уязвимой программы есть функционал печати флага, то нужно как-то сделать так, чтобы он отработал и выдал флаг. Если в логике программы никаких таких специальных мест нет, то нужно узнать, где на сервере хранится флаг (изучив выданные к таске файлы) и придумать, как его прочитать. Чаще всего флаг хранится на файловой системе, к которой у атакующего доступа нет. В таком случае решение таски заключается в том, чтобы этот доступ получить: например, как-то заставить уязвимую программу прочитать файл с флагом и напечатать его или же вовсе заставить программу запустить шелл (
sh) - программу, которая позволит исполнять терминальные команды на сервере (в т.ч. такими командами можно прочитать флаг)."Как это ломать?"
Из выше описанного следует, что для решения задачи необходимо изучить программу, найти уязвимость и придумать, как её проэксплуатировать на удалённом сервере, где хранится флаг.
В этом могут помочь различные инструменты для различных подзадач:
1. Чтение исходного кода глазами (если исходный код программы приложен к таске). См. C/C++
2. Реверс-инжиниринг программы без исходного кода (когда исходного кода нет). Для этого рекомендуется использовать декомпиляторы, которые способны в том или ином виде восстановить языковое представление программы. См. ghidra + IDA
3. Динамический анализ программы с помощью отладчика. Иногда заглянуть в память работающей программы гораздо проще, чем исполнять код в голове при чтении сорсов. См. gdb + pwndbg
4. Для автоматизации эксплуатации уязвимостей, в т.ч. на удалённом сервере, нужны языки программирования и библиотеки. Наиболее популярным инструментом для этого является библиотека питона pwntools. См. python3 + pwntools
5. Ну и в любой непонятной ситуации можно закинуть все файлы таски в LLM и спросить, что с этим делать. Скорее всего успех гарантирован, но при таком подходе может потеряться один из главных плюсов CTF: эффективное практическое обучение.
"Где можно этому научиться?"
Вероятно PWN одна из категорий CTF с самым большим порогом вхождения, потому что для начала решения задач в ней хорошо бы минимально знать языки C/C++, какую-нибудь компьютерную архитектуру и понимать основы работы ОС. Всё это можно освоить на базовых CS предметах в вузе, например. Но в принципе можно пойти по другому пути и начать добывать эти знания, решая таски, начиная с самых простых. В этом могут помочь лекции SPbCTF и лекции MEPhI CTF
"Я не понимаю, как сделать таску..."
Это нормально и случается примерно всегда, независимо от того, как долго и много человек решает CTFы. Смысл не в том, что уметь решать таску, как только её увидел, а в том, чтобы уметь исследовать выданную автором таски шарманку и придумывать способы её поломать. Если совсем худо будет с нашими тасками, можно смело задавать вопросы в лс авторам. По PWNу можно писать @s41nt0l3xus.
❤6🤩1
🥰 Классический анонс занятия по четвергам
📌 Тема: введение в реверс-инжиниринг (часть 0x03).
📅 Время и место: 18:35 - 20:00, 801 КПМ (аудитория изменилась!), в ближайшую пятницу (17.10).
Привет!
Завтра пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт всё тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Будет реверс Loongson... 😵💫
Ждём всех!
👀 А на этих выходных совместно решаем Hack.lu CTF — присоединяйтесь.
📌 Тема: введение в реверс-инжиниринг (часть 0x03).
📅 Время и место: 18:35 - 20:00, 801 КПМ (аудитория изменилась!), в ближайшую пятницу (17.10).
Привет!
Завтра пройдёт ещë одно занятие по реверс-инжинирингу, которое проведёт всё тот же преподаватель кафедры информатики МФТИ Дмитрий Артурович Подлесных. Будет реверс Loongson... 😵💫
Ждём всех!
👀 А на этих выходных совместно решаем Hack.lu CTF — присоединяйтесь.
🥰1👀1
🥰 Yet another анонс занятия
📌 Тема: введение в реверс-инжиниринг (часть 0x04).
📅 Время и место: 18:35 - 20:00, 801 КПМ, в ближайшую пятницу (31.10).
Привет!
Без лишних слов, в пятницу пройдёт ещë одно занятие по реверс-инжинирингу. Планируется заняться групповым реверсом x86. Приходите...
👀 Напоминаем, что у канала есть чатик, где мы совместно собираемся что-нибудь порешать/разобрать почти каждые выходные — тык.
📌 Тема: введение в реверс-инжиниринг (часть 0x04).
📅 Время и место: 18:35 - 20:00, 801 КПМ, в ближайшую пятницу (31.10).
Привет!
Без лишних слов, в пятницу пройдёт ещë одно занятие по реверс-инжинирингу. Планируется заняться групповым реверсом x86. Приходите...
👀 Напоминаем, что у канала есть чатик, где мы совместно собираемся что-нибудь порешать/разобрать почти каждые выходные — тык.
⚡2👀1