ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ctf-d] 파일에서 플래그를 찾아라.
    2022/Write-Ups 2022. 7. 25. 22:25

    1팀 김나연

     

     

    ftk imager에 넣어봤는데

    안 된다..

     

    파일 형식이 맞지 않나;..

    리눅스로 파일을 옮겨서 보자

     

    file 명령어로 제공된 문제 파일의 확장자를 보자.

    xz로 압축된 파일이다.

     

    그럼 확장자를 xz로 바꾸고 xz파일을 압축해제해보자.

     

    mv 명령어로 xz 로 파일 이름을 바꿔주고

    unxz 명령어로 압축을 해제해줬다.

    압축을 해줬지만 파일 목록을 보니 다시 확장자가 없는 파일이 생겼다.

    file 명령어로 파일을 확인해보니 

    이번에는 7-zip 압축 파일이다...

     

    7z 압축파일에는 뭐가 들었는지 보자.

    또 압축파일이다.

    size도 4.2GB로 크다.

     

    압축파일 관련된 공격이 뭐였는지 검색하다가

     

    Zip 폭탄(Zip bomb) 또는 압축 해제 폭탄(decompression bomb)이라 불리는 것이 있습니다. 겉보기에는 평범하고 작은 압축 파일이지만, 압축 해제를 시도하면 시스템이 감당하기 어려운 정도의 데이터가 쏟아져 나오는 악성 코드의 일종이지요. 이런 파일은 주로 보안 프로그램을 꺼 버리기 위해 사용됩니다. 안티바이러스 프로그램이 압축 파일을 검사하려 시도할 때, 압축 해제를 시도하는 순간 엄청난 데이터가 쏟아져 나오는 바람에 안티바이러스 프로그램이 이를 감당하지 못하고 종료되거나 혹은 사용자가 다운된 안티바이러스 프로그램을 꺼 버리게끔 유도하는 역할이지요. 아니면 직접적으로 시스템 다운을 일으키는 테러 또는 사보타주에 사용할 수도 있고요.

     

     

    그런데 플래그 값은 어떻게 구하는 건지...

    잘 모르겠어서 hxd로 열어보려고

    일단 7z 압축 파일은 윈도우로 가지고 왔다.

     

    검색해보니

    7zmanager라는 프로그램이 있길래 설치했다.

    7z manager로 보자.

     

    압축 파일을 열어보니 리눅스에서는 보이지 않던

    압축 크기, 원본 크기가 자세히 나왔다.

     

    그런데 선택된 파일(013.7z)만 압축 크기가 다르다.

    이건 열어보라는 의미 같은데

     

    013.7z에서 또 들어가니

    압축파일이 여러개 또 나왔다.

    여기서 0009.7z 파일이 압축된 크기가 다르다.

     

    저걸 타고 들어가보자.

     

     

     

    또 압축파일이다.

    이번에는 0000007.7z 파일이

    압축된 크기도 다르고 CRC도 다르다.

     

    CRC란?

    파일의 에러를 체크하는데 CRC가 사용된다. 

    CRC는 파일의 지문과 같다.

    (순환 중복 검사)

    정확성을 보장하기 위해 파일에 있는 모든 데이터를 바탕으로 만들어진 계산

    추출할 때 압축할 때 저장된 값과 비교함.

    두 값이 일치해야 함.

     

     

     

    0000000008.7 파일이 CRC값과 압축된 크기가 다르다.

     

    또 들어가보자.

     

    자 드디어 파일이다

    bomb_08이 CRC값과 압축된 크기가 다르다.

    이걸 외부로 추출해보자.

     

    bom_08 파일을 hxd로 열어봤는데

    전부 0값이다.

     

    리눅스로 값을 추출해보자.

     

    플래그 값 도출

    ASIS{f974da3203d155826974f4a66735a20b}

     

    출처: 

    https://gigglehd.com/gg/soft/5203828