파일을 다운로드 받으면 다음과 같은 문서를 확인할 수 있다. 

우선 Hint1이 docx를 비교하는 것이니 docx의 파일을 ZIP확장자로 변환하여 압축해제 해보았다.

media에 가보면 파일에 포함된 사진/영상/음악 등 멀티미디어파일들을 확인할 수 있다. 

이중에서 근데 우리 문서에 사진은 5개이다. 즉 하나가 이상한 파일인건데.. images6.emf를 검사해보면 열수없는 파일이라는 alert가 발생한다.

HXD로 열어보면 docx의 파일 시그니처를 가지는 것을 확인할 수 있다.

docx로 열어보면 2013이라는 붉은 문자를 확인할 수 있지만 이는 KEY가 아니다.

두번째 힌트를 사용할 때가 된거 같다. 무엇인가 헤드필드일거 같은 EXTRA_ENTRY_FIELD와 docx를 같이 구글에 검색하면 다음과 같은 게시글을 찾을 수 있다.

OOXML steganography을 수행하는 툴이 있다. 이를 활용하여 암호파일을 추출해보자

UNHIDE를 수행하였으나, 별다른 소득은 없었다.  

프로그램 설정에 AES KEY를 설정할 수 있는 Field가 있다. 아까 얻은 문자열인 2013을 KEY로 활용하여 Decrypt해보자

위와 같은 KEY를 얻을 수 있었다.

사진은 google의 검색화면이다. 중간중간에 빨간색의 픽셀이 보인다.

]

아주작게작게말이다.

이 값을 픽셀을 RGB값으로 보면 공통적으로 (255,0,X)이다. 파란색(B)는 값이 변하는데, 이를 문자열로 변환하면 유의미한 결과를 얻을 수 있을거 같다. 다음과 같은 python 코드를 활용하였다.

from PIL import Image

if __name__=="__main__" :

    im = Image.open("google.png")

    width,height = im.size

    W = (255, 255, 255)
    B = (0, 0, 0)
    candlist = list()

    for x in range(width) :
        for y in range(height) :
            r,g,b,ra = im.getpixel((x,y))
            if(r==255 and g==0) :
                candlist.append(chr(b))
    
    print(''.join(candlist))

다음과 같은 결과를 얻을 수 있었다.

다만 이는 KEY가 아니다. 순서가 틀린건데. 2015년이다. python2015이다.

사진은 EMMA Watson사진이다.

특별한거는 안보이는데, STEGSOLVE에서 흑백으로 돌려보니 제일위에 흑백의 연속된 픽셀들이 보인다.

흑색은 1, 백색은 0으로 해석해보자 다음과 같은 Python코드를 작성해서 이용했다.

from PIL import Image

if __name__=="__main__" :

    im = Image.open("solved.bmp")

    width,height = im.size

    W = (255, 255, 255)
    B = (0, 0, 0)
    candlist = list()

    answer=list()
    ans = ""
    for x in range(width) :
        if(im.getpixel((x,0))==W) :
            ans+="0"
        else :
            ans+="1"
        if(len(ans)==8) :
            answer.append(chr(int(ans,base=2)))
            ans=""
            
    print(''.join(answer))

KEY를 얻을 수 있었다. 

자료를 다운로드받으면 1~4.png와 steghide.jpg라는 파일을 얻을 수 있다.  steghide tool이 사용되었다는 것은 자료를 보고 알았다. google image검색을 통해서 4개의 공항사진이라는 것을 알았다.

1. Jose Marti International Airport
2. Hong Kong International Airport
3. Los Angeles International Airport
4. Toronto Lester B. Pearson International Airport

각각의 사진에 걸린 KEY가 공항이름인지 알았는데 그건 아닌거같다. 파일이 순서대로 주어진점(1,2,3,4.png)을 이용해서 문자열을 잇는거 같은데, 여러가지 검색하다가 이을만한 문자열을 발견했다. 공항에는 각각의 분류기호인 IATA기호가 있다. 

 

항공정보포탈시스템에 오신것을 환영합니다.

 

www.airportal.go.kr

각각의 공항은 다음과 같은 코드를 가지고 있다.

  • Jose Marti International Airport : HAV
  • Hong Kong International Airport : HKG
  • Los Angeles International Airport : LAX
  • Toronto Lester B.Pearson International Airport : YYZ

이를 이은 HAVHKGLAXYYZ가 steghide.jpg의 파일의 passphrase이다.

Key.txt의 내용은 다음과 같다.

 

pdf파일을 다운로드 할 수 있다. 파일은 암호화가 걸려있는데, 암호해제 사이트에서 암호를 해제한 pdf를 다운로드 받았다.

 

iLovePDF | Online PDF tools for PDF lovers

iLovePDF is an online service to work with PDF files completely free and easy to use. Merge PDF, split PDF, compress PDF, office to PDF, PDF to JPG and more!

www.ilovepdf.com

다운로드받은 암호화 해제된 pdf또한 다음처럼 password가 가려져있다.

다만 블럭을 잡아보면 아래와 같은 빈공간이 잡힌다.

notepad로 이동시켜보자

KEY를 획득할 수 있다.

자료를 다운로드받으면 확장자를 모르는 어떤 파일을 구할 수 있다. 시그니처의 확인을 위해서 HxD로 까보자

JPG 파일(FF D8)이다. 다음과 같은 사진이다.

사진들로 이루어져 있는데, 파일 중간에 원래사진이 아닌 글자로 쓴듯한 검정색 ZmxhZ3tuIWNldHJ5fQ 문자열이 있다. base64로 인코딩되어있음을 알수 있어 디코딩해주었다. 

Key를 얻을 수 있었다.

+ Recent posts