Нашёл в интернете гайд по полезным фичам Developers Tools для разных браузеров, которые могут пригодиться пентестерам: http://www.getmantra.com/web-app-security-testing-with-browsers/. Еnjoy.
safetyscience.info
Web app security testing with browsers
A guide on using browser dev-tools for performing web app pentesting
На Zer0Con 2018 (zer0con.org) @singi21a из Theori рассказал о технике sandbox bypass в WebKit через ipc с WindowServer в macOS. Материалы и примеры кода можно найти тут: https://github.com/theori-io/zer0con2018_singi.
Атаки на GPU IPC становятся классикой в области обхода браузерных песочниц. В том году на той же конференции был похожий, но закрытый доклад от lokihardt.
Атаки на GPU IPC становятся классикой в области обхода браузерных песочниц. В том году на той же конференции был похожий, но закрытый доклад от lokihardt.
GitHub
theori-io/zer0con2018_singi
Contribute to theori-io/zer0con2018_singi development by creating an account on GitHub.
Brian Pak из Theori сделал зубодробительный доклад об эксплуатации out of bounds уязвимостей в V8.
В нем есть и описание структур Partition Alloc (дефолтного аллокатора в Blink), и концепция r/w примитивов через freeListHeader и fake DataView, а также разбор реального примера их использования. Ну и на сладкое там есть сниппеты использования pwn.js (https://github.com/theori-io/pwnjs), который поможет сделать ROP (я уже писал об этой библиотеке ранее), если ему дать r/w примитивы.
Материалы тут: https://github.com/theori-io/zer0con2018_bpak?files=1.
В моем рейтинге это лучший доклад на Zer0Con 2018.
В нем есть и описание структур Partition Alloc (дефолтного аллокатора в Blink), и концепция r/w примитивов через freeListHeader и fake DataView, а также разбор реального примера их использования. Ну и на сладкое там есть сниппеты использования pwn.js (https://github.com/theori-io/pwnjs), который поможет сделать ROP (я уже писал об этой библиотеке ранее), если ему дать r/w примитивы.
Материалы тут: https://github.com/theori-io/zer0con2018_bpak?files=1.
В моем рейтинге это лучший доклад на Zer0Con 2018.
GitHub
GitHub - theori-io/pwnjs: A Javascript library for browser exploitation
A Javascript library for browser exploitation. Contribute to theori-io/pwnjs development by creating an account on GitHub.
Интересный out of bounds read / write примитв в V8 Genesis::InitializeGlobal https://bugs.chromium.org/p/project-zero/issues/detail?id=1501.
И да, если кому-то интересна судьба фикса бага с примитивом stack-to-heap copy (https://bugs.chromium.org/p/project-zero/issues/detail?id=1420) в Chakra JIT, о котором я писал ранее, то Lokihardt нашел 2 обхода фикса: https://bugs.chromium.org/p/project-zero/issues/detail?id=1502 и https://bugs.chromium.org/p/project-zero/issues/detail?id=1503.
Все, кто интересуется обходом Arbitary Code Guard (aka ACG) и Code Integrity Guard (CIG) в MS Edge и Windows 10, должны изучить презентацию c CanSecWest'а 2018: https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxiaW5nc3Vuc2VjfGd4Ojc0YWZlOGNlMzg0YjYzMGY. На слайдах есть также ссылки на методы обхода CFG, которые были представлены на разных конференциях в 2017 =)
Не секрет, что расширения для браузера могут быть источником uXSS уязвимостей. Travis Ormandy нашёл забавный баг в расширении Video Downloader Professional, у которого почти 4 млн. пользователей: https://bugs.chromium.org/p/project-zero/issues/detail?id=1555
Для справки, uXSS - браузерная уязвимость, которая даёт атакующему возможность выполнить на сайте произвольный JavaScript в контексте любого (ну или почти любого) чужого origin’а.
Для справки, uXSS - браузерная уязвимость, которая даёт атакующему возможность выполнить на сайте произвольный JavaScript в контексте любого (ну или почти любого) чужого origin’а.
Safari не перестает удивлять! Недавно закрыли выполнение произвольного кода с помощью функции возвращения квадратного корня (sqrt).
https://www.zerodayinitiative.com/advisories/ZDI-18-278/
https://www.zerodayinitiative.com/advisories/ZDI-18-278/
Zerodayinitiative
thezdi
Natalie Silvanovich из P0 нашла интересную проблему в WebAssembly парсере WebKit. Дело в том, что парсер некорректно валидировал порядок секций бинарника, что приводило к переполнениям и type confusion багам. Детали тут: https://bugs.chromium.org/p/project-zero/issues/detail?id=1522.
Давно не писал сюда, решил возобновить процесс и встряхнуть канал.
И начну я с отличной новости!
Вчера Google анонсировал кампанию по отказу от inline установок расширений со сторонних сайтов. С 12 июня все новые расширения, которые добавляются в Chrome Web Store установить со стороннего сайта уже будет нельзя (chrome.webstore.install будет редиректить в стор), а с 12 сентября уже все инлайн установки будут вести себя аналогично. До конца года метод планируют удалить из Сhromium API. Подробности, как обычно, тут: https://blog.chromium.org/2018/06/improving-extension-transparency-for.html
И начну я с отличной новости!
Вчера Google анонсировал кампанию по отказу от inline установок расширений со сторонних сайтов. С 12 июня все новые расширения, которые добавляются в Chrome Web Store установить со стороннего сайта уже будет нельзя (chrome.webstore.install будет редиректить в стор), а с 12 сентября уже все инлайн установки будут вести себя аналогично. До конца года метод планируют удалить из Сhromium API. Подробности, как обычно, тут: https://blog.chromium.org/2018/06/improving-extension-transparency-for.html
Chromium Blog
Improving extension transparency for users
We strive to ensure choice and transparency for all Chrome users as they browse the web. Part of this choice is the ability to use the hund...
Интересная PoC-заготовка, которая демонстрирует RCE в WebContent (CVE-2018-4233) для Safari под iOS 11.3.1 https://github.com/phoenhex/files/tree/master/exploits/ios-11.3.1)
GitHub
files/exploits/ios-11.3.1 at master · phoenhex/files
Contribute to phoenhex/files development by creating an account on GitHub.
И на сладкое, прикольный материал про внутреннее устройство JavaScript-движков: https://mathiasbynens.be/notes/shapes-ics.
А вот и демонстрация CVE-2018-6148:
https://blog.bentkowski.info/2018/06/setting-arbitrary-request-headers-in.html
https://blog.bentkowski.info/2018/06/setting-arbitrary-request-headers-in.html
blog.bentkowski.info
Setting arbitrary request headers in Chromium via CRLF injection
In this short note I'll describe a bug I found in Chrome recently. It allowed to set arbitrary headers in cross-domain requests. @insertScri...
В сети появился материал про брауезреные cors-атаки через медиа-контент.
Концепция называется WaveTrough, детали тут: https://jakearchibald.com/2018/i-discovered-a-browser-bug/
Под FF автор атаки смог вытащить content-length: https://bugzilla.mozilla.org/show_bug.cgi?id=1441153#c4
Под Edge уже получилось вытащить само содержимое другого origin'а (CVE-2018-8235).
Концепция называется WaveTrough, детали тут: https://jakearchibald.com/2018/i-discovered-a-browser-bug/
Под FF автор атаки смог вытащить content-length: https://bugzilla.mozilla.org/show_bug.cgi?id=1441153#c4
Под Edge уже получилось вытащить само содержимое другого origin'а (CVE-2018-8235).
Jakearchibald
I discovered a browser bug
I accidentally discovered a huge browser bug a few months ago and I'm pretty excited about it. Security engineers always seem like the "cool kids" to me, so I'm hoping that now I can be part of the club, and y'know, get into the special parties or whatever.
Mozzila запустила ночные build'ы c Asan'ом и специальным репортером на борту: https://blog.mozilla.org/security/2018/07/19/introducing-the-asan-nightly-project/. Пока только под Linux, можно ставить, ловить всякие крэши и сообщать об этом лисе.
Mozilla Security Blog
Introducing the ASan Nightly Project
Every day, countless Mozillians spend numerous hours testing Firefox to ensure that Firefox users get a stable and secure product. However, no product is bug ...
Интересный пост про разрешение доступа MS Edge к localhost’у из AppContainer’а: https://tyranidslair.blogspot.com/2018/07/uwp-localhost-network-isolation-and-edge.html.
Получается, что любой эксплойт для Edge может получить доступ к сервисам, запущенным на localhost, несмотря на изоляцию контейнера.
Получается, что любой эксплойт для Edge может получить доступ к сервисам, запущенным на localhost, несмотря на изоляцию контейнера.
www.tiraniddo.dev
UWP Localhost Network Isolation and Edge
This blog post describes an interesting “feature” added to Windows to support Edge accessing the loopback network interface. For referenc...
Сегодня столкнулся с тем, что в FireFox не получалось проэксплуатировать CSRF-уязвимость в API, которая принимает на вход только application/json. Ну речь про то, что swf-ка (например, такая https://github.com/sp1d3r/swf_json_csrf) идёт по 307 редиректу и посылает GET или POST запрос в нужный origin с нужным content-type. В последнем Chrome все работает, а в лисе пофиксили эту возможность: https://bugzilla.mozilla.org/show_bug.cgi?id=1436241, летит только get без параметров.
А тем временем FireFox потихоньку пилит свой Site Isolation, на bleeping выложили пост про текущее состояние проекта Fission: https://www.bleepingcomputer.com/news/software/mozilla-is-working-on-a-chrome-like-site-isolation-feature-for-firefox/.
BleepingComputer
Mozilla Is Working on a Chrome-Like "Site Isolation" Feature for Firefox
The Mozilla Foundation, the organization behind the Firefox browser, is working on adding a new feature to its browser that is similar to the Site Isolation feature that Google rolled out to Chrome users this year.
На BHUSA 2018 Samuel Groß рассказал про атаки на JIT-компиляторы JS в браузерах.
Его исследование сфокусировано на уязвимостях в механизмах устранения избыточности(redundacy elimination) и проверках допустимости обращения к памяти (bounds checking).
Основная идея состоит в том, что можно сформировать такой код, который JIT-компилятор будет считать корректным, убрав при этом дополнительные проверки с целью оптимизации и ускорения исполнения кода. Это можно использовать, чтобы получать read/write примитивы.
Полная версия презентации: https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf.
Его исследование сфокусировано на уязвимостях в механизмах устранения избыточности(redundacy elimination) и проверках допустимости обращения к памяти (bounds checking).
Основная идея состоит в том, что можно сформировать такой код, который JIT-компилятор будет считать корректным, убрав при этом дополнительные проверки с целью оптимизации и ускорения исполнения кода. Это можно использовать, чтобы получать read/write примитивы.
Полная версия презентации: https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf.
Вы все еще не фаззите WebAssembly? Лучше поздно, чем никогда.
Natalie Silvanovich из Project Zero поделилась своими мыслями про уязвимсоти в парсинге WebAssembly-модуля:
https://googleprojectzero.blogspot.com/2018/08/the-problems-and-promise-of-webassembly.html.
Т.к. формат относительно новый, нас ждем еще много интересных багов.
Natalie Silvanovich из Project Zero поделилась своими мыслями про уязвимсоти в парсинге WebAssembly-модуля:
https://googleprojectzero.blogspot.com/2018/08/the-problems-and-promise-of-webassembly.html.
Т.к. формат относительно новый, нас ждем еще много интересных багов.
Blogspot
The Problems and Promise of WebAssembly
Posted by Natalie Silvanovich, Project Zero WebAssembly is a format that allows code written in assembly-like instructions to be run from J...