SlideShare a Scribd company logo
Массовые CSRF-атаки через Flash-
           рекламу



                                  Самосадный Кирилл
     Лаборатория Безопасности Информационных Систем
                                   факультет ВМК МГУ




                ZeroNights 2012
Введение
● XSS и CSRF - самые распространенные уязвимости.
● Как провести массовую атаку на клиентов через
  CSRF/XSS в приватной части/XSS over CSRF
  в случае, когда время сеанса ограничено?
● Как попутно определить,         что          атакуемый
  пользователь   уязвим     к   подобной   атаке,    т.е.
  авторизован на уязвимом сайте?
● Предлагаемый инструмент - баннерообменные сети.
● Цель    настоящего      исследования     -     оценить
  применимость предлагаемого инструмента.
Взаимодействие баннера и DOM
  <embed src="ad.swf" …
     allowScriptAccess="always"
     type="application/x-shockwave-flash" >
  </embed>
● Ограничения накладываются с помощью атрибута
  allowScriptAccess:
  ○ sameDomain (default) – взаимодействие разрешено только
     в том случае, если они находятся в одном домене
  ○ never – взаимодействие запрещено
  ○ always – взаимодействие разрешено
Пример взаимодействия

● ExternalInterface:
   ○ call - вызов произвольного JavaScript-кода из ActionScript;
   ○ addcallback - установка обработчика для вызовов из JS
      function recieve(s : String) : void {
          ExternalInterface.call("alert", "Recieved from JS: " + s);
      }
      ExternalInterface.addcallback("send", recieve);
      JavaScript:
      document['flash'].send('Hello!')
Instant Win

● Отправляем к себе исходный код страницы:
Цели исследования
1. Дано:
  a. CSRF/XSS уязвимость на некотором сайте;
  b. целевые характеристики массовости атаки;
  c. директивный интервал атаки (сутки, неделя, год);
2. Вопросы:
  a. во многих ли сетях allowScriptAccess = always?
  b. сколько они могут обеспечить клиентов в сутки?
  c. легко ли обойти модерацию?
  d. сколько в среднем будет стоить атака на одного
     клиента?
Beeline + XSS over CSRF




   http://www.youtube.com/watch?v=c2T3eBDVRI0
Определение состояния logged-in
●   Запрос приватного ресурса (скрипт, картинка и т.п.).
●   Для соц. сети - API: Facebook API, VK API.
●   Замер времени ответа "тяжелого" запроса:
    ○ у авторизованного запрос будет выполняться долго;
    ○ неавторизованного отсекут раньше.
●   Комбо redirect after login + favicon.ico:
    ○ https://login.mts.ru/amserver/UI/Login?service=lk&goto=https:
       //lk.ssl.mts.ru/favicon.ico
    ○ http://www.facebook.com/login.php?next=http%3A%2F%
       2Fwww.facebook.com%2Ffavicon.ico
●   Демо: http://bushwhackers.ru/social_detector.html
Полученные результаты (1 из 3)
● Во многих сетях параметр allowScripAccess = always
  является необходимым для корректной работы
  баннера.
● Прохождение модерации:
  ○ основные требования - нет обфускации и нет сетевого
      взаимодействия;
   ○ нам не известны методы проверок;
   ○ неизвестна причина отказа:
     ■ плохой сайт;
     ■ некрасивый баннер;
     ■ спалили вредоносный код.
   ○ в крупных сетях пройти проверку легальными способами не
      получилось;
   ○ однако,   интерфейсы     проверяющих    уязвимы    для
      вредоносных баннеров.
Полученные результаты (2 из 3)
● Есть сети без проверок:
  ○ приличное число ботов (идут клики/показы, но нет ответа
      от Flash и посещения рекламируемого сайта);
● Когда баннер не проходит модерацию, он не
  удаляется из хранилища баннеров, что позволяет:
  ○ договариваться  непосредственно  с    участниками
      баннерообменной сети о демонстрации своего баннера;
   ○ при взломе сайта, входящего в баннерообменную сеть,
      заменять показ     произвольного   баннера    на   показ
      вредоносного.
