- 청와대, 국정원, 새누리당 사이트는 악성 스크립트 방식의 새로운 디도스 공격 받아 

- 정부통합전산센터는 좀비PC방식의 기존 디도스 방식 공격 받아 


안랩[대표 김홍선 www.ahnlab.com]은 25일 일부 정부기관을 공격한 디도스[DDoS: Distributed Denial of Service, 분산 서비스 거부] 공격에 대한 분석내용을 추가 발표했다. 안랩은 이번 정부기관에 대한 디도스 공격은 악성스크립트를 이용한 새로운 방식과, 악성코드에 감염된 좀비PC를 이용하는 기존 디도스 공격 방식이 혼재되어 있다고 밝혔다.

 

안랩은 청와대, 국정원과 새누리당 웹 사이트는 ‘악성스크립트 방식’의 디도스 공격을 받았고, 이는 국가적 대형 디도스 공격에 처음으로 사용된 기법이라고 밝혔다. 또한 안랩은 정부통합전산센터의 DNS[Domain Name Service]서버는 좀비PC를 사용한 기존 방식의 디도스 공격을 받은 것으로 확인했다. 

 

안랩이 최초로 확인한 ‘악성스크립트 방식’ 디도스 공격은 기존 좀비PC를 이용한 공격과 달리, 공격자가 특정 웹사이트에 악성스크립트를 설치하고 사용자들이 이 사이트를 방문하면, 미리 설정해놓은 웹사이트로 공격 트래픽을 발생시키는 방식이다. 안랩 분석결과,사용자가 악성스크립트가 설치된 해당 웹사이트에 정상 접속[방문]하자, 공격자가 타겟으로 정한 청와대, 국정원과 새누리당 웹사이트로 트래픽이 발생하는 것을 확인하였다.

 

한편, 정부통합전산센터 공격은 기존의 좀비 PC를 통한 디도스 공격 방식을 이용한 것으로 확인되었다. 공격자는 우선 25일 00시부터 특정 웹하드의 설치 파일과 업데이트 파일을 통해 개인사용자 PC를 악성코드로 감염시킨 후 좀비PC로 만들었다. 이후 25일 오전 10시에 좀비PC들이 특정 서버를 디도스 공격하도록 C&C서버[공격자가 악성코드에 명령을 내리는 서버]로 명령을 내린 것으로 확인됐다. DNS[Domain Name Service]서버는 웹 사이트 이용자들이 정부 기관의 주소를 입력하면 이를 실제 웹사이트로 연결시켜주는 기능을 하는데, 이 DNS서버가 공격을 받아 일부 정부기관 웹사이트들의 접속이 원활하지 못했던 것이다.

 

공격자는 확보한 좀비PC를 이용해 정부통합전산센터에 있는 두 대의 DNS서버[aaa.co.kr 등의 영어 주소이름을 111.222.333.444 등의 실제 웹사이트의 IP로 연결시켜주는 서버]에 무작위로 생성한 방대한 양의 도메인 이름 확인요청을 일시에 보내는 ‘DNS 디도스 방식’으로 공격을 감행했다.  또한, 많은 좀비 PC로 특정 서버에 일괄 접속하는 일반적인 디도스 공격 방식이 아니라 요청하는 정보의 크기를 늘려서 서버에 부하를 주는 방식을 사용했다. 이 방식의 디도스 공격에 사용된 악성코드 분석 정보는 안랩 ASEC블로그[http://asec.ahnlab.com/949]에서 확인할 수 있다.

 

안랩 관계자는 “이번 악성 스크립트를 이용한 디도스 공격은 지금까지 국가적 대형 디도스 공격에 보고된 적이 없는 새로운 공격방식이다. 이런 새로운 방식의 디도스 공격을 방지하기 위해서는 웹사이트 운영자들은 자신이 운영하는 웹사이트가 악성코드 유포지나 디도스공격에 이용되는 일이 없도록 보안에 만전을 기해야 한다. 더불어 사용자들은 신뢰할 수 없는 사이트 방문을 자제해야 한다.”고 말했다. 

 

안랩은 정부기관 디도스 공격에 이용된 악성코드와 별도로 일부 언론사에 대한 디도스 공격 악성코드를 발견했다고 밝혔다. 또한 하드디스크 파괴기능을 가진 악성코드도 추가로 확인했다. 안랩은 해당 악성코드들에 대해서도 이미 엔진 업데이트 등 대응을 완료했으며 현재 상세 분석 중이다.

 

안랩은 “좀비PC를 이용한 기존 방식의 디도스 공격은PC 사용자들이 백신업데이트 및 정밀검사를 통해 자신의 PC가 좀비화되지 않도록 관리하는 것이 무엇보다도 중요하다”며 PC사용자들의 주의를 당부했다. 안랩 V3는 현재 해당 좀비PC 악성코드를 모두 진단하고 있으며 안랩은 향후 악성코드 추가 발견 시 지속적으로 엔진을 업데이트 할 예정이다.

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

6월 25일 오전 10시에 일부 정부 기관 홈페이지를 대상으로 DDoS(Distributed Denial of Service) 공격을 수행하도록 제작된 악성코드가 발견되었다. 


ASEC에서는 해당 DDoS 공격 수행 기능을 가진 악성코드들을 신속하게 확보하여 상세한 분석을 진행 중에 있다. 현재까지 분석된 정보들은 아래와 같으며, 추가적으로 분석된 정보들은 ASEC 블로그를 통해 지속적으로 업데이트 할 예정이다.


[업데이트 히스토리]

1) 2013.06.25 - 6.25 DDoS 공격에 사용된 악성코드 상세 분석 내용 최초 작성

