분석 정보/악성코드 분석 정보

[악성코드 분석] 사용자 자원을 무단으로 이용하는 가상 화폐 채굴 악성코드

TACHYON & ISARC 2016. 8. 19. 19:59

사용자 자원을 무단으로 이용하는 가상 화폐 채굴 악성코드 





1. 개요 


비트코인과 같이 가상 화폐의 이용이 많아짐에 따라 가상 화폐 채굴 악성코드가 출현하고 있어 사용자의 주의가 필요하다. 가상 화폐 채굴 동작은 과도한 연산이 필요하기에 채굴 전용 GPU, 주문형 반도체(ASIC) 등을 동원해도 수익을 내기 어렵다. 이 때문에 해커들은 적은 비용으로 많은 가상 화폐를 채굴하기 위해, 소유자의 동의 없이 불특정 다수의 자원을 무단으로 이용하는 악성코드를 사용하고 있다.


본 보고서에서 다루게 될 Photo.scr 또한 가상 화폐의 한 종류인 모네로 코인(Monero Coin)을 채굴하여 사용자 모르게 해커의 가상 화폐 지갑에 전송하는 프로그램을 설치 및 실행시킨다. 게다가 이 악성코드는 취약한 웹 서버들을 자동으로 공격해 웹을 통해 제2, 3의 감염자가 발생할 수 있기에 주의가 요구된다.





2. 분석 정보


2-1. 파일 정보

구분

내용

파일명

Photo.scr

파일크기

1,578,496 byte

진단명

Trojan/W32.BitCoinMiner.1578496

악성동작

시작 프로그램 등록

자가 복제

Monero 코인 채굴기 실행

임의의 서버 공격

네트워크

http://s****t**t.ru

http://h****ts.ru

http://p****t**t.ru

http://t****sy.ru

http://p****ts.ru

http://q****t.ru

http://pr****s.ru

http://j****s*s.ru

http://i****ti.ru

 




2-2. 유포 경로

최초의 유포 경로는 불분명하다. 해당 바이너리의 동작 특성상 사용자가 감염된 서버의 웹 페이지를 방문하여 Photo.scr을 다운받고, 부주의에 의해 이를 실행하여 제2, 3의 감염자를 발생 시킨 것으로 보인다.

[그림] 감염된 서버의 웹 페이지[그림] 감염된 서버의 웹 페이지





2-3. 실행 과정

Photo.scr은 %TEMP%에 Monero 코인 채굴 프로그램 NsCpuCNMiner32.exe를 생성하고, 채굴한 코인을 자신의 Monero 코인 지갑에 전송하도록 실행시킨다. 그 후 Photo.scr 자신을 시작프로그램으로 등록하고, 모든 드라이브 루트 디렉토리에 주기적으로 자신을 복사하는 등 로컬에서 추가로 감염 활동을 한다. 또한, 임의 서버의 FTP 서비스를 대상으로 사전 대입 공격을 실행하며, 공격에 성공하면 Photo.scr을 업로드하고, php, html과 같은 웹 페이지 파일에 해커의 코드를 삽입하여 해당 페이지를 방문하는 사용자가 Photo.scr을 받게끔 유도한다.


[그림] 동작 개념도[그림] 동작 개념도





3. 악성 동작


3-1. 비트코인 채굴 프로그램 생성 및 실행

Photo.scr은 %TEMP% 위치에 자신의 리소스에서 가져온 내용으로 NsCpuCNMiner32.exe을 생성한다.


[그림] NsCpuCNMiner32.exe 생성[그림] NsCpuCNMiner32.exe 생성



NsCpuCNMiner32.exe은 Claymore CryptoNote CPU miner라는 Monero코인 채굴 프로그램이며, 아래와 같은 인자를 주어 NsCpuCNMiner32.exe를 실행시킨다.


[그림] NsCpuCNMiner32.exe 실행[그림] NsCpuCNMiner32.exe 실행