● Идеальная кобинация: allowScripAccess = always,
  крупная сеть, нету модерации и накручивающих
  ботов - не найдена.
Полученные результаты (3 из 3)
● Есть некоторое количество сетей без модерации и без
  доступа к DOM вероятно             пригодных        для   ВПО,
  использующих уязвимости FP.
   ○ есть одна сеть с более 30 млн. показов в день;
● В мелких сетях, в которых можем пройти проверку:
  ○ получаем около одного зарегистрированного пользователя
      на 10000 в сутки (для beeline), что для достижения
      массовости требует использования большого числа таких
      сетей;
   ○ для сайтов c remember me получаем хорошие результаты:
         ● vk.com - 57,5%;
         ● google.com - 17,2%;
         ● twitter.com - 14,9%;
         ● facebook.com - 13,7%;
         ● plus.google.com - 11,5%.
Выводы
● Вредоносные Flash-баннеры опасны, потому что
  ○ с их помощью можно массово эксплуатировать различные
     уязвимости;
  ○ грамотно упакованный payload не обнаруживается до
     выполнения;
  ○ при отсутствии модерации сеть можно использовать для
     Flash-уязвимостей;
  ○ если злоумышленник знает методику проверки баннеров,
     то наверняка может ее обойти.
● Нужно средство для обнаружения подобных
  баннеров!
Хорошая статья


● О детектировании атак типа drive-by download и
  новых векторах распространения вредоносного ПО
  через Flash-баннеры
  http://habrahabr.ru/post/143345/
Спасибо за внимание!

● Name: Самосадный Кирилл
● Email: kirsamosad@gmail.com
● О себе:
  ○ студент 5-го курса ВМК МГУ
  ○ пишу диплом на тему "Обнаружение вредоносных Flash-
     баннеров"
  ○ играю в CTF за Bushwhackers
● Презентация доступна по адресу:
  http://lvk.cs.msu.su/~samosad/ZeroNights_2012/ZN2012.pdf
Инструмент
●   Один или несколько баннеров,
    которые                   выполняют
    фингерпринтинг клиента (и админа)
    и загружают вредоносносное Flash-
    приложение с сервера.
●   Javascript-код, который проводит
    проверку                возможности
    эксплуатации уязвимостей.
●   Серверный       скрипт,     которому
    отсылаются результаты проверки
    пререквизитов атак и который
    возвращает                     js-код,
    непосредственно эксплуатирующий
    уязвимости.
●   Вредоносное       Flash-приложение,
    который содержит js-код из п. 2, а
    также запускает js-код эксплойтов,
    полученный от серверного модуля
    из п.3.

More Related Content

What's hot

Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
Ruslan Begaliev
 
Интернет маркетинг. Семинар 5
Интернет маркетинг. Семинар 5Интернет маркетинг. Семинар 5
Интернет маркетинг. Семинар 5
Maxim Kazakov
 
Improving web application defenses against XSS.
Improving web application defenses against XSS.Improving web application defenses against XSS.
Improving web application defenses against XSS.
Grid Dynamics
 
Экспресс-аудит сайта Agrotechnosouz
Экспресс-аудит сайта AgrotechnosouzЭкспресс-аудит сайта Agrotechnosouz
Экспресс-аудит сайта Agrotechnosouz
Антон Гладкий
 
ярослав рабоволюк
ярослав рабоволюкярослав рабоволюк
ярослав рабоволюкkuchinskaya
 
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Dmitry Evteev
 
Где прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковГде прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий Земсков
Yandex
 

What's hot (8)

Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
Никита Селиванов: 8 правил эффективного взаимодействия с подрядчиком при созд...
 
Интернет маркетинг. Семинар 5
Интернет маркетинг. Семинар 5Интернет маркетинг. Семинар 5
Интернет маркетинг. Семинар 5
 
Improving web application defenses against XSS.
Improving web application defenses against XSS.Improving web application defenses against XSS.
Improving web application defenses against XSS.
 
Экспресс-аудит сайта Agrotechnosouz
Экспресс-аудит сайта AgrotechnosouzЭкспресс-аудит сайта Agrotechnosouz
Экспресс-аудит сайта Agrotechnosouz
 
