ASEC에서는 그 동안 악성코드에 의해 정상 윈도우(Windows) 시스템 파일을 변조시켜 악의적인 기능을 수행하는 패치드(Patched) 형태의 악성코드에 대한 정보들을 공개하였다.


특히 다양한 온라인 게임의 사용자 정보들을 탈취하는 온라인 게임 관련 트로이목마(OnlineGameHack)에 의해 온라인 게임의 메인 실행 프로세스의 주소 공간에 악성코드인  DLL 파일을 안정적으로 실행시키기 위해 윈도우 시스템의 정상 DLL 파일들을 감염 시키는 형태가 자주 발견되고 있다.


이러한 형태의 악성코드들을 일반적으로 패치드(Patched) 형태의 악성코드라고 불리고 있으며, 현재까지 발견된 악성코드에 의해 사용되는 패치드 기법들을 다음과 같이 정리 할 수 있다.


1. DLL 파일에 악의적인 DLL 파일을 로드하는 코드 삽입 후 이 코드로 분기하도록 패치하는 형태


일반적으로 많이 알려진 패치드 형태로서, 과거 3년 전부터 발견되기 시작하였으며, 주로 패치의 대상이 되었던 윈도우 정상 DLL 파일들은 imm32.dll, olepro32.dll, dsound.dll과 같다. 


패치가 된 DLL 파일은 위 이미지와 같이 파일의 섹션 끝 부분에 쉘코드(Shellcode)가 삽입 되어 있다



엔트리포인트(EntryPoint) 변경 후에는 콜 패치(Call Patch) 등의 방법으로 삽입된 코드가 실행이 되면 아래 이미지와 같이 LoadLibraryA가 호출이 되어 악의적인 DLL 파일이 로드 된다.



2. 윈도우 정상 DLL 파일을 악의적인 DLL 파일로 교체 한 뒤, 정상의 Export 함수들을 리다이렉트(Redirect) 시키는 형태

직접적으로 윈도우 정상 DLL 파일을 악의적인 DLL 파일로 교체하는 형태를 이야기 한다. 

이렇게 윈도우 정상 DLL 파일을 감염 시켰을 경우 원래 정상 DLL 파일의 익스포트(Export) 함수들이 정상적으로 호출이 되어야 함으로 익스포트 네임 테이블(Export Name Table)에서 이 함수들로 리다이렉트(Redirect) 시켜 주게 된다.

일반적으로 대상이 되었던 윈도우 정상 DLL 파일들은 ws2help.dll이나 wshtcpip.dll 들이다.


3. AppInit_DLL 레지스트리를 이용한 악의적인 DLL 파일 로드


윈도우 정상 DLL 파일들을 직접적으로 감염 시키는 형태는 아니지만, 온라인 게임 프로세스에 악의적인 DLL을 로드하기 위해 AppInit_DLL 레지스트리를 이용하는 형태이다.


해당 레지스트리에 악의적인 DLL 파일의 파일명을 삽입하게 되면 프로세스가 생성이 될 때, 레지스트리에 있는 존재하는 악의적인 DLL 파일이 로드되는 형태 이다.


4. 온라인 게임 프로세스와 동일 경로에 윈도우 정상 DLL 파일들과 동일한 파일명의 악의적인 DLL 파일 생성


전통적인 DLL 인젝션(Injection) 기법 중 하나로 많이 알려진 형태이며, 2012년 상반기에 발견되기 시작하여 최근 자주 발견되고 있는 온라인 게임 관련 악성코드에서 사용하는 기법이다. 주 대상이 되고 있는 윈동 정상 DLL 파일은  Usp10.dll 을 들 수 있다.

 

온라인 게임 관련 트로이목마 드로퍼(Dropper)가 온라인 게임 프로세스와 같은 경로에 악의적인 usp10.dll 파일을 생성한다. 그 이후 온라인 게임 프로세스가 생성이 될 때 윈도우 시스템 폴더(system32)에 존재하는 정상 usp10.dll 파일 보다 우선 순위가 높은 CurrentPath에 존재하는 악의적인 usp10.dll을 먼저 로드 하게 된다. 그 후 악의적인 usp10.dll 파일이 악의적인 행위를 수행한 뒤에  정상 usp10.dll로 로드하여 정상적인 기능도 제공을 해주는 형태로 동작한다.


5. 리다이렉트(Redirect) 대신 LoadLibrary로 직접 정상 DLL 파일을 로드한 뒤, 해당 익스포트(Export) 함수를 호출하는 형태


각 익스포트(Export) 함수에서 직접 정상 DLL 파일을 로드한 후, GetProcAddress 함수를 이용해 정상 DLL 파일의 익스포트(Export) 함수 주소를 얻은 후 호출하여 정상적인 기능을 제공한다.

