ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Study] CCE 2020 easyransom Writeup
    CTF/CCE 2020 2020. 11. 20. 22:07

    대회 당시에는 못풀었다가.. 다시 풀어봤던 문제이다.

    우선 주어진 주어진 flag.txt.easyransom 파일을 HxD로 열어보자.

     이 파일에 대해, 주어진 파일인 easyransome.exe 파일의 로직을 분석하여 해독하는 문제일 것이다.

     

    그럼 주어진 파일을 IDA로 확인해보자.

    랜섬웨어인 문제 파일의 특성 상

    (1)대상이 될 파일을 "읽고" (2)이 파일에 대해 일련의 작업을 한 후 (3) 기존 파일을 삭제

    하는 과정일 것이라고 생각해서 ReadFile 부분을 찾았다.

     수도코드로 보면 아래와 같다.

    파일을 읽은 후 반복문 쪽을 보면, 고정 값으로 XOR을 함을 알 수 있다. 그럼 그 특정 값이 무엇인지를 알아야 하는데,

    이를 추측할 수 있는 근거가 있다.

    랜섬웨어에 감염된 플래그파일을 다시 보면 bbd3131 이라는 부분이 cce2020과 유사한 형식이라는 것을 알 수 있다.

    따라서 cce2020 ^ X = bbd3131 인 것은데 X를 구하기 위해 b에c를 XOR 해보면 1이 나옴을 알 수 있다.

     

    따라서,

    encdata = "13 62 62 64 33 31 33 31 7A 46 6E 6E 65 69 32 30 30 31 32 35 34 78 73 35 6F 34 31 6C 32 7F 20 7C".split(" ")
    decdata = ""
    for i in range(len(encdata)) :
        x = int((encdata[i]), 16)
        x = x^0x01
        decdata+=chr(x)
    
    
    print(decdata)

    이라는 풀이 코드를 작성 했고 플래그를 획득 할 수 있었다.

    FLAG = cce2020{Goodh3110345yr4n50m3~!}

     

    -----------------------------------------------------------------------------------------------------------------------------------

    도움주신 리버스 엔지니어링 오픈카톡방의 "메쏘드오버라이딩" 님 감사합니다.

    반응형

    'CTF > CCE 2020' 카테고리의 다른 글

    [Clear] CCE2020 simple packet Writeup  (0) 2020.09.28
    [Clear] CCE2020 simple patch Writeup  (0) 2020.09.28
    [Clear] CCE2020 My Friend Writeup  (0) 2020.09.28
    [Clear] CCE2020 simple botnet Writeup  (0) 2020.09.28

    댓글

Designed by Tistory.