SlideShare a Scribd company logo
Хакерский мини-ликбез
Омар Ганиев
DagCTF 2015
Махачкала
Кто я?
• Beched (ahack.ru, @ahack_ru)
• Эксперт в IncSecurity (анализ
защищённости)
• Участник независимого сообщества и CTF-
команды RDot.Org
• Alma Mater – матфак НИУ-ВШЭ
Профессии
• В Информационной Безопасности много
различных персонажей, областей,
специализаций
• Поговорим о некоторых из них и о том,
какую пользу для их представителей может
сыграть CTF
Классификация
• Black hat vs White hat
• Консультант (например, пентестер) vs
внутренний безопасник (админ, CISO,
security-разработчик)
• Attack vs Defence
• Application security vs Infrastructure security
Для кого CTF?
• В целом для всех
• Task-based CTF главным образом
прокачивает скиллы в application security
• В attack-defence CTF больше тактики,
специфичного инструментария и
системного администрирования
Но зачем?
• Интересный способ быстро прокачивать
определённые знания и умения
• Развитие «олимпиадной» смекалки, умения
быстро разбираться с незнакомой задачей
• Хороший пункт в резюме. При наличии
успехов, конечно =)
Мотивация
• В столь спортивном регионе
соревновательный дух может быть
хорошим стимулом =)
• Рынок ИБ приходит вслед за рынком ИТ,
можно быть в числе пионеров
• В целом в стране в ИБ есть нехватка кадров
(как «хакерских», так и «админских»)
Применение
• Навыки, полученные в CTF, хорошо
конвертируются в различных прикладных
областях
• Например, в пентестах (тестировании на
проникновение) обычно нужно проверить
систему (сеть, сайт и т.д.) за довольно короткое
время
• На CTF вы занимаетесь примерно тем же
самым, только время очень короткое, что учит,
помимо стандартных вещей, работать и думать
быстрее, а также придумывать нестандартные
решения
Применение
• То же самое касается анализа защищённости
приложений
• Надо отметить, что CTF-соревнования
высочайшего уровне в основном смещены в
сторону именно анализа приложений, причём,
как правило, без исходных текстов
• Категорию задач на взлом скомпилированных
приложений обычно называют Pwn или
Exploiting
• Категорию задач на взлом веб-приложений
называют Web
Применение
• В пвне полезны навыки реверс-
инижиниринга (реверс, reverse-engineering)
• Сами по себе эти навыки тоже востребованы,
преимущественно антивирусными
компаниями
• Malware-аналитики разбирают алгоритмы
работы вирусов для разработки алгоритмов
их детектирования
Применение
• Помимо собственно взлома, в CTF часто
бывают задачи на программирование
(категория PPC, professional programming and
coding)
• В этой категории нужно автоматизировать
какой-то процесс, ловко используя готовые
библиотеки, а также используя знания
алгоритмов
Применение
• Категория Forensics учит расследованиям и
криминалистике
• Вам нужно разбирать образы дисков и
дампы трафика в поисках ключей, паролей,
следов каких-то действий
• В России этот рынок есть уже несколько лет
и пользуется спросом, поскольку
квалификация сотрудников МВД крайне
низкая
Применение
• В российских студенческих CTF также иногда
бывает категория Admin, где нужно настроить
или исправить какой-то сетевой сервис
• Админские навыки также хорошо растут в
Attack-defence CTF, где нужно защищать свою
инфраструктуру от других команд
• Есть даже отдельная олимпиада для
сисадминов – Ya.Root. Её организовывала
сильная CTF-команда HackerDom из
Екатеринбурга
Tips’n’tricks
• Теперь к делу
• Рассмотрим некоторые приёмы и инструменты,
которые помогут вам
• Предполагается, что у вас есть базовые навыки
программирования (почти все юзают Python), вы
можете поставить виртуалку с линуксом, если у
вас не линукс, и вы понимаете по-английски
• Ну и, конечно, самое главное – это умение
гуглить и желание обучаться
• Если это не про вас, скорее научитесь, это
несложно =)
Tips’n’tricks [OS]
• Для большинства хакеров обязательно иметь
под рукой и уметь использовать Linux-
дистрибутив
• Есть хакерские дистрибутивы, напичканные
различными утилитами для анализа
защищённости. Самый известный – KALI Linux
• Надо научиться шустро взаимодействовать с
командной строкой, в этом могут помочь man
(документация) и небольшие wargame’ы с
задачами по bash-скриптингу. Такой есть на
overthewire
Tips’n’tricks [Web]
• Для анализа веб-приложений нужен, очевидно,
браузер
• Обязательно пригодятся инструменты
разработчика и JavaScript-консоль, встроенные в
браузер. Это нужно для просмотра
используемых ресурсов, отладки client-side кода
сайта и мониторинга сетевой активности
• Главный современный инструмент веб-хакера –
это Burp Suite. Это локальный прокси-сервер и
целый набор различных утилит, и сканеров
уязвимостей
Tips’n’tricks [Web]
• Иногда могут помочь хорошие
автоматические сканеры, такие как Acunetix
WVS, но не стоит ими злоупотреблять
• Они избавляют от некоторой рутины, но
могут помешать научиться понимать суть
уязвимостей, к тому же могут навредить
приложению (что будет актуально, когда вы
будете анализировать реальные сайты
заказчиков)
Tips’n’tricks [Web]
• Изучите известные типы атак и
уязвимостей: SQL-injection, XSS, RCE, …
• Изучите PHP и специфичные для PHP
уязвимости (это один из самых дырявых
языков)
• Научитесь устанавливать и настраивать стек
LAMP (Linux+Apache+MySQL+PHP),
экспериментируйте у себя с различными
уязвимыми приложениями
Tips’n’tricks [Web]
• Разбирайте опубликованные уязвимости и
CTF write-up’ы (это касается всех категорий)
• Решайте задачи с http://ringzer0team.com/,
http://ahack.ru/contest/ и других варгеймов
• Качайте исходники малоизвестных CMS
(http://php.opensourcecms.com/) и ищите
там уязвимости. Чем больше, тем лучше. Это
то, чем занимаются аудиторы кода на
работе. Заодно найдёте 0day в реальном
продукте и сможете хвастаться =)
Tips’n’tricks [Web]
• Участвуйте в BugBounty (например,
https://hackerone.com/), там вы можете
легально ломать различные компании и
получать за найденные уязвимости
• Читайте книги: «The Tangled Web», «The Web
Application Hacker’s Handbook», «OWASP
Testing Guide»
Tips’n’tricks [Pwn]
• Учите Си и Ассемблер. Учитесь отлаживать,
дизассемблировать, декомпилировать.
Словом, реверсить
• Опять-таки, разбирайте публикации,
читайте код, пробуйте у себя
• Инструменты: gdb, peda, objdump, IDA, …
• Варгеймы: http://overthewire.org/,
http://io.smashthestack.org/, http://exploit-
exercises.com/, http://pwning.kr/
Tips’n’tricks [Pwn]
• Книги: «Хакинг. Искусство эксплойта», «The
Shellcoder’s Handbook»
• Есть BugBounty и для пвнеров. Обычно это
рынок 0day, где один эксплойт может
стоить несколько миллионов рублей
Tips’n’tricks [Forensic]
• Изучайте сетевые протоколы, модель OSI,
научитесь пользоваться tcpdump и
WireShark
• Изучите особенности операционных и
файловых систем (NTFS, ext, FAT, …)
• Освойте инструменты volatility framework и
foremost
Tips’n’tricks [Forensic]
• Попробуйте снять дамп сетевого трафика во
время проведения какой-нибудь атаки или
простого сёрфинга. Посмотрите, что можно
понять по дампу
• Попробуйте снять дамп памяти виртуальной
машины с запущенным приложением и найти
при помощи этих инструментов какие-то важные
данные в памяти
• Попробуйте снять образ диска и
проанализировать его, найти удалённые файлы,
криптоконтейнеры, бекдоры
Tips’n’tricks [Reverse]
• Учите Си, Ассемблер, освойте IDA,
(Olly|Win)Dbg, научитесь отлаживать
приложения и понимать чужой код
• Изучите архитектуру ЭВМ, способ
представления различных типовых данных в
памяти, компьютерную арифметику
• Освойте инструменты SAT-солвинга (Microsoft
z3)
Tips’n’tricks [Reverse]
• Изучите технологии обфускации, упаковки,
виртуализации и изучите различные
архитектуры, процессоры и диалекты asm
• Решайте крякмисы
• Будьте усидчивы, реверсить иногда
приходится долго =)
Tips’n’tricks [Crypto]
• Научитесь атаковать простейшие классические
шифры (подстановки, Цезаря, Виженера),
ребусы, XOR-шифры
• Изучите основы теории чисел, дискретной
математики и абстрактной алгебры
• Освойте пакеты SageMath, Wolfram
Mathematica
• Научитесь атаковать более современные
криптоалгоритмы: RSA, блочные шифры (DES,
AES)
Tips’n’tricks [Crypto]
• Пройдите курс Cryptography на MOOC Coursera
• Учитесь аккуратно читать код (на цтфах это в
основном Python) и извлекать из него
понимание того, какой алгоритм нужно
использовать
• Чаще всего на цтфах используют известные
алгоритмы и атаки. Если получится нагуглить
по ключевым признакам этот алгоритм,
решение может оказаться в Википедии
Tips’n’tricks [PPC]
• Изучите Python и различные библиотеки для
обработки текстов, изображений, различных
форматов файлов
• Изучите основы алгоритмов и структур
данных, алгоритмы на графах (DFS, BFS,
Dijkstra, A*)
• Много практикуйтесь. Если интересны
алгоритмические олимпиадные задачи, го на
https://codeforces.com/
Tips’n’tricks [Admin]
• Настраивайте всё, что только можно встретить
в инфраструктуре
• Винда, линукс, веб-серверы, FTP, DNS, почта,
кластеры, СУБД, виртуальные машины,
сетевое оборудование
• В Attack-defence цтфах часто нужны грязные
защитные хаки вроде NAT’инга трафика,
простейшей фильтрации a la IDS/IPS
Заключение
• В заключение ничего нового не скажешь
• TRAIN HARD
• Google, Twitter, blogs, RDot, CTF, write-ups,
documentation, coding, testing, research
• Надеюсь, узнали и запомнили что-то полезное
• Обязательно вступайте в группу
https://vk.com/dagctf
Спасибо за внимание!
admin@ahack.ru
beched@incsecurity.ru