ярослав рабоволюк
ярослав рабоволюкярослав рабоволюк
ярослав рабоволюк
 
Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...Статистика по результатам тестирований на проникновение и анализа защищенност...
Статистика по результатам тестирований на проникновение и анализа защищенност...
 
Где прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковГде прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий Земсков
 
Security
SecuritySecurity
Security
 

Viewers also liked

Ivan Novikov - Filesystem timing attacks practice
Ivan Novikov - Filesystem timing attacks practiceIvan Novikov - Filesystem timing attacks practice
Ivan Novikov - Filesystem timing attacks practiceDefconRussia
 
Sorokin mac os x malware overview
Sorokin   mac os x malware overviewSorokin   mac os x malware overview
Sorokin mac os x malware overviewDefconRussia
 
Alexey Sintsov - Where do the money lie
Alexey Sintsov - Where do the money lieAlexey Sintsov - Where do the money lie
Alexey Sintsov - Where do the money lie
DefconRussia
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
DefconRussia
 
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCube
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCubeDmitry Chastukhin - Business Intelligence hacking – Breaking ICCube
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCubeDefconRussia
 
Polyakov how i will break your enterprise. esb security and more
Polyakov   how i will break your enterprise. esb security and morePolyakov   how i will break your enterprise. esb security and more
Polyakov how i will break your enterprise. esb security and moreDefconRussia
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilitiesDefconRussia
 

Viewers also liked (7)

Ivan Novikov - Filesystem timing attacks practice
Ivan Novikov - Filesystem timing attacks practiceIvan Novikov - Filesystem timing attacks practice
Ivan Novikov - Filesystem timing attacks practice
 
Sorokin mac os x malware overview
Sorokin   mac os x malware overviewSorokin   mac os x malware overview
Sorokin mac os x malware overview
 
Alexey Sintsov - Where do the money lie
Alexey Sintsov - Where do the money lieAlexey Sintsov - Where do the money lie
Alexey Sintsov - Where do the money lie
 
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условияхSergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
Sergey Belov - Покажите нам Impact! Доказываем угрозу в сложных условиях
 
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCube
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCubeDmitry Chastukhin - Business Intelligence hacking – Breaking ICCube
Dmitry Chastukhin - Business Intelligence hacking – Breaking ICCube
 
Polyakov how i will break your enterprise. esb security and more
Polyakov   how i will break your enterprise. esb security and morePolyakov   how i will break your enterprise. esb security and more
Polyakov how i will break your enterprise. esb security and more
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
 

Similar to Samosadny mass csrf attacks via flash ads

Risspa domxss
Risspa domxssRisspa domxss
Risspa domxssyaevents
 
Андрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьАндрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальность
Yandex
 
как не заразить посетителей своего сайта All а.сидоров, п.волков
как не заразить посетителей своего сайта All   а.сидоров, п.волковкак не заразить посетителей своего сайта All   а.сидоров, п.волков
как не заразить посетителей своего сайта All а.сидоров, п.волковOntico
 
Mythbusters - Web Application Security
Mythbusters - Web Application SecurityMythbusters - Web Application Security
Mythbusters - Web Application Security
Mikhail Shcherbakov
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестированийDmitry Evteev
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Mikhail Egorov
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
Ontico
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
Positive Hack Days
 
Основные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 годуОсновные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 году
SiteSecure
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
it-people
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
Testableapple
 
Защита сайта от взлома и вирусов
Защита сайта от взлома и вирусовЗащита сайта от взлома и вирусов
Защита сайта от взлома и вирусов
SkillFactory
 
Web application security (RIT 2014, rus)
Web application security (RIT 2014, rus)Web application security (RIT 2014, rus)
Web application security (RIT 2014, rus)
Maksim Kochkin
 
Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Ontico
 
Особенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атакОсобенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атак
Qrator Labs
 
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...it-people
 
Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтов
Eugene Fidelin
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Dmitry Samsonov
 

Similar to Samosadny mass csrf attacks via flash ads (20)

Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
PT MIFI Labxss
PT  MIFI LabxssPT  MIFI Labxss
PT MIFI Labxss
 
Андрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальностьАндрей Ковалев - Безопасность сайта: мифы и реальность
Андрей Ковалев - Безопасность сайта: мифы и реальность
 
как не заразить посетителей своего сайта All а.сидоров, п.волков
как не заразить посетителей своего сайта All   а.сидоров, п.волковкак не заразить посетителей своего сайта All   а.сидоров, п.волков
как не заразить посетителей своего сайта All а.сидоров, п.волков
 
Mythbusters - Web Application Security
Mythbusters - Web Application SecurityMythbusters - Web Application Security
Mythbusters - Web Application Security
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестирований
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
Основные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 годуОсновные угрозы безопасности для интернет-бизнеса в 2014 году
Основные угрозы безопасности для интернет-бизнеса в 2014 году
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
Защита сайта от взлома и вирусов
Защита сайта от взлома и вирусовЗащита сайта от взлома и вирусов
Защита сайта от взлома и вирусов
 
Web application security (RIT 2014, rus)
Web application security (RIT 2014, rus)Web application security (RIT 2014, rus)
Web application security (RIT 2014, rus)
 
Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Максим Кочкин (Wamba)
Максим Кочкин (Wamba)
 
Особенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атакОсобенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атак
 
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасност...
 
Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтов
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 

More from DefconRussia

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
DefconRussia
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
DefconRussia
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
DefconRussia
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
DefconRussia
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golang
DefconRussia
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
DefconRussia
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
DefconRussia
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
DefconRussia
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacks
DefconRussia
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей Тюрин
DefconRussia
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23
DefconRussia
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20
DefconRussia
 
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
DefconRussia
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
DefconRussia
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
DefconRussia
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23
DefconRussia
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
DefconRussia
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23
DefconRussia
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
DefconRussia
 
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
DefconRussia
 

More from DefconRussia (20)

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golang
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacks
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей Тюрин
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20
 
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
 
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
 

