본문 바로가기
악성코드 정보

노출형 배너 광고를 이용한 악성코드 유포사례

by 알 수 없는 사용자 2011. 7. 25.

해킹된 사이트를 통한 악성코드 유포는 평일이면 잠잠하다가 주말이 시작되는 금요일 저녁부터 발생하여 토, 일요일에 집중된다. 이번 주는 일부 블로그에서 악성코드가유포되는 것이 탐지되었다.  해당 블로그들의 공통점을 조사해 본 결과 특정 업체에서 제공하는 배너광고 스크립트를 사용하고 있었다.   

검색 사이트를 이용해서 해당 배너광고 스크립트를 사용하는 블로그, 사이트의 현황을 검색해 본 결과 아래그림처럼 상당수의 블로그나 사이트에서 해당 배너광고 스크립트를 사용하고 있음을 확인 할 수 있었다.


                                                         [그림 1] 검색 사이트 검색결과  


결론은 특정 배너광고 업체가 해킹되었고 해당 업체에서 제공한 배너광고 스크립트를 사용하는 모든 블로그나 사이트는 악성코드 유포 사이트로 이용될
수 있는 위험에 놓여 있다. 이번 사례와 관련해서 안철수연구소에서는 이미 "배너광고 사이트를 통한 악성코드 유포사례"에 대해서 아래 주소에서 언급한 바 있다
.


*
관련 정보:

여러분의 배너광고는 안전한가요?: http://core.ahnlab.com/257

악성코드는 온라인 게임 사이트를 타고,,,: http://core.ahnlab.com/256

배너 광고 관련 사이트 해킹을 통한 악성코드 유포 사례: http://core.ahnlab.com/218

                                                             [그림 2] 악성코드 유포형태 

Script Analysis

해당 스크립트를 분석해 보면 아래 그림 2처럼 하단에 악성 스크립트를 받아 오는 난독화된 스크립트가 삽입되어 있다.


 [그림 3] 배너광고에 삽입된 악성 URL
 

악성스크립트를 다운로드 하는 URL는 위 그림에서 보는 것처럼 난독화되어 있으며 난독화를 해제하면 lz.html 를 받아  오도록 되어 있다.

                                               [그림 4] 브라우저 버전체크와 악성 스크립트 다운로드

q.html은 Flash Player의 버전정보를 체크하여 10.3이상이면 banner.htm을, 그 이하 버전이면 e.html을 실행하도록 해 두었다.

                                                             [그림 5] q.html의 실행구조

banner.htm이 실행되면 main.swf를 다운로드하는데 CVE-2011-2110취약점을 이용해서 온라인 게임핵을 다운로드한다. 악성코드 URL은 아래 그림처럼 암호화되어 있으며 main.swf에 인자값으로 전달되어 shellcode
에 의해서 복호화된 후 다운로드 된다.

                                                    [그림 6] main.swf에 인자값으로 전달되는 URL
 

                                                        [그림 7] main.swf의 URL 복호화 코드

  e.html에는 아래 그림에서 보는 것처럼 shellcode가 존재하며,

                                                       [그림 8] e.html에 존재하는 Shellcode

위 shellcode는 아래 코드에서 e.swf의 변수로 사용됨을 알 수 있다. 참고로 e.html는 어떤 취약점을 이용하는지 분석 중이다.

                                            [그림 9] e.swf를 다운로드한 후 shellcode와 조합 

다시 [그림 4]로 돌아가서 w.html을 분석해 보면 MS10-018 취약점을 이용한 악성 스크립트이다.

                                                            [그림 10] w.html의 구조

Shellcode Analysis
지금까지 분석한 스크립트에는 shellcode가 포함되어 있고 일부는 암호화되어 있으며 아래 복호화 루틴을 통해서 복호화된다. 

                                                            [그림 11] Shellcode의 복호화 루틴
 

                                                       [그림 12] 복호화된 shellcode에 포함된 URL


Malware Analysis
shellcode가 다운로드하는 q722.css는 윈도우 정상 파일인 imm32.dll을 패치시키고 특정 온라인 게임 사용자의 계정정보를 탈취하는 DLL을 생성하는 악성코드이다.

악성코드가 사용자의 계정정보를 탈취하는 프로세스는 아래 그림과 같다.

                                               [그림 13] 악성코드의 계정정보 탈취 프로세스

 
악성코드가 HttpSendRequestA()를 패치한 과정을 좀더 살펴보면, 

                                                   [그림 14] HttpSendRequestA()의 RVA
 
 
 위 그림에서 보면 0x6302E83A에서 Call 6301A2B0을 함을 알 수 있고 해당 주소로 분기해 보면 아래처럼 중간에 악성코드의 특정 주소로 분기함을 알 수가 있다.
 

                                                 [그림 15] 악성코드에 의해서 패치된 특정 주소로 분기
 

                                                  [그림 16] 게임 사용자의 계정정보 전송


안철수연구소의 대응상태
안철수연구소의 V3제품군에서는 해당 악성코드를 아래와 같이 대응하고 있다.

* 진단명:
Dropper/Onlinegamehack.42953(V3, 진단버전 : 2011.07.25.02)
Win-Trojan/Onlinegamehack.71168.AS(V3, 진단버전 : 2011.07.25.02)
Win-Trojan/Patched.DE (AhnLab, 진단버전 : 2011.07.09.00)

 

댓글