이러한 형태로 각각의 익스포트(Expor)t 함수들을 분석을 해보면 아래 이미지와 같이 쉽게 백업된 정상 DLL 파일의 파일명인 ws2helpxp.dll을 확인 할 수 있다.




6. 각각의 익스포트(Export) 함수가 널(Null)로 채워져 있거나, 인코딩(Encoding) 되어 있는 형태

 

정상 DLL 파일명을 확인하기 어려도록 하기 위한 목적으로 각 익스포트(Export) 함수가 아래 이미지와 같이 널(Null)로 채워져 있거나 인코딩(Encoding) 되어 있는 형태들이다.



최근에는 아래 이미지와 같이 문자열을 바로 보여지지 않으려는 시도까지 하고 있다.



앞서 우리는 윈도우 시스템 정상 DLL 파일들을 변조하는 패치드 형태의 악성코드들의 다양한 기법들을 살펴 보았다.


이러한 패치드 형태의 악성코드들이 자주 발견되고 있는 배경으로는 온라인 게임의 사용자 개인 정보를 탈취 하려는 목적과 연관이 되어 있으며, 최근에는 보안 소프트웨어를 무력화하기 위한 목적까지 포함되기 시작하였다.


특히 몇 년전부터 온라인 게임 관련 악성코드들은 유저모드(User Mode)와 커널 모드(Kernel Mode)에 걸쳐 다양한 기법들을 이용해 보안 소프트웨어를 무력화하고자 시도하고 있다. 최근에는 직접적으로 보안 소프트웨어를 공격하기 보다는 좀더 취약하고 방어하기 어려운 윈도우 정상 DLL 파일을 감염시켜 보안 소프트웨어를 무력화 시키고자 시도하고 있다.


이렇게 보안 소프트웨어의 발전과 함께 악성코드 역시 다양한 기법들을 동원하여 진단 및 치료를 어렵게 함과 동시에 직접적으로 보안 소프트웨어를 무력화하기 위한 다양한 기법들을 사용하고 있다. 그러므로 컴퓨터 시스템을 사용하는 개별 사용자가 시스템 관리와 보안에 대한 각별한 관심이 필요하다.

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by 비회원

ASEC에서는 그 동안 한글과 컴퓨터에서 개발하는 한글 워드프로세스에 존재하는 알려진 코드 실행 취약점을 악용하는 취약한 한글 파일들이 유포된 사례들 다수를 공개하였다.


유포되었던 취약한 한글 파일들 대부분은 아래 3가지 형태의 취약점을 가장 많이 악용하여 백도어 형태의 악성코드 감염을 시도하였다.


1. HncTextArt_hplg에 존재하는 스택(Stack)의 경계를 체크하지 않아 발생하는 버퍼 오버플로우(Buffer Overflow)로 인한 임의의 코드 실행 취약점


2. HncApp.dll에 존재하는 문단 정보를 파싱하는 과정에서 발생하는 버퍼 오버플로우로 인한 임의의 코드 실행 취약점


3. EtcDocGroup.DFT에 존재하는 버퍼 오버플로우로 인한 임의의 코드 실행 취약점


그러나 9월 10일과 11일 이틀 동안 그 동안 알려진 한글 워드프로세스에 존재하는 취약점을 악용하지 않는 다른 형태의 한글 파일들 다수가 발견되었다.


이 번에 발견된 한글 파일들은 총 4개로 안전여부.hwp (47,616 바이트), 운영체제 레포트 제목.hwp (31,744 바이트), 120604 전북도당 통합진보당 규약(6월 2주차).hwp (63,488 바이트)와 민주통합전라남도당 입당,정책 입당원서(제1호).hwp (102,912 바이트)이다.






해당 한글 파일들 모두 앞서 언급한 바와 같이 기존에 알려진 한글 워드프로세스의 취약점을 악용하지 않고 있으며, 특이하게 OLE 포맷이 아래 이미지와 같은 형태로 구성되어 있다.



위 이미지와 같이 인코딩 되어 있는 형태의 ahnurl.sys 파일을 내부에 임베디드 된 형태로 가지고 있으며, 다른 하나의 한글 파일에서는 이와는 다르게 레지스트리에 쓸 수 있는 데이터인 ahnurlahnrul.sys 모두 가지고 있는 형태도 존재한다. 



해당 한글 파일들은 파일 자체에는 취약점을 악용할 수 있는 익스플로잇(Exploit) 코드와 쉘코드(Shellcode)가 포함되어 있지 않음으로 해당 한글 파일들을 열어보는 것만으로 악성코드에 감염되지는 않는다.


현재 ASEC에서는 해당 한글 파일 제작자가 어떠한 용도와 목적으로 해당 한글 파일들을 유포한 것인지 지속적으로 확인 중에 있다.


