본문 바로가기
  • Tried. Failed. Logged.
728x90

FTZ9

FTZ - level 9 hint 다음은 /usr/bin/bof의 소스이다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); } } 이를 이용하여 level10의 권한을 얻어라. 버퍼 오버플로우에 관한 문제이다. fgets 함수로 사용자로부터 최대 40바이트 크기의 입력을 받고 있다. 문제는 buf2와 buf 변수의 사이즈는 10 밖에 안되기 때문에 버퍼가 오버플로우 돼서 프로그램.. 2023. 3. 15.
FTZ - level 8 with ChatGPT 오랜만에 FTZ를 풀어보기로 했다. 최근에 ChatGPT에 재미가 들려서 내가 많이 무지한 시스템 해킹에 관련한 질문들을 하면 챗봇 인공지능이 이해하기 쉬운 답변을 해줬는데 그 과정에 시스템 해킹에 흥미가 달아올라 다시 이어서 풀어보기로 한 것이다. 아무튼 level8에 로그인하여 힌트를 살펴보니 level9의 shadow 파일이 어딘가에 숨겨져 있다는 것과 사이즈는 2700이란 내용이다. shadow 파일이란? shadow 파일은 사용자 계정의 패스워드가 단방향 암호화인 해시 함수를 통해 암호화한 상태로 저장이 되는 아주 중요히 다뤄야 하는 파일이다. /etc/shadow 파일에 저장된다. 일반적으로 루트 권한만 열람이 가능하며, 일반 유저는 열어볼 수 없다. 사용자가 로그인을 할 때는 쉐도우 파일을 .. 2023. 3. 15.
FTZ - Level 7 /bin/level7를 실행시켜 보았더니 /bin/wrong.txt가 없다고만 계속 뜨고 다른 방법들도 사용해보았지만 아무런 소득을 얻을 수가 없었다.. 결국 검색을 해보았더니 vmware로 ftz를 설치하는 경우에는 /bin/wrong.txt 파일이 없다고 오류가 뜬다고 하네요. 실제 /bin/wrong.txt 파일안에는 아래와 같은 문자들이 있다고 합니다. --_--_- --____- ---_-__ --__-_- 딱 보아도 모스부호인거 같은데, 2진수를 10진수로 바꿀 수 있는가라는 힌트를 보니 이진수로 변환시켜 이를 10진수로 다시 변환해 아스키코드를 찾는 문제인가 봅니다. "-"는 1로 표시하고 "_"는 0으로 표시해서 이진수로 변환해서 윈도우10 계산기 중 프로그래머용으로 바꾸어 10진수로 변환.. 2021. 11. 30.
FTZ - Level 6 level6로 접속을 하니 갑자기 힌트가 출력되면서 텔넷 취약점을 이용하라고 한다. 저기서 를 치면 3가지 텔넷 서버가 출력이 된다. 저중 아무거나 접속 요청을 해보았는데 다들 요청만 하다가 putty가 아예 꺼져버린다. ctrl + c를 눌러 강제 종료 시그널을 날려 보았지만 방지가 되어있어서 쉽게 종료는 안 된다. 그밖에 다른 시그널 키도 넣어줘도 작동이 안된다. 단축키 기능 Ctrl + z 백그라운드 전환 Ctrl + d 정상 종료 Ctrl + c 강제 종료 하지만 텔넷 접속기가 실행 되기 이전에 힌트를 알려주는 구간에서 Ctrl + c를 눌러주게 되면? 정상적으로 힌트가 종료되면서 명령어 프롬프트가 나오게 된다. Level7의 비밀번호는 "come together" 2021. 11. 30.
FTZ - Level 5 hint는 /usr/bin/level5라는 프로그램은 /tmp 디렉토리에 level5.tmp라는 이름의 임시 파일을 생성한다. 라고 하는군요. 확인을 위해 /tmp 폴더로 이동을 해서 level5를 실행시켜봅시다. 하지만 프로그램을 실행 시켜도 tmp폴더에는 파일이 생성이 되지가 않았습니다. 알고 보니 이는 프로그램을 실행시키면, 파일을 생성과 동시에 삭제가 이루어졌기 때문인데요. 그러면 사라지기 전에 어서 빨리 파일의 내용을 가져올 수 있는 방법은 없을까요? 그것에는 많은 방법들이 있을 수 있지만, 이번 문제에서 원하는 방법은 심볼릭 링크를 이용한 파일 탈취 방법입니다. 심볼릭 링크는 마치 윈도의 바로가기랑 비슷하며, 링크 파일을 생성할 때 다른 파일을 가리켜 그 파일에 접근을 하는 게 가능합니다. 먼.. 2021. 11. 18.
FTZ - Level 4 Level 4입니다. 누군가가 /etc/xinetd.d/에 백도어를 심어놓았다고 알려주는군요. 폴더이름에 .d가 붙는 거 보면 아마 데몬 전용 폴더인 거 같군요. 서비스 관련 설정 폴더일 것으로 예상을 해봅니다. 그 폴더를 살펴보니 정말 의심스럽게 생긴 backdoor라는 파일이 하나 있네요. cat 명령어로 파일의 내용물을 살펴봅시다. service finger라는 것을 보면 finger 명령어의 서비스 설정인가 봅니다. finger는 현재 리눅스에 접속한 사용자의 정보들을 확인할 수 있는 명령어입니다. 위에 처럼 finger를 입력하니 누가 서버에 접속을 하였는지 사용자의 이름과 접속 시간, 아이피 등을 확인이 됩니다. 아무튼 다시 backdoor의 내용을 보면 user = level5라는 것을 보면.. 2021. 11. 17.
FTZ - Level 3 이번에는 Level 3입니다. 저번과 마찬가지로 hint를 봅시다. 힌트는 사용자에게 주소를 입력받아 dig 명령어로 dns 서버에게 아이피를 가져오는 프로그램의 소스입니다. 이를 이용하여 level4의 권한을 얻으라고 하네요. 아래에는 또 동시에 여러 명령어를 사용하려면? 문자열 형태로 명령어를 전달하려면?이라는 추가 힌트가 있습니다. 이번에도 마찬가지로 find로 level 4 권한의 파일들이 뭐가있나 들여다봅시다. /bin/autodig라는 프로그램이 있군요. 실행을 시켜보니 /bin/autodig 뒤에 호스트 인자를 넣으라고 알려주는군요. 이곳에 임의의 아이피를 넣어봅시다. /bin/autodig 8.8.8.8을 넣으니 dig 명령어가 정상적으로 작동을 하여 화면에 결과를 출력을 시켜주는군요. 이.. 2021. 11. 17.
FTZ - Level 2 이전과 마찬가지로 level2에 로그인하여 hint에 대한 내용을 들여봐 봅시다. "텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데 ..."라는 힌트가 있군요. 여기서 말하는 텍스트 파일 편집은 vim 에디터를 말하는 것일껍니다. vi는 리눅스같은 CLI 환경에서 많이 유명한 텍스트 기반 파일 편집기인데요. 이 녀석에게는 명령어를 실행시키는 아주 특이한 기능도 포함하고 있습니다. 저희의 목표는 level3의 패스워드를 알아내는 것이므로, 이전과 똑같이 find 명령어를 사용해줍시다. 그러게 되면 /usr폴더에 있는 bin 폴더에 editor라는 실행 프로그램이 있는데 이것을 한번 들여다볼까요? ls /usr/bin/editor -al 위의 명령어로 editor의 세부 사항을 봅시다. 제일 왼쪽에 .. 2021. 11. 17.
FTZ - Level 1 FTZ putty 한글 깨짐 해결 방법 https://haerinn.tistory.com/79 [FTZ] 해커스쿨 FTZ 로컬 서버 구축하기 1. VMware Workstaion 설치 https://www.vmware.com/go/getworkstation-win https://gist.github.com/gopalindians/ec3f3076f185b98353f514b26ed76507 접속하여 시리얼 키 입력 2. FTZ Server 설치 https://drive.google.com/file/d/1krZs8e6QG_l_mxMI3eCY11F-l haerinn.tistory.com 레벨 1을 풀기 위해서는 level1 유저의 계정으로 로그인을 해야 합니다. 아이디 level1 비밀번호 level1 위의 테.. 2021. 11. 17.
728x90