More Related Content

What's hot (20)

CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидах
Sergey Belov
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
Positive Development User Group
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
SQALab
 
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
 
Кто сказал «WAF»?
Кто сказал «WAF»?Кто сказал «WAF»?
Кто сказал «WAF»?
Positive Development User Group
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
Positive Hack Days
 
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
Anton Shapin
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!
Positive Hack Days
 
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процессCodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest
 
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
SQALab
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Mikhail Egorov
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
Positive Development User Group
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
Positive Development User Group
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
yaevents
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
Sergey Belov
 
Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)
Ontico
 
Трущобы Application Security
Трущобы Application SecurityТрущобы Application Security
Трущобы Application Security
Positive Development User Group
 
CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидах
Sergey Belov
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
Positive Development User Group
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
SQALab
 
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
Positive Hack Days
 
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
Anton Shapin
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!
Positive Hack Days
 
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процессCodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest
 
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
SQALab
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Mikhail Egorov
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
Positive Development User Group
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
Positive Development User Group
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
yaevents
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
Sergey Belov
 
Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)
Ontico
 

Similar to [DagCTF 2015] Hacking motivation (20)

Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы
Alex Chistyakov
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
Alexey Kachalin
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
Vlad Styran
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
lugnsk
 
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегииБорьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Aleksey Lukatskiy
 
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
beched
 
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияОмар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
KazHackStan
 
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Expolink
 
