본문 바로가기
HACKING/HACKERSCHOOL FTZ

hackerschool FTZ LEVEL 3, 4 문제 풀이!

by pharmerci 2021. 4. 6.
728x90

문제 계속 풀어볼게요 고고링~~

(답이 보이니께 보기 싫으신 분은 뒤로가기...ㅎㅅ)

 

3번

2번 풀때 나오던 password 보고 로그인을 해보자! 비밀번호 칠때 안보이니까 맨날 잘못쳐서 access denied 나와서 깜짝 놀랐다ㅋㅋㅋㅋ 암튼 암튼 로그인을 해서 ls-al로 hint가 있으려나.. 확인해보자! 역시나 hint가 있다.

 

 

 

 

 

cat 명령어로 hint의 내용을 뒤져보자 autodig라는 소스코드가 보인다! C언어로 작성되어 있는데! 추가 힌트도 있고 그렇다.

 

 

 

 

 

find 명령어로 autodig 파일 위치를 찾으러 가보즈아~

find / -user level4 -perm -4300 2>/dev/null이렇게! 명령어를 입력해보면

/bin/autodig에 setuid가 걸려있는 것을 확인할 수 있다.

그래서 쭉쭉 들어가서 ./autodig 명령어로 실행시키려고 하니까! 실행이 안된다. 그 이유는 인자값이 없어서 그렇다. 위에 코드 보면 인자값이 있었지요?? 그 인자값이 없어서 그런가 봅니다..

 

more hint를 이용해서

1. 동시에 여러 명령어를 사용하려면? 세미콜론을 사용해주어야 한다.

-> /bin/bash와 my-pass를 동시 명령어로 작성시켜야 하구나!

2. 문자열 형태로 명령어로 전달하려면? 큰따옴표를 이용해주어야 한다.

->"/bin/bash;my-pass" 이렇게 인자값을 전달하면 되는거 아닌가??

 

그래서 ./autodig "/bin/bash;my-pass" 이렇게 입력해봤다.

 

 

 

 

 

 

 

우왓! 이렇게 비밀번호가 나왔다.

 

 

 

 

4번

이제 조금.. 익숙해졌다.. 핳 역시나 또 level4 아이디로 입력해주고, 비밀번호는 3번에서 풀었던거 입력해주고~

ls -al 명령어로 또 볼만한 힌트가 있나 살펴보니 hint가 있었따.

 

 

 

 

 

cat 명령어로 hint 열어주면!? 누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!

네? 뭐라구요..!

 

 

 

빨리 백도어 심어놓은 곳으로 달려가보자

ls-al로 안에 있는 파일들을 살펴보니 backdoor 파일이 있다.

 

 

 

 

 

cat 명령어로 안에를 들여다보니까 finger 서비스로 실행되는 친구임을 알게 됐다.

user은 level5(setuid...!? 핳)이다.

server은 경로를 보니까 저 경로를 실행한다는 것이다..!

 

 

 

 

 

그러면 server에서 말한 경로를 쭉 따라가서 안에 내용물을 보니까 backdoor 파일이 안보인다. 후 새로 만들어보자

 

 

 

 

 

cat>backdoor.c 명령어로다가 들어가서 저렇게 입력해주고

저 코드는 my-pass를 system으로 만들게 하는 코드이다.

 

 

 

 

 

vi 어쩌구는 내가 코드를 잘못 입력해서 다시 수정한거..^^

gcc~ 코드를 이용해서 컴파일을 시키고 ls -al을 실행하면

backdoor.c 말고도 backdoor이라는 파일이 만들어진다.

 

 

 

 

 

finger 명령어를 이용해서 @localhost를 실행해주면 finger 서비스가 시작되면서 비밀번호가 짠! 하고 나온다

728x90