/mipt-ctf

A small course on CTF (wargames) for beginners [in Russian]

Primary LanguagePythonCreative Commons Attribution 4.0 InternationalCC-BY-4.0

CTF на Физтехе

Курс по подготовке к соревнованиям по компьютерной безопасности формата CTF. Занятия проходили в МФТИ в 2014-2015 и 2015-2016 учебных годах.

Каждое занятие состоит из небольшой лекции и практики в виде решения задачек на определенную тему. Для некоторых занятий доступны скринкасты, для некоторые есть лишь ссылки на материалы.

Группа ВКонтакте.

Прошедшие занятия

28 октября. Компьютерная безопасность. Что такое CTF. Attack-defence, jeopardy (task-based). УК РФ. Командная оболочка bash. Полезные команды и утилиты.

11 ноября. Язык программирования Python. Основы синсаксиса. Некоторые полезные модули.

18 ноября. Менеджер пакетов Pip. Функция eval. Как выбраться из sandbox'а в Python с помощью эксплуатации функции eval.

25 ноября. Кодировки. ASCII, ANSI Code Pages, Unicode, UTF-8/16/32. Base64. Классические шифры. Шифр Цезаря. Шифр простой замены. Частотный анализ. Шифр Вижинера. Индекс совпадений. Одноразовый блокнот. Современные симметричные шифры. DES, 3DES, AES.

2 декабря. Асимметричные шифры. Протокол Диффи-Хеллмана. RSA. Электронная цифровая подпись. Сертификат открытого ключа. Как работает HTTPS.

24 февраля. Криптографические хеш-функции (MD5, SHA-1, SHA-2, SHA-3, bcrypt). Обзор реализации MD5. Length extension attack. Как хранить пароли пользователей. Как ломать хеши. John the Ripper, hashcat.

2 марта. Стеганография. Основные понятия. Least Significant Bit (LSB). Контейнеры: текст, изображения, аудио, видео. Стегоанализ.

9 марта. Модель OSI. Стек TCP/IP. Протоколы IP, TCP, UDP. netcat, nmap, netstat, ping. Основы HTTP. Методы, заголовки, cookies, авторизация. Session hijacking attack. HTML. curl, wget, lynx, tcpdump. Python requests. Browser development tools. Полезные плагины для браузеров.

16 марта. Различные типы веб уязвимостей. OWASP Top 10. Injections: SQL, Command, Log. RFI, LFI. XSS, CSRF. Full path disclosure. .git, .svn. .hg. .htaccess, .htpasswd. Malicious file upload. robots.txt, sitemap.xml. Bug bounty.

23 марта. SQL инъекции. Error-based. Blind (content-based, time-based). Union-based. Stacked queries. Поиск. Защита. Web Application Firewall. Cheat Sheets. sqlmap.

30 марта, 6, 13, 20 апреля. Серия занятий по ассемблеру.

27 апреля. Reverse engineering. Ассемблеры. Форматы бинарных файлов. ELF. Утилиты: file, strings, readelf, objdump, nm, ldd. Дизассемблеры: objdump, IDA Pro, Hopper, radare2, ODA. Декомпиляторы: Hex-Rays, Hopper. Дебаггеры: strace, ltrace, gdb, qira. Hex редакторы: ghex, hexdump, xxd.

4 мая. Бинарные уязвимости. Buffer-overflow: shellcodes, return-to-libc. Format-string-vulnerability: arbitrary read, arbitrary write, overwriting GOT. Дебаг эксплоитов с помощью gdb.

11 мая. Различные средства защиты бинарников. ASLR, PIE, stack canary, RELRO, DEP (NX), FORTIFY_SOURCE. Как и когда можно их обойти. Утилита checksec. Return-Oriented Programming.

Wargames

http://overthewire.org/wargames/

https://www.root-me.org/en/Challenges/

http://canyouhack.it/

http://pwnable.kr/play.php

https://exploit-exercises.com/

https://pentesterlab.com/exercises/

https://www.vulnhub.com/

https://ctf365.com

http://smashthestack.org/wargames.html

Links

https://github.com/s1gh/ctf-literature

https://github.com/zardus/ctf-tools

https://github.com/apsdehal/awesome-ctf

http://kmb.ufoctf.ru/

https://trailofbits.github.io/ctf/index.html

https://delimitry.blogspot.ru/2014/10/useful-tools-for-ctf.html

https://github.com/pwning/docs