2) 2013.06.266.25 DDoS 공격에 사용된 악성 스크립트 상세 분석 내용 추가


1. 공격 시나리오


특정 웹하드 업체(www.simdisk.co.kr)의 설치 파일(RARSFX)을 변조하여 압축 해제 후 SimDiskup.exe 가 실행 되도록 해두었다. 


아래 이미지는 이 번에 유포된 악성코드들의 전체적인 상관 관계를 도식화한 이미지이다.



2. 주요 파일 분석 정보


1) servmgr.exe (4,383,232 바이트)


해당 파일은 전체적인 구조에서 드롭퍼(Dropper) 역할을 수행하도록 제작된 악성코드이다. 해당 파일의 리소스(Resource) 영역에는 다른 PE 파일 4개를 포함하고 있으나, 실제로는 동일한 기능을 수행하는 32비트(Bit)와 64비트(Bit) 악성코드로 나누어져 있다. 


아래 이미지는 해당 파일에 대한 구조를 도식화 한 것 이다. 



해당 악성코드가 실행이 되면 우선 감염된 시스템의 운영체제 버전 정보를 체크한 후, OpenFileMappingA 함수를 호출하여 동일한 악성코드에 이미 감염되어 있는지를 확인하게 된다.


MappingName = "Global\MicrosoftUpgradeObject9.6.4"

 

그리고 감염된 시스템의 윈도우가 32비트인지 64비트 운영체제인지를 확인하여, 해당 윈도우 운영체제  환경에 맞는 파일들을 생성하게 된다. 그리고 GetVersionExA 함수를 이용하여 윈도우 운영체제의 버전 정보가 6.0 (Vista) 이상일 경우에는 UAC(User Access Control)를 무력화 한 후 다른 파일들을 추가로 생성하게 된다.


우선 32비트 윈도우 운영체제에서는 %Temp% 폴더에 ~DR(임의의 숫자).tmp (1,995,776 바이트) 파일을 생성 한 후에 별도의 인자값 없이 LoadLibaray 함수를 호출하여 자신을 로드 하게 된다.


이후 다시 Ole(윈도우 정상 서비스명).dll (936,448 바이트) 파일을 생성하고 윈도우 서비스로 등록 한다. ~DR(임의의 숫자).tmp가 생성한 파일은  "Ole" 문자열과 감염된 시스템의 윈도우 서비스명을 조회하여 이를 조합하여 파일명을 생성하게 된다.  


해당 Ole(윈도우 정상 서비스명).dll 파일은 특정 파일을 다운로드 한 이 후, 다운로드 한 파일에서 특정 조건이 확인 되면 DoS(Denial of Service) 공격을 수행하는 파일을 생성하고 실행하게 된다.