Введение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодовВведение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодов
DI GR
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
DialogueScience
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
Dmitry Evteev
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
Kristina Pomozova
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
defcon_kz
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах
solertia
 
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Alexey Kachalin
 
Архитектура защищенного периметра
Архитектура защищенного периметраАрхитектура защищенного периметра
Архитектура защищенного периметра
Cisco Russia
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
Roman Dvornov
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
Dmitry Evteev
 
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APTАрефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Expolink
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
DialogueScience
 
Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы
Alex Chistyakov
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
Alexey Kachalin
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
Vlad Styran
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
lugnsk
 
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегииБорьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Aleksey Lukatskiy
 
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
beched
 
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияОмар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
KazHackStan
 
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Expolink
 
Введение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодовВведение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодов
DI GR
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
DialogueScience
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
Dmitry Evteev
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
Kristina Pomozova
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
defcon_kz
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах
solertia
 
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Alexey Kachalin
 
Архитектура защищенного периметра
Архитектура защищенного периметраАрхитектура защищенного периметра
Архитектура защищенного периметра
Cisco Russia
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
Roman Dvornov
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
Dmitry Evteev
 
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APTАрефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Expolink
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
DialogueScience
 

[DagCTF 2015] Hacking motivation

  • 2. Кто я? • Beched (ahack.ru, @ahack_ru) • Эксперт в IncSecurity (анализ защищённости) • Участник независимого сообщества и CTF- команды RDot.Org • Alma Mater – матфак НИУ-ВШЭ
  • 3. Профессии • В Информационной Безопасности много различных персонажей, областей, специализаций • Поговорим о некоторых из них и о том, какую пользу для их представителей может сыграть CTF
  • 4. Классификация • Black hat vs White hat • Консультант (например, пентестер) vs внутренний безопасник (админ, CISO, security-разработчик) • Attack vs Defence • Application security vs Infrastructure security
  • 5. Для кого CTF? • В целом для всех • Task-based CTF главным образом прокачивает скиллы в application security • В attack-defence CTF больше тактики, специфичного инструментария и системного администрирования
  • 6. Но зачем? • Интересный способ быстро прокачивать определённые знания и умения • Развитие «олимпиадной» смекалки, умения быстро разбираться с незнакомой задачей • Хороший пункт в резюме. При наличии успехов, конечно =)
  • 7. Мотивация • В столь спортивном регионе соревновательный дух может быть хорошим стимулом =) • Рынок ИБ приходит вслед за рынком ИТ, можно быть в числе пионеров • В целом в стране в ИБ есть нехватка кадров (как «хакерских», так и «админских»)
  • 8. Применение • Навыки, полученные в CTF, хорошо конвертируются в различных прикладных областях • Например, в пентестах (тестировании на проникновение) обычно нужно проверить систему (сеть, сайт и т.д.) за довольно короткое время • На CTF вы занимаетесь примерно тем же самым, только время очень короткое, что учит, помимо стандартных вещей, работать и думать быстрее, а также придумывать нестандартные решения
  • 9. Применение • То же самое касается анализа защищённости приложений • Надо отметить, что CTF-соревнования высочайшего уровне в основном смещены в сторону именно анализа приложений, причём, как правило, без исходных текстов • Категорию задач на взлом скомпилированных приложений обычно называют Pwn или Exploiting • Категорию задач на взлом веб-приложений называют Web
  • 10. Применение • В пвне полезны навыки реверс- инижиниринга (реверс, reverse-engineering) • Сами по себе эти навыки тоже востребованы, преимущественно антивирусными компаниями • Malware-аналитики разбирают алгоритмы работы вирусов для разработки алгоритмов их детектирования
  • 11. Применение • Помимо собственно взлома, в CTF часто бывают задачи на программирование (категория PPC, professional programming and coding) • В этой категории нужно автоматизировать какой-то процесс, ловко используя готовые библиотеки, а также используя знания алгоритмов
  • 12. Применение • Категория Forensics учит расследованиям и криминалистике • Вам нужно разбирать образы дисков и дампы трафика в поисках ключей, паролей, следов каких-то действий • В России этот рынок есть уже несколько лет и пользуется спросом, поскольку квалификация сотрудников МВД крайне низкая
  • 13. Применение • В российских студенческих CTF также иногда бывает категория Admin, где нужно настроить или исправить какой-то сетевой сервис • Админские навыки также хорошо растут в Attack-defence CTF, где нужно защищать свою инфраструктуру от других команд • Есть даже отдельная олимпиада для сисадминов – Ya.Root. Её организовывала сильная CTF-команда HackerDom из Екатеринбурга
  • 14. Tips’n’tricks • Теперь к делу • Рассмотрим некоторые приёмы и инструменты, которые помогут вам • Предполагается, что у вас есть базовые навыки программирования (почти все юзают Python), вы можете поставить виртуалку с линуксом, если у вас не линукс, и вы понимаете по-английски • Ну и, конечно, самое главное – это умение гуглить и желание обучаться • Если это не про вас, скорее научитесь, это несложно =)
  • 15. Tips’n’tricks [OS] • Для большинства хакеров обязательно иметь под рукой и уметь использовать Linux- дистрибутив • Есть хакерские дистрибутивы, напичканные различными утилитами для анализа защищённости. Самый известный – KALI Linux • Надо научиться шустро взаимодействовать с командной строкой, в этом могут помочь man (документация) и небольшие wargame’ы с задачами по bash-скриптингу. Такой есть на overthewire
  • 16. Tips’n’tricks [Web] • Для анализа веб-приложений нужен, очевидно, браузер • Обязательно пригодятся инструменты разработчика и JavaScript-консоль, встроенные в браузер. Это нужно для просмотра используемых ресурсов, отладки client-side кода сайта и мониторинга сетевой активности • Главный современный инструмент веб-хакера – это Burp Suite. Это локальный прокси-сервер и целый набор различных утилит, и сканеров уязвимостей
  • 17. Tips’n’tricks [Web] • Иногда могут помочь хорошие автоматические сканеры, такие как Acunetix WVS, но не стоит ими злоупотреблять • Они избавляют от некоторой рутины, но могут помешать научиться понимать суть уязвимостей, к тому же могут навредить приложению (что будет актуально, когда вы будете анализировать реальные сайты заказчиков)
  • 18. Tips’n’tricks [Web] • Изучите известные типы атак и уязвимостей: SQL-injection, XSS, RCE, … • Изучите PHP и специфичные для PHP уязвимости (это один из самых дырявых языков) • Научитесь устанавливать и настраивать стек LAMP (Linux+Apache+MySQL+PHP), экспериментируйте у себя с различными уязвимыми приложениями
  • 19. Tips’n’tricks [Web] • Разбирайте опубликованные уязвимости и CTF write-up’ы (это касается всех категорий) • Решайте задачи с http://ringzer0team.com/, http://ahack.ru/contest/ и других варгеймов • Качайте исходники малоизвестных CMS (http://php.opensourcecms.com/) и ищите там уязвимости. Чем больше, тем лучше. Это то, чем занимаются аудиторы кода на работе. Заодно найдёте 0day в реальном продукте и сможете хвастаться =)
  • 20. Tips’n’tricks [Web] • Участвуйте в BugBounty (например, https://hackerone.com/), там вы можете легально ломать различные компании и получать за найденные уязвимости • Читайте книги: «The Tangled Web», «The Web Application Hacker’s Handbook», «OWASP Testing Guide»
  • 21. Tips’n’tricks [Pwn] • Учите Си и Ассемблер. Учитесь отлаживать, дизассемблировать, декомпилировать. Словом, реверсить • Опять-таки, разбирайте публикации, читайте код, пробуйте у себя • Инструменты: gdb, peda, objdump, IDA, … • Варгеймы: http://overthewire.org/, http://io.smashthestack.org/, http://exploit- exercises.com/, http://pwning.kr/
  • 22. Tips’n’tricks [Pwn] • Книги: «Хакинг. Искусство эксплойта», «The Shellcoder’s Handbook» • Есть BugBounty и для пвнеров. Обычно это рынок 0day, где один эксплойт может стоить несколько миллионов рублей
  • 23. Tips’n’tricks [Forensic] • Изучайте сетевые протоколы, модель OSI, научитесь пользоваться tcpdump и WireShark • Изучите особенности операционных и файловых систем (NTFS, ext, FAT, …) • Освойте инструменты volatility framework и foremost
  • 24. Tips’n’tricks [Forensic] • Попробуйте снять дамп сетевого трафика во время проведения какой-нибудь атаки или простого сёрфинга. Посмотрите, что можно понять по дампу • Попробуйте снять дамп памяти виртуальной машины с запущенным приложением и найти при помощи этих инструментов какие-то важные данные в памяти • Попробуйте снять образ диска и проанализировать его, найти удалённые файлы, криптоконтейнеры, бекдоры
  • 25. Tips’n’tricks [Reverse] • Учите Си, Ассемблер, освойте IDA, (Olly|Win)Dbg, научитесь отлаживать приложения и понимать чужой код • Изучите архитектуру ЭВМ, способ представления различных типовых данных в памяти, компьютерную арифметику • Освойте инструменты SAT-солвинга (Microsoft z3)
  • 26. Tips’n’tricks [Reverse] • Изучите технологии обфускации, упаковки, виртуализации и изучите различные архитектуры, процессоры и диалекты asm • Решайте крякмисы • Будьте усидчивы, реверсить иногда приходится долго =)
  • 27. Tips’n’tricks [Crypto] • Научитесь атаковать простейшие классические шифры (подстановки, Цезаря, Виженера), ребусы, XOR-шифры • Изучите основы теории чисел, дискретной математики и абстрактной алгебры • Освойте пакеты SageMath, Wolfram Mathematica • Научитесь атаковать более современные криптоалгоритмы: RSA, блочные шифры (DES, AES)
  • 28. Tips’n’tricks [Crypto] • Пройдите курс Cryptography на MOOC Coursera • Учитесь аккуратно читать код (на цтфах это в основном Python) и извлекать из него понимание того, какой алгоритм нужно использовать • Чаще всего на цтфах используют известные алгоритмы и атаки. Если получится нагуглить по ключевым признакам этот алгоритм, решение может оказаться в Википедии
  • 29. Tips’n’tricks [PPC] • Изучите Python и различные библиотеки для обработки текстов, изображений, различных форматов файлов • Изучите основы алгоритмов и структур данных, алгоритмы на графах (DFS, BFS, Dijkstra, A*) • Много практикуйтесь. Если интересны алгоритмические олимпиадные задачи, го на https://codeforces.com/
  • 30. Tips’n’tricks [Admin] • Настраивайте всё, что только можно встретить в инфраструктуре • Винда, линукс, веб-серверы, FTP, DNS, почта, кластеры, СУБД, виртуальные машины, сетевое оборудование • В Attack-defence цтфах часто нужны грязные защитные хаки вроде NAT’инга трафика, простейшей фильтрации a la IDS/IPS
  • 31. Заключение • В заключение ничего нового не скажешь • TRAIN HARD • Google, Twitter, blogs, RDot, CTF, write-ups, documentation, coding, testing, research • Надеюсь, узнали и запомнили что-то полезное • Обязательно вступайте в группу https://vk.com/dagctf