티스토리 뷰

728x90
반응형

[Malware analysis] KINU 전문가 자문 요청사항(한미동맹과 한중관계).hwp(CVE-2017-8291)


참조 
[보고서] 한글 파일에 숨어든 '고스트'
 > https://asec.ahnlab.com/1239

EPS 파일을 이용한 악성 한글 HWP 문서

> 링크 


취약점 발생 원인
CVE-2017-8291 취약점은 고스트스크립트 인터프리터가 .eqproc 함수에서 매개변수 타입 유효성을 검증하지 않아 피연산자 스택의 메모리 변조를 허용해 발생한다. 즉, 포스트스크립트를 이용하여 스택을 변조하여 공격 코드를 실행할 수 있다. 취약점은 gsdll32.dll에서 발생한다고 한다.

CVE-2017-8291

Cve-2017-8291 취약점은 그래픽 파일을 제공하기 위해 만들어진 EPS 파일을 이용한 취약점으로 EPS 포스트스크립트를 이용한다.




.Eps 내부 포스트스크립트 확인#1

(그림 1)을 살펴보면  KINU 전문가 자문 요청사항(한미동맹과 한중관계).hwp의 .eps를 보여주는 걸 알 수 있다.

그림 1 – .eps   

(그림 2)을 XOR 연산을 진행하는 걸 확인 할 수 있다.

그림 2 – XOR 디코딩 연산

(그림 3)은 xor 연산을 진행 후 또 16#00 XOR 연산에 대한 포스트스크립트를 확인 할 수 있다.

그림 3 – XOR 디코딩 연산  

<> 을 살펴보면 첫 부분의 1byte는 55로 PUSH EBP라는 것을 알 수 있으며, 쉘코드로 추정할 수 있다.

 

그림 4 – 쉘코드

취약점 분석 방법#1 와 같은 방법으로 분석 시 쉘코드만 삽입해서 진행하기 때문에 진행 시 accession violation 오류가 발생한 걸 알 수 있다.

gsdll32.dll을 이용하여 디버깅을 할 수 있는데 .hwp을 실행하게 되면 Gsdll32.dll 로드를 통해 gbb.exe 동작하는 것을 확인 할 수 있다.

즉, "gbb.exe" EPS 인터프리터를 Attach 해야된다. 상세분석은 블로그에 추후 올리겠다.

> https://jeongzzang.com/142

https://jeongzzang.com/165


gbb.exe - 한글과컴퓨터 제공 포스트스크립트 인터프리터, gsdll32.dll 로드해서 동작

gsdll32.dll - 고스트스크립트 인터프리터 핵심 라이브러리

gswin32.exe - 고스트스크립트 인터프리터 GUI 버전, gsdll32.dll 로드해서 동작

gswin32c.exe - 고스트스크립트 인터프리터 커맨드 버전, gsdll32.dll 로드해서 동작



728x90
반응형
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today