그리고 64비트 윈도우 운영체제에서는 다음 2개 파일 생성 한 이후에 CreateProcessA 함수를 이용하여 실행하게 된다.


* 사용자 계정의 임시 폴더(Temp)에 ~ER6.tmp (215,048 바이트)

64비트 윈도우 운영체제에서 UAC 무력화 기능을 수행하는 파일이다.


사용자 계정의 임시 폴더(Temp)에 ~DR7.tmp (146,170 바이트)

32비트 윈도우 운영체제에서 로드 한 파일과 동일한 기능을 수행하는 파일로 Ole(정상윈도우서비스명).dll 파일을 윈도우 서비스로 등록하게 된다.


그리고 해당 파일들을 실행하기 위한 인자값으로 다음을 사용한다.


"C:\DOCUME~1\(사용자 계정)\LOCALS~1\Temp\~ER6.tmp" 

"C:\DOCUME~1\(사용자 계정)\LOCALS~1\Temp\~DR7.tmp"

 

해당 파일들이 정상적으로 실행이 되면 이 후 다음 배치(Batch) 파일을 생성하여, 자기 자신을 삭제하게 된다.


C:\DOCUME~1\(사용자 계정)\LOCALS~1\Temp\ud.bat


2) Ole(윈도우 정상 서비스명).dll (936,448 바이트) 


해당 악성코드는 윈도우 시스템 폴더(system32)에 ole(윈도우 정상 서비스명).dll 라는 파일 형태로 생성하여 실행 된다. 


그러나 드로퍼에 의해 감염 될 때 마다 임의의 문자열을 사용하여 파일명이 달라지게 된다. 파일의 첫 문자열인 Ole는 접두어로 항상 일정하게 생성되나, 나머지 문자열은 감염된 시스템에 존재하는 정상 윈도우 시스템 파일들 중 하나의 DLL 파일명을 조합하여 사용하는 것으로  추정 된다. 


그리고 해당 파일은 윈도우 서비스로 동작 하며, 다음의 URL로 접속을 시도하여 성공하게 될 경 다른 파일을 다운로드 하게 된다.


webmail.genesyshost.com/mail/images/ct.jpg

www.hostmypic.net/pictures/e02947e8573918c1d887e04e2e0b1570.jpg


파일 다운로드가 성공하게 될 경우에는 사용자 계정의 임시 폴더(Temp)에 ~MR(임의의 숫자 2자리).tmp 파일을 생성하게 된다. 


해당 파일은 시그니쳐('BM6W')와 시간 정보(6월 25일10:00)를 포함하고 있는 데이터 파일로서, 감염된 시스템의 시간 정보를 비교하여 동일 할 경우에는 윈도우 시스템 폴더(system32)에 wsauieop.exe(847,872 바이트) 파일을 생성하고 실행하게 된다.


3) wuauieop.exe (847,872 바이트)


윈도우 시스템 폴더(system32)에 생성된 wuauieop.exe (847,872 바이트) 파일은 DDoS 기능을 수행한다. 


해당 파일 내부에는 DDoS 공격의 대상이 되는 시스템의 IP 2개가 하드코딩되어 있으며, 각각 쓰레드로 무한루프를 돌면서 DDoS 공격이 이루어 지게 된다.


* Thread Function(1) (=401110) 공격 대상 IP: "152.99.1.10:53"



* Thread Function(2) (=4012A0) 공격 대상 IP: "152.99.200.6:53"


이 외에 추가로 2개의 쓰레드 루틴을 더 생성하여 임의의 도메인명을 생성하게 된다. 이는 임의의 도메인명들을 생성하여 DDoS 공격효과를 증대 시킨 것으로 추정 된다. 

 

생성하는 임의의 도메인명들은 "[임의의 문자열].gcc.go.kr" 을 가지고 있으며, 사용하는 임의의 문자열은  a~z 까지의 ASCII로 무작위로 채워진다.


그리고, 도메인명에 사용하는 임의의 문자열은 최대 길이는 28자를 넘을 수가 없도록 제작 되었다.



4) ~SimDisk.exe (3,405,824 바이트)


