zpátky na Game blog
Try2Hack
Možná už jste někdy slyšeli o stránce Try2Hack.nl. Jedná se o celkem dost jednoduchý web, kde je vaším jediným úkolem "prohackovat" se co nejdále. Je zde podle mých zdrojů 10 levelů (dříve jenom 8) a vyřešením jednoho levelu se samozřejmě dostanete do dalšího. Spousta lidí asi skončí už na první úrovni, ale já jsem se rozhodl, že půjdu trochu dál... Včera večer bylo trochu času a tak jsem se do toho pustil. Tady je takový menší návod jak na to:
level 1
typ: formular
heslo: h3x0r
jak na to: podivat se do zdrojaku :-)
level 2
typ: flash
login: try2hack
heslo: irtehh3x0r!
jak na to: dekompilovat ho na zdrojaky (treba pres swf catcher, stahnout nejdriv swf flash), podivat se na action script, je tam skoro na konci login i heslo, jinak pekny svinstvo, spousta zbytecnejch veci pro zmateni
level 3
typ: javascript
heslo: try2hackrawks
jak na to: login pres javascript, neda se kouknout na zdrojak. resenim je podivat se do tempu, soubor levels/javascript, tam je heslo + odkaz na dobrou a spatnou stranku
level 4
typ: java
login: appletking
heslo: pieceofcake
jak na to: nakonec docela jednoduchy, zadny dekompilovani, akorat se zase podivat do tempu, pretahnout soubor "level4", otevrit v txt editoru, tam je vsechno napsany :-)
level 5
typ: visual basic 3.0, program
login: Try2Hack
heslo: ILoveDodi
vysledek: URL pro dalsi level ;)
jak na to: tohle uz mi dalo docela zabrat - nejdriv musite stahnout knihovny pro rozbehnuti programu pokud je nemate. pak sem zkousel ruzny debuggery, winhexy a podobny vecicky, ale spravda cesta vedla jinam: dekompilovat pres nejakej softik program, ziskate zdrojovy kody. pak tady mate nekolik souboru, pricemz main.txt obsahuje definici konstant
' main.txt - global definitions
Global Const gc0006 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,:;-*+=~|&!_$#@()[]{}<\/>"
Global Const gc000A = "http://www.try2hack.nl/levels/level6-ksghvb.xhtml"
a level5.bas samotnej zdrojacek:
' LEVEL5.FRM
Option Explicit
Sub cmdLogin_Click ()
If edtUsername = Mid(gc0006, 56, 1) & Mid(gc0006, 28, 1) & Mid(gc0006, 35, 1) & Mid(gc0006, 3, 1) & Mid(gc0006, 44, 1) & Mid(gc0006, 11, 1) & Mid(gc0006, 13, 1) & Mid(gc0006, 21, 1) Then
If edtPassword = Mid(gc0006, 45, 1) & Mid(gc0006, 48, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 15, 1) & Mid(gc0006, 40, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 19, 1) Then
MsgBox "Level 6 can be found at: " & Left$(gc000A, 37) & Mid(gc0006, 21, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 29, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 12, 1) & Mid(gc0006, 14, 1) & Mid(gc000A, 44, 6), 0, "Horray!"
End
End If
End If
MsgBox "Invalid username and/or password!", 0, "ERROR!"
End Sub
Sub Form_Load ()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
End Sub
je tady pouzita funkce Mid, ktera vraci podretezec v nejakym retezci (retezec,pozice,pocet znaku). takze treba Mid(gc0006, 45, 1) znamena 45. znak v promenny gc0006, ktera je v tom prvnim souboru. takhle si musite hezky spocitat celej login a heslo a pak to jede... odmenou vam bude adresa stranky s dalsim levelem...
level 6
typ: visual basic 6, program
login: DABOMB
heslo: ENCRYPTIONRAWKS
jak na to: tady uz opravdu prituhuje. pro spusteni programu potrebujete Visual Basic 6 runtime jestli ho nemate. Po spusteni na vas vybafne celkem jednoduchy programek z policky pro prihlasovaci udaje + stavovy radek a nastaveni proxy serveru. Uz na prvni pohled je tedy zrejme ze se bude jednat o komunikaci pres internet, a opravdu, po vlozeni loginu a hesla dochazi k napojeni na server a zkontrolovani udaju. Nejdriv jsem si zjistil kam se program pripojuje: jedna se o IP adresu webu try2hack. dochazi tam tedy k nejake autentizaci. Jedinym zpusobem jak zjistit co se vlastne deje, je pouzit nejaky sniffer - ja osobne pouzivam "Ufasoft SnifMon", celkem sikovny programek. Vsechno tedy nastavite a sledujete jake pakety kudy tecou. Jeden z paketu je nekolikanosbne vetsi nez vsechny ostatni, tak se na nej podivame:
..vµFü..â_ĺh..E..5ŞĎ@.6..]>ŔČŔ¨.f.P.đo.„3ÜšíąP.ä vŽ..HTTP/1.1 200 OK.
Date: Sat, 22 Jan 2005 09:23:06 GMT.
Server: Apache.
Cache-Control: max-age=1296000.
Expires: Sun, 06 Feb 2005 09:23:06 GMT.
Last-Modified: Sun, 01 Jun 2003 20:37:04 GMT.
ETag: "1fb25-dc-3eda63f0".
Accept-Ranges: bytes.
Content-Length: 220.
Connection: close.
Content-Type: text/plain.
.
(ENCRYPTION TYPE)
B*C*N**N
(USERNAME)
aaabb aaaaa aaaab abbab ababb aaaab
(PASSWORD)
aabaa abbaa aaaba baaaa babba abbba baaba abaaa abbab abbaa baaaa aaaaa babaa abaab baaab
(PAGE)
babab aabab abaab abbab aabbb aaaba
Po hlavicce nasleduje cast o kterou nam jde - jedna se o zakodovane jmeno, heslo a stranku. Pod napisem ENCRYPTION TYPE muzete spatrit vyraz "B*C*N**N" - to je zkratka sifry BACONION. Staci trochu zagooglovat a hned tu mame neco vic o tyhle sifre. Jedna se vlastne o takovou specialni morseovku, akorat se misto tecek a carek pouziva pismen "a" a "b". Pokud jiz tohle vite, neni prilis tezke zakodovane prihlasovaci udaje rozlustit:
aaabb aaaaa aaaab abbab ababb aaaab
DABOMB
aabaa abbaa aaaba baaaa babba abbba baaba abaaa abbab abbaa baaaa aaaaa babaa abaab baaab
ENCRYPTIONRAWKS
pro rozlousknuti budete potrebovat tuhle sifru:
| A aaaaa | B aaaab | C aaaba | D aaabb | E aabaa | F aabab |
| G aabba | H aabbb | I abaaa | K abaab | L ababa | M ababb |
| N abbaa | O abbab | P abbba | Q abbbb | R baaaa | S baaab |
| T baaba | V baabb | W babaa | X babab | Y babba | Z babbb |
Zprava kterou dostaneme je nasledujici:
Auth successful. You can proceed here: http://www.try2hack.nl/levels/level7-xfkohc.php
To je vlastne vsechno, hura na dalsi level !
Level 7
typ: browser check
cil: pristoupit na URL z minuleho levelu s prohlizecem Microsoft Internet Explorer 7.66
jak na to: vzhledem k tomu ze zadny takovy prohlizec neexistuje, budeme udelat mensi podvod. Nejake modifikovani IE neprichazi v uvahu, ale je tu jedna mnohem snazsi cesta: telnet. Kdyz si vyzkousite pripojeni na web try2hack pres telnet, a pouzijete port 80 (pro web) zjistite ze se muzete v pohode na jejich web dostat. Pripojit se muzete treba take pres Netcat, coz je vyborny program pro podobne ucely. Pustime se tedy do toho:
c:\3>nc www.try2hack.nl 80 //pripojime se k webu try2hack na portu 80
GET /levels/level7-xfkohc.php HTTP/1.0 //chceme stranku s levelem 7
User-Agent: MSIE 7.66 //jako prohlizec nastavime Internet Explorer 7.66
Netcat nam vrati zdrojovy kod stranky. Je tady ale jeste dalsi zadrhel, web po nas chce UNIX nebo LINUX.
Browser check: OK!
OS check: Sorry, but you must use a unix or linux system
To by nemel byt zase az tak velky problem, jestli se trochu vyznate v protokolu HTTP:
c:\3>nc www.try2hack.nl 80
GET /levels/level7-xfkohc.php HTTP/1.0
User-Agent: MSIE 7.66;UNIX
Po zadani tohoto prikazu vam vsak server vrati dalsi chybovou hlasku:
Browser check:OK!
OS check:OK!
Link check:Sorry, but you must here from a link on the page: http://www.microsoft.com/ms.htm
Musime tedy na tuto stranku pristoupit z adresy http://www.microsoft.com/ms.htm. Jelikoz tato stranka vubec neexistuje, budeme muset udelat mensi podraz: opet to neni nic az tak zakerneho, pouzijeme HTTP referer: