Нестандартные сценарии при проведении тестов на проникновение.
Пара не слишком-то и нестандартных случаев из практики. Показательно с точки зрения распространённости таких ошибок.
Спасибо Руслану Сабитову за предоставленную презентацию по аналогичной теме. Иначе было бы сложно сделать её в день доклада =)
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
Ведущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
Выступление Дениса Колегова, посвященное методам защиты веб-приложений, применяемым в межсетевых экранах, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
Approof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Выступление Дениса Колегова, посвященное методам защиты веб-приложений, применяемым в межсетевых экранах, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
Approof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Борьба с вредоносным кодом: от базовых мер к целостной стратегииAleksey Lukatskiy
Описание целостной стратегии борьбы с вредоносным кодом - от начальных шагов и базовых защитных мер к продвинутой версии, включающей множество защитных механизмов
Введение в профессию исследователя приложений без исходных кодовDI GR
Презентация первого подкаста образовательного цикла "Обратная разработка приложений без исходного кода и поиск в них уязвимостей". Аудио-запись находится здесь https://vimeo.com/224742672.
Практические особенности внедрения систем класса DLPDialogueScience
В рамках вебинара "Практические особенности внедрения систем класса DLP" вы узнаете:
- цели и задачи, которые заказчик обычно ставит перед DLP, его ожидания;
- часто допускаемые ошибки;
- цели проекта по внедрению DLP;
- этапы проекта по внедрению DLP;
- описание этапов проекта;
- каких ошибок удается избежать при правильном подходе;
- преимущества и недостатки;
- ответы на вопросы.
Спикер: Роман Ванерке, руководитель отдела технических решений АО «ДиалогНаука»
Практика эксплуатации уязвимостей в прикладных программах solertia
Вводная лекция. О том, что такое эксплойты, как уязвимости в программах используются для распространения вирусов, о черных, белых и серых «шляпах» и о других хакерских темах.
В данной сессии мы подробно рассмотрим архитектурные принципы построения защищённого корпоративного периметра, с разбором решения некоторых частных задач, характерных для периметра: контроль доступа пользователей в сеть Интернет, борьба с целенаправленными (APT) угрозами, защита web и email-трафика, средства объективного контроля сетевых процессов.
Видео: https://www.youtube.com/watch?v=IUtbbN9aevU
Веб-приложения становятся все больше и сложнее, так что многое остается вне нашего поля зрения. Поэтому фреймворки и приложения должны предоставлять дополнительные инструменты, упрощающие разработку и понимание того, что же происходит у них там — «под капотом». В ходе доклада я расскажу о таких инструментах: какими они могут быть, какие задачи решать, что необходимо для их создания.
SPA Meetup, 28 февраля 2015, Москва, Авито
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