Алгоритмы пентестов. BaltCTF 2012bechedНестандартные сценарии при проведении тестов на проникновение.
Пара не слишком-то и нестандартных случаев из практики. Показательно с точки зрения распространённости таких ошибок.
Спасибо Руслану Сабитову за предоставленную презентацию по аналогичной теме. Иначе было бы сложно сделать её в день доклада =)
Blackbox-тестирование веб-приложенийbechedПрезентация с доклада "Секреты чёрного ящика" на RuCTF 2014. Речь идёт о нюансах blackbox-тестирования веб-приложений.
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack DaysВедущие: Денис Колегов и Арсений Реутов
Авторы доклада продемонстрируют, как внедрение клиентских сценариев JavaScript может быть использовано для обнаружения и предотвращения различных атак, поиска уязвимых клиентских компонент, определения утечек данных об инфраструктуре веб-приложений, выявления веб-ботов и инструментальных средств нападения. Поделятся собственными методами обнаружения инъекций при помощи синтаксических анализаторов без сигнатур и фильтрующих регулярных выражений, а также рассмотрят реализацию концепции JavaScript-ловушек на стороне клиента для атак SSRF, IDOR, Command Injection и CSRF.
Кто сказал «WAF»?Positive Development User GroupВыступление Дениса Колегова, посвященное методам защиты веб-приложений, применяемым в межсетевых экранах, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
Подходы к сигнатурному статическому анализуPositive Development User GroupВыступление Ивана Кочуркина, посвященное сигнатурному статическому анализу, на встрече PDUG Picnic 10 августа 2016 года.
Автоматизация построения правил для ApproofPositive Hack DaysApproof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыPositive Development User GroupВыступление Константина Панарина, посвященное анализу бинарного кода, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
Application security? Firewall it!Positive Hack DaysВедущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry EvteevУязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Development User GroupВыступление Катерины Трошиной на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Формальная верификация кода на языке СиPositive Development User GroupВыступление Дениса Ефремова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Development User GroupДоклад Николая Анисени и Сергея Тошина на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Автоматизация построения правил для ApproofPositive Development User GroupВыступление Дениса Ефремова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Трущобы Application SecurityPositive Development User GroupМастер-класс по AppSec Владимира Кочеткова и Дениса Колегова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Введение в тему безопасности веб-приложенийDmitry EvteevКонцепции веб-серверов и веб-приложений
Угрозы и уязвимости веб-приложений
Методики тестирования веб-приложений
Методология атаки на веб-сервер
Подходы к сигнатурному статическому анализуPositive Development User GroupВыступление Ивана Кочуркина, посвященное сигнатурному статическому анализу, на встрече PDUG Picnic 10 августа 2016 года.
Автоматизация построения правил для ApproofPositive Hack DaysApproof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыPositive Development User GroupВыступление Константина Панарина, посвященное анализу бинарного кода, на встрече PDUG Meetup: J'adore hardcore 20 декабря 2016 года.
Application security? Firewall it!Positive Hack DaysВедущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry EvteevУязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Development User GroupВыступление Катерины Трошиной на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Формальная верификация кода на языке СиPositive Development User GroupВыступление Дениса Ефремова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Development User GroupДоклад Николая Анисени и Сергея Тошина на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Автоматизация построения правил для ApproofPositive Development User GroupВыступление Дениса Ефремова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Трущобы Application SecurityPositive Development User GroupМастер-класс по AppSec Владимира Кочеткова и Дениса Колегова на PDUG-треке в рамках форума PHDays VII 24 мая 2017 года.
Введение в тему безопасности веб-приложенийDmitry EvteevКонцепции веб-серверов и веб-приложений
Угрозы и уязвимости веб-приложений
Методики тестирования веб-приложений
Методология атаки на веб-сервер
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandexЛекция Петра Волкова в Школе вебмастеров: «Как защитить свой сайт».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Актуальные типы угроз и динамика их развития
Компрометация сервера и её последствия. Распределённые атаки типа «отказ в обслуживании». Подмена или добавление рекламы на стороне клиента. Атаки, направленные на пользователей. Проблемы, связанные со внешним содержимым.
Управление рисками безопасности веб-сайтов
Разные типы сайтов подвержены разным типам рисков информационной безопасности. Понимание целей и подходов злоумылшенников как ключ к эффективному снижению рисков. Методы монетизации атак на сайты.
Доступный инструментарий и методики для обеспечения безопасности
Открытые инструменты форензики для типовых и сложных проектов. Системы обнаружения вторжений, подходы к проектированию безопасности в архитектуре и процессах.
HighLoad++ 2019: iptables + consul = :3Ivan Agarkov( Russian language inside )
A slides for my HighLoad++ Moscow speech about creating host-based firewall solution with iptables, ipset & consul stack.
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...Mikhail EgorovПрезентация с Highload2017 про эксплуатацию CSRF-уязвимостей в 2017.
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...OnticoHighLoad++ 2017
Зал «Мумбай», 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2900.html
Уязвимости Cross-Site Request Forgery (CSRF) являются "классикой" AppSec и хорошо известны как специалистам по безопасности, так и разработчикам веб-приложений. Сегодня, как правило, при разработке веб-приложений уделяется внимание защите от CSRF-атак, и реализуются механизмы защиты. Также относительно новая технология "SameSite cookie", должна еще больше обезопасить веб-приложения от CSRF. На текущий момент CSRF находится на 8 месте в списке OWASP Top-10, в то время как они находились на 5 месте до 2013 года. Означает ли это, что CSRF-уязвимости стали менее актуальными и "уходят в прошлое"?
...
Безопасность веб-приложений: starter editionAndrew PetukhovПолная версия презентации с двух вебинаров, проведенных для сообщества RISSPA, с целью изложения основ веб-безопасности
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Vadim KruchkovВадим Крючков [Long], руководитель группы разработки, компания Agunga
Считается (в общем случае — вполне справедливо), что писать демонов на PHP — моветон. Использовать для прототипирования интерфейсов взаимодействия — можно, а вот в продакшене ни-ни. Именно с таким представлением мы начинали разработку новой версии игры — проработаем интерфейсы взаимодействия с демоном, который к запуску будет переписан на высокопроизводительном С. Однако, первые тесты демона, написанного на PHP с использованием libevent, заставили нас серьезно задуматься — а нужен ли нам переход на С? Какую производительность нам удалось достичь? Течет ли память? Обо всем этом будет рассказано в докладе. А так же - особенности использования и недокументированные возможности расширения, облегчающие рутинные операции
Hacking as eSportsbechedHacking competitions can be considered eSports that require skills like problem solving, speed, and teamwork. The document analyzes various hacking competitions and ranks them by typical payouts, from traditional eSports games ($92 million) to hacking events like Cyber Grand Challenge ($9 million) and bug bounties ($5 million+). It describes the technical and tactical skills developed in competitions like CTFs (reversing, web hacking), pwning (exploitation), and bug bounties (penetration testing). Overall, these events are a way for hackers to have fun practicing skills that can lead to higher salaries in security jobs.
Find maximum bugs in limited timebechedSome old and new tips, tricks and tools for rapid web application security assessment (black and white box). They are useful in various situtations: pentest with very limited time or huge scope, competition, bugbounty program, etc.
Owasp web application security trendsbechedThis document summarizes recent trends in web application security vulnerabilities. Client-side attacks like XSS remain prominent along with emerging threats involving mobile and cloud technologies. Old vulnerabilities persist in widely used software like PHP and Apache. The growth of IoT and "smart" devices introduces many new insecure products. Overall, new technologies are often released without security testing, while older software houses long-standing flaws. The document concludes that as applications and networks grow more complex, so too will security issues, requiring continued research and vigilance.
Vulnerabilities in data processing levelsbechedThis document summarizes potential vulnerabilities in how different layers of a web application process data. It discusses how each layer - including hardware, operating system, browser, network, web server, framework, application and database - accepts inputs and produces outputs that could be leveraged maliciously if not properly validated. Many real-world examples are provided of how inputs passed between layers can bypass validation checks if the layers' data processing rules are not well understood by developers. The key message is that all variables not explicitly set in code should be considered untrusted.
Пост-эксплуатация веб-приложений в тестах на проникновение
1. Атаки на веб-приложения в тестах на
проникновение
VolgaCTF 2013
Ганиев Омар
Отдел анализа защищенности
2. Curriculum Vitae
― Изучаю ИБ лет 6
― Факультет математики НИУ-ВШЭ
― CTF-команда RDot.Org
― Хакерский отдел «Информзащиты»
― Beched
3. Проникновение
― Цепочка некоторых действий
― Недостаточно одной уязвимости
― Разные пути для достижения цели
― Защищенность определяется слабым звеном
― Black vs white box, внутреннее vs внешнее
4. Кто самое слабое звено?
Персонал
Web-
приложения
Сетевое
оборудование
СУБД
Файловые
хранилища
Прочие
сетевые
сервисы
5. Кто самое слабое звено?
36%
56%
73%
0%
10%
20%
30%
40%
50%
60%
70%
80%
2010 2011 2012
Успешность проведение атак методом
социальной инженерии за последние 3
года
6. Зачем тогда ломать web?
― Больше свободы действий (меньше
согласований), меньше риск провала
― Веб-приложения всюду есть, и они часто
«самописные»
― Зачастую критичные ресурсы напрямую связаны
и с web-приложением
― Более распространённая в жизни модель
взлома
7. Какие проблемы?
― Веб-серверы обычно в DMZ
― Значит, трудно настроить канал связи, и трудно
попасть в другие сегменты
― Низкие привилегии HTTP-демона
― Требуется больше технических навыков
8. Некоторые решения
― При наличии таблицы маршрутизации можно
найти путь для проникновения на
ориентированном графе маршрутов сети
― Поднятие привилегий
(kernel, libraries, backups, suid-binaries, crontab, …)
― Другие пути (см. далее)
9. ― Intranet access via HTTP proxy
― SSRF via LFR
― DNS-spoofing via router
― Intranet access via web socks
― Bind shell via socket reuse
Cases
10. Intranet access via HTTP proxy
― Squid, mod_proxy… По умолчанию всё ok
― server: WebSEAL/6.0.0.0 (Build 051114), wtf?
― IBM Tivoli WebSEAL reverse proxy
― Авторизация не включена
― GET http://some-host.intranet/somepage HTTP/1.1...
― Intranet
11. auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.30.109.249
netmask 255.255.255.0
gateway 172.30.109.254
SSRF via LFR
<? //LFR = Local File Reading
readfile($_GET[‘filename’]);
Из документации PHP:
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
Читаем исходники, конфиги, но RCE не получилось =(
download.php?filename=/etc/network/interfaces
12. SSRF via LFR
Но $filename в мануале PHP – это URL, а не просто путь.
SSRF – Server-Side Request Forgery
(в данном случае имеем простейшую вариацию).
/etc/network/interfaces => IP-адрес и маска =>
сканирование подсети:
download.php?filename=http://172.30.109.1-254:1-65535/
14. SSRF via LFR
Что можно ещѐ сделать?
PHP wrappers:
http://php.net/manual/en/wrappers.php
SSRF bible (cheatsheet by d0znpp):
https://docs.google.com/document/d/1v1TkWZtrhzRLy0bYX
BcdLUedXGb9njTNIJXa3u9akHM
HTTP, FTP, SSH, File Descriptors…
Может привести к исполнению кода.
15. DNS spoofing via router
FTP brute force => admin:admin
Admin
panel
18. DNS spoofing via router
Host forgery => HTTP logs
*.kaspersky.com IN A 31.3.3.7
Apache logs
19. DNS spoofing via router
― Мониторинг посещаемых узлов
― Подмена страниц на фишинговые
― Подмена обновлений ПО (на скриншоте выше
логи обращения KIS)
― PPP-аккаунт у провайдера
20. Intranet access via web socks
― Web-shell (PHP, ASP.NET, …)
― Привилегии поднять не удалось
― DMZ, на NAT открыт только 80 или 443 порты
― Что делать?
― Web Socks!
― Intranet
21. Intranet access via web socks
Some packet => SOCKS => ProxyChains
=> Local daemon => HTTP => Web SOCKS => Target
22. Локально запускаем демон. Инкапсулируем любой протокол
в SOCKS, демон его инкапсулирует в HTTP и передаѐт пакет
PHP-скрипту через веб-сервер.
Скрипт работает по протоколу SOCKS, возвращая ответы по
HTTP, используя веб-сервер, т.е. не нужно биндить порт и
обходить DMZ.
Далее проксифицируем ПО (в т. ч. Nmap, RDP-клиенты) при
помощи proxychains.
$ cat /etc/proxychains.conf | grep socks5
socks5 127.0.0.1 1080
$ proxychains nmap --top-ports 100 10.10.17.0/24
…
Intranet access via web socks
23. Реализации web SOCKS.
На PHP от ShAnKaR (Antichat);
http://forum.antichat.ru/threadnav177147-1-10.html
На ASP.NET (reDuh) от SensePost:
http://research.sensepost.com/tools/web/reduh
Intranet access via web socks
24. Bind shell via socket reuse
― Web-shell (PHP, ASP.NET, …)
― Удалось получить привилегии суперпользователя
― DMZ, на NAT открыт только 80 или 443 порты
― Что делать? Не ронять же веб-сервер!
― Socket reuse!
― Нормальный терминал
25. Bind shell via socket reuse
Приоритет демонов повышается от частного к общему
$ cat /etc/apache2/ports.conf | grep Listen
Listen *:80
$ sudo netstat –apn | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12669/apache2
Socket reuse:
…
setsockopt( sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) );
…
serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); //just example
Может не сработать, например, на SELinux. Зато работает на FreeBSD
Можно просто одним сценарием отключить Apache, запустить демон шелла
и запустить Apache, перехватив первое соединение
(закрываем дескриптор сокета, не закрывая соединение).
Но это риск.
26. Outro
― Во всём виноваты люди
― Людей проще эксплуатировать, но проще и
провалиться
― Веб-приложения эксплуатировать сложнее, но это
происходит незаметно
― Для взлома веб-серверов надо знать скриптовые
языки и структуру ОС
― Для проникновения надо знать структуру сетей и
размышлять в разных плоскостях