해당 한글 파일들은 V3 제품군에서는 다음과 같이 모두 진단한다.


HWP/Agent


앞서 언급한 바와 같이 한글 워드프로세스의 알려진 취약점을 악용하여 다른 악성코드 감염을 시도하는 취약한 한글 파일들 유포 사례가 자주 발견되고 있다. 그러므로 한글과 컴퓨터에서 배포 중인 보안 패치를 설치하는 것이 악성코드 감염을 근본적으로 차단하는 방안이다.

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by 비회원

현지 시각으로 6월 12일 마이크로소프트(Microsoft)에서는 XML 코어 서비스(Core Services)에 알려지지 않은 제로 데이(Zero Day, 0-Day) 취약점이 발견되었음을 보안 권고문 "Microsoft Security Advisory (2719615) Vulnerability in Microsoft XML Core Services Could Allow Remote Code Execution"을 통해 공개한 바가 있다.


해당 취약점은 공격자가 지정한 임의 코드를 실행 할 수 있는 코드 실행 취약점이며, 해당 XML 코어 서비스를 사용하는 윈도우(Windows) 운영체제와 오피스(Office) 2003과 2007 버전에서 악용이 가능하다.


해당 취약점은 현재까지도 마이크로소프트에서 보안 패치를 제공하지 않는 제로 데이 취약점이며, 임시 방안으로 해당 취약점을 제거 할 수 있는 픽스 잇(Fix it)을 보안 공지 "Microsoft 보안 공지: Microsoft XML Core Services의 취약성으로 인한 원격 코드 실행 문제"를 통해 배포 중에 있다.


해당 XML 코어 서비스를 악용하는 스크립트 악성코드가 해외에서 발견되는 사례가 서서히 증가하고 있어 주의가 필요하다.


최근 발견된 해당 제로 데이 취약점을 악용하는 스크립트 악성코드는 아래 이미지와 같은 형태의 쉘코드(Shellcode)가 구성되어 있다.



해당 스크립트 악성코드에 포함된 쉘코드가 실행되면 홍콩에 위치한 특정 시스템에서 css.exe (32,936 바이트)를 다운로드 한 후 실행하게 된다.


해당 파일이 실행되면 윈도우 운영체제에서 실행되는 정상 프로세스인 explorer.exe의 스레드로 자신의 코드들을 아래 이미지와 같이 삽입하게 된다



그리고 자신의 코드들이 정상적으로 스레드 인젝션을 하게 되면 구글(Google)의 공개용 DNS 서버로 질의를 송신하여 감염된 시스템이 인터넷에 정상적으로 연결되어 있는지 확인하게 된다.


그 후 싱가포르에 위치한 특정 시스템에 접속을 시도하게 되다, 분석 당시에는 해당 시스템으로 정상적인 접속이 이루어지지 않았다.


해당 악성코드는 감염된 시스템에서 하드웨어 정보, 운영 체제 정보 및 커맨드라인(Command-Line) 명령을 실행하게 된다.


앞 서 언급한 바와 같이 해당 XML 코어 서비스 취약점은 보안 패치가 제공되지 않는 제로 데이 취약점임으로 각별한 주의가 필요하며, 임시 방안으로 마이크로소프트에서 제공하는 픽스 잇을 설치할 수도 있다.


이 번에 발견된 해당 XML 코어 서비스 취약점을 악용하는 악성코드들은 V3 제품 군에서 다음과 같이 진단한다.


JS/Agent 

Win-Trojan/Dekor.32936 


그리고 네트워크 보안장비 트러스가드(TrusGuard) 제품군에서는 다음과 같이 탐지 및 차단이 가능하다.


http_ie_heap_spray_attack-4(HTTP)

ms_xml_core_service_exploit(CVE-2012-1889)


저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원

마이크로소프트에서는 한국 시각으로 6월 13일 해당 업체에서 개발한 소프트웨어에 존재하는 보안 취약점들을 제거하기 위한 보안 패치를 배포하였다. 


이와 동시에 보안 업체인 맥아피(McAfee)에서는 마이크로소프트가 배포한 보안 패치 "Microsoft Security Bulletin MS12-037 - Internet Explorer 누적 보안 업데이트 (2699988)"에 포함된 CVE-2012-1875 취약점을 악용하는 공격이 실제 발생하고 있음을 블로그 "Active Zero-Day Exploit Targets Internet Explorer Flaw"를 통해 공개하였다.


ASEC에서는 추가적인 조사를 통해 해당 CVE-2012-1875 취약점을 악용하는 악성코드는 아래 이미지와 동일한 스크립트 형태의 악성코드 임을 확인하였으며, 최초 유포는 홍콩에 위치한 특정 시스템을 통해 진행 되었다.


