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

6.25 DDoS 공격의 하드디스크 파괴 악성코드 상세 분석

by 알 수 없는 사용자 2013. 6. 28.

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


ASEC에서는 해당 DDoS 공격 수행 기능을 가진 악성코드들을 신속하게 확보하여 상세한 분석을 진행 하는 과정에서 하드디스크 파괴를 목적으로 가진 악성코드를 추가 발견하였다.


현재까지 분석된 정보들은 아래와 같으며, 추가적으로 분석된 정보들은 ASEC 블로그를 통해 지속적으로 업데이트 할 예정이다.


1. 하드디스크 파괴 악성코드 분석


1) RDPSHELLEX.EXE (245,760 바이트)


* 실행 조건 체크


하드디스크 파괴 기능을 수행하는 RDPSHELLEX.EXE (245,760 바이트)는 최초 감염된 시스템에서 실행이 되면, 다음 경로에 존재하는 lsass.exe 파일이 존재하는지 확인하게 된다. 


윈도우 시스템 폴더(System32)\icfg\lsass.exe


만약 해당 lsass.exe 파일이 감염된 시스템에 존재 하는 경우에는 바로 종료하고, 추가적인 악의적인 기능들을 수행하지 않게 된다.


RDPSHELLEX.EXE (245,760 바이트)는 감염된 시스템에서 중복 실행을 방지하기 위하여 다음의 뮤텍스(Mutex)를 확인하게 된다.


Mutex = Microsoft-Windows-LDAP32-Client


* 윈도우 서비스 등록

해당 파일은 윈도우 서비스로 동작하며, 아래와 같은 7가지 윈도우 정상 서비스명중 하나를 사용해 등록한다.

1) Removable Device Helper
2) Windows Workstation Manager
3) Windows Security Policy Service
4) Windows Media Center Cloud Service
5) Windows Fax Extension
6) DCOM Event Filter
7) Network Access Point Manager

* 인자별 의미

해당 RDPSHELLEX.EXE (245,760 바이트)는 다음과 같은 13개의 인자 값을 가지고 있으며, 개별적인 인자 값들의 역할에 대해서 추가적인 분석을 진행 중에 있다.


r, i, p, m, b, z, d, f, n, w, s, t, a


아래 이미지는 분석된 내용 중 인자 값이 -r 과 -I 가 있는 경우를 설명하는 것이다.



* 감염 시스템 정보 전송


감염이 성공적으로 이루어지게 될 경우에는 다음 IP의 시스템으로 접속을 수행하여 감염된 시스템의 정보들을 전송하게 되며, 전송하는 데이터는 0xF3으로 XOR 하여 전송하게 된다..


112.***.190.***:8080

20.***.9.***:443

210.***.39.***:80


감염된 시스템에서 수집하는 데이터는 다음과 같다.


HTTP 1.1

시간 정보(hh:mm:ss)

컴퓨터 이름

Message(EXIST, SUCCESS, 등)

운영체제 버전 정보(Major, Minor, Build No)



* 특정 윈도우 서비스 중지 및 관리자 권한 설정, 바탕화면 변경


RDPSHELLEX.EXE가 실행된 폴더에는 i18n.nms 파일을 생성하며, 이를 복호화하여 0x121C 바이트를 읽어오는데, 여기에는 자신이 실행된 시간 정보와 MBR(Master Boot Record) 파괴 및 패스워드 변경, 네트워크 세션 및 프로세스 실행 트리거 등의 정보가 담겨있다.


그리고 윈도우 시스템에서 실행 중인 다음 서비스를 강제 종료하게 된다. 

 

SENS (System Event Notification Service)

Alerter 


사용자 계정의 임시 폴더(TEMP)에 아래 명령이 쓰여진 "[임의의 문자열]tmp.bat" 파일을 생성하여, 아래 명령을 이용해 감염된 시스템에 존재하는 사용자 계정의 암호를 변경하게 된다.


net user [사용자 계정] "highanon2013"



사용자 계정의 암호를 변경하는 배치(Batch) 파일은 아래의 윈도우 시스템 계정들을 제외하고 생성 된다.


Public, Default, All Users, LocalService, NetworkService


