검색결과 리스트
Web Exploit Kit에 해당되는 글 16건
- 2013.08.06 Cool EK 소개 (Cool Exploit Kit)
- 2013.05.15 사쿠라 툴킷 난독화 풀이 2
- 2013.05.03 Dadong’s JSXX 0.44 VIP 툴 소개 76
- 2013.05.03 Dadong’s JSXX 0.44 VIP Part III
- 2013.04.28 Dadong’s JSXX 0.44 VIP Part II
- 2013.04.28 Dadong’s JSXX 0.44 VIP Part I 2
글
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 |
글
사쿠라 툴킷 난독화 풀이
사쿠라 툴킷 난독화 풀이
1. Sakura Exploit Toolkit 이란?
악성코드 유포에 이용되는 Web exploit Toolkit 중 하나이다. 국내에서는 많이 알려져 있지 않지만, 2012년 이뤄진 사이버 공격 유형에서 2위(22%)를 차지하고 있다. 블랙홀 툴킷과 마찬가지고 pdf, java 등 다양한 취약점을 이용한다.
[그림 1] 2012년 발생한 툴킷 유형 (ETNEWS 기사 내용 중)
2. Sakura Toolkit의 난독화
지인을 통하여 구하게 된 사쿠라 툴킷 샘플은 JAVA 취약점을 이용한 부분만 분석이 가능하였다.
Html의 input tag의 value 값을 자바스크립트의 함수로 복호화 하는 형식을 기본적으로 가지고 있으며, 독특한 점 스크립트의 특정 데이터를 자바(.Jar)파일의 Main.Class에서 복호화하여 동작하는 것이다.
3. Sakura Toolkit의 난독화 분석
분석한 샘플은 지인(설원)이 제공해준 것으로 사쿠라 툴킷 중 일부에 대한 것이며 분석 시 악성 URL은 재현되지 않아 가능한 부분만 분석하였다.
3.1 Sakura Toolkit의 구조
[그림 2] Sakura Toolkit의 구조
3.2 난독화 스크립트 분석
3.2.1 난독화 분석 1차 (‘데이터 A’ 부분 분석)
[그림 3] ‘데이터 A’ 부분과 관련 스크립트 정리
1) ‘데이터 A’ 부분과 ‘데이터 A’ 복호화 스크립트 부분만 분리한다.
2) input 부분의 value를 function hyurls(n)으로 복호화하는 형태로 구성되어 있다.
3) 복호화된 데이터가 q 변수에 저장되기 때문에 그림에서 ① 방법 또는 ② 방법으로 값에
저장되는 데이터를 확인 할 수 있다.
[그림 4] ‘데이터 A’ 부분 복호화 결과
3.2.2 난독화 분석 2차
- ‘데이터 A’ 복호화된 부분 추가 분석
[그림 5] 1차 결과 추가 분석
1) ‘데이터 A’ 복호화 부분은 if절을 사용하여 java 버전에 따라 동작하도록 구성되어 있다
2) document.write를 사용하고 있고, 빨간 박스 부분은 base64로 인코딩되어 있다.
- base64 decoding
[그림 6] malzilla를 이용한 base64 decoding
- document.write 적용 후 정리
[그림 7] document.write와 base64 디코딩 후 모습
1) 정리된 데이터를 보면 ②의 value 값 난독화된 문자로 된 것을 확인 할 수 있다.
2) ①의 부분을 보고 Main.class에서 해당 부분을 복호화 한다는 힌트를 얻을 수 있었다
- Java Decompiler를 이용한 Main.class 분석
[그림 8] Java Decompiler로 Main.class 확인
1) 샘플에 포함된 자바(.jar)파일을 Java Decompiler로 확인한다.
2) Main.class 확인 시 복호화 시 이용될 듯한 함수를 찾을 수 있었다.
3) ①의 부분을 보고 Main.class에서 해당 부분을 복호화 한다는 힌트를 얻을 수 있었다
- Main.class 코드를 이용한 난독화 해지
[그림 9] 코드 수정
1) 자바스크립트로 복호화를 하기 위해 Main.class의 함수를 [그림 9] 처럼 수정한다.
2) 난독화된 데이터를 s 변수로 삽입하고 결과값을 alert을 이용하여 확인한다.
[그림 10] 최종 결과 값
※ 확인된 URL은 재현되지 않아 추가 분석은 불가능 하였다.
3.3 PluginDectect (0.8.0) 정보
PluginDectect 부분은 블랙홀 툴킷에서도 자주 보았던 부분으로 java, pdf, flash 등 다양한 Plugin 정보를 수집해 주는 스크립트다. 이 수집된 정보를 통해 공격코드에서 취약점이 존재하는 부분을 공격하여 악성행위를 하게 된다.
해당 스크립트는 아래의 사이트에서 누구나 쉽게 원하는 부분만 포함하여 제작할 수 있다.
- http://www.pinlady.net/PluginDetectArchive/0.8.0/download/
3.4 PDF 취약점 관련 부분 (재현되지 않아, 다음 기회 ~ ㅠㅠ)
글
Dadong’s JSXX 0.44 VIP 툴 소개
q Dadong’s 0.44 전용 툴 소개
1. Dadong’s JSXX 0.44 VIP Decoder
1) Decoder Tool 사용법
① Data Inpu ≫ 난독화 Data 값 입력
② Func Input ≫ 난독화 Data 를 풀어주는 복호화 부분 입력
③ Key Input ≫ 복호화 함수에 포함된 Key 값 입력
④ Data Output ≫ 복호화 Data 출력
[그림 1] Dadong’s JSXX 0.44 VIP Decoder
2) Decoder Tool 실행 화면
- [그림 1]을 참조하여 아래의 그림처럼 데이터 입력 후 Decoding을 실행 시 우측 부분에 복호화된 데이터가 출력된다
[그림 2] Dadong’s JSXX 0.44 VIP Decoder 출력화면
* 자바스크립트로 만든 툴입니다. 해당 툴이 필요한 분은 글남기시면 보내드리겠습니다.
* 디코딩 툴은 파일 첨부하였습니다. (공유시 출처만 ^^;;)
'Web Exploit Kit > Dadong's JSXX 0.44' 카테고리의 다른 글
Dadong’s JSXX 0.44 VIP Part III (0) | 2013.05.03 |
---|---|
Dadong’s JSXX 0.44 VIP Part II (0) | 2013.04.28 |
Dadong’s JSXX 0.44 VIP Part I (2) | 2013.04.28 |
글
Dadong’s JSXX 0.44 VIP Part III
q 쉽게 푸는 Dadong’s 0.44
Dadong’s 0.44는 변조 방지기능 때문에 복호화가 어렵다
물론 분석 팀이나 어느 정도 실력을 갖춘 사람들은 자신만의 방식으로 복호화를 하고
있지만 일반적으로 그 방법을 찾는 것은 쉽지 않다
누구나 쉽게 Dadong’s 0.44를 풀 수 있는 방법에 대해 고민을 하였고, 좋은 방법을
찾았다. 그 방법은 단지 ”alert(key값);”만 가지고 Dadong’s 0.44를 복호화 할 수 있었다
[그림 1] 코드 수정
※ 해당 방법 사용시 주의사항
- 해당방법으로 복호화시 스크립트가 실행되어 악성코드에 감염될 수 있기 때문에
반드시 가상환경(VMware 등)에서 사용해야 한다
- 환경설정에 따라 경고창이 전체데이터를 보여주지 않는 경우가 있다
- 복호화된 공격코드에 쉘코드가 있는 경우 행이 걸려 동작하지 않을 수 있다
'Web Exploit Kit > Dadong's JSXX 0.44' 카테고리의 다른 글
Dadong’s JSXX 0.44 VIP 툴 소개 (76) | 2013.05.03 |
---|---|
Dadong’s JSXX 0.44 VIP Part II (0) | 2013.04.28 |
Dadong’s JSXX 0.44 VIP Part I (2) | 2013.04.28 |
글
Dadong’s JSXX 0.44 VIP Part II
1. 카후시큐리티(kahusecurity.com)의 복호화 방법 재현
1) 카후시큐리티 소개
- 난독화 등 Malicious 컨텐츠를 분석하여 공유하는 보안프로젝트 그룹으로,
다른 분석가들보다 빠르고 창의적인 방법으로 분석하는 것으로 유명하다
[참고] Java 0-Day Using Latest Dadong’s JS Obfuscator
http://www.kahusecurity.com/2012/java-0-day-using-latest-dadongs-js-obfuscator
2) 카후시큐리티의 Dadong’s JS Obfuscator 복호화 방법 소개
① Dadong’s 0.44 실행 시 스크립트의 복호화 기능이 특정 변수에 저장되는 것을 이용
② 변수에 ‘alert’ 등의 자신의 코드를 삽입하여 복호화 시도
③ Dadong’s 0.44의 변조방지기능 때문에 복호화 부분은 수정하지 않고, 데이터
부분에서 실행 함수가 저장되는 변수 부분을 변조하여 난독화 해지
☞ 상세내용은 [참고 2]에서 확인 할 수 있습니다
3) 카후시큐리티 복호화 방법 따라하기
① 스크립트를 실행하는 함수가 저장되는 변수 확인
[그림 1] 스크립트를 실행하는 함수가 저장된 변수 확인
② 난독화된 데이터의 첫 부분 복호화 시 아래의 그림처럼 변화는 것을 확인
[그림 2] 난독화된 코드의 일부 복호화
③ ‘PDIK6’ 변수에 실행함수가 저장되므로 ‘PDIK6=alert’으로 임의로 수정하여 복호화된 데이터를 경고창으로 확인 한다
(변조방지기능 때문에 난독화된 데이터 부분 수정 시도)
≫ 데이터의 길이를 유지하기 위해 공백을 이용하여 글자수를 맞춘다
PDIK6=alert ;
≫ 난독화된 데이터 패턴을 계산하여 ‘PDIK6=alert ;’의 값을 구한다
PDIK6=pVYAmQ8; ⇒ 25491BC74F2C0BE6245412E5B922
PDIK6=alert ; ⇒ 25491BC74F2C1ADC18670B94A122
④ Dadong’s 0.44 패턴으로 변환해주는 간단한 툴을 이용하여 코드 변경
[그림 3] 실제 코드 정상 변환여부 확인
[그림 4] 코드 변경 후 변환
⑤ ‘PDIK6=alert’을 난독화한 데이터를 원래 데이터 부분에 삽입한다
[그림 5] 수정된 난독화 코드 삽입
⑥ 스크립트를 실행하면 첫 부분이 변경된 복호화된 스크립트를 확인 할 수 있다
[그림 6] 코드 변조를 통한 복호화 결과
'Web Exploit Kit > Dadong's JSXX 0.44' 카테고리의 다른 글
Dadong’s JSXX 0.44 VIP 툴 소개 (76) | 2013.05.03 |
---|---|
Dadong’s JSXX 0.44 VIP Part III (0) | 2013.05.03 |
Dadong’s JSXX 0.44 VIP Part I (2) | 2013.04.28 |
글
Dadong’s JSXX 0.44 VIP Part I
q Gongda Pack ?
1. History
1) Dadong’s JSXX 0.XX VIP 내부 공격 코드 중 중국어로 ‘공격’ 을 의미하는 ‘공다(gongda)’ 라는 변수명(gondad) 이 상당 부분 사용되는 점을 특징으로 이름이 지어졌으며, Gongda Pack 또는Gongda Exploit Kit 으로 알려져 있다
2) 2010년 Dadong’s JSXX 0.39 VIP 를 시작으로 잠시 등장했던 Dadong’s JSXX 0.41 VIP 버전을 지나 Dadong’s JSXX 0.44 VIP 버전이 2012년 4월부터 현재까지 등장하고 있다
2. Gongda Pack 0.44
1) 주석 스크립트 변화 과정
- Gongda Pack 0.44 주석 스크립트 부분이 변화되는 원인은 고정적인 문자열을 이용한
패턴 탐지를 우회하기 위해 변화되는 것으로 판단된다
[그림 1] Gongda pack 0.44 주석 스크립트 변화 과정
q Dadong’s 0.44 구조
※ 이 문서에서는 Dadong’s 0.44의 난독화를 해제하는데 중점을 두겠다 취약점을 이용하는 부분과문서에서 다루지 않는 부분은 아래의 사이트를 참조하기 바란다
[참고 1] 'GongDa'의 무차별 웹 공격이 시작됐다
http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?menu_dist=2&seq=19418
1. 전체 구조
1) 난독화된 Dadong’s 0.44은 아래 그림처럼 크게 3부분으로 나누어 진다
[그림 2] Dadong’s 0.44 전체구조
① 첫 번째 부분: 플래시, 자바 관련 스크립트 삽입 및 쿠키 값을 이용하여 중복 실행을
방지하는 부분이다
☞ 해당부분은 [참고 1]에 상세히 설명되어 있다
② 두 번째 부분: 난독화된 데이터 부분으로 이 부분을 복호화하면 실제 공격코드가 된다
③ 세 번째 부분: 난독화된 데이터를 복호화하는 스크립트 부분으로 이 부분을 중점적으로 분석 한다
2. 복호화 스크립트 정리 (세 번째 부분)
1) 복호화 스크립트에서 불필요한 부분 제거 및 일차원적 난독화 부분에 대해 정리
[그림 3] 복호화 부분 스크립트 정리
2) 정리 후 복호화 함수의 구조
- 보기 어렵게 작성된 부분 및 제거되는 코드를 정리하면 아래 그림처럼 된다
[그림 4] 복호화 스크립트 정리 결과
3) 이 복호화 부분은 함수변조방지 기술로 묶여져 있기 때문에 위와 같이 정리 후 Key값을 찾아도 복호화가 정상적으로 이루어 지지 않는다
q 난독화 풀이
1. ‘alert’을 이용한 데이터 부분 복호화
1) 복호화 시 일반적으로 ‘alert’이나 ‘document.write’ 등을 사용하여 실행되는 스크립트를 문자로 확인한다 여기서는 ‘alert’을 이용하여 데이터를 복호화 시도하였다
[그림 5] 그림 4의 스크립트에서 Key값을 alert으로 복호화 시도
2) ‘alert’을 이용한 난독화 결
- 복호화 부분의 문자열을 나누었기 때문에 구조가 변화면서 오류가 발생하였다
[그림 6] 변조방지 기능에 의한 오류 발생
- 수정된 스크립트부분을 처음 구조와 동일하게 변경 후 실행해도 오류가 발생하였다
3) 복호화 실패 원인
- 제작자는 복호화를 어렵게 하기 위해 함수를 문자열로 묶어놓았고, 문자열을 변경할 경우 함수의 변수 값이 변하여 원래 데이터를 얻을 수 없도록 만들었다 (변조방지기능)
[그림 7] 변조방지기능의 역할을 하는 부분
4) 해결 방법
- 값의 길이와 문자를 이용하여 변수를 구하는 부분이 변경되지 않게 하기 위해
[그림 5]의 정리된 복호화 부분 위에 원래 복호화 부분을 추가하여 함수들이 참조할 수
있도록 한다
[그림 8] 변조방지를 우회하기 위해 복호화 부분을 추가 삽입
5) 데이터 복호화
- 수정된 복호화 부분을 이용하여 데이터를 복호화 시 공격 스크립트를 확인 할 수 있다
'Web Exploit Kit > Dadong's JSXX 0.44' 카테고리의 다른 글
Dadong’s JSXX 0.44 VIP 툴 소개 (76) | 2013.05.03 |
---|---|
Dadong’s JSXX 0.44 VIP Part III (0) | 2013.05.03 |
Dadong’s JSXX 0.44 VIP Part II (0) | 2013.04.28 |