홍콩에 위치한 해당 시스템에서는 서로 다른 쉘코드(Shellcode)를 가진 스크립트 악성코드가 동시에 유포되었다.



해당 CVE-2012-1875 취약점은 인터넷 익스플로러가 삭제된 개체에 액세스하는 방식의 오류로 인해 메모리가 손상되어 임의 코드를 실행할 수 있는 코드 실행 취약점이다.


그리고 해당 스크립트 악성코드는  ROP(Return-Oriented Programming) 기법을 이용하여 윈도우 시스템에 포함되어 있는 메모리 보호 기능인 DEP(Data Execution Prevention) ASLR(Address Space Layout Randomization)를 우회 할 수 있도록 제작되었다.


해당 스크립트 악성코드가 정상적으로 실행 될 경우에는 스크립트에 포함되어 있는 쉘코드에 따라 이탈리아에 위치한 특정 시스템 또는 홍콩에 위치한 스크립트 악성코드를 유포한 동일한 시스템에서 다른 백도어 악성코드들을 다운로드하게 된다.


이탈리아에 위치한 시스템과 홍콩에 위치한 시스템에서 다운로드 되는 악성코드들은 감염된 시스템에서 프록시(Proxy) 기능과 함께 하드웨어 정보 등 시스템 사용과 관련된 정보들을 수집하여 홍콩에 위치한 다른 시스템으로 전송하게 된다.


이 번 CVE-2012-1875 취약점을 악용한 악성코드들 모두 V3 제품군에서 다음과 같이 진단한다.


HTML/CVE-2012-1875

Win-Trojan/Injector.47104.BR 

Dropper/Agent.81920.DX 

Win-Trojan/Infostealer.35328.C  


현재 마이크로소프트에서는 이번 악성코드 유포에 악용된 CVE-2012-1875 취약점을 제거하기 위한 보안 패치 MS12-037를 배포 중에 있음으로, 해당 취약점으로 인한 악성코드 감염을 근본적으로 차단하기 위해서는 해당 보안 패치를 설치하여야만 한다.

저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원
ASEC에서는 1월 27일 MS12-004 윈도우 미디어 취약점(CVE-2012-0003)을 악용한 악성코드 유포가 발견되었으며, 마이크로소프트(Microsoft)에서 1월 11일 배포한 보안 패치로 해당 취약점을 제거 할 수 있음을 공개하였다. 

그리고 해당 취약점을 악용한 악성코드는 한국과 중국을 포함한 극동 아시아 권을 주된 대상으로 유포된 것으로 분석하였으며, 최종적으로는 온라인 게임 관련 정보들을 탈취하기 위한 것음을 밝힌 바가 있다.

2월 2일 국내 웹 사이트에서 Heap Feng Shui라는 기법을 이용해 제작된 새로운 형태의 MS12-004 취약점 악용 스크립트 악성코드 변형이 발견되었다. 

이 번에 새롭게 발견된 해당 스크립트 악성코드는 ASEC에서 추가적인 조사 과정에서 1월 30일 경에 제작되어 유포가 진행 된 것으로 추정하고 있다.

Heap Feng Shui라는 기법을 이용해 제작된 새로운 형태의 스크립트 악성코드는 아래와 같은 전체적인 구조를 가지고 있다.


Heap Feng Shui는 2007년 Black Hat Europe에서 최초로 발표된 기법으로 순차적인 자바 스크립트(Java Script) 할당을 통해 브라우저(Browser)에서 힙(Heap) 영역을 다루게 된다.

 
해당 MS12-004 취약점을 악용하는 스크립트는 yty.mid 파일을 호출하도록 되어 있으나, 아래 이미지와 같이 손상된 MIDI 파일이 존재하여 실질적인 공격이 성공하지는 않을 것으로 분석하고 있다.


이 번에 발견된 해당 스크립트 악성코드의 쉘코드(Shellcode)에서는 국내에 위치한 특정 시스템에서 i.exe(20,480 바이트)를 다운로드 한 후 실행 하도록 되어 있다.

다운로드 후 실행 되는 i.exe는 비주얼 베이직(Visual Basic)으로 제작되었으며 국내에서 제작된 특정 온라인 게임의 사용자 정보 탈취와 함께 특정 ASP 파일을 읽어오도록 되어 있다.

현재까지 새로운 MS12-004 취약점 악용 스크립트 변형은 주말 사이에 총 72건이 V3에서 진단 된 것으로 미루어 해당 스크립트 악성코드는 향후 온라인 게임 관련 악성코드와 함께 지속적으로 유포될 것으로 예측 된다.

그러므로 사용하는 윈도우(Windows) 운영체제에 대한 최신 보안 패치를 설치하는 것이 악성코드 감염을 예방하는 원천적인 방법이다.

