2013년 5월 14일 화요일

사쿠라툴킷 난독화 분석

 사쿠라 툴킷 난독화 분석

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 취약점 관련 부분 (재현되지 않아, 다음 기회 ~ ㅠㅠ)

댓글 5개:

  1. 아래 댓글 달아주신분 죄송합니다 삭제안된부분 지우려다 다 지워졌네요ㅠ

    답글삭제
    답글
    1. 아아. 괜찮습니다.
      제가 잘못달아었는데. 지워주셨으니. 오히려 감사합니다.
      좋은 글 잘 보았다는 내용이었습니다.
      더위 조심하셔요~

      삭제
  2. 그래프는 글로벌 동향이군요. 좋은 정보 감사합니다. ^^

    답글삭제