해당 파일은 인터넷에 공개되어 있는 토르(Tor) 프로그램의 소스코드를 사용하여 제작된 파일로 네트워크 접속 정보의 감시, 추적 및 분석을 어렵게 하기 위한 목적으로 제작 된 것으로 추정된다.


다음 경로에 다수의 파일들을 생성하며 생성한 파일들의 파일명은 윈도우 시스템 폴더(System32)를 조회하여 사용하는 것으로 추정된다.


C:\Documents and Settings\(사용자 계정명)\Application Data\Identities\{e38632c0-f9a0-11de-b643-806d6172696f}


cmd.exe (Npkcmsvc.exe) - conime.exe (tor.exe) 를 구동하는 런처 프로그램

config.ini - cmd.exe 가 참조하는 구성 설정 파일

conime.exe - 토르(Tor) 프로그램의 소스코드를 사용하여 제작한 파일


3. DNS(Domain Name Service) DDoS 트래픽 분석


1) DNS DDoS


DNS DDoS는 DNS 서버에 과도한 양의 네트워크 트래픽(Network Traffic)을 전송하여, 정상적인 DNS 조회가 성공하지 못하도록 서비스 거부를 유발하게 된다.


발생하는 트래픽은 2 개의 DNS 서버를 목표로 공격하였으며, 공격 대상이 되는 해당 네임 서버는 주요 정부 기관에서 사용하는 것으로 이로 인해 이번 공격의 대상이 된 것으로 추정된다.


ns.gcc.go.kr (152.99.1.10)

ns2.gcc.go.kr (152.99.200.6)


해당 악성코드에 의해 발생한 DDoS 공격 트래픽의 특징을 정리하면 다음과 같다.


일반적인 경우 A Query인데 반해, 모두 ANY Query를 전송

질의는 하나의 NS에 전송하는 데 반해, 152.99.1.10, 152.99.200.6 을 동시에 요청

일반적인 DNS Query는 소량의 트래픽이지만, DNS 서버 부하를 위해 데이터 크기를 1300~1400 Byte로 조정


ANY 레코드가 사용 된 점은 "gcc.go.kr" 의 주 네임 서버를 효과적으로 공격하기 위한 것이며, [임의의 문자열].gcc.go.kr 를 쿼리(Query)에 사용한 점은 랜덤 호스트명을 사용하여 캐쉬(Cached) 된 정보 재사용으로 인해 공격 효과가 떨어지는 것을 막기 위해서 이다. 그리고 약 1400 bytes 의 데이터를 사용한 것은 공격 네임 서버로의 밴드위쓰(Bandwidth)  소모하기 위해서이다.


악성코드에 의해 생성된 패킷(Packet)에서는 초당 약 712회의 DNS Query를 전송하는 것으로 확인 되었다.



DNS Query의 형식은 아래 이미지와 같이 [임의의 문자열의 호스트 이름].gcc.go.kr로 되어 있다.



4. DDoS 공격 악성 스크립트 분석


1) 스크립트 기반의 DDoS 공격 시나리오


이번 6.25 DDoS 공격에는 기존의 좀비 PC를 이용한 공격 외에 악성 스크립트를 이용한 공격 방식이 이용됐다. 이 경우, 일반 사용자가 웹 브라우저를 통해 변조된 서버를 방문하는 것만으로 악성 트래픽을 발생하게 된다.



위 이미지는 스크립트(Script) 기반의 DDoS 공격의 시나리오를 재구성한 것으로, 주요 공격 진행 과정은 다음과 같다.


* 공격자는 사전에 다수의 불특정 사용자들이 방문하는 경유지 서버를 해킹

* 경유지 서버에서 사용하는 정상적인 페이지에 DDoS 공격 스크립트 삽입

* 불특정 다수 사용자들이 웹 브라우저로 경유지 서버 방문시, 사용자 PC 상에서 DDoS 공격 스크립트 실

* 스크립트에 설정된 공격 대상 서버에 다량의 HTTP GET을 요청해 악성 트래픽 유발


2) 경유지/공격대상 서버 정보


* 경유지 서버


경유지로 이용된 서버는 외국인들이 주로 이용하는 하숙/고시원 정보 제공 사이트로, 공격 목적에 따라 다음과 같이 일부 파일이 변조되었으나 현재 정상화되었다.