그리고 RDPSHELLEX.EXE의 리소스 영역에 가지고 있는 데이터를 desktop_image001.tmp 파일명으로 생성하고, 해당 파일을 감염된 시스템의 바탕화면으로 변경하게 된다.



* 하드디스크 파괴 증상

RDPSHELLEX.EXE 파일에 의해 감염(패치)된 MBR을 부팅하는 경우, MBR 코드가 수행되어 하드디스크 파괴되며, 파괴 증상은 재부팅을 하지않아도 바로 발생하기도 한다. 

해당 파일은 디스크 8개까지 MBR에 0x6D 크기만큼을 감염(패치) 시키며, MBR 감염 방법은 아래 이미지와 같이 PhysicalDrive를 Open후 WriteFile을 하는 방식을 사용하고 있다.


감염(패치) 된 MBR 코드의 주요 코드는 아래 이미지와 동일하며, INT 13H의 43 AH(Extended Write)를 이용하여 디스크를 파괴한다는 것이 핵심이다. 


위 코드를 간단히 정리하면 다음과 같이 기술할 수 있다.


아래 이미지와 동일하게 감염된 MBR은 다음과 같이 원본 MBR과 달리 다음의 코드가 변경 되었다.


감염된 시스템의 부팅 시, 첫 번째 루프에서는 하드디스크의 0번 섹터에 메모리 0번지에 위치한 데이터를 40h 섹터 크기(8000h)만큼 쓰는(write) 작업을 시작한다. 


두 번째 루프에서는 400h 섹터의 크기 만큼을 더한 하드디스크의 80000h 위치의 동일한 메모리 영역인 0 번지의 데이터 40h 섹터 크기를 쓰는(write) 방식으로 구동된다. 참고로, 코드상으로는 하드디스크 4개를 대상으로 진행하나, 편의상 한 개의 디스크가 있다고 가정하고 설명하고자 한다.


대략적인 디스크의 파괴 위치는 아래 이미지와 동일하다.



디버깅 시 확인된 메모리 0 번지의 값은 다음과 같으며, 해당 내용이 디스크에 쓰여진다.



하드디스크의 0번 섹터의 값이 다음과 같이 변경된 것을 확인할 수 있다.


두 번째 루프에서 변경되는 영역은 아래 이미지와 같이 80000h 위치부터 8000h 크기 만큼이 변경된 것을 알 수 있다.


100h만큼 루프를 돌면서 하드디스크를 파괴한 후 현재 감염된 MBR이 올라와 있는 메모리 영역인 7C00h 오프셋의 1 섹터(Sector) 크기(200h)를 하드디스크의 0번 섹터에 쓰는(write) 코드가 수행 된 후 최초 루프의 시작 위치로 점프하여, 디스크 끝부분까지 수행된다.


위 이미지와 동일하게 루프 종료 시 복원되는 MBR 영역에서 확인할 수 있는 바와 같이, MBR 영역은 감염 시와 동일하게 복원되었으나, 200h 이후의 디스크 영역은 최초 루프 시 변경된 데이터임을 확인할 수 있다.

* 파일 파괴 증상

감염된 시스템의 모든 드라이브의 파일에 대해 8.3 DoS 이름 규칙이거나 다음 확장자를 가진 파일들의 경우에는 즉시 파일을 삭제한다. 

.sys, .ocx, .dll, .exe 

아래의 확장자를 가진 파일들의 경우에는 파일의 마지막에 0x80을 덧붙이고 파일의 시작부터 0xE00 또는 파일 사이즈 만큼 특정한 코드를 덮어씌운다. 그리고 "abcdefghijklmnopqrstuvwxyz0123456789" 테이블에서 파일명만큼 난수를 발생시켜 랜덤하게 파일의 이름을 변경 후 삭제한다. 

.nms, .png, .jpeg, .jpg, .gif, .bmp, .mp4, .wmv, .mpeg, .flv
.mpg, .avi, .php3, .php, .do, .jsp, .asp, .aspx, .htm, .html 


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

Trojan/Win32.Ddkr 
Trojan/Agent.245760.OX

V3 인터넷 시큐리티(Internet Security)와 V3 라이트(Lite)에 포함되어 있는 볼륨보호 기능으로 해당 악성코드의 MBR 파괴기능은 정상적으로 동작하지 못하고 무력화 된다.



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


댓글