Сетевые сокращения

 

 


Несколько дней обратно (13.06.02), какой-то кекс кинул мне на аську урл http://www.try2hack.nl/level1.html, мол проверь свои силы. Признаюсь, каждое задание на этом сайте было по-своему сложное, но, в то бла бла время, интересное. Всем, кто никак не проходил это тестирование, настойчиво рекомендую попробовать. Ну однако те, кто уже попытал благополучие также никак не дошёл вплоть до 10-го задания, читать данную статью =)
Ну что ж, приступим. Разом скажу, что опишу решения тока к главным 9-ми заданиям, подробно буду стать только на именно сложных также интересных.

#1.

Элементарно. Вот сурс на js проверки пароля:
<SCRIPT LANGUAGE="JavaScript">
function Try(passwd){
	if (passwd =="hackerzzz"){
		alert("Alright ! On to level 2 ...");
		location.href = "levvel2.html";
	}
	else {
		alert("The password is incorrect. Please Don't Try Again.");
		location.href = "http://www.disney.com";
	};
}
</SCRIPT>
В третьей строчке введённое значение сверяется со словом "hackerzzz", которое в данном случае играет роль пароля.

#2.

Признаюсь, на главный взор, задание показалось мне сложным. Я ошибся =)
Заливаим себе флэшку, вскрываем её блокнотом (можно hex-редактором) и в самом низу (адреса 00000440-00000490) видим:
txtUsername......Try2Hack.I....txtPassword......NokiaIsGood.I..........LLeVeLL3.html
Логин Try2Hack
Пароль NokiaIsGood
След. задание LLeVeLL3.html

#3.

Очень остроумное также интересное задание.
Вот исходник js'a:
<SCRIPT language="JavaScript">
pwd = prompt("Please enter the password for level 3 :","");
if (pwd==PASSWORD){
	alert("Alright !\nEntering Level 4 ...");
	location.href = CORRECTSITE;
}else
{
	alert("WRONG !\nBack to disneyland !!!");
	location.href = WRONGSITE;
}
PASSWORD="AbCdE";
CORRECTSITE="level4.html";
WRONGSITE="http://www.disney.com";
</SCRIPT>
Казалось бы, пароль "AbCdE", но как бла бла он может трудиться, если он определяется в конце? Однако, переменная PASSWORD на момент проверки почему-то была уже определена, другим образом интерпритатор выдал бы погрешность "PASSWORD: определение отсутствует". Дополнительно только чрез 20 мин. раздумий, в ока бросилась строчка:
<SCRIPT src="JavaScript"></SCRIPT>
Никак никак не мог подумать, что "JavaScript" это файл =))) В нём как однажды также лежали истинные значения переменных:
PASSWORD = "TheCorrectAnswer";
CORRECTSITE = "thelevel4.html";
WRONGSITE = "http://www.disney.com";

#4.

Ковыряя апплет, забота привлекли строки по адресу 00000A60-00000A80. Апплет читал строки из файла *level4* (в последствие дизасменный сурс это подтвердил). Скорее всего, это был файл паролей. Самое интересно, что он продолжал это действовать с моего винта. То кушать, файло *level4* было либо в инете, либо на моём компе. А ежели на моём, то в каком месте? Правильно, либо в cookie, либо в Temp'ах. Почистив также те, также другие, мы зашёл на страницу с апплетом. В темпах появилось пара файла, один из которых был level4[2].txt.
Содержимое:
5_level_5.html
Try2Hack
AppletsAreEasy
Кстать, внутри апплета для отвода око было вот что: "txtUsername=AlmostAHacker ..... txtPassword=ZqrE01A2d" Хитрооо =)
/* Gr33tz 2 godson */

#5.

Предлагается скачать файло level5.exe. В нём нужно ввести логин и пароль, которые очевидно хранились в самом файле. Открыв его hex'ом в ока бросилось:
http://www.try2hack.f2s.com/login-level6.html..... txtUsername=AlmostAHacker ..... txtPassword=ZqrE01A2d
Адресa: 000019F0-00001A50.
Слишком легко, думал я. Дополнительно правильно, пароли никак не подошли. Далее на подмога пришёл дизассемблер =):
Логин Try2Hack
Пароль OutOfInspiration
След. задание l-e-v-e-l-6.html
/* gr33tz 2 a3oX =) */

#6.