인자로 들어가는 문자열은 아래 웹 서버들의 /test.html 페이지에서 받아온 암호화 된 문자열이다.


[그림] 공격자 서버 리스트[그림] 공격자 서버 리스트


[그림] 복호화된 문자열[그림] 복호화된 문자열



NsCpuCNMiner32.exe의 인자로써의 각각 의미는 아래와 같다.


옵션

설명

-dbg

로그 파일과 디버그 매세지를 생성하지 않는다.

-o

mining pool(채굴 집단 개념)을 지정, httpStratum 프로토콜 모두 지원한다,

-t

쓰레드 수

-u

비트코인 지갑

-p

패스워드, x를 패스워드로 사용

[표] 옵션 설명



3-2. 로컬에서의 추가 감염

주기적으로 쉘에 아래와 같은 명령을 내려 A~Z드라이브에 Photo.scr을 복사한다.

[그림] Photo.scr 복사 명령[그림] Photo.scr 복사 명령



복사된 Photo.scr은 아래 그림과 같은 폴더 아이콘을 띄우고 있어 사용자가 착각하기 쉽다.

[그림] 복사된 Photo.scr[그림] 복사된 Photo.scr




3-3. 임의 서버 공격

Photo.scr은 무작위 IP 주소로 FTP 서비스에 사전 대입 공격을 시도한다.

[그림] FTP 서비스 연결[그림] FTP 서비스 연결



사전 대입 공격은 아래 그림과 같이 5개의 사용자 이름과 29개의 패스워드 조합으로 이루어진다.

[그림] 사용자이름, 패스워드[그림] 사용자이름, 패스워드



공격에 성공하여 서버와 연결이 이루어지면 웹 페이지 변조를 위해 확장자가 아래 그림과 같은 파일을 찾아 다운받고, 자신의 코드를 삽입한 뒤 다시 업로드한다. 코드에 쓰인 <iframe> 태그는 페이지 내에서 다른 페이지를 보여주고자 할 때 쓰이며, 페이지의 크기를 가로 세로 1로 주어 감염 페이지에 시각적으로 보이지는 않지만 브라우저는 이를 인식하여 악성코드 Photo.scr 를 다운로드하는 창을 띄운게 된다.

[그림] 공격 대상 확장자[그림] 공격 대상 확장자


[그림] 웹페이지에 삽입되는 HTML 코드[그림] 웹페이지에 삽입되는 HTML 코드



이와 같은 방식으로 FTP 서버에 존재하는 모든 웹 페이지를 감염시킨 뒤 악성코드 Photo.scr 도 업로드된다.


[그림] Photo.scr 업로드[그림] Photo.scr 업로드



그 다음 3-1. 부문에서 연결했던 해커 서버의 S.php 페이지에 http GET 방식으로 페이지 요청을 하여 아래 그림과 같은 감염 정보를 송신하며, 각각 의미는 아래와 같다.


[그림] 감염 정보 전송[그림] 감염 정보 전송


항목

설명

pc

감염시킨 서버 IP

user

감염시킨 서버 사용자 계정

sys

감염시킨 서버 패스워드

cmd

사용자 로컬 %AppData% 경로

startup

감염시킨 페이지 경로

[표] 항목 설명





4. 결론


해당 악성코드로 감염된 웹 페이지는 드라이브 바이 다운로드(Drive by Download) 방식과는 다르게, 단순히 악성 코드를 다운로드 시키려고 하므로, 사용자가 다운로드를 허용하지 않거나 다운로드 되었더라도 실행시키지 않으면 악성코드에 감염될 일이 없다. 하지만 컴퓨터에 대해 잘 모르거나 부주의한 사용자들은 무심코 다운로드를 허용하고, 폴더 이미지의 아이콘과 확장자가 .scr인 파일인 점에 속아 실행할 수 있으므로 주의해야 한다.


해당 악성코드는 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


[그림] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면[그림] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면


[그림] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면[그림] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면