RussKill

Malware Analysis 2010. 1. 6. 05:55 |
 
   1.개요

  악성코드를 분석할 때는 항상 해커들의 입장에서 분석하려고 노력한다. 따라서 서비스 공격이나, 서비스거부공격, 웹해킹등을 간단하게 할 수 있는 방법이 없을까? 혹은 많은 사용자들에게 감염시킬 수 있는 방법이 없을까에 대해서 항상 질문하고 방법을 찾는데, 이번에 분석한 악성코드 역시 그러한 생각 때문에 찾은 악성코드이며, 12 17 Opensive Computing RussKill. Application to perform denial of service attacks 라고 소개되었으며, 아직 국내 사이트에서 다룬적이 없는 악성코드이다. -어려운 것도 아니고 그냥 보통의 악성코드와 비슷하다- 따라서 탐지명을 RussKill로 가정하고 진행한다.

 

  
2.RussKill이란.
 
  RussKill
DoS(혹은 DDoS) 발생시킬 있는 툴로서 기능들이 Opensive Computing에서 소개하듯이 Extremely 정도로 간편화 되어 사용할 있으며, C&C서버도 자동으로 구성하여 타겟을 지속적으로 바꿀 있다(실질적으로 분석하는 도중에도 여러 도메인으로 계속 바뀌었다).

 또한, RussKill HTTP-Flooding, SYN-Flooding 공격을 수행할 있으며, 공격자가 서버에서 시간당 발생패킷을 지정하여 PPS 조절할 있다. 모든 과정이 모두 마우스 클릭으로 바로바로 이루어진다.

 

  3. 공격 시나리오

사용자 삽입 이미지

Attacker RussKill을 웹서버에 구동한다.(이 과정에서 악성코드과 Target Server가 설정된다)

Victim들이 악성코드를 다운로드한다. (본 공격의 효율성을 위해서는 상관없는 여러 사이트들에

   감염시키는 것이 좋으나, 현재는 모두 한곳에서만 다운로드 한다.)

③ 악성코드에 감염된 사용자가 C&C서버로 접속한다. 여기서 C&C Web서버의 php페이지이다.

④ 감염된 Victim Group들이 설정된 C&C서버에서 전달받은 서버로 공격을 수행한다.

Victim Group들은 지속적으로 C&C서버로(설정값에 따라 시간변동) 접근하여 변경내용을 확인한다.

Attacker Victim의 개수를 파악하고 공격의 중지 혹은 Target Server를 변경할 수 있다.


4. 악성코드 분석

  실제적으로
google 통해서 찾은 악성코드는 www.kimosimotuma.cn/999/wihpg.exe 지만, malwareurl.com이나 malwaredomainlist.com 통해 찾은 Russkill관련 도메인은 다음과 같다.

사용자 삽입 이미지

[그림1] malwaredomainlist.com에서 신고된 domain

 

  Kimosimotuma.cn atatata.org, glousc.com 3개의 도메인 모두 중국 IP이며, atatata.org glosc.com IP 115.100.250.107이었으며, kimosimotuma.cn 115.100.250.104 마지막 IP 다른걸 봐서는 공격자가 같을 것이라고 추측할 있다.(이를 증명하는 것은 뒤에도 나오므로 차후에 설명하기로 한다)

 

1)     www.glousc.com/hellotobad/hellotobad.exe 다운로드

 

사용자 삽입 이미지

[그림2] 악성코드 다운로드

 

 

2)     바이로봇 탐지내역 확인

 

사용자 삽입 이미지

[그림3] 바이로봇 탐지결과

 

  바이로봇뿐만 아니라 virustotal.com에서 돌렸을 경우 대부분의 백신에서 탐지를 하지만, 수많은 악성코드의 변종으로 검사된다.

그중에서 Microsoft, AntiVir, eTrust-Vet 경우 Ruskill 탐지한다.(발빠르게 대처한건가?)

 

3)     Wireshark 구동 악성코드 수행

사용자 삽입 이미지

[그림4] 패킷 확인 결과

Glousc.com에서 받은 hellotobad.exe glousc.com/hellotobad/r.php 접속 다른 도메인으로 SYN 패킷을 발생시켰으며, kimosimotuma.cn에서 받은 wihpg.exe kimosimotuma.cn
/999/r.php
접속 다른 도메인으로 SYN패킷을 발생시켰다. 또한, 두개의 악성코드 모두 서비스에 등록하여 재부팅시 두개 모두 kimosimotuma.cn/999/r.php 접속하여 Target Server 가져오는 것을 확인하여 공격자가 동일한 것으로 가정할 있다.

  r.php Follow TCP Stream으로 확인한 결과 다음과 같았으며 r.php 접속하여도 같은 결과를 있다.

사용자 삽입 이미지

[그림5] Follow TCP Stream


사용자 삽입 이미지

