728x90
Dadong’s JSXX 0.44 VIP 분석 Part 1
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 주석 스크립트 부분이 변화되는 원인은 고정적인 문자열을 이용한
패턴탐지를 우회하기 위해 변화되는 것으로 판단된다
[그림 2] Gongda pack 0.44 주석 스크립트 변화 과정
q Dadong’s 0.44 구조
※ 여기서는 Dadong’s 0.44의 난독화를 해제하는데 중점을 두겠다 취약점을 이용하는 부분과 문서에서 다루지 않는 부분은 아래의 사이트를 참조하기 바란다
[참고 1] 'GongDa'의 무차별 웹 공격이 시작됐다
1. 전체 구조
1) 난독화된 Dadong’s 0.44은 아래 그림처럼 크게 3부분으로 나누어 진다
[그림 2] Dadong’s 0.44 전체구조
① 첫 번째 부분: 플래시, 자바 관련 스크립트 삽입 및 쿠키 값을 이용하여 중복 실행을 방지하는 부분이다
☞ 해당부분은 [참고 1]에 상세히 설명되어 있다
② 두 번째 부분: 난독화된 데이터 부분으로 이 부분을 복호화하면 실제 공격코드가 된다
③ 세 번째 부분: 난독화된 데이터를 복호화하는 스크립트 부분으로 이 부분을 중점적으로 분석 한다
2. 복호화 스크립트 정리 (세 번째 부분)
1) 복호화 스크립트에서 불필요한 부분 제거 및 일차원적 난독화 부분에 대해 정리
[그림 3] 복호화 부분 스크립트 정리
2) 정리 후 복호화 함수의 구조
- 보기 어렵게 작성된 부분 및 제거되는 코드를 정리하면 아래 그림처럼 된다
[그림 4] 복호화 스크립트 정리 결과
3) 이 복호화 부분은 함수변조방지 기술로 묶여져 있기 때문에 위와 같이 정리 후 Key값을 찾아도복호화가 정상적으로 이루어 지지 않는다
q 난독화 풀이
q 난독화 풀이
1. ‘alert’을 이용한 데이터 부분 복호화
1) 복호화 시 일반적으로 ‘alert’이나 ‘document.write’ 등을 사용하여 실행되는 스크립트를 문자로 확인한다 여기서는 ‘alert’을 이용하여 데이터를 복호화 시도하였다
[그림 6. [그림 5]의 스크립트에서 Key값을 alert으로 복호화 시도]
[그림 7] 변조방지 기능에 의한 오류 발생
- 수정된 스크립트부분을 처음 구조와 동일하게 변경 후 실행해도 오류가 발생하였다
3) 복호화 실패 원인
- 제작자는 복호화를 어렵게 하기 위해 함수를 문자열로 묶어놓았고, 문자열을 변경할 경우 함수의 변수 값이 변하여 원래 데이터를 얻을 수 없도록 만들었다 (변조방지기능)
[그림 8] 변조방지기능의 역할을 하는 부분
4) 해결 방법
- 값의 길이와 문자를 이용하여 변수를 구하는 부분이 변경되지 않게 하기 위해 [그림 5]의 정리된 복호화 부분 위에 원래 복호화 부분을 추가하여 함수들이 참조할 수 있도록 한다
[그림 9] 변조방지를 우회하기 위해 복호화 부분을 추가 삽입
5) 데이터 복호화
- 수정된 복호화 부분을 이용하여 데이터를 복호화 시 공격 스크립트를 확인 할 수 있다
[그림 10] 복호화에 성공한 화면
출처 : http://scriptmalwarehunter.blogspot.kr/2013/04/dadongs-jsxx-044-vip-part-1.html
728x90
'malware ' 카테고리의 다른 글
Linux.Aidra vs Linux.Darlloz: War of the Worms (0) | 2014.03.22 |
---|---|
Analysing The Gongda Exploit Kit 동영상 (0) | 2014.03.22 |
Neosploit 난독화 자료 (0) | 2014.03.22 |
FIESTA EK - COMPARING HOW SILVERLIGHT AND JAVA DELIVER THE SAME MALWARE (0) | 2014.03.22 |
Mozilla Firefox 28.0 업데이트 안내 (0) | 2014.03.19 |