Samosadny mass csrf attacks via flash ads

  • 1. Массовые CSRF-атаки через Flash- рекламу Самосадный Кирилл Лаборатория Безопасности Информационных Систем факультет ВМК МГУ ZeroNights 2012
  • 2. Введение ● XSS и CSRF - самые распространенные уязвимости. ● Как провести массовую атаку на клиентов через CSRF/XSS в приватной части/XSS over CSRF в случае, когда время сеанса ограничено? ● Как попутно определить, что атакуемый пользователь уязвим к подобной атаке, т.е. авторизован на уязвимом сайте? ● Предлагаемый инструмент - баннерообменные сети. ● Цель настоящего исследования - оценить применимость предлагаемого инструмента.
  • 3. Взаимодействие баннера и DOM <embed src="ad.swf" … allowScriptAccess="always" type="application/x-shockwave-flash" > </embed> ● Ограничения накладываются с помощью атрибута allowScriptAccess: ○ sameDomain (default) – взаимодействие разрешено только в том случае, если они находятся в одном домене ○ never – взаимодействие запрещено ○ always – взаимодействие разрешено
  • 4. Пример взаимодействия ● ExternalInterface: ○ call - вызов произвольного JavaScript-кода из ActionScript; ○ addcallback - установка обработчика для вызовов из JS function recieve(s : String) : void { ExternalInterface.call("alert", "Recieved from JS: " + s); } ExternalInterface.addcallback("send", recieve); JavaScript: document['flash'].send('Hello!')
  • 5. Instant Win ● Отправляем к себе исходный код страницы:
  • 6. Цели исследования 1. Дано: a. CSRF/XSS уязвимость на некотором сайте; b. целевые характеристики массовости атаки; c. директивный интервал атаки (сутки, неделя, год); 2. Вопросы: a. во многих ли сетях allowScriptAccess = always? b. сколько они могут обеспечить клиентов в сутки? c. легко ли обойти модерацию? d. сколько в среднем будет стоить атака на одного клиента?
  • 7. Beeline + XSS over CSRF http://www.youtube.com/watch?v=c2T3eBDVRI0
  • 8. Определение состояния logged-in ● Запрос приватного ресурса (скрипт, картинка и т.п.). ● Для соц. сети - API: Facebook API, VK API. ● Замер времени ответа "тяжелого" запроса: ○ у авторизованного запрос будет выполняться долго; ○ неавторизованного отсекут раньше. ● Комбо redirect after login + favicon.ico: ○ https://login.mts.ru/amserver/UI/Login?service=lk&goto=https: //lk.ssl.mts.ru/favicon.ico ○ http://www.facebook.com/login.php?next=http%3A%2F% 2Fwww.facebook.com%2Ffavicon.ico ● Демо: http://bushwhackers.ru/social_detector.html
  • 9. Полученные результаты (1 из 3) ● Во многих сетях параметр allowScripAccess = always является необходимым для корректной работы баннера. ● Прохождение модерации: ○ основные требования - нет обфускации и нет сетевого взаимодействия; ○ нам не известны методы проверок; ○ неизвестна причина отказа: ■ плохой сайт; ■ некрасивый баннер; ■ спалили вредоносный код. ○ в крупных сетях пройти проверку легальными способами не получилось; ○ однако, интерфейсы проверяющих уязвимы для вредоносных баннеров.
  • 10. Полученные результаты (2 из 3) ● Есть сети без проверок: ○ приличное число ботов (идут клики/показы, но нет ответа от Flash и посещения рекламируемого сайта); ● Когда баннер не проходит модерацию, он не удаляется из хранилища баннеров, что позволяет: ○ договариваться непосредственно с участниками баннерообменной сети о демонстрации своего баннера; ○ при взломе сайта, входящего в баннерообменную сеть, заменять показ произвольного баннера на показ вредоносного. ● Идеальная кобинация: allowScripAccess = always, крупная сеть, нету модерации и накручивающих ботов - не найдена.
  • 11. Полученные результаты (3 из 3) ● Есть некоторое количество сетей без модерации и без доступа к DOM вероятно пригодных для ВПО, использующих уязвимости FP. ○ есть одна сеть с более 30 млн. показов в день; ● В мелких сетях, в которых можем пройти проверку: ○ получаем около одного зарегистрированного пользователя на 10000 в сутки (для beeline), что для достижения массовости требует использования большого числа таких сетей; ○ для сайтов c remember me получаем хорошие результаты: ● vk.com - 57,5%; ● google.com - 17,2%; ● twitter.com - 14,9%; ● facebook.com - 13,7%; ● plus.google.com - 11,5%.
  • 12. Выводы ● Вредоносные Flash-баннеры опасны, потому что ○ с их помощью можно массово эксплуатировать различные уязвимости; ○ грамотно упакованный payload не обнаруживается до выполнения; ○ при отсутствии модерации сеть можно использовать для Flash-уязвимостей; ○ если злоумышленник знает методику проверки баннеров, то наверняка может ее обойти. ● Нужно средство для обнаружения подобных баннеров!
  • 13. Хорошая статья ● О детектировании атак типа drive-by download и новых векторах распространения вредоносного ПО через Flash-баннеры http://habrahabr.ru/post/143345/
  • 14. Спасибо за внимание! ● Name: Самосадный Кирилл ● Email: kirsamosad@gmail.com ● О себе: ○ студент 5-го курса ВМК МГУ ○ пишу диплом на тему "Обнаружение вредоносных Flash- баннеров" ○ играю в CTF за Bushwhackers ● Презентация доступна по адресу: http://lvk.cs.msu.su/~samosad/ZeroNights_2012/ZN2012.pdf
  • 15. Инструмент ● Один или несколько баннеров, которые выполняют фингерпринтинг клиента (и админа) и загружают вредоносносное Flash- приложение с сервера. ● Javascript-код, который проводит проверку возможности эксплуатации уязвимостей. ● Серверный скрипт, которому отсылаются результаты проверки пререквизитов атак и который возвращает js-код, непосредственно эксплуатирующий уязвимости. ● Вредоносное Flash-приложение, который содержит js-код из п. 2, а также запускает js-код эксплойтов, полученный от серверного модуля из п.3.