* 공격 대상 서버

공격 대상인 3개 사이트의 총 60개 하위 URL을 대상으로 DDoS HTTP GET 공격이 이루어졌다.



3) 공격 트래픽 분석


* HTTP GET 패킷 정보


아래 이미지는 HTTP GET 요청 패킷 정보로, 아래 표의 HTTP GET 요청의 특징적인 부분을 확인할 수 있다.




* DDoS 트래픽 통계 정보


공격 스크립트는 아래 이미지와 같이 0.25 ms 단위로 공격 대상 URL을 랜덤으로 선택하여 HTTP GET 요청을 시도하도록 구현되어 있다.



분석 환경에서 재현한 결과, 아래 이미지과 같이 대략 초당 60회의 HTTP GET 요청을 시도하는 것으로 분석되었으나, 사용자 시스템에 따른 영향이 있을 수 있다.



4) 공격 스크립트 구성


공격자는 다음과 같이 다수의 사용자가 방문하는 경유지 서버(www.********.co.kr)를 해킹하여 DDoS 공격을 수행하는 스크립트를 삽입하였다.


[메인 페이지]

www..*********.co.kr/index.html - 청와대 공격용 스크립트 삽입



위 이미지는 경유지 서버의 메인 페이지가 변조 전의 코드들이며, 아래 이미지는 공격자에 의해 변조된 메일 페이지 모습을 나타낸다.



[공통 자바 스크립트 파일]

www..*******.co.kr/common/js/common.js - 새누리당/국정원 공격용 스크립트 삽입



위 이미지는 경유지 서버의 변조 전의 자바 스크립트(Java Script) 코드이며, 아래 이미지는 공격자에 의해 변조된 자바 스크립트 코드 모습을 나타낸다.



아래 이미지와 같이 makeHTTPRequest 함수에서 실제 공격 URL을 구성해 HTTP GET 요청 트래픽을 발생시킨다.



아래 이미지와 같이 setInterval 함수를 이용해 일정 시간 단위로 공격 URL을 요청하는 settingUrl 함수를 호출한다.



5) 공격 대상 상세 정보


아래 표와 같이 공격 대상인 3개 사이트의 하위 URL 총 60개를 대상으로 HTTP GET 요청을 반복적으로 수행한다.



6월 25일 오전 정부 기관 홈페이지를 대상으로 발생한 DDoS(Distributed Denial of Service) 공격을 수행하도록 제작된 악성코드들은 2013.06.25.04 버전 이후의 최신 엔진으로 업데이트 한 V3 제품군들에서는 모두 다음과 같이 진단한다.


Trojan/Win32.Ddkr 

Trojan/Win32.XwDoor


앞서 언급한 바와 같이 ASEC에서는 상세한 분석을 진행 중에 있으며, 추가적으로 확인 된 정보들에 대해서는 본 블로그를 통해 지속적으로 업데이트 할 예정이다.


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

ASEC에서는 중국에서 제작되는 것으로 추정되는 GongDa Pack으로 명명된 스크립트 형태의 악성코드가 지속적으로 발견되고 있다는 것을 공개한 바가 있다.


7월 30일 - GongDa Pack의 스크립트 악성코드 증가


최근들어 GongDa Pack으로 명명된 스크립트 악성코드 이외에 YSZZ로 명명된 스크립트 악성코드가 버전을 계속 변경하면서 유포되고 있는 것이 발견되었다.


7월 3일 발견된 스크립트 악성코드의 경우는 아래 이미지처럼 상반기부터 발견되기 시작한 다른 YSZZ 스크립트 악성코드 변형들과 동일하게  0.3 버전의 스크립트 였다. 



그러나 8월 3일 발견된  YSZZ 스크립트 악성코드는 아래 이미지와 같이 0.8 VIP 버전으로 업데이트된 버전의 스크립트 였다.



8월 11일 주말에 발견된 YSZZ 스크립트 악성코드는 아래 이미지와 같이 0.9 VIP 버전으로 다시 업데이트된 버전의 스크립트 였다.