Очень запутанное задание. Опять бла бла предлагается скачать программу, которая на твоих очах подключается к серверу также проверяет твои введённые данные на валидность. На этот однажды создатели честно предупреждают: "this is not level 5, you can't decompile this exe's".
На подмога пришёл сниффер SpyNet. Не буду описывать, как мы чё делал (отдельная статья нужна), выложу лишь только интересующий нас пакет:
0000:  44 45 53 54 00 00 20 53 52 43 00 00 08 00 45 00 DEST.. SRC....E.
0010:  02 40 5F 78 40 00 71 06 14 E0 D5 13 8C 02 C2 57 .@_x@.q........W
0020:  6F F2 00 50 04 AE EC 04 FD 8C 1A 9A 11 B0 50 10 o..P..........P.
0030:  40 7C AE D3 00 00 48 54 54 50 2F 31 2E 31 20 32 @|....HTTP/1.1 2
0040:  30 30 20 4F 4B 0D 0A 44 61 74 65 3A 20 53 75 6E 00 OK..Date: Sun
0050:  2C 20 31 34 20 41 70 72 20 32 30 30 32 20 31 38 , 14 Apr 2002 18
0060:  3A 32 32 3A 35 35 20 47 4D 54 0D 0A 53 65 72 76 :22:55 GMT..Serv
0070:  65 72 3A 20 41 70 61 63 68 65 0D 0A 43 61 63 68 er: Apache..Cach
0080:  65 2D 43 6F 6E 74 72 6F 6C 3A 20 6D 61 78 2D 61 e-Control: max-a
0090:  67 65 3D 36 30 34 38 30 30 0D 0A 45 78 70 69 72 ge=604800..Expir
00A0:  65 73 3A 20 53 75 6E 2C 20 32 31 20 41 70 72 20 es: Sun, 21 Apr 
00B0:  32 30 30 32 20 31 38 3A 32 32 3A 35 35 20 47 4D 2002 18:22:55 GM
00C0:  54 0D 0A 4C 61 73 74 2D 4D 6F 64 69 66 69 65 64 T..Last-Modified
00D0:  3A 20 57 65 64 2C 20 31 38 20 41 70 72 20 32 30 : Wed, 18 Apr 20
00E0:  30 31 20 31 35 3A 32 38 3A 30 30 20 47 4D 54 0D 01 15:28:00 GMT.
00F0:  0A 45 54 61 67 3A 20 22 30 2D 63 63 2D 33 61 64 .ETag: "0-cc-3ad
0100:  64 62 32 38 30 22 0D 0A 41 63 63 65 70 74 2D 52 db280"..Accept-R
0110:  61 6E 67 65 73 3A 20 62 79 74 65 73 0D 0A 43 6F anges: bytes..Co
0120:  6E 74 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 32 30 ntent-Length: 20
0130:  34 0D 0A 4B 65 65 70 2D 41 6C 69 76 65 3A 20 74 4..Keep-Alive: t
0140:  69 6D 65 6F 75 74 3D 31 35 2C 20 6D 61 78 3D 31 imeout=15, max=1
0150:  30 30 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 00..Connection: 
0160:  4B 65 65 70 2D 41 6C 69 76 65 0D 0A 43 6F 6E 74 Keep-Alive..Cont
0170:  65 6E 74 2D 54 79 70 65 3A 20 74 65 78 74 2F 70 ent-Type: text/p
0180:  6C 61 69 6E 0D 0A 0D 0A 00 28 45 4E 43 52 59 50 lain.....(ENCRYP
0190:  54 49 4F 4E 20 54 59 50 45 29 0D 0A 42 2A 43 2A TION TYPE)..B*C*
01A0:  4E 2A 2A 4E 0D 0A 0D 0A 28 55 53 45 52 4E 41 4D N**N....(USERNAM
01B0:  45 29 0D 0A 61 62 61 62 61 20 61 62 62 61 62 20 E)..ababa abbab 
01C0:  62 61 61 61 61 20 61 61 61 62 62 0D 0A 0D 0A 28 baaaa aaabb....(
01D0:  50 41 53 53 57 4F 52 44 29 0D 0A 61 62 61 62 61 PASSWORD)..ababa
01E0:  20 61 61 61 61 61 20 61 62 62 61 61 20 61 62 62  aaaaa abbaa abb
01F0:  62 61 20 61 61 61 61 61 20 62 61 61 61 61 20 62 ba aaaaa baaaa b
0200:  61 61 62 61 20 62 61 62 62 61 0D 0A 0D 0A 28 50 aaba babba....(P
0210:  41 47 45 29 0D 0A 61 62 61 62 61 20 61 61 62 61 AGE)..ababa aaba
0220:  61 20 62 61 61 62 62 20 61 61 62 61 61 20 61 62 a baabb aabaa ab
0230:  61 62 61 20 62 61 61 61 62 20 61 61 62 61 61 20 aba baaab aabaa 
0240:  62 61 61 62 62 20 61 61 62 61 61 20 61 62       baabb aabaa ab
Немного обрезанный (вы попробуйте намано скопировать из SpyNet'a), но основная доля (пароль, логин, страница) видна хорошо. Казалось бы, занятие сделано, ан нет. Все данные были зашифрованы :-/
(USERNAME)..ababa abbab baaaa aaabb....
(PASSWORD)..ababa aaaaa abbaa abbba aaaaa baaaa baaba babba....
Я взял JohnTheRipper'a также начал перебор...шутка =)) Это был алгоритм Бэкона. Сполна элeментарный алгоритм, даже никак не шифрования, однако кодирования:
aaaaa = a
aaaab = b
aaaba = c
aaabb = d
и т.п.
Результатом ручного декодирования было:
Логин LORD
Пас LANPARTY
Страница LEVELSEVEN.html
Учите информатику, дети =)
/* gr33tz 2 D4rkGr3y ;) */

#7.

Дан капризный перл скрипт level7.pl. Задание: заставить его поверить, что:
1) cтраница, с которой мы попали на сайт: http://www.microsoft.com/ms.htm
2) мы используем браузером Microsoft Internet Explorer 6.72
3) операционная система UNIX/LINUX
Вообще задание лёгкое, нам нужно просто сгенерировать такой http запрос, в заголовке которого станет содержатся данная информация. То есть:
Referer: http://www.microsoft.com/ms.htm
User-agent: MSIE 6.72
А вот с осью маленькая проблема. В заголовке, поля, в котором явно указывается разновидность операционной системы, нет. Она обычно вытаскивается из User-agent. Понадеясь, что level7.pl действует именно так, мы набросал перл скриптик, какой послал вот такой запрос:
GET /cgi-bin/level7.pl HTTP/1.0
Referer: http://www.microsoft.com/ms.htm
User-Agent: MSIE 6.72 (UNIX/LINUX)
Accept: */*

И опаа =)
<A HREF="../Level-8.html">Level 8</A>

#8.

Сразу привлекло название обрабатывающего скрипта phf.cgi. Помнится, немало взломов было на его совести. Порыскав по баг-траку, нашёл сплойт:
/cgi-bin/phf.pp?Qalias=x%0a/bin/cat%20/etc/passwd
Ответ был:
BuiZe:Bu3kOx4cCMX2U
Пароль зашифрован обычным DES'ом. JTR'у понадобилось 15 мин., дабы узнать pas. Какой, распространяться, пожалуй, никак не буду, кому надобно - расшифруют =)

#9.

На странице с заданием красуется надпись:
New message for BuiZe :

Level 8 completed !
Go to irc.<*>.org and join #<*>
There type /msg <*> begin

Другими словами, поле боя переносится на ирк. Название сервера, канала также бота мы скрыл по понятным (надеюсь всем) причинам.

#9.

состоит из множества мини-заданий.
Заходим к ним на канал #Try2Hack.
Пишем "/msg Try2Hack perfect-start"
ну также что бла бла он нам выдаст? а вот что :
-TRY2HACK- Welcome to try2hack level 9! Decode the following lines to continue:
-TRY2HACK- Wbva #gel2unpx.yriry9. Gb trg gur xrl lbh arrq gb qrpbqr gur sbyybjvat yvar:
-TRY2HACK- GTI2MJj5YJ15DxVmERy1rQIZ=
-TRY2HACK- Tbbq yhpx, naq frr lbh ba #gel2unpx.yriry9.
разшифруйте сами ... слабо? ну в то время мы вас издеваться никак не буду лезь:
http://www.degraeve.com/cgi-bin/rot13.cgi
вот мы также разшифровали также что бла бла у нас получилось:
Join #try2hack.level9. To get the key you need to decode the following line:
TGV2ZWw5LW15QkIzREl1eDVM=
Good luck, and see you on #try2hack.level9.
у нас начинается паника также мы незнаем. что за ?
TGV2ZWw5LW15QkIzREl1eDVM=
хмм с главного взгляда мне показалось ето всё сложно но мы вспомнил, мирковские скрипты строчим /echo $decode(TGV2ZWw5LW15QkIzREl1eDVM=,m) также мы получяем Level9-myBB3DIux5L ето станет у нас кей, заходим в канал также нам выбивает нотис
-LEVEL9-XXX- Welcome, I am try2hack Level9! Decode the following line to proceed:
-LEVEL9-XXX- 010011100110100101100011011001010010000001101010011011...
старый добродушный binary... ежели нехотите разшифровать в ручную ну чтож
http://www.nickciske.com/binary/index.php
мы получим "Nice job. Now type '/msg TRY2HACK showbug' to see the bug"
ну строчим /msg TRY2HACK showbug также он нам иллюстрирует баг таковой
-TRY2HACK- ovaq pgpe - CVAT pgpe:cvatercyl
-TRY2HACK- cebp pgpe:cvatercyl {avpx hubfg unaq qrfg xrl net} {
-TRY2HACK- frg qhe [rkce [havkgvzr] - $net]
-TRY2HACK- chgfrei "ABGVPR $avpx :Lbhe cvat ercyl gbbx $qhe frpbaqf"}
Ооо нет снова он зашиврован ну мы опять воспользуемся разшивровщиком линк выше кто забыл %) ... разшифровали ....А вот также баг ... мы на етом помещении также подсел ежели кто сделает скинте мыло на neon@balticum-tv.lt.
За решение 9ого задания благодарим NeoN'a =)

Автор: D4rkGr3y


Материал публикуется с разрешения DHGROUP (http://www.dhgroup.org)