level 1
level 1의 비밀번호는 level1
우선 정보를 모으기 위해 ls -al을 해 보았더니 hint라는 파일이 있어서 cat명령어를 사용하여 출력해보았다.
이렇게 힌트가 떴다. setuid라고?
Set 이란 말은 "변경하다" 란 뜻을 가지고 있고, UID는 User ID의 약자이다.
설명하면 SetUID는 일시적으로 자신의 ID를 변경하는 것을 말한다.
자신의 암호를 변경하는 passwd 파일에 루트 권한의 SetUID가 걸려있어서
일반 사용자들이 그 passwd 파일을 실행하는 동안에는 "루트로의 일시적인 아이디 변경" 이 되는것이다.
SetUID가 걸린 파일을 찾는 명령어는
find / -user level2 -perm -4000 2> /dev/null 이다.
2> /dev/null : 오류는 /dev/null 파일에 담으라는 뜻
/bin/ExcuteMe 라는 이름의 파일이 떠서 실행시켜보면
my-pass 는 현재 자신의 비밀번호를 볼 수 있는 명령어 이고
chmod는 디렉토리나 파일의 권한을 바꿔주는 명령어 이다.
아무런 제한이 없다면 저 두 명령어를 쓰는것이 젤 쉽겠지만 안된다고 하니 다른 방법을 찾아보자.
내가 약간 희한하게 푼 것같기는 한데 /etc/passwd 에 사용자의 비밀번호가 기록되어 있다고해서 찾아봤더니
많은 것들 중 level2의 쉘이 /bin/bash인 걸 알 수 있다.
그래서 level2의 권한으로 명령어를 하나 실행할 수 있을때 /bin/bash를 사용해서 level 2의 쉘을 열기로 했고
level2의 쉘을 따게 되었당!!!
level 2
level 2의 비밀번호는 hacker or cracker
hint에서는 텍스트 파일 도중 쉘 명령어를 실행 시킬 수 있다고 해서
일단 level3의 setuid를 가진 파일을 찾아봤다.
find / -user level3 -perm -4000 2> /dev/null 명령어를 쳤더니
/usr/bin/editor가 떠서 실행시켜 보았더니 vim파일이었다.
구글에서 파일 편집 도중 명령어를 사용하려면 !를 붙이고 실행시켜야 한다고 했다.
level3:x:3003:3003:Level 3:/home/level3:/bin/bash
level3 또한 쉘의 종류가 bash여서 :! /bin/bash라고 했더니 level3을 들어가졌다.
/usr/bin/editor가 level3의 setuid를 갖고 있는 파일이었기 때문에 level3의 권한으로 level3의 쉘이 들어갈 수 있었다.
level3
level 3의 비밀번호는 can you fly?
힌트에는 autodig의 소스와 more hints 로
1)동시에 여러 명령어를 사용하려면?
2) 문자열 형태로 명령어를 전달하려면?
이 있었다.
문제를 풀기 전에 저 more hints에 대한것을 찾아봤는데
- 동시에 여러 명령어를 사용하려면?
; - 앞의 명령어가 실패해도 다음 명령어가 실행
&& - 앞의 명령어가 성공했을 때 다음 명령어가 실행
& - 앞의 명령어를 백그라운드로 돌리고 동시에 뒤의 명령어를 실행
- 문자열 형태로 명령어를 전달하려면?
쉘 스크립트 : 쉘 명령어가 담긴 파일
"asdf asdf" <-이렇게
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char **argv){ char cmd[100]; if( argc!=2 ){ printf( "Auto Digger Version 0.9\n" ); printf( "Usage : %s host\n", argv[0] ); exit(0); } strcpy( cmd, "dig @" ); strcat( cmd, argv[1] ); strcat( cmd, " version.bind chaos txt"); system( cmd ); } | cs |
'@C언어 : Layer7' 카테고리의 다른 글
2018년에 한것..(?) (0) | 2018.12.24 |
---|---|
PLT,GOT와 동적 라이브러리 (0) | 2018.10.23 |
Git 사용 보고서 (1) | 2018.06.08 |
너의 타자소리가 들려 (0) | 2018.05.23 |
구조체 예제 (0) | 2018.05.15 |