본문 바로가기

시스템 해킹100

level8 find / -name shadow 2>/dev/null을 하니/etc/shadow가 나온다.그래서 cd /etc을 입력ls -al shadow을 하니용량이 2700이 아니다.그럼 다시find / -size 2700c 2>/dev/null을 하니txt파일이 보인다.txt파일을 읽어보니 암호가 나온다. 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 와 같은 구조를 띄고 있다. 각각을 살펴보면 1 : 사용자명 2 : 패스워드 3 : 패스워드 파일 최종 수정일 4 : 패스워드 변경 최소일 5 : 패스워드 변경 최대일 6 : 패스워드 만료 경고 기간 7 : 패스워드 파기 기간 (패스워드 파기 후 계정 비활성 기간) 8 : 계정 만료 기간 9 : 예약 필드 와 같습니다. 패스워드를 존더리퍼라는 프로.. 2016. 9. 12.
level7 이 문제는 오류가 있다.cd /bin을 하면level7이라는 파일이 있고, 이를 실행하면패스워드를 입력하라고 한다.그런데 아무거나 입력했을때 힌트가 나와야 하는데wrong.txt가 없어서 힌트가 안나온다고 한다.이때 root의 계정으로 들어가서 wrong.txt를 만들어야 한다.그래서su root를 해서 패스워드 hackerschool을 치고 들어간다.그런 후, cat > wrong.txt를 해서인터넷에 떠도는 힌트를 치고나서 ctrl+d를 한다.그러면 level7을 다시 실행해서 password를 입력하면끝! break the world 2016. 9. 10.
level6 라고 넘어가면 어떤 것을 입력하든지 종료된다.따라서, hint가 나와있는 상황에서 Ctrlc+c를 해야 한다.이렇게 해서 ls -al 을 하면 password라는 파일이 나오는데,cat password를 하면 level7의 비밀번호가 나온다. come together 2016. 9. 10.
level5 쉬운 방법cd /usr/bin을 입력ls -al level5를 통해 level5라는 파일이 있음을 알 수 있는데, level6에게 SetUID가 걸려있다. cd /tmp를 입력하여 /tmp 디렉토리에 들어간 후,ls -al을 통해 파일을 확인하면, level5.tmp파일이 생성되지 않음을 알 수 있다.그렇다면, level5.tmp파일을 먼저 만들어 놓자.vi level5.tmp를 해도되고,cat > level5.tmp를 해도 된다.어떤 내용들을 입력한후, 다시 cd /usr/bin입력하여./level5을 실행하다.그리고 다시 cd /tmp로 들어가면level5.tmp에 level6의 권한으로 들어갔으니 level6의 패스워드가 써있는 임시 파일이 덤프된다. 두번째 방법 level5.tmp가 생성되고 삭제.. 2016. 9. 10.
level4 누군가 /etc/xinetd.d/에 백도어를 심어놓았다 /etc/xinetd.d/을 입력하니 이것이 directory라고 나온다. cd /etc/xinetd.d/을 하면 그 directory로 이동을 하고 ls -al을 입력하니 backdoor라는 파일이 나온다. cat backdoor을 입력해보니 Xinetd(Extended Internet Servieces daemon) 슈퍼데몬서비스 데몬들을 관장하는 데몬을 슈퍼데몬이라고한다. service finger //서비스 이름, /etc/services 파일에 등록된 이름과 같아야 한다. disable =no//xinetd의 제어를 받을 것인가를 결정 yes: 제어 안받아, no: 제어해줘 flags=REUSE socket_type=stream//사용하는 .. 2016. 9. 10.
level3 동시에 여러 명령어를 사용하는 방법 결론부터 얘기하자면 동시에 여러 명령어를 사용하기 위한 방법은 세미콘론(;)을 이용하는 것이다. 두개의 원하는 명령을 첫번째명령;두번째명령 이렇게 한번에 두가지 명령을 내릴 수 있는 것이다. 다음은 ls명령을 두번 실행시킨 화면이다. 세미콜론(;)을을 이해하는 부분에서 좀더 이해해야할 부분이다. 이는 절대 두개이상의 명령어를 동시에 실행하도록 하는 것이 아니다. 한줄에 두개의 명령어를 내리 것이라고 이해하여야 한다. 그림을 보면 알다시피 ls가 한번 실행된 결과가 출력이된 뒤에, 두번째 ls가 실행된 결과가 출력된다. 이는 앞의 명령어가 실행되고 종료된뒤 뒤의 명령어가 실행되는 순차적인 실행이다. 자 그럼 autodig 호스트명;my-pass를 실행해보자. 그런데 우리.. 2016. 9. 10.
level2 vi 편집기를 연다끌때는 :q 입력 :help iccf for information:q to exit:help or for on-line help:help version6 for version info vi편집기에서는 크게 1)텍스트 입력모드, 2)명령모드, 3)ex모드, 이 세가지의 모드로 나누어 진다. 위 화면에서 새로운 텍스트을 입력하기 시작하려면 "i"를 누르면 커서가 깜박거리면서 키보드의 입력을 기다리게 된다. 이것이 텍스트 입력모드 상태이다. 내용을 편집하다 명령모드로 가기위해서는 Esc를 누르면 커서를 이동할 수 있다(내용 편집중 방향키를 이용해서 커서를 이동시킬 수도 있었으나 vi편집기의 명령어들을 살펴보면 h(왼쪽), j(아래), k(위), l(오른쪽)등을 이용하여 커서를 옮길 수 있기 .. 2016. 9. 9.
level1 / (찾기 시작할 위치를 말한다. /는 전체를 뜻한다. /home하면 /home디렉토리만 찾게 될 것이다.) 레벨2의 권한으로 SetUID가 걸려있는 다시한번 확인할 수 있다. cf> 2>/dev/null은 Standard Error를 모두 휴지통에 버리라는 의미이다. cd /bin/ExecuteMe을 입력하면오류가 발생하고 ExecuteMe는 디렉토리가 아니라고 출력된다.cd /bin 까지 입력bin 폴더로 이동다시 한번에 /home/trainer2로 이동을 하려면cd /home/trainer2를 입력한다. 부분이 앞에 나옴.그 다음ls -al ExecuteMe명령을 통해 파일 확인ExecuteMe입력! 그다음/bin/bash를 해서 쉘을 따낸다.my-pass 입력하면level2의 비밀번호가 나온다. .. 2016. 9. 8.
trainer10 Local 해킹시 핵심이 되는 SetUID에 대하여 알아봅시다. Local 해킹?해킹에는 두가지가 있다.하나는 Remote해킹: 이것은 자신이 해킹하고자 하는 서버에 아이디를 가지고 있지 않을때, 아이디를 얻고자 시도하는 것을 말한다.다른 하나는 Local 해킹: 해킹하고자 하는 서버에 일반계정을 가지고 있을때, 관리자 권한(root)을 얻고자 시도하는 것 Remote 해킹방법엔 여러가지 방법이 있다.무작위로 아이디와 비밀번호를 입력하여 접속하는 방법에서 부터, 데몬의 취약점을 공략하는 방법심지어 게시판이나 방명록을 이용하여 접속하는 방법까지 수십가지가 넘는다. 하지만 우리에게 중요한건 Local 해킹이다.관리자 권한을 얻지 않는 한 해당 서버는 단지 그림의 떡이다.그런데 관리자 권한은 왜 얻는가?만약 .. 2016. 9. 6.