해당 업데이트 된 버전의  YSZZ 스크립트 악성코드들은 V3 제품군에서 다음과 같이 진단한다. 하지만 다수의 변형들이 지속적으로 발견되고 있음으로 주의가 필요하다.


HTML/Downloader

JS/Downloader 

JS/Agent 


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


javascript_malicious_yszz(HTTP)

javascript_malicious_yszz-2(HTTP)


공다 팩과 YSZZ 스크립트 악성코드 모두 어도비 플래쉬(Adobe Flash)와 자바(JAVA)와 같은 일반 어플리케이션들의 취약점을 악용하여 다른 온라인 게임 관련 악성코드나 원격 제어가 가능한 백도어 형태의 악성코드들의 감염을 시도하는 특징이 있다.


그러므로, 운영 체제를 포함한 자주 사용하는 어플리케이션들의 취약점을 제거할 수 있는 보안 패치들을 주기적으로 설치하는 것이 중요하다.

저작자 표시 비영리 변경 금지
신고
Creative Commons License
Creative Commons License
Posted by 비회원
안철수연구소 ASEC에서 2012년 2월 국내,외에서 발생한 다양한 보안 위협 이슈와 동향들을 정리한 ASEC 리포트 2012 Vol.26을 발간하였다. 

 
이 번에 발간된 ASEC 리포트는 2012년 2월 주요 보안 위협 이슈들을 다음과 같이 분석하고 있다.

1) 악성코드 이슈
 PC에 존재하는 모든 문서 파일을 탈취하는 악성코드
누군가 나를 지켜보고 있다? 웹캠으로 도촬하는 악성코드
가짜 KB국민은행 피싱 사이트 주의
스마트폰의 문자 메시지로 전달되는 단축 URL
특정 기관을 목표로 발송되는 발신인 불명의 이메일 주의
시리아 반정부군을 감시하기 위한 악성코드 유포
변형된 MS12-004 취약점 악용 스크립트 발견
MS11-073 워드 취약점을 이용하는 타깃 공격 발생
어도비 플래시 취약점 이용한 문서 파일 발견
wshtcpip.dll 파일을 변경하는 온라인게임핵 발견
윈도우 비스타, 윈도우 7을 대상으로 하는 온라인게임핵 악성코드 발견

2) 모바일 악성코드 이슈
안드로이드 애플리케이션에 포함된 윈도우 악성코드

3) 보안 이슈
국내 동영상 플레이어 프로그램의 취약점
아래아한글 스크립트 실행 취약

4) 악성코드 분석 특집
내가 설치한 앱이 악성코드라고?

 
안철수연구소 ASEC에서 발간하는 월간 보안 위협 동향 리포트는 아래 웹 사이트에서 확인 할 수 있다. 

ASEC 보안 위협 동향 리포트 2011 Vol.26 발간
저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 비회원
일반적으로 서로 다른 윈도우(Windows) 운영체제와 리눅스(Linux) 운영체제에서 모두 감염되어 동작하는 악성코드를 제작하는 것은 기술적으로 많은 사항들을 고려해야 되는 문제임으로 쉽지 않은 사항이다. 특히나 모바일(Mobile) 운영체제와 일반 윈도우 PC 모두에 감염되어 동작하는 악성코드를 제작하기라는 것은 더욱 쉽지 않은 사항이다.

2012년 2월 3일 ASEC에서는  하루동안 전세계에서 수집되어 분석되었던 안드로이드(Android) 어플리케이션들을 확인하는 과정에서 특이하게 특정 어플리케이션 내부에 윈도우 악성코드가 포함되어 있는 것을 발견하였다.

이 번에 발견된 안드로이드 어플리케이션 아래와 같은 구조를 가지고 있으며, 아래 이미지의 붉은색 박스로 표기한 스크립트 파일인 about_habit.htm(123,196 바이트)를 내부에 포함하고 있다. 


해당 안드로이드 어플리케이션 내부에 포함된 about_habit.htm는 일반적인 HTML 파일이 아니며 실제로는 비주얼 베이직 스크립트(Visual Basic Script)로 다음과 같은 형태를 가지고 있다.

 
해당 비주얼 베이직 스크립트 파일은 svchost.exe(61,357 바이트) 파일명으로 윈도우 운영체제에서 감염되는 악성코드를 생성하고 실행하게 되었다.