[그림6] glousc.com/hellotobad/r.php

사용자 삽입 이미지

[그림7] atatata.org/888/r.php

사용자 삽입 이미지

[그림8] kimosimoutma.cn/999/r.php

그림6,7,8에서 확인하였듯이 각각의 서버마다 지정해놓은 Target Server 달랐으며, 실질적으로 분석을 수행할 가끔씩 Target 바뀌었으며 그때마다 r.php 바뀌어 있었다. 또한, r.php로만 주기적으로 접근을 시도할뿐 Target Server 패킷을 잠시 안보낼 경우도 있는데, 경우 역시 공격자가 임의적으로 Stop 걸어놓았다고 가정할 있다.

SYN Packet 발생시키는 것도 분석할 때마다 초당 많게는 5,000 적게는 100 PPS정도 발생되었다. 역시 공격자가 임의적으로 조작한 것으로 추정된다.                                       

사용자 삽입 이미지
                                                      [그림9] SYN Packet 발생

 

4)     Reversing

사용자 삽입 이미지
                                                [그림10] ASPack 2.12 Packing

 

해당 코드는 ASPack 의해 Packing되어 있어서 자세한 구조를 확인하기 어려워 Unpacking 수행하여 해당 코드를 살펴보았다. 

사용자 삽입 이미지
                                      [그림11] c:\windows\system32\winsrir.exe 생성 부분 

해당 악성코드는 두개 모두 c:\windows\system32\winsrir.exe 생성하였으며, 외에는 파일 생성 하는 과정이 없었다.

사용자 삽입 이미지
                                                [그림12] 레지스트리 수정 부분

 

위의 함수에서 실질적으로 레지스트리를 수정 키값을 생성하며 목록은 다음과 같다

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_WINSRIR

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_WINSRIR\0000

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_WINSRIR\0000\Control

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\winsrir

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\winsrir\Security

       HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\winsrir\Enum

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WINSRIR

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WINSRIR\0000

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_WINSRIR\0000\Control

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winsrir

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winsrir\Security

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winsrir\Enum


위의 목록중 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\winsrir에서 윈도우 서비스에 등록된다.

사용자 삽입 이미지
                                        [그림13] 서비스 등록 부분

 

위의 레지스트리 편집기에서 DisplayName 부분이 한문으로 깨져서 나오지만 실질적으로 등록된 서비스를 확인해보면 Services Windows Controller 동록 된다.

사용자 삽입 이미지

[그림14] 서비스 등록



5. RussKill 정보

  Russkill
이라는게 소개된지도 얼마되지 않았기 때문에 관련된 정보가 많지 않다. 실제적으로 http://planety-hackeram.ru 라는 러시아 해킹툴 다운로드사이트에서 관련된 자료를 다운로드할 있는것으로 파악되는데 사이트를 번역해가면서 가입해본 결과 wmz(webmoney) 요구한다.

Opensive computing이나 최초발견자들의 개괄적인 분석내용을 살펴보면 다음과 같은 그림들을 확인할 있는데 여기서 개괄적인 정보를 유추할 있다. Online이란 현재 r.php 접속해서 받아가는 Victim 수이며, URL Target-server, 초당 packet 발생 , 공격의 중지 혹은 target server 변경등이 가능한 것으로 보인다.

사용자 삽입 이미지

[그림15] Russkill 정보#1

사용자 삽입 이미지

[그림16] Russkill 정보#2

 

공격에 대한 셋팅이 이루어지므로, 웹서버 어떤 페이지는 로그인하는 화면이 있을 것으로 생각하고 blind 페이지를 요청해보았으며 다음과 같은 로그인 창을 찾을 있었다.

사용자 삽입 이미지

[그림17] Russkill 로그인 창

 

(Brute Force의 욕구가 잔뜩)  

 

기존에 해외에서 신고된 도메인의 URI 기본적으로 /연속된숫자3자리/r.php 이다. 물론, 공격이 여러건 나온 것이 아니니 Russkill default 설치하면 저렇게 것이다 가정하였을 경우 패턴의 입력이 가능하다. 하지만 snort 경우 /\[0-9]{3}\/[Rr]\.[Pp][Hh][Pp] 같은 형식으로 정규식 써서 등록이 가능하지만 Sniper는 정규식이 안먹으니 패스~

### r.php로 접속했을때 target server 주소 앞에 숫자|숫자|숫자|숫자 되어 있는 부분에 따라서
공격의 수행여부(혹은 중단) 패킷의 발생빈도 이런걸 나타내는데 2,4번째 필드부분을 아직 못찾아서;
또 삽질을 해야하나;;


'Malware Analysis' 카테고리의 다른 글

악성코드 분석을 위한 스크립트 만들기!! #1  (1) 2011.01.13
악성코드 수집  (0) 2010.03.21
Posted by 궁상박군
: