Pull to refresh

История одного эксплойта или “бесконечный” 0-day: CVE-2010-1297

Reading time 2 min
Views 22K
ESET NOD32 corporate blog
Началась эта история уже более десяти дней назад, когда стало известно об очередной уязвимости в продуктах компании Adobe, приводящей к возможности удаленного выполнения вредоносного кода. Началось активное распространение этой заразы, в частности, эксплойт вошел в состав многих эксплойт-паков, активно распространяющихся в данный момент времени. Но самое интересное началось после того, как вечером 10 июня появился публичный код эксплойта в составе Metasploit.


Читать дальше →
Total votes 57: ↑48 and ↓9 +39
Comments 47

Атака на браузер: противостояние брони и снаряда

Reading time 4 min
Views 9.5K
ESET NOD32 corporate blog
image

В современном мире трудно найти человек использующего интернет, но не устанавливающего дополнительных расширений для своего браузера. Такие расширения как Flash установлены у подавляющего большинства пользователей. А ведь именно появление таких плагинов повлияло на изменение ландшафта в современном эксплойтостроении. Теперь безопасность на стороне пользователя не может контролироваться только со стороны разработчиков браузера. Не менее важна и безопасность каждого из установленных плагинов, ведь злоумышленники могут использовать его для внедрения в систему вредоносного кода. К примеру, появление уязвимостей в продуктах небезызвестной компании Adobe влечет за собой рост количества эксплойтов, нацеленных именно на эти уязвимости.
Читать дальше →
Total votes 23: ↑17 and ↓6 +11
Comments 7

Сколько дыр в кафтане Adobe? (CVE-2010-2883)

Reading time 2 min
Views 11K
ESET NOD32 corporate blog
По числу эксплуатируемых уязвимостей программа Adobe Acrobat Reader является одной из самых «дырявых» и, в тоже время, наиболее популярной у злоумышленников. Атаки с использованием уязвимостей в приложениях Adobe для проведения client-side атак уже давно стали трендом. В прошлый раз о громкой 0-day уязвимости мы писали летом. Недавно у злоумышленников появился новый повод для творчества.
Читать дальше →
Total votes 60: ↑58 and ↓2 +56
Comments 16

Ломаем банк в стиле smash the stack!

Reading time 7 min
Views 52K
Digital Security corporate blog Information Security *

Не только XSS…


Последнее время многие обращают внимание на уязвимости ПО, используемого в банковском секторе: в частности, недавно прошумела новость об уязвимостях класса XSS на веб-сайтах различных банков. Общественность негодует, и СМИ шумят. Но ведь банки богаты не только веб-составляющей. Начиная с конца 2000-х я собирал уязвимости в модулях ActiveX, которые банки гордо раздают своим пользователям, а именно клиентам системы дистанционного банковского обслуживания (ДБО). Раз в год я брал одну или две системы и ковырял их. Начиная просто так, любопытства ради (начал это дело, еще будучи сотрудником банка) и продолжая уже из исследовательского интереса. В итоге за 3–4 года я выявил уязвимости в системах от таких производителей, как BSS, Inist, R-Style, ЦФТ. Под катом находится информация об одной такой уязвимости. Большая часть описания уделена созданию простенького эксплойта для выполнения произвольного кода на стороне клиента (Windows7, IE +DEP/ASLR). Возможно, это будет полезно тем, кто хотел бы понять принципы эксплуатации старых ‘strcpy’ багов и создания ROP-эксплойтов.


Читать дальше →
Total votes 191: ↑186 and ↓5 +181
Comments 49

Return oriented programming. Собираем exploit по кусочкам

Reading time 8 min
Views 26K
Information Security *System Programming *
Tutorial
Введение
В этой статье мы попробуем разобраться как работает Return Oriented эксплоит. Тема, в принципе, так себе заезженная, и в инете валяется немало публикаций, но я постараюсь писать так, чтобы эта статья не была их простой компиляцией. По ходу нам придется разбираться с некоторыми системными особенностями Linux и архитектуры x86-64 (все нижеописанные эксперименты были проведены на Ubuntu 14.04). Основной целью будет эксплуатирование тривиальной уязвимости gets с помощью ROP (Return oriented programming).
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Comments 4

PHDays V: как сделать свой Shodan, противостоять ROP-шеллкодам и автоматизировать обратную разработку

Reading time 2 min
Views 6.6K
Positive Technologies corporate blog Information Security *


Пятый международный форум по практической безопасности Positive Hack Days состоится 26 и 27 мая 2015 года в московском Центре международной торговли. Недавно завершилась вторая волна Call For Papers и сегодня мы представляем вашему вниманию новую порцию выступлений.
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 4

Как устроены дыры в безопасности: переполнение буфера

Reading time 29 min
Views 121K
Information Security *Website development *Programming *Compilers *C *
Translation
Прим. переводчика: Это перевод статьи Питера Брайта (Peter Bright) «How security flaws work: The buffer overflow» о том, как работает переполнение буфера и как развивались уязвимости и методы защиты.

Беря своё начало с Червя Морриса (Morris Worm) 1988 года, эта проблема поразила всех, и Linux, и Windows.



Переполнение буфера (buffer overflow) давно известно в области компьютерной безопасности. Даже первый само-распространяющийся Интернет-червь — Червь Морриса 1988 года — использовал переполнение буфера в Unix-демоне finger для распространения между машинами. Двадцать семь лет спустя, переполнение буфера остаётся источником проблем. Разработчики Windows изменили свой подход к безопасности после двух основанных на переполнении буфера эксплойтов в начале двухтысячных. А обнаруженное в мае сего года переполнение буфера в Linux драйвере (потенциально) подставляет под удар миллионы домашних и SMB маршрутизаторов.