그러나 해당  비주얼 베이직 스크립트 파일은 안드로이드 운영체제에서는 동작할 수 없는 형태이다. 그리고 해당 파일을 포함하고 있는 안드로이드  어플리케이션의 내부 코드에는 해당  스크립트를 외장 메모리에 쓰도록 제작된 코드는 존재하지 않는다.

이로 미루어 해당 안드로이드 어플리케이션 제작자의 실수 등으로 인해 해당 비주얼 베이직 스크립트 파일이 어플리케이션 제작시 포함되었을 것으로 추정 된다.

이 번 안드로이드 어플리케이션 내부에 포함된 윈도우 악성코드들은 V3 제품군에서는 다음과 같이 진단한다.

VBS/Agent
Win-Trojan/Krap.61357
저작자 표시
신고
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 비회원

자바스크립트 소스를 이용하여 악성코드를 심는 방법은 일반화 된지 오래 되었다. 특히 악성코드 제작자들은 자바스크립트 소스를 분석하기 어렵게 만들기 위한 난독화 과정을 거쳐, 백신제품의 엔진에 반영하기 어렵게 하고 있다. 지금까지는 주로 문자열 인코딩 방식을 ASCII 코드가 아닌 다른 방식을 이용하여 알아보기 힘들게 만들었다.

그러나 이번에 새롭게 등장한 방식은 이러한 틀에서 벗어난 방식이다. 화면에 난독화 코드로 보이는 부분이 존재하지 않고, 다만 커다란 빈 공간이 많이 보인다.


그림 1 최근 한 언론사 홈페이지에 삽입되었던 소스코드


보기에는 공백으로 보이지만 실제 커서 위치시켜 이동시켜 보면 스페이스와 탭이 섞여 있는 것을 확인할 수 있다. 보다 정확한 확인을 위해 HEX 값을 확인해 보면 그림 2와 같음을 확인할 수 있다.

그림 2 해당 소스코드의 HEX값 확인 결과


스페이스와 탭의 아스키 코드 값은 16진수로 각각 20 09이다. 따라서 위와 같이 표현된 코드의 경우 스페이스와 탭을 2진수 표현 값으로 이용한 것으로 추론 가능하다.
 

사실 이러한 방법은 빌리 호프만(Billy Hoffman)[각주:1]이 이미 2008 Blackhat 보안 컨퍼런스에서 Circumventing Automated JavaScript Analysis”라는 주제로 발표할 당시 언급한 적이 있다. (발표자료 다운로드) 다만, 발표 당시에는 Crazy Idea (“현실적으로 불가능한 아이디어이라는 의미)로 소개되었으나 실제 코드가 발견되었다는 것이 중요하다.

 

그림 3 2008 Blackhat 컨퍼런스에서 발표된 실제 발표자료


위의 자료를 보면 스페이스는 1, 탭은 0을 의미한다. 탭과 스페이스로 구성된 코드는 다양한 방법으로 난독화를 해제할 수 있다. 스페이스와 탭을 각각 1 0으로 고쳐서 직접 계산하고 표에서 찾는 방법이 있고, 간단한 프로그램을 작성하여 분석하는 방법도 있다. 또한 별도의 툴을 이용하지 않고, 브라우저만 이용하는 방법을 이용하여 분석하는 방법이 있다.

먼저 소스코드를 보기 좋게 정렬한다. 화면에 스페이스와 탭만 출력되어서는 악성페이지를 불러올 수 없다. 분명 스페이스와 탭을 복호화 하는 코드가 포함되어 있을 것이다. 스페이스와 탭 코드 바로 윗 부분에, 빌리 호프만의 발표자료에 있던 복호화 코드와 동일한 소스가 있는 것을 확인할 수 있다.

그림 4 디코딩 함수 정의, 호출 부분, 호출시 전달인자는 난독화 된 코드이다.


그림 4는 난독화된 부분과 복호화 코드만 남겨두고 정상인 부분은 제거한 것이다. 스페이스와 탭으로 구성된 난독화 된 문자열이 복호화 함수로 전달되어 복호화 될 것이다.  실제 복호화 된 코드를 출력해보면 그림 5와 같다. (상세 결과는 모자이크 처리)

