Br0wSec
749 subscribers
4 photos
84 links
Browser security channel (RU)
Download Telegram
Нашёл в интернете гайд по полезным фичам Developers Tools для разных браузеров, которые могут пригодиться пентестерам: http://www.getmantra.com/web-app-security-testing-with-browsers/. Еnjoy.
На Zer0Con 2018 (zer0con.org) @singi21a из Theori рассказал о технике sandbox bypass в WebKit через ipc с WindowServer в macOS. Материалы и примеры кода можно найти тут: https://github.com/theori-io/zer0con2018_singi.
Атаки на GPU IPC становятся классикой в области обхода браузерных песочниц. В том году на той же конференции был похожий, но закрытый доклад от lokihardt.
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.
Интересный 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’а.
Safari не перестает удивлять! Недавно закрыли выполнение произвольного кода с помощью функции возвращения квадратного корня (sqrt).

https://www.zerodayinitiative.com/advisories/ZDI-18-278/
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
Интересная PoC-заготовка, которая демонстрирует RCE в WebContent (CVE-2018-4233) для Safari под iOS 11.3.1 https://github.com/phoenhex/files/tree/master/exploits/ios-11.3.1)
И на сладкое, прикольный материал про внутреннее устройство JavaScript-движков: https://mathiasbynens.be/notes/shapes-ics.
В сети появился материал про брауезреные 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).
Mozzila запустила ночные build'ы c Asan'ом и специальным репортером на борту: https://blog.mozilla.org/security/2018/07/19/introducing-the-asan-nightly-project/. Пока только под Linux, можно ставить, ловить всякие крэши и сообщать об этом лисе.
Интересный пост про разрешение доступа MS Edge к localhost’у из AppContainer’а: https://tyranidslair.blogspot.com/2018/07/uwp-localhost-network-isolation-and-edge.html.
Получается, что любой эксплойт для Edge может получить доступ к сервисам, запущенным на localhost, несмотря на изоляцию контейнера.
Вышел Chrome 68. А это значит, что с этой версии он будет помечать сайты без HTTPS как небезопасные. Быть может, в будущем вообще запретит посещать HTTP :)
Сегодня столкнулся с тем, что в 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 без параметров.
На 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.
Вы все еще не фаззите WebAssembly? Лучше поздно, чем никогда.
Natalie Silvanovich из Project Zero поделилась своими мыслями про уязвимсоти в парсинге WebAssembly-модуля:
https://googleprojectzero.blogspot.com/2018/08/the-problems-and-promise-of-webassembly.html.
Т.к. формат относительно новый, нас ждем еще много интересных багов.