eli_ez3r
eli_ez3r
eli_ez3r
전체 방문자
오늘
어제
  • 분류 전체보기 (202)
    • 0x01 끄적끄적 :) (57)
      • Network (5)
      • Security (14)
      • Reversing (2)
      • Forensic (5)
      • Operation System (10)
      • Development (10)
      • Solution (7)
      • 보안 상식 (3)
    • 0x02 Study :) (127)
      • Pwnable (59)
      • Webhacking (56)
      • Reversing (11)
      • Machine Learning (1)
    • 0x03 ETC :) (16)
      • IT Unpacking (5)
      • IT Information (1)
      • Enjoy (4)
      • Etc (6)
    • Admin :) (0)
      • 0x01 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • github.io 블로그 개설

인기 글

태그

  • write
  • 과정
  • web
  • hacking
  • 메모리
  • 암호
  • 문제풀이
  • hack
  • 풀이
  • attack
  • 해커
  • LEVEL
  • 스쿨
  • 패스워드
  • LOB
  • password
  • school
  • overflow
  • webhacking.kr
  • 오버플로우
  • 공격
  • BOF
  • 해킹
  • pwnable
  • Up
  • buffer
  • hakcing
  • hacker
  • 문제
  • 설명

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
eli_ez3r

eli_ez3r

[해커스쿨] FTZ level8 풀이과정
0x02 Study :)/Pwnable

[해커스쿨] FTZ level8 풀이과정

2017. 1. 11. 20:24


힌트를 보자...



용량이 2700크기의 파일을 찾으면 될것같다.


find 명령어를 시용하면 될것 같은데... 앞에선 permision과 user에 대한 옵션만 사용했을뿐... 용량에 관한 검색은 모르겠다...


당연.. find 명령어 옵션에 대해 검색해보자.


- 빈 파일(크기가 0 인 파일) 찾기

   find / -empty -print | more

      또는

   find / -size 0 -print | more


- 파일 크기가 100M 이상인 파일을 찾기

   find / -size +102400k -print | xargs ls -hl 


이런 글을 찾게 되었다. 저기서 more이라는 명령어는 페이지 단위별로 출력하는 명령어 이다.


xargs에 대한 내용은 (http://www.dreamy.pe.kr/zbxe/CodeClip/164220) 글을 참고하자.



검색했던 명령어대로 검색해보니 아무것도 나타나지 않았다.


그런데 뭔가 이상했다. 파일 크기가 100M이상인 파일은 파일 사이즈 뒤에 k라는 문자가 붙어진다.


검색해보니 KB(Kbytes) 는 k를 붙이고 bytes는 c를 붙인다.



검색되었다. 사이즈가 2700인 파일은 총 4개 있었는데... 딱보니 found.txt라는 파일이 보인다.


해당 파일을 열어 보자.



그림 처럼 "level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524" 라는 문자열이 반복된다.


근데 저 문자열을 어디서 많이 본거 같지 않은가?


root 게정으로 접속해서 /etc/shadow 파일을 봐보면 알 수 있다.



다음 그림처럼 각 계정의 정보들이 /etc/shadow 파일에 존재한다.


그럼 shadow 파일에 대해 알아보자.


 root:$1$9L2L0oTwd:12751:0:99999:7 : : :

    ①:          ②      :   ③  :④:  ⑤  :⑥:⑦:⑧:⑨


① 필드 1 : 사용자명

② 필드 2 : 패스워드

③ 필드 3 : 패스워드 파일 최종 수정일

④ 필드 4 : 패스워드 변경 최소일

⑤ 필드 5 : 패스워드 변경 최대일

⑥ 필드 6 : 패스워드 만료 경고기간

⑦ 필드 7 : 패스워드 파기 기간(패스워드 파기후 게정 비활성 기간)

⑧ 필드 8 : 계정 만료 기간

⑨ 필드 9 : 예약 필드 


우리가 알고 싶은 것은 당연 패스워드 부분일 것이다.


"level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524"


level9의 패스워드 필드는 "$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps." 이 부분이다.


이것을 JohnTheRiper라는 툴로 크랙해보자.



http://www.openwall.com/john 에서 다운 받을 수 있다.



John the Ripper를 다운 받은 폴더에 pass.txt 라는 파일을 만들고 그 안에 level9의 패스워드로 추정되는 암호화된 문자를 집어넣고 저장하자.




John the Ripper 를 이용하여 크랙해보면 level9에 대한 password를 알아낼 수 있을 것이다.


저작자표시 비영리 변경금지 (새창열림)
    '0x02 Study :)/Pwnable' 카테고리의 다른 글
    • [해커스쿨] FTZ level10 풀이과정
    • [해커스쿨] FTZ level9 풀이과정
    • [해커스쿨] FTZ level7 풀이과정
    • [해커스쿨] FTZ level6 풀이과정
    eli_ez3r
    eli_ez3r

    티스토리툴바