Heap Feng Shui 기법을 이용해 제작된 MS12-004 취약점을 악용하는 스크립트 악성코드와 관련된 악성코드들은 V3 제품군에서 모두 다음과 같이 진단한다.

Downloader/Win32.Small
HTML/Ms12-004
Exploit/Ms12-004
JS/Redirector
SWF/Cve-2011-2140
JS/Cve-2010-0806
저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원
2012년 1월 27일 금일 트렌드 마이크로(Trend Micro) 블로그 "Malware Leveraging MIDI Remote Code Execution Vulnerability Found"를 통해 마이크로소프트(Microsoft)에서 1월 11일 배포하였던 보안 패치인 "MS12-004  Windows Media의 취약점으로 인한 원격 코드 실행 문제점 (2636391)"와 관련된 취약점(CVE-2012-0003)을 악용하여 유포된 악성코드가 발견되었다.

해당 MS12-004 취약점을 악용하여 유포된 악성코드와 관련된 사항들을 ASEC에서 추가적인 조사를 진행하는 과정에서 해당 악성코드는 아래와 같은 전체적이 구조를 가지고 있는 것으로 파악하였다.


악성코드 감염의 근본적인 시작이 되는 mp.html(16,453 바이트) 파일은 최초 1월 21일 설날 연휴가 시작되는 토요일 국내에서 발견되었으며, 해당 스크립트 악성코드가 존재하였던 시스템은 미국에 위치하고 있다.

그리고 해당 악성코드들과 관련된 공격자는 한국과 중국을 포함한 극동 아시아 권을 주된 대상으로 해당 악성코드들을 유포 한 것으로 ASEC에서는 추정하고 있다. 


해당 mp.html 스크립트 악성코드를 텍스트 에디터로 분석을 해보면 아래와 같은 구조를 가지고 있으며, 파일 중간에는 실질적인 MS12-004 취약점을 악용하는 MIDI 파일인 baby.mid(38,068 바이트) 파일과 다른 자바 스크립트(JavaScript)인 i.js와 쉘코드(Shallcode)가 포함되어 있다.


아래 이미지와 동일한 MIDI 파일인 baby.mid는 MS12-004 취약점을 악용하도록 되어 있으며, 해당 취약점을 통해 ASLR/DEP를 모두 우회하여 공격자가 지정한 특정 코드를 실행 할 수 있도록 되어 있다. 

일반적인 MIDI 파일 포맷은 Header Chunk 와 Track Chunks로 구성되어 있다. 그러나 이번에 발견된 악의적으로 조작된 MIDI 파일에서 Note On/OFF (소리내기/끄기) 명령어인 해당 Track Event 중 첫번째 파라미터인 "Note Number" 값은 최대 127까지 표현가능하다.  

그러므로, 아래 이미지와 같이 B2(>128) 값으로 설정된 경우에는 오프셋(Offset) 계산 시 경계 범위를 넘게되어 잘못된 메모리 번지를 참조하게 되는 오류가 발생하게 된다.


mp.html 스크립트 악성코드에 포함되어 있는 쉘코드는 미국에 위치한 특정 시스템에서 인코딩(Encoding) 되어 있는 파일인 tdc.exe(73,728 바이트) 를 다운로드 한 후에 다시 이를 디코딩(Decoding) 과정을 거쳐 정상적인 PE 파일 형태를 가지게 된다.


정상적인 PE 파일 형태를 가지게 된 tdc.exe 파일이 실행되면 다음의 파일들을 생성하게 된다.

C:\WINDOWS\system32\drivers\com32.sys (11,648 바이트)
C:\WINDOWS\system32\com32.dll (57,344 바이트)


레지스트리(Registry)에 다음의 키 값을 생성하여 윈도우(Windows)가 재시작 시에 해당 드라이버 파일이 "Com32"라는 서비스명으로 자동 구동 되도록 설정하게 된다.

HKLM\SYSTEM\ControlSet001\Services\Com32\ImagePath  
"System32\drivers\com32.sys"


생성된 드라이버 파일인 com32.sys tdc.exe가 생성한 com32.syscom32.dll 파일들을 보호하기 위해 다른 프로세스의 접근을 방해한다. 그러나 다음의 프로세스들의 접근에 대해서는 허용하고 있다.

IEXPLORER.EXE
exploere.exe
rundll32.exe 


그리고 com32.sys는 \FileSystem\FastFat 과 \FileSystem\Ntfs의 DriverObject의 IRP_MJ_CREATE 핸들러 주소를 후킹한 코드 주소로 변경하는 방법을 사용하고 있다.

생성된 com32.dll는 감염된 시스템에서 국내에서 제작되어 사용중인 보안 제품들이 실행 중이라면 해당 프로세스들의 강제 종료를 시도하게 된다.


추가적으로 아래 이미지와 같이 특정 시스템으로 접속을 시도하여 성공하게 될 경우에는 아래 이미지와 같이 20120120.exe(89,088 바이트)를 다운로드 하게 된다.


다운로드 된 20120120.exe는 감염된 시스템에 존재하는 정상 윈도우 시스템 파일인 imm32.dll 파일을 랜덤한 파일명으로 백업을하고 국내에서 제작된 온라인 게임들의 사용자 계정과 암호를 외부로 탈취하는 기능들을 수행하게 된다.

현재까지의 상황들을 종합해보면 이번 MS12-004 취약점을 악용하여 악성코드 감염을 시도하는 제작자는 최종적으로 윈도우 보안 패치가 설치되지 않은 시스템에서 온라인 게임 사용자 정보들을 탈취하기 위한 악성코드 감염을 시도한 사례라고 볼 수 있다.

발견된 악성코드의 제작 기법과 국내 보안 프로그램의 강제 종료 기법들을 볼 때 중국에서 제작된 온라인 게임 관련 악성코드와 유사도가 높다고 할 수 있다.

그러므로 해당 MS12-004 취약점은 다른 악성코드 변형들에서도 다른 형태의 유포 기법으로 악용될 소지가 높음으로 사용하는 윈도우 시스템에 최신 보안 패치들을 모두 설치하는 것이 최선의 예방책이다.

이번 MS12-004 취약점과 관련된 악성코드들 모두 V3 제품군에서는 다음과 같이 진단한다.

JS/Cve-2009-0075 
JS/Agent 
Exploit/Ms12-004 
Win-Trojan/Rootkit.7808.H 
Dropper/Win32.OnlineGameHack 
Win-Trojan/Meredrop.73728.C
Win-Trojan/Rootkit.11648.B
Win-Trojan/Waltrodock.57344
Win-Trojan/Meredrop

그리고 TrusGuard 네트워크 보안 장비에서도 해당 취약점에 대해 다음의 명칭으로 탐지 및 차단이 가능하다. 

malicious_url_20120127_1459(HTTP)-1
ms_ie_mid_file_exploit-t(CVE-2012-0003/HTTP)

저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원
한국 시각으로 2011년 12월 7일 새벽 Adobe에서는 보안 권고문 "APSA11-04 Security Advisory for Adobe Reader and Acrobat"을 공개하며 Adobe Acrobat에서 알려지지 않은 제로 데이(Zero-Day) 취약점인 CVE-2011-2462가 발견되었음을 알렸다.

Adobe에서는  이번에 발견된 제로 데이 취약점에 영향을 받는  Adobe Acrobat 버전들은 다음과 같다고 밝히고 있다.

Adobe Reader X (10.1.1) and earlier 10.x versions for Windows and Macintosh
Adobe Reader 9.4.6 and earlier 9.x versions for Windows, Macintosh and UNIX
Adobe Acrobat X (10.1.1) and earlier 10.x versions for Windows and Macintosh
Adobe Acrobat 9.4.6 and earlier 9.x versions for Windows and Macintosh

그리고 보안 권고문을 통해 해당 제로 데이 취약점을 악용한 타겟 공격(Targeted Attack)이 발생하였으며, 해당 취약점을 보고 한 업체로는 미국 군수 방위 업체인 록히드 마틴(Lockheed Martin)으로 밝히고 있다.


이 번 타겟 공격과 관련하여 시만텍(Symantec)에서는 "A New Zero Day PDF Exploit used in a Targeted Attack" 블로그를 통해 이메일의 첨부 파일로 제로 데이 취약점인 CVE-2011-2462이 존재하는 PDF 파일을 전송한 것으로 공개 하였다. 그리고 공격 대상이 된 기업들로는 통신, 제조, 유통, 컴퓨터 하드웨어와 하드웨어 업체들인 것으로 밝히고 있다. 

ASEC에서는 이 번 타겟 공격이 11월 말에서 12월 초를 전후하여 발생한 것으로 추정하고 있으며, 발견된 취약한 PDF 파일은 최소 2개 이상 인것 파악하고 있다.

일반적으로 PDF 파일에는 Universal 3D 파일 포맷같은 3차원 이미지를 포함할 수 있다. U3D 이미지 파일은 일반적인 블럭헤더와 블럭 타입의 특별한 블럭데이터를 가질 수 있는 구조이다.

이 블럭들 중 ShadingModifierBlock은 0xFFFFFF45 값을 가지고, ShadingModifierBlock은 힙
(Heap)에 객체를 생성할 때 사용한다.

