_ ls 명령어로 hint를 찾아 읽었다. 레벨이 올라갈 수록 hint를 읽었을 때 '이렇게 하면 되겠다!' 하는게 바로 떠오르지 않는다. /usr/bin/level5 프로그램이 /tmp 디렉토리에 level5.tmp라는 이름의 임시 파일을 생성한다고 한다. /usr/bin 디렉토리로 이동하여 level5 파일을 찾았다. 소유자는 level6인 것을 보아 활용해야 하는 파일이 맞다. 소유자에게는 모든 권한이 부여되어 있고, 그룹에게는 실행 권한, 아더에게는 아무런 권한도 없다. 나는 현재 level5의 권한을 가지고 있으므로 이 파일을 cat(read)하면 permission denied 오류가 난다. /tmp 디렉토리에 hint에서 이야기 한 level5.tmp가..
_ ls 명령어로 hint가 있는 것을 확인하였고 cat으로 읽어보았다. /etc/xinetd.d/에 누군가 백도어를 심어놓았다고 한다. * 백도어란 ? 서비스 기술자나 유지 보스 프로그래머들의 액세스 편의를 위해 만든 보안이 제거된 통로 또는 프로그래머의 실수로 만들어진 취약점을 일컷는 말 정상적인 인증 과정을 거치지 않고 운영체제나 프로그램에 접근 할 수 있게 함 level3까지 사용했던 find를 사용하여 setUID 권한을 가지고 소유자가 level5인 파일을 우선 찾아보았으나 찾지 못했다. cd 명렁어로 /etc/xindtd.d 디렉토리로 이동했고 ls -al 명령어로 backdoor 파일이 있는 것을 확인했다. 모두에게 읽기 권한만 부여되어 있고 소유자는 root ..
_ 먼저 ls 명령어로 hint가 있는지 찾았고 cat 명령어로 hint의 내용을 확인했다. _ int main(int argc, char **argv) argc는 main함수에 전달되는 인자의 갯수를 의미하고 **argv는 main함수에 전달되는 실제 정보를 의미한다. 포인터에 *이 다시 붙어있으므로 실제 문자열이 전달되는 것을 알 수 있었다. cmd[100] cmd 배열의 크기는 100으로 지정되어있다. if(argc!=2) 전달되는 인자가 2개가 아닐 경우에 if문이 실행되고 exit (0) 종료시킨다. strcpy( cmd, "dig @" ); strcat( cmd, argv[1] ); strcat( cmd, " version.bind chaos txt" ); strcpy는 ..
_ 먼저 ls -al로 힌트 파일이 있는 것을 확인했다. 힌트를 열긴했는데 무슨 말인가 싶었다. 새로운 텍스트 파일을 만들어야 하는지 기존 텍스트 파일을 편집하라는 건지 우선 touch로 level3를 만들어 봤는데 Permission denied 오류가 난다. 지금 보니까 텍스트 파일을 만드려면 level3.txt로 했어야 하는데 싶다. 혹시 이 폴더에 있나 싶어서 cat을 해봤는데 없다. level1을 풀이했던 과정을 따라가 보려고 find로 level3라는 이름과 setUID 권한을 동시에 가지는 파일을 찾았다. 여전히 Permission denied 파일이 너무 많다 ..! null로 리다이렉션 했더니 /usr/bin/editor만 남았다. find를..
Level 1 Id: level1 pwd: level1 Trainer10의 마지막에서 얻은 패스워드로 level 1에 들어옴 ls 명령어로 먼저 hint 파일을 찾았다. cat 명령어로 내용을 보니 setUID권한이 걸린 파일을 찾아야 한다. find 명령어로 SetUID 권한이 걸린 파일을 모두 찾았다. 권한이 일치하는 파일이 너무 많이 나와서 원하는 파일을 찾을 수가 없다. * find 명령어에서 user옵션을 사용하는 예시에는 찾으려는 이름 앞에 -가 안붙길래 -를 붙이고 말고의 차이가 무엇인지 궁금해서 찾아봤다. find -perm mode: 정확히 같은 권한을 가진 파일을 찾는다. find -perm -mode: 부여한 권한을 모두 만족하는 파일을 찾는다 find -pe..