그림 5 복호화시 출력 결과


출력결과에서 알 수 있듯이 일부 메시지는 HEX값으로 되어 있는 것을 알 수 있다. 다시 난독화 해제를 해주면 실제 호출하고자 하는 파일의 주소를 확인할 수 있다.

그림 6 최종 호출하는 파일의 주소


그림 6과 같이 연결하고자 하는 악성코드 유포페이지로 유도하는 주소와 코드를 확인할 수 있다. 현재 해당 URL은 접속되지 않는 것으로 보아 제작자에 의해 폐쇄된 것으로 보인다.

이러한 악성코드가 동작하거나 감염되는 것을 막기 위해서 다음과 같은 조치를 취해야 한다.

<개인>

1. 백신 프로그램의 경우 최신버전의 엔진을 사용한다.

 

2. 윈도우 XP의 경우 SP 버전 등을 확인하여 최신버전을 설치하여 사용하고, 미설치된 보안업데이트가 있을 경우 모두 설치한다.

3. IE 8.0 이상의 브라우저를 사용하거나 타사 브라우저를 사용한다.

http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=ko

위 링크 이동 후, 서비스팩 및 IE 업데이트 설치 진행

 

4. Flash Player를 비롯한 ActiveX 프로그램들은 최신 버전을 설치한다.

http://get.adobe.com/kr/flashplayer/
위 링크 이동 후, "지금 다운로드" 클릭하여 설치 진행
(
추가 프로그램 설치를 원치 않을시엔 선택사항 체크 해제 하신 후 다운로드 클릭)

5. 최근에 많이 이용되는 Java 취약점을 보완하기 위해 최신 버전의 Java 프로그램을 설치한다.

http://www.java.com/ko/
위 링크 이동 후 "무료 자바 다운로드" 클릭하여 설치 진행

 

<기업 보안관리자>

1. 백신 프로그램의 경우 최신버전의 엔진을 사용한다.

 

2. 부득이한 경우를 최소화하고, 보안업데이트 및 최신 윈도우 서비스팩를 설치한다.

 

3. 부득이한 경우를 최소화하고, IE8 버전 이상을 사용한다.

 

4. 추가 응용프로그램들의 업데이트는 아래 글을 참고한다.

http://asec.ahnlab.com/758

 

 

 

  1. Acidus라는 닉네임으로 잘 알려진 미국 해커. 前 SPI Dynamics 연구원(웹보안 연구기업). 前 HP 웹보안 연구그룹 연구원. 現 Zoompf 설립자 겸 대표 (웹보안컨설팅 회사) [본문으로]
신고
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

http://core.ahnlab.com/193


상기의 이전 글에서 최근 html 파일을 첨부하거나 html 링크를 삽입한 스팸메일을 통해 악성코드를 다운로드 하는 스팸메일의 형태를 살펴보았습니다. 

이어서 난독화된 악성 스크립트를 살펴 보도록 하겠습니다.


<삽입된 iframe에 의해 연결된 페이지 정보>


상기와 같이 난독화된 악성 스크립트는 악성 스크립트 제작자가 제작한 루틴 및 사용되지 않는 쓰레기 코드로 구성되어 있으며 디코딩 후 실제 악의적인 웹 페이지가 완성이 되게 됩니다. 



<최종 디코딩 된 악성 스크립트>

최종 디코딩된 악성 스크립트는 MDAC[Microsoft Data Access Components], PDF, JAVA 취약점을 이용하여 악성코드를 로컬에 저장하고 실행하게 됩니다. 


<취약점을 이용한 파일 및 다운로드 된 파일>
 
취약점을 이용한 파일 및 game.exe 파일은 아래와 같은 진단명으로 V3에서 진단/치료가 가능합니다.

game.exe
 -> Win-Trojan/Agent.26112.RQ
Notes10.pdf
 -> PDF/Exlpoit
Applet10.html
 ->HTML/Agent



다음 글에서 다운로드 된 game.exe 파일 실행 시 증상에 대해 살펴보도록 하겠습니다.




신고
Creative Commons License
Creative Commons License
Posted by 비회원