티스토리 뷰

# BIN0004.eps_decom.bin 파일은 CVE-2013-0808 취약점으로 한글 파일(HWP) 내부에 악의적으로 조작된 EPS(Encapsulated PostScript) 코드이며, 내부에는 쉘코드가 담겨있다. 파일을 헥스 에디터로 열어본 결과 헥스(Hex) 값과 문자열(Char)이 뒤바껴있는 모습을 볼 수 있다. 일단 저 상태로 디버깅을 수행할 수 있는 방법이 있겠지만.. 생각이 안나서 스크립트(Python)를 이용해 변경했다.


# 스크립트 내용은 간단하다. 바이너리 값을 읽어 2Byte만큼 가져와 binascii 라이브러리의 unhexlify 함수를 이용해 헥스(Hex) 형태로 변경된 바이너리 값으로 새로운 파일을 바이너리 형태로 생성한다. 

1
2
3
4
5
6
7
8
9
10
11
from binascii import *
 
with open('BIN0004.eps_decom.bin''rb') as eps:
    read_eps = eps.read()
    bin_ = ''
    for index in range(0len(read_eps), 2):
        binary_data = c[index:index+2]
        bin_ += unhexlify(binary_data)
        
with open('change.bin''wb') as ch:
    ch.write(d)
cs


# 생성된 바이너리를 확인하면 다음과 같이 변경된 것을 확인 가능하다.


# 아래 과정부터는 올리디버거에서 쉘코드 및 덤프파일을 분석하기 위한 방법(왜 이러는지는 모른다..)이다. 

# 첫 번째로 아무 파일이나 디버거에 로드 후 오른쪽 마우스 클릭하고 Backup - Load backup from file을 누른 후 쉘코드 바이너리 파일을 로드한다.


# 오류 창은 가볍게 넘어가면 된다.


# Home Key를 누른다.


# Shift + End를 누른다.


# Alt + Backspace를 누른 뒤 Home Key를 누르고 Ctrl + * 를 통해 분석을 시작하면 된다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함