По своей сути, переполнение буфера является невероятно простым багом, происходящим из распространённой практики. Компьютерные программы часто работают с блоками данных, читаемых с диска, из сети, или даже с клавиатуры. Для размещения этих данных, программы выделяют блоки памяти конечного размера — буферы. Переполнение буфера происходит, когда происходит запись или чтение объёма данных большего, чем вмещает буфер.

На поверхности, это выглядит как весьма глупая ошибка. В конце концов, программа знает размер буфера, а значит, должно быть несложно удостоверится, что программа никогда не попытается положить в буфер больше, чем известный размер. И вы были бы правы, рассуждая таким образом. Однако переполнения буфера продолжают происходить, а результаты часто представляют собой катастрофу для безопасности.
Читать дальше →
Total votes 48: ↑47 and ↓1 +46
Comments 29

VulnHub: Реверсим всё что можно в DC416 Baffle

Reading time 37 min
Views 5.4K
Information Security *Reverse engineering *CTF *
Tutorial


Всем доброго времени суток, этой статьёй хотелось бы завершить серию DC416, CTF с конференции DefCon Toronto's. Оставив на десерт DC416 Baffle, на мой взгляд, самый интересный и хардкорный квест, предоставленный командой VulnHub.

Внимание! Впереди будет много реверса и бинарной эксплуатации!

Если вы к этому не готовы, то рекомендую для начала ознакомиться с предыдущими райтапами:


Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 0

Exploit Exercises: Введение в эксплуатацию бинарных уязвимостей на примере Protostar

Reading time 20 min
Views 20K
Information Security *Reverse engineering *CTF *
Tutorial


Всем доброго времени суток. Продолжаем разбор заданий с сайта Exploit Exercises, и сегодня будут рассмотрены основные типы бинарных уязвимостей. Сами задания доступны по ссылке. На этот раз нам доступны 24 уровня, по следующим направлениям:

  • Network programming
  • Byte order
  • Handling sockets
  • Stack overflows
  • Format strings
  • Heap overflows
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 0

Железнодорожно-ориентированное программирование. Обработка ошибок в функциональном стиле

Reading time 11 min
Views 18K
Website development *Programming *.NET *Designing and refactoring *Functional Programming *
Tutorial
Translation

Как пользователь я хочу изменить ФИО и email в системе.

Для реализации этой простой пользовательской истории мы должны получить запрос, провести валидацию, обновить существующую запись в БД, отправить подтверждение на email пользователю и вернуть ответ браузеру. Код будет выглядеть примерно одинаково на C#:

string ExecuteUseCase() 
{ 
  var request = receiveRequest();
  validateRequest(request);
  canonicalizeEmail(request);
  db.updateDbFromRequest(request);
  smtpServer.sendEmail(request.Email);
  return "Success";
}

и F#:

let executeUseCase = 
  receiveRequest
  >> validateRequest
  >> canonicalizeEmail
  >> updateDbFromRequest
  >> sendEmail
  >> returnMessage
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 15

Решение задания с pwnable.kr 21 — horcuxes. Возвратно-ориентированное программирование и ROP-цепочки

Reading time 3 min
Views 2.6K
Information Security *Programming *CTF *
Tutorial
image

В данной статье решим 21-е задание с сайта pwnable.kr, направленное на составление ROP-цепочки.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 0

Решение задания с pwnable.kr 26 — ascii_easy. Разбираемся с ROP-гаджетами с нуля раз и навсегда

Reading time 7 min
Views 3.9K
Information Security *Assembler *C *CTF *
Tutorial
image

В данной статье решим 26-е задание с сайта pwnable.kr и разберемся с тем, что же такое ROP, как это работает, почему это так опасно и составим ROP-цепочеку с дополнительными усложняющими файторами.

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 0

Введение в аппаратную защиту стека (Windows 10)

Reading time 6 min
Views 5.2K
Information Security *System Programming *Development for Windows *Computer hardware
Translation

Под катом представлен перевод статьи "Understanding Hardware-enforced Stack Protection".


Авторы: Kernel protection team — Jin Lin, Jason Lin, Niraj Majmudar, Greg Colombo


Это первая (обзорная) публикация задуманной серии из двух переводов о внедрении Intel'овской Control-flow Enforcement Technology (CET) в Windows 10.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 5

Бурим быстрее или оптимизация параметров бурения с помощью ML

Reading time 15 min
Views 7.9K
Systems engineering *
Sandbox

Бурение скважин всегда было и будет дорогостоящим занятием, а бурение в таких местах планеты как пустыня Сахара тем более. В объеме капитальных затрат на обустройство месторождений, затраты на бурение добычных скважин могут составлять более 50%, и оптимизация стоимости скважин является одним из основных способов улучшить экономику проекта. Стоимость услуг бурового подрядчика рассчитывается исходя из продолжительности бурения (daily rate). Иными слова – чем быстрее мы бурим, т.е. чем меньший период времени мы арендуем станок с бригадой, тем дешевле скважина. Имея в распоряжении результаты бурения 5 скважин, я решил оценить возможность оптимизации буровых параметров т.е. увеличить скорость бурения. Вот что получилось.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 19