검색결과 리스트
Web Exploit Kit/Dadong's JSXX 0.44에 해당되는 글 4건
- 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
글
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 |