글
Cool EK sample analysis 4
4. EtQZAs.pdf 분석
요약: PDF 취약점을 이용하여 sR5L76pksF.exe 파일을 다운로드 및 실행하는 역할을 한다
4.1 PDF 파일에 삽입된 악성스크립트 확인
- PDFStreamDumper 를 이용하여 PDF 파일에 삽입된 악성스크립트를 확인한다
[그림 28] PDF 파일에 포함된 악성스크립트 확인
- 불필요한 값(보기 어렵게 하기 위해 삽입) 제거 및 스크립트 구성 확인
[그림 29] 악성스크립트 구조
① 악성 URL 값을 특정 변수에 저장한 부분
② 악성스크립트를 난독화하여 특정 부분에 저장한 부분
③ 난독화된 악성스크립트를 복호화하는 부분
4.2 악성스크립트 복호화 부분 분석
- 복호화 부분은 난독화된 데이터를 복호화 하는 Main 함수 부분과 분석을 어렵게 하기 위해
PDF 환경 변수 등을 사용하는 것이 특징이다.
[그림 30] 복호화 부분 분석
① 복호화된 스크립트를 PDF용 자바스크립트 양식인 app.변수에 저장한다
② xfa.host.numpages는 PDF 파일의 총 페이지수를 의미한다 하지만 스크립트 부분만을 분석하면
해당부분이 정의되지 않아 정상적으로 복호화가 불가능하다
ð 어도비리더로 문서를 실행하여 총 페이지수를 확인할 수 있다
③ eval 함수를 감추기 위해 문자열의 조합으로 특정변수에 eval(or app.eval)을 저장하여 실행한다
ð PDF 에서 alert 은 app.alert 으로 사용한다. 이처럼 PDF 스크립트 분석 시 자바스크립트 분석 환경에
맞추어 변환해 주어야 정상적인 값을 구할 수 있다
▶▶ ① 부분을 alert(aTXAca); 으로 수정하거나, ③ 부분을 수정하면 결과값을 확인할 수 있다
----------------------------------------------------------------------------------------------------------------------------
※ PDF 파일분석 시 Tip
- PDF에 삽입된 자바스크립트를 분석 시 <, >, &, &qout; 들은 아래처럼 변경해 주어야 한다
• < → <
• >, → >
• &, → “ “ (공백, 스페이스)
• &qout; → “
----------------------------------------------------------------------------------------------------------------------------
4.3 복호화된 스크립트 추가 분석
- [그림 30] ① 부분을 alert(aTXAca); 변경하여 실행시 아래와 같은 스크립트를 확인할 수 있다
- Main 함수와 그 안에서 사용되는 값들을 구하는 함수로 이루어져 있으며, [그림 31]에 ① 부분의 변수를 사용한다 (분석 시 ① 부분을 추가해 주어야 한다)
[그림 31] 1차 난독화 해지 시 스크립트 확인
① ①의 JDKPdPCkv 변수는 [그림 31]에 ①에서 정의되어 있는 것으로 악성코드가 존재하는 URL을 저장하고 있다
[그림 32] JDKPdPCkv 변수의 값
② ② 부분은 main함수에 의해 만들어진 값을 hnPgL 의 rawValue 값으로 저장한다
▶▶내용요약: shell 변수에 악성코드를 다운로드 하는 코드를 저장 후 오버플로우를 발생시키는
코드를 추가하여 hnPgL.rawValue로 저장한다
[참고] Malzilla 를 이용하면 shell 변수에 저장된 shellcode를 아래처럼 확인 할 수 있다
[그림 33] malzilla 를 이용한 shellcode 확인
- hnPgL 은 악성스크립트가 삽입되어 있는 Object 부분에 field 값으로 정의되어 있다
[그림 34] hnPgL - field
- PDF 파일을 실행 시 아래 [그림 35] 부분에 의해 악성스크립트에 의해 만들어진 값이 삽입되고
오버플로우가 발생되어 악성코드를 다운로드 한다
ð 해당 부분은 구글링을 통해 알게 된 정보를 참고하여 작성하였고, 잘못된 부분이 있을 수도 있다는 것을 참고하기 바란다
[그림 35] PDF 파일에서 hnPgL
☞ PDF 취약점 참고자료: http://ahnlabasec.tistory.com/579 (CVE-2010-0188)
※ 블로그의 특성상 Coolkit의 난독화 부분에 대해 다루었습니다. Cool EK의 전체 분석 보고서는 제가 활동하는 볼라벤 소모임의 블로그에서 보실 수 있습니다.
- 바로가기: http://thebolaven.tistory.com/entry/13차-문서-Cool-Exploit-Kit-분석
→ 한글때문에 바로가기가 안될 경우 '분석'까지 복사하여서 주소창에 붙여넣기하시면됩니다.
'Web Exploit Kit > Cool EK' 카테고리의 다른 글
Cool EK sample analysis 3 (0) | 2013.11.02 |
---|---|
Cool EK sample analysis 2 (0) | 2013.08.10 |
Cool EK sample analysis 1 (0) | 2013.08.10 |
Cool EK 소개 (Cool Exploit Kit) (0) | 2013.08.06 |