NOTICE



1. 소  개


  2014년 8월 이후로 국내에서도 RIG Exploit Kit을 이용해 악성코드를 유포하는 사례가 발생하고 있습니다. RIG Exploit Kit은 공격 스크립트의 난독화가 기존에 비해 복잡하고 PHP 세션 아이디(PHPSSESID) 값으로 호출과 응답을 하는 특징이 있습니다. 해당 Exploit이 이용하는 취약점은 다음과 같습니다.


[표 1.1.] RIG Exploit이 이용하는 취약점 정보



2. Exploit 분석


2.1. Redirection to RIG Exploit


  해커는 정상적으로 서비스되는 웹 페이지에 악성 스크립트 코드를 삽입합니다. 이로 인해 해당 사이트에 접속할 경우 첫 번째 Redirection이 이루어집니다. [그림 2.1.]은 Redirection 된 페이지 코드입니다. RIG Exploit Kit은 PHP 세션 아이디(PHPSESSID) 값을 사용해 호출과 응답이 이루어집니다. 이 때 동일한 세션으로 연결하지 않으면 접속이 이루어지지 않습니다. Redirection Page의 코드를 살펴보면 PHPSESSID 값을 이용해 RIG Exploit Page로 두 번째 Redirection이 이루어지는 것을 알 수 있습니다.


[그림 2.1.] First Redirection Page


2.2. RIG Exploit Page


  “http://nuaysuq.planeimpressions.com/?PHPSSESID=njrMNruDMh7HApzBKv7cTKZNKU7YHVnYmMzMhe6JVg|ODE4MDU1YmU0NjAzOWZiZjJhNTlmYzQ1NDM1ZGM4OWM”으로 접속하면 아래와 같이 HTML 데이터를 내려받습니다.



[그림 2.3.] RIG Exploit Code 확인


  Script_03, Script_04, Script_05, Script_06의 코드 포맷은 Script_02와 동일하기 때문에 [그림 2.3.]에서 생략되었습니다. 코드 동작을 살펴보면 다음과 같습니다. [그림 2.4.]는 Script_02 코드를 정리한 것 입니다.


[그림 2.4.] Script_02 코드



[표 2.1.] Script_02 코드 동작 과정


  각 Script Code의 동작과 역할에 대해서는 나누어 살펴보도록 하겠습니다.



3. Script_01 분석


  Script_01은 앞서 설명한 것과 같이 특정 Antivirus 제품을 탐지하고 Exploit 실행 여부를 결정합니다. [그림 3.1.]은 Script_01 코드 동작 결과로 출력되는 Script입니다. 해당 코드의 기능을 살펴보도록 하겠습니다.


[그림 3.1.] Script_01 코드 동작 결과 출력되는 Script


  Script에서 가장 먼저 실행되는 코드는 Line 29 ~ 42 코드입니다. boraqz 함수 호출 결과 값이 모두 참일 때 if 문 코드가 동작하는데 이때 전달되는 파라미터는 특정 AV 제품의 드라이버 설치 경로입니다. 타깃이 되는 드라이버 목록은 다음과 같습니다.


[표 3.1.] Target Driver 목록 정보


  boraqz 함수가 호출되면 Microsoft.XMLDOM 인터페이스를 사용해서 XML을 로드합니다.


[그림 3.2.] boraqz 함수 코드


  txt에는 Target Driver의 경로 정보가 들어옵니다. 그 결과 Line 11에서 로드되는 XML Code입니다.



분석 내용 추가 필요!!



4. Script_02 분석


  Script_02 코드가 동작하면 CVE-2013-2551 취약점 코드가 출력, 실행됩니다. CVE-2013-2551 취약점 코드에 대한 정보는 다음 링크를 참조하면 됩니다.




5. Script_03 분석

  Script_03 코드는 아래와 같이 슬롯에 대한 div 생성 함수를 출력합니다.

[그림 5.1.] 슬롯에 대한 div 생성 함수


  이 함수는 Script_04, Script_05, Script_06에서 div를 생성할 때 호출됩니다. 이때 파라미터로 전달 받는 변수에는 취약점 코드가 포함되어 있습니다. 그리고 해당 코드가 실행됩니다.



6. Script_04 분석


  [그림 6.1.]은 Script_04를 실행 시켰을 때 출력되는 코드입니다. Line 3 - 5 에서 jg67fgf 변수에 HTML 코드를 넣고 dsg45 함수를 호출하는 것을 알 수 있습니다.


[그림 6.1.] Script_04 실행 결과 출력되는 코드


  결과적으로 실행되는 코드는 다음과 같습니다. 자바 취약점을 이용하는 Exploit입니다.


[그림 6.2.] 자바 취약점을 이용한 Exploit 확인



7. Script_05 분석


  [그림 7.1.]은 Script_05를 실행 시켰을 때 출력되는 코드입니다. Line 43 - 45 에서 gr43s 함수를 호출합니다. 이로써 Siverlight의 설치유무를 확인하고 Line 47 코드가 동작하면서 Siverlight 취약점 Exploit이 실행됩니다.


[그림 7.1.] Script_05 실행 결과 출력되는 코드


  아래 코드는 Silverlight 취약점을 이용하는 Exploit입니다.


[그림 7.2.] Silverlight 취약점을 이용한 Exploit 확인



8. Script_06 분석


  [그림 8.1.]은 Script_06을 실행 시켰을 때 출력되는 코드입니다. Line 40의 gf44 함수 호출로 인해 Flash 취약점을 이용한 Exploit이 실행되는 것을 알 수 있습니다.


[그림 8.1.] Script_06 실행 결과 출력되는 코드


  결과적으로 실행되는 코드는 다음과 같습니다. Flash 취약점을 이용하는 Exploit입니다.


[그림 8.2.] Flashs 취약점을 이용한 Exploit 확인


  이상으로 '[Script] RIG Exploit 분석'에 대한 포스팅을 마치겠습니다.


  1. no picture 2015.07.13 19:49

    비밀댓글입니다

  2. no picture 이주호 2015.07.15 16:31

    좋은 내용이네요 ㅎㅎ 오랜만에들려봅니다!

  3. no picture 2015.07.24 13:11

    비밀댓글입니다