SlideShare uma empresa Scribd logo
1 de 32
Хакерский мини-ликбез
Омар Ганиев
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

Mais conteúdo relacionado

Mais procurados

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
Автоматизация построения правил для ApproofPositive Hack Days
 
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and seleniumAnton 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 domxssyaevents
 
очир абушинов
очир абушиновочир абушинов
очир абушиновAlexei Lupan
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийSergey Belov
 
Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)Web Application Firewalls / Иван Новиков (ONsec)
Web Application Firewalls / Иван Новиков (ONsec)Ontico
 

Mais procurados (20)

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

Semelhante a [DagCTF 2015] Hacking motivation

Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы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 на .NETlugnsk
 
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегииБорьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегииAleksey Lukatskiy
 
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithmsbeched
 
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияОмар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияKazHackStan
 
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Expolink
 
Введение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодовВведение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодовDI GR
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPDialogueScience
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системDmitry Evteev
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)defcon_kz
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Kristina Pomozova
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах solertia
 
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Alexey Kachalin
 
Архитектура защищенного периметра
Архитектура защищенного периметраАрхитектура защищенного периметра
Архитектура защищенного периметраCisco Russia
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструментыRoman Dvornov
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...Dmitry Evteev
 
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APTАрефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APTExpolink
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPDialogueScience
 

Semelhante a [DagCTF 2015] Hacking motivation (20)

Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
 
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегииБорьба с вредоносным кодом: от базовых мер к целостной стратегии
Борьба с вредоносным кодом: от базовых мер к целостной стратегии
 
Attacks against machine learning algorithms
Attacks against machine learning algorithmsAttacks against machine learning algorithms
Attacks against machine learning algorithms
 
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обученияОмар Ганиев (Россия). Обзор атак на модели машинного обучения
Омар Ганиев (Россия). Обзор атак на модели машинного обучения
 
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
Microsoft. Никита Трубецкой. "Облачные сервисы – головная боль для служб безо...
 
Введение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодовВведение в профессию исследователя приложений без исходных кодов
Введение в профессию исследователя приложений без исходных кодов
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах
 
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
Анализ ИБ и расследование инцидентов ИБ (учебный семинар)
 
Архитектура защищенного периметра
Архитектура защищенного периметраАрхитектура защищенного периметра
Архитектура защищенного периметра
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
 
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APTАрефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
Арефьев Андрей (InfoWatch) - Шахматный дебют в борьбе с APT
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
 

[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