티스토리 뷰
# 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(0, len(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 + * 를 통해 분석을 시작하면 된다.
'프로그래밍 > Python' 카테고리의 다른 글
spactrack 파싱 및 엑셀 저장 개발 (0) | 2021.02.06 |
---|---|
Pyinstaller 도구로 만들어진 파일(.exe) 디컴파일하기 (0) | 2018.07.26 |
정규표현식 전방탐색, 후방탐색 오류!?!? (0) | 2017.11.02 |
[Django]UnicodeEncodeError 발생 시 해결방법 (0) | 2017.10.09 |
[Django_Template] forloop 사용법 (0) | 2017.09.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- us-cert
- 스피어피싱
- 악성코드
- 비트코인
- MS-Office
- keylogger
- koodous
- Bisonal
- CVE-2018-0798
- Cisco Talos
- CVE-2018-9375
- cuckoo-sandbox
- AMSI
- Kimsuky
- 해킹메일
- vuln
- Decoding
- 출처 : Do it 안드로이드 프로그래밍
- infostealer
- 한글악성코드
- Static Analysis Engine
- VirusBulletin
- Yara
- 멋쟁이사자처럼 4기
- .wll
- 위협정보공유
- idapython
- Servey
- Flybits
- malware
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함