Курс по подготовке к соревнованиям по компьютерной безопасности формата 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.
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
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