검색결과 리스트
Web Exploit Kit/Cool EK에 해당되는 글 5건
- 2013.11.02 Cool EK sample analysis 4
- 2013.11.02 Cool EK sample analysis 3
- 2013.08.10 Cool EK sample analysis 2
- 2013.08.10 Cool EK sample analysis 1
- 2013.08.06 Cool EK 소개 (Cool Exploit Kit)
글
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 |
글
Cool EK sample analysis 3
3.1 Pdfx.html 분석
요약: Pdfx.html 은 fnts.html 로 연결(웹폰트취약점) 및 EtQZAs.pdf 파일(PDF취약점)을 다운로드 하는 역활을 하며, Microsoft help 사이트로 위장하는 부분과 악성스크립트 부분으로 이루어져 있다
[그림 16] Pdfx.html 구조
[그림 17] Pdfx.html 실행 및 링크 클릭 시 보여지는 화면
3.1.1 악성스크립트 부분 분석
- [그림 18] 의 ① 부분은 현재 페이지에 있는 iframe 내 요소에 접근하기 위해 사용한다
ð 형태: document.getElementById("puykjo").contentWindow.document.getElementById("rhdc");
- ID가 ‘puykjo’ 인 iframe 에서 ‘rhdc’ 요소의 값을 가져와 ‘bexzpll’ 변수에 저장한다
- ② 부분에서 ‘bexzpll’ 변수를 parseInt 와 String.fromCharCode 함수를 이용하여 ‘ftgfk’ 변수에
문자열로 저장 후 eval 함수로 실행한다
[그림 18] Pdfx.html 악성스크립트 분석
- Microsoft help 사이트 코드 영역에서 ID가 ‘puykjo’ 인 iframe 을 확인할 수 있다
[그림 19] iframe 확인
- xbje.html 의 코드 확인 시 ‘rhdc’ 요소의 value 값을 확인할 수 있다
[그림 20] xbje.html 코드의 id 확인
- 난독화된 데이터 부분과 복호화 스크립트를 정리하면 [그림 21] 과 같다
[그림 21] 간단하게 정리된 악성스크립트
- Pdfx.html 복호화 결과
ð Iframe 에 의해 fnts.html 이동 및 사용자의 pdf 버전에 의해 EtQZAs.pdf 실행
[그림 22] Pdfx.html 복호화 결과 화면
3.2 fnts.html 분석
요약: fnts.html 은 IgqaRKnXz.eot 파일을 불러와 div tag 의 :) 값에 폰트를 적용하도록 되어있으며, CVE-2011-3402 취약점을 이용하여 z297U9DAuM.exe 파일을 실행하는 역할을 한다
[그림 23] fnts.html 코드 화면
① 웹 폰트 사용시 불러오는 방법 중 하나로 IgqaRKnXz.eot 파일을 불러온다
ð Style tag 에서 #으로 기술하면 id로 지정 시 적용된다 (#MRnAKouG 기술)
② Div Tag 에서 style 을 id=’MRnAKouG’ 로 하여 ①에서 불러온 웹폰트를 사용한다
ð 이 과정에서 조작된 eot 파일에 의해 취약점이 발생한다
③ div Tag 의 값으로 웹 페이지에 나타나는 부분이다
ð 해당 페이지를 실행시키면 아무것도 보이지 않는데 그 이유는 IgqaRKnXz.eot 글꼴에서는’:’ 와 ’)’
문자가 공백으로 표시되기 때문이다 (IgqaRKnXz.eot 분석내용 참조)
v Web Font 적용 실습 및 정상동작 여부확인 (APM setup 이용)
- fnts.html 의 url 부분을 네이버에서 무료로 제공하는 나눔고딕 eot 파일로 설정
- 동일한 내용으로 웹폰트가 적용되는 부분과 적용되지 않는 부분을 작성하여 실행
[그림 24] 웹폰트 TEST
- 아래의 그림처럼 웹폰트가 정상적으로 적용되는 것을 확인 (위의 글자에 적용된 것이 확인됨)
[그림 25] 웹폰트 TEST 결과 화면
3.3 lgqaRknXz.eot 분석
요약: CVE-2011-3402 취약점이 존재한다면, 웹폰트 취약점에 의해 sRSL76pksF.exe 파일을 다운로드 및 실행된다
하지만 샘플에서는 취약점이 존재하지 않아 이로 인한 악성코드 감염은 없었다
☞ lgqaRknXz.eot 파일분석을 시도하였지만, 관련 정보가 부족하여 분석에 어려움을 겪고 있다.
하지만 파일 분석을 위한 힌트를 얻을 수 있었고 분석은 현재 진행이다
- eotinfo 를 이용한 기본 정보 확인 (ubuntu tool 사용)
[그림 26] lgqaRknXz.eot 기본 정보
- lgqaRknXz.eot 웹폰트 적용 시 글꼴 확인
ð 기본 글꼴과 동일하지만 ‘:)’ 이 공백으로 표시되는 것을 확인 할 수 있다. 실제 악성 eot가 적용된
Fnts.html 페이지는 사용자에게 빈 페이지로 보일 것이다
[그림 27] lgqaRknXz.eot 웹폰트 적용 화면
※ eot 파일 분석에 관하여
eot 파일 분석을 위해서는 먼저 폰트 파일(ttf)로 변환해야 한다고 한다. 하지만 변환하는 방법은 찾을 수 없었고, 폰트파일은 라이센스가 있기 때문에 웹폰트를 무단으로 ttf 형식으로 변환하여 사용하는 것은 불법행위이기 때문에 내용이 공식적으로 언급이 되지 않은 것 같다
(ttf -> eot 변환 툴은 많음)
그 외 에도 실행 시 iexplore 를 ollyDbg 에 Attach 시켜 변환 알고리즘을 알아내는 방법이 있다.
'Web Exploit Kit > Cool EK' 카테고리의 다른 글
Cool EK sample analysis 4 (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 |
글
Cool EK sample analysis 2
2.1 Main.html 분석
요약: Main.html 은 pdfx.html 페이지로 유도하는 역할을 하며, Yahoo 와 관련된 사이트로 위장하는 부분과 PluginDetect 0.8.0 실행 부분, 그리고 악성스크립트 부분으로 이루어져 있다
[그림 5] main.html 구조
2.2.1 PluginDetect 0.8.0 정보
PluginDetect 부분은 블랙홀 툴킷에서 자주 보았던 부분으로 java, pdf, flash 등 다양한Plugin 정보를 수집해 주는 스크립트다. 이 수집된 정보를 통해 공격코드에서 취약점이 존재하는 부분을 공격하여 악성 행위를 하게 된다
해당 스크립트는 아래의 사이트에서 누구나 쉽게 원하는 부분만 포함하여 제작할 수 있다
- http://www.pinlady.net/PluginDetectArchive/0.8.0/download/
2.2.2 악성스크립트 부분 분석
- [그림 11] 의 ① 부분은 현재 페이지에 있는 iframe 내 요소에 접근하기 위해 사용한다
ð 형태: document.getElementById("rvvet").contentWindow.document.getElementById("wtgsnrps");
- ID가 ‘rvvet’ 인 iframe 에서 ‘wtgsnrps’ 요소의 값을 가져와 ‘kbbdtb’ 변수에 저장한다
- ② 부분에서 ‘kbbdtb’ 변수를 parseInt 와 String.fromCharCode 함수를 이용하여 ‘bsywkm’ 변수에 문자열로 저장 후 eval 함수로 실행한다
[그림 6] main.html 악성스크립트 분석
- Yahoo 관련 사이트 위장 부분에서 ID가 ‘rvvet’ 인 iframe 을 확인할 수 있다
[그림 7] iframe 확인
- Ntdfitt.html 의 코드 확인 시 ‘wtgsnrps’ 요소의 value 값을 확인할 수 있다
[그림 8] Ntdfitt.html 코드의 id 확인
※ 분석 시 main.html 과 같은 폴더에 Ntdfitt.htm 파일이 있다면, [그림 11] 에서 eval 을 alert 으로 변경하여도 복호화된 값을 확인 가능
- 난독화된 데이터 부분과 복호화 스크립트를 정리하면 [그림 14] 와 같다
[그림 9] 간단하게 정리된 악성스크립트
- main.html 복호화 결과
ð 사용자의 Java 버전에 의해 pdfx.html 으로 이동
[그림 10] main.html 복호화 결과 화면
'Web Exploit Kit > Cool EK' 카테고리의 다른 글
Cool EK sample analysis 4 (0) | 2013.11.02 |
---|---|
Cool EK sample analysis 3 (0) | 2013.11.02 |
Cool EK sample analysis 1 (0) | 2013.08.10 |
Cool EK 소개 (Cool Exploit Kit) (0) | 2013.08.06 |
글
Cool EK sample analysis 1
q Cool EK sample analysis
1. Cool EK 흐름도
6월 말 국내에서 탐지된 Cool EK 분석 결과, 위/변조된 사이트 접속 시 난독화된 경유지로 이동 후 PDF 취약점과 EOT(웹폰트) 취약점을 이용하여 악성코드를 유포하였다
[그림 1] Cool EK 흐름도
2. Cool EK 난독화 분석
2.1 www.kixxx.com (위/변조 사이트) 분석
요약: 정상 사이트가 위/변조되어 HTML Tag 상단 부분에 악성스크립트 삽입된 것으로 확인되며, Main.html 페이지로 이동시키는 역할을 한다
- [그림 7] 에서 HTML Tag 가 시작 전 비정상적으로 스크립트가 삽입된 것을 확인
[그림 2] 위/변조 사이트에 삽입된 악성스크립트
- 스크립트 부분 정리 후 실행함수 eval 을 alert 으로 수정하여 복호화된 스크립트를 확인
[그림 3] 악성 스크립트 분석
※ 쉽게 복호화된 스크립트를 보기 위해 데이터가 실행되는 부분을 문자열로 나타내어 주었다
※ 스크립트 내용: a를 “,” 기준으로 배열(split 이용)로 만들고, 8진수 값들을 10진수로 변경 후 4를 뺀다. 그리고 String.fromCharCode 를 이용하여 문자열로 변환 후 eval 함수로 실행한다
- Alert 결과 창에서 악성코드 유포 중간 경유지를 확인 할 수 있다
[그림 4] alert 결과 화면
'Web Exploit Kit > Cool EK' 카테고리의 다른 글
Cool EK sample analysis 4 (0) | 2013.11.02 |
---|---|
Cool EK sample analysis 3 (0) | 2013.11.02 |
Cool EK sample analysis 2 (0) | 2013.08.10 |
Cool EK 소개 (Cool Exploit Kit) (0) | 2013.08.06 |
글
Cool EK 소개 (Cool Exploit Kit)
q Cool EK 소개
1. History
1) Cool EK 는 BlackHole EK 를 제작한 해킹 그룹(러시아, Leader: Paunch)에서 만들어 졌다고 한다
2) BlackHole EK 는 1달에 $500 인 반면, Cool EK 는 1달에 $100,000 로 알려져 있다 (really?)
3) Cool EK 는 CVE-2011-3402 EOT (Embedded OpenType) 파일 취약점을 사용한다 (EOT à 웹폰트)
4) CVE-2011-3402 는 EOT 취약점을 이용하고, Duqu 라고 불려지고 있으며 특정 표식을 남긴다
☞ 출처: By Brian Krebs, malware dontneedcoffee
2. Cool EK 패턴
1) CVE-2011-3402 EOT 파일 취약점에서 확인되는 특정 패턴
- 코드 내부에 .eot 파일 뒷부분에 ‘duqu’ 라는 문자열과 :) 스마일 표식을 남긴다
[그림 1] Cool EK 특정 패턴
- Duqu 는 2011 9월 1일 처음 발견 되었으며, Stuxnet Worm 과 연관성이 있다
[그림 2] Duqu Information
2) 실제 패킷에서 탐지된 패킷 확인
- IgqaRKnXz.eot 코드 뒷부분에 ‘duqu’ 라는 문자열 대신 #MRnAKouG 문자열을 남겼지만 스마일 표식 :) 은 동일하게 남기고 있다
* 위 조사한 내용으로 볼 때 아래 패킷은 CVE-2011-3402 를 이용한 Cool EK 라고 할 수 있겠다
[그림 3] 탐지된 패킷에서 특정 문자열 확인
## Cool EK 에 대한 참고 사이트
http://malware.dontneedcoffee.com/2012/10/newcoolek.html
http://yomuds.blogspot.fr/2012/11/cve-2011-3402-and-cool-exploit-kit_28.html
https://krebsonsecurity.com/2013/01/crimeware-author-funds-exploit-buying-spree
http://en.wikipedia.org/wiki/Duqu
https://media.blackhat.com/bh-eu-12/Lee/bh-eu-12-Lee-GDI_Font_Fuzzing-Slides.pdf
http://threatpost.com/cool-blackhole-exploit-kits-created-same-hacker-010913
'Web Exploit Kit > Cool EK' 카테고리의 다른 글
Cool EK sample analysis 4 (0) | 2013.11.02 |
---|---|
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 |