이런 오브젝트들의 포인트도 힙에 저장되며 포인터를 위해 메모리에 할당되는 양은 포인터사이즈에 U3D 파일의 Shader List Count 필드를 곱한 것이다. 그러나 포인터는 0xe0형태로 힙 메모리에 초기화되지 않은 상태로 설정 될 경우 이를 악용 가능한 힙 변형이 발생 할 수 있다.

이 번에 발견된 취약한 PDF들은 아래 이미지와 같은 악의적인 3D Stream을 포함하고 있다.

 
해당 악의적인 3D Stream의 압축을 해제하게 되면 아래 이미지와 같은 U3D 파일이 생성되며 붉은 색 박스로 표시된 부분에 의해 실질적인 오버플로우(Overflow)가 발생하게 된다.
 


OpenAction을 통해 취약한 PDF 파일이 실행 될 때 아래 이미지와 같은 14번 오브젝트에서 AcroJS를 포함한 15번 오브젝트 부분의 스크립트를 실행하도록 되어 있다.


15번 오브젝트에는 아래 이미지와 같이  힙 스프레이를 통해 쉘코드를 메모리에 적재하는 AcroJS가 포함되어 있다.


쉘코드는 XOR 97로 디코딩(Decoding)하는 과정을 거쳐 백도어 기능을 수행하는 악성코드를 시스템에 생성하게 된다.


메일로 전달 된 CVE-2011-2462 제로 데이 취약점을 가지고 있는 PDF 파일을 실행하게 되면 아래 이미지와 동일한 내용을 가지고 있는 정상 PDF 파일이 보여진다.


그러나 실제로는 사용자 모르게 다음 파일들이 시스템에 생성되고 실행 된다.

C:\Documents and Settings\[사용자 계정명]\Local Settings\ctfmon.exe
C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\ManTech Employee Satisfaction Survey.pdf
C:\Documents and Settings\[사용자 계정명]\Local Settings\pretty.exe
C:\Documents and Settings\[사용자 계정명]\Local Settings\WSE4EF1.TMP 


생성된 파일들 중 
ManTech Employee Satisfaction Survey.pdf는 위 이미지와 동일한 취약한 PDF 파일이 실행 될 때 감염된 시스템의 사용자로 하여금 악성코드로 의심하지 못하도록 보여지는 정상 파일이다. 

생성된 
ctfmon.exe(39,936 바이트)는 자신의 복사본을 다시 동일한 위치에 pretty.exe(39,936 바이트)로 생성하며 DLL 파일인 WSE4EF1.TMP(31,232 바이트)를 드롭(Drop) 한다. 해당 파일들 모두 마이크로소프트 비주얼 C++(Microsoft Visual C++)로 제작 되었으며 실행 압축은 되어 있지 않다.

그리고 ctfmon.exe는 다음의 레지스트리(Registry) 키를 생성하여 시스템이 재부팅하더라도 자동 실행하도록 한다.

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
office = 
"C:\Documents and Settings\[사용자 계정명]\Local Settings\pretty.exe"

 
드롭 된  WSE4EF1.TMP는 다음의 프로그램들이 실행되어 프로세스를 생성하게 되면 아래 이미지와 같이 스레드(Thread)로 해당 프로세스에 인젝션(Injection) 하게 된다.

Microsoft Outlook
Microsoft Internet Explorer
Firefox



인젝션에 성공하게 되면 HTTPS로 다음 시스템으로 접속을 시도하게 되나 테스트 당시에는 정상적인 접속이 이루어지지 않았다.

hxxps://www.pr[삭제]her.com/asp/kys[삭제]_get.asp?name=getkys.kys


정상적인 접속이 이루어지게 되면 다음의 악의적인 기능들을 수행하게 되며, 해당 악성코드들은 기존 다른 침해 사고에서 발견되었던 원격 제어 형태의 백도어(Backdoor)이다.

파일 업로드 및 다운로드
CMD Shell 명령 수행
시스템 강제 종료 및 재부팅
프록시(Proxy) 서버 


이번에 발견된 Adobe Acrobat에 존재하는 제로 데이 취약점인 CVE-2011-2462를 악용한 타겟 공격은 취약한 PDF 파일과 감염되는 악성코드 등 전반적인 사항들을 고려하였을때, 공격자는 기업 내부에 존재하는 중요 데이터를 탈취하기 위한 목적으로 제작 및 유포한 것으로 추정된다.

타겟 공격에 실제 악용된
CVE-2011-2462 취약점에 대한 보안 패치는 Adobe에 의해 현지 시각으로 12월 12일 배포 될 예정이나 다른 보안 위협에서 해당 제로 데이 취약점을 악용 할 가능성이 높음으로 각별한 주의가 필요하다.

해당 제로데이 취약점에 대한 임시 대응 방안으로 Adobe에서는 사용하는 Adobe Reader의 버전을 10.0으로 업그레이드 하고 해당 버전에 포함되어 있는 보호 모드(
Protected Mode)와 보호 뷰(Protected View) 기능을 활성화 할 것을 권고하고 있다.

메뉴 → 편집 → 기본 설정 → 일반  → 시작할 때 보호 모드 사용(활성)
 


메뉴 → 편집 → 기본 설정 → 보안(고급)  → 고급 보안 사용(활성)

 

이 번 발견된 Adobe Acrobat에 존재하는 제로 데이 취약점인 CVE-2011-2462을 악용한 악성코드들 모두 V3 제품군에서 다음과 같이 진단하고 있다.

PDF/
CVE-2011-2462
Win-Trojan/Agent.39936.BAT
Backdoor/Win32.CSon
저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원
안철수연구소는 ASEC 블로그를 통해서 배너광고를 통한 악성코드 유포사례에 대해서 여러차례 다룬 바 있고
이번에 발견된 사례도 기존과 크게 다르지 않다.


1. 악성코드 유포는 어떻게?

이번에 발견된 사례는 아래 그림과 같은 형식으로 유포가 되었다.

 

                                               [그림 1] 배너광고를 통한 악성코드 유표과정

2. 악성코드 감염은 어떻게?
[그림 1]처럼 악성 스크립트가 삽입된 배너광고에 노출된 PC가 만약 보안 취약점이 존재했다면 악성코드에 감염되었을 확률이 높다.

[그림 2] 배너에 삽입된 악성 스크립트

악성 스크립트가 정상적으로 동작하면 브라우저 버전, 취약점등 조건에 따라 최종적으로 아래 주소에서 악성코드를 다운로드 및 실행한다.


배너광고에 노출된 PC에 악성코드를 다운로드 및 실행하기 위해서 사용된 취약점은 아래와 같다.

※ CSS 메모리 손상 취약점(MS11-003, CVE-2010-3971)
http://technet.microsoft.com/ko-kr/security/bulletin/ms11-003

※ Adobe Flash Player 취약점: CVE-2011-2140
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2140
http://www.adobe.com/support/security/bulletins/apsb11-21.html

위 취약점들을 사용한 악성 스크립트에 포함된 쉘코드는 아래 그림처럼 암호화된 URL가지고 있으며 복호화한 후 다운로드 및 실행하도록 되어 있다.


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

[그림 4] urlmon.URLDownloadToFileA 함수 호출
 

edi= 다운로드할 악성코드 URL, http://***.78.***.175/Ags/AGS.gif

ebx= 악성코드를 저장할 경로, %USERPROFILE%\Application Data\Y.exe

Y.exe가 실행되면 아래 그림과 같이 파일을 생성 및 백업한다.

                                           [그림 5] Y.exe의 실행과정

[그림 5]
에서처럼 악성 ws2help.dll은 HttpSendRequestA()를 메모리상에서 Inline Patch하여 특정 온라인 게임 사용자의 계정정보를 탈취하는 게임핵 악성코드이다.

             [그림 6] 악성 ws2help.dll에 의해서 HttpSendRequestA()함수 패치 전과 후

[그림 6]
을 보면 악성 ws2help.dll에 의해서 HttpSendRequestA()함수가 패치될 경우 0x100030f0란 주소로 분기하도록 되어 있음을 알 수 있다.

위와 같이 하는 이유는 사용자가 입력한 ID/PW를 사이트로 전송하기 전에 악성 ws2help.dll에 의해서 입력된 계정정보를 탈취하기 위한 목적이고 사용자의 계정정보는 아래 그림에서 보는 것처럼 특정 사이트로 전송된다.

                                   [그림 7] 특정 사이트로 전송되는 ID/PW

3. 안철수연구소의 대응상태

* V3 엔진버전 : 2011.11.21.00
JS/Shellcode
JS/Downloader
Dropper/Win32.OnlineGameHack


만약 악성코드에 감염되어 백신이 실행되지 않을 경우 아래 전용백신을 다운로드하여 검사 및 치료한다.

                          GameHackKill 전용백신 다운로드

 


4. 맺음말
주말이면 어김없이 취약한 웹 사이트를 통해서 악성코드 유포가 되풀이 되고 있고 아직도 상당수의 사용자들이 보안 업데이트를 하지 않아 악성코드 감염피해를 입고 있지만 백신(전용백신)으로 치료하면 그만이라는 생각을 가지고 있는 것 같다.

옛 속담에 "소잃고 외양간 고친다."란 말이 있다. 이 속담의 의미처럼 가장 기본이면서도 중요한 보안 업데이트를 꾸준히 함으로써 큰 피해를 미연에 방지했으면 한다.

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by AhnLab_ASEC