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  Dadongs 0.44 구조

※ 이 문서에서는 Dadongs 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)     데이터 복호화

    - 수정된 복호화 부분을 이용하여 데이터를 복호화 시 공격 스크립트를 확인 할 수 있다

[그림 9] 복호화에 성공한 화면

 

'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

설정

트랙백

댓글