국내에는 게임관련 파일들을 타겟(Target)으로 제작된 랜섬웨어로 알려진 'TeslaCrypt' 혹은 'Tescrypt' 라는 이름의 악성코드는 2015년 4월 27일, CISCO 블로그("Threat Spotlight: TeslaCrypt – Decrypt It Yourself")를 통해 처음으로 복원방법이 소개되었다. 국내에서는 아직 피해사례가 많지 않지만, 감염기법에 대한 상세정보 및 복원 가능여부 확인을 통해 추후 피해가 발생 시 활용하고자 한다. 'TeslaCrypt' 랜섬웨어는 지난 4월 국내에 이슈가된 랜섬웨어 처럼 정상 프로세스(explorer.exe, svchost.exe)에 코드 인젝션(Injection)을 통한 방식이 아닌, %APPDATA% 경로에 생성한 악성코드 실행을 통해 감염이 이루어진다. 파일을 암호화하는 과정은 다음과 같다. (감염 후, 사용자 시스템에는 '.ecc' 이름의 파일만 존재)

'normal.jpg' -> 'normal.jpg'(암호화) -> 'normal.jpg.ecc' (복사본) -> 'normal.jpg'(삭제) 
                                                        (kernel32.MoveFileW)          (kernel32.DeleteFileW)

 

TeslaCrypt 랜섬웨어의 분석내용 다음과 같다.

 

1. 파일 및 레지스트리 생성

 

(1) 파일생성

%APPDATA% 경로(CSIDL_APPDATA)에 생성되는 파일들은 다음과 같다.
(%APPDATA%: C:\Documents and Settings\<username>\Application Data)

- 랜덤이름.exe (예제:asoddjv.exe)
- help.html
- log.html (감염된 파일들 목록정보)
- key.dat (파일 복호화에 사용되는 KEY 파일)

바탕화면 경로(CSIDL_DESKTOPDIR)에 아래의 파일들이 생성된다.

- CryptoLocker.lnk (%APPDATA%asoddjv.exe  파일에 대한 바로가기)
- HELP_TO_DECRYPT_YOUR_FILES.bmp (경고 윈도우화면('v4')의 내용에 대한 이미지 파일)
- HELP_TO_DECRYPT_YOUR_FILES.txt (경고 윈도우화면('v4')의 내용에 대한 텍스트 파일)

 

(2) 레지스트리 등록

자동실행을 위해 아래의 레지스트리 등록작업이 이루어진다.

- HKCU\Software\Microsoft\Windows\CurrentVersion\Run  
  > 값 이름: crypto13 (고정)
  > 값 데이터: C:\Documents and Settings\<username>\Application Data\asoddjv.exe (가변)

 

2. Mutex 생성

악성코드는 아래의 고정된 뮤텍스정보를 사용한다.

- System1230123

 

3. 볼륨쉐도우(Volume Shadow) 삭제

감염 작업을 수행하기 전, 아래의 명령(Volume Shadow copy Service(VSS) Admin)을 통해 모든 윈도우 복원 이미지를 사용할 수 없도록 한다.

- "vssadmin delete shadows /all" (참고: https://technet.microsoft.com/en-us/library/cc788026.aspx)

 

4. 감염대상 드라이브 및 파일들

TeslaCrypt 랜섬웨어는 드라이브 명에 상관없이 고정식 드라이브(DRIVE_FIXED)만을 감염대상으로 하며, 이동식, 네트워크 드라이브는 감염대상에서 제외된다.

감염대상 드라이브의 아래의 확장자를 갖는 파일들을 감염대상으로 한다. (확장자 리스트 중, .arch00, .DayZProfile, .forge, .mcgame, .rgss3a 등이 게임관련 파일들 임)

감염 제외조건은 다음의 3가지가 존재한다.

- File Extension: 파일 확장자 중 ".ecc" 를 갖는 형태
- File Name: 파일명 중 "Temporary"가 존재하는 경우
- File Size: 파일크기가 0x10000000 바이트(대략 260M 이상)보다 큰 경우

 

5. 파일복원의 핵심 ('key.dat')

%APPDATA% 경로에 생성되는 데이터 파일 중, 'key.dat' 파일은 파일이름에서 알 수 있듯이 암호화된 파일을 복원하는데 필요한 'AES Key' 정보를 담고있는 파일이다. TeslaCrypt 랜섬웨어에 감염 후, 사용자에게 보여지는 아래의 윈도우 화면창에서는 'RSA-2048' 방식으로 암호화되었으며, 복원을 위한 'Private Key'는 서버에 저장됨을 명시하고 있다. 

하지만, 실제로는 RSA 방식이 아닌 'AES' 방식으로 암호화되었으며, CBC(Cipher Block Chaining) Mode가 사용되었다. TeslaCrypt 랜섬웨어에서 사용한 암호화방식은 아래의 Python 예제코드와 같은 형태로 이루어진다. 아래의 예제코드에서 붉은색으로 표시한 'This is a key123'가 첫번째 키(AES Key)를 나타내며, 파란색으로 표시한 'This is an IV456'두번째 키(Initialization Vector)로 사용된다.

출처: https://pypi.python.org/pypi/pycrypto

>>> from Crypto.Cipher import AES
>>> obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
>>> message = "The answer is no"
>>> ciphertext = obj.encrypt(message)
>>> ciphertext
'\xd6\x83\x8dd!VT\x92\xaa`A\x05\xe0\x9b\x8b\xf1'
>>> obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
>>> obj2.decrypt(ciphertext)
'The answer is no' 

악성코드가 생성한 'key.dat' 파일에는 붉은색으로 표시한 'This is a key123' 정보가 존재하며, 파란색의 'This is an IV456' 정보에 해당하는 Initialization Vector(IV) 값은 감염파일의 첫 시작 16 바이트를 통해 얻을 수 있다. ('(3)감염파일 구조' 참고)

좀 더 정확하게는 'key.dat' 파일의 옵셋(0x177 ~ 0x197) 까지의 0x20 바이트값을 SHA256 으로 변환하는 과정을 거쳐 생성된 값이 실제 AES key (256-bits)로 사용된다.

 

(1) AES Key

'key.dat' 파일에 존재하는 AES Key 값(0x20 바이트)과 감염파일 마다 다른 IV값(0x10)을 통해 복원이 이루어질 수 있는 구조이다. 아래의 그림은 'key.dat' 파일의 내용을 나타내며, 파란색으로 표시된 부분이 AES Key 에 해당하는 0x20 바이트를 나타낸다. 해당 값은 파일시작을 기준으로 0x177 옵셋만큼 떨어진 위치에 존재하며, 전체 파일크기는 0x27C 바이트로 고정적이다.

생성된 AES Key 값은 공격자 서버에 전송되며, 아래와 같은 형태로 암호화과정을 거친 후 전송되는 구조이다.  "key=6446f0b0351eae14d01bcc70b0d4653ac1ce34887b2d23a53607c25655c8c793" 항목에 추가되는 값(1)이 AES Key 값이며, "addr=1MX9oeHq4??????????eVyd1kWrtJKozFz" 항목에 추가되는 값(2)은 BitCoin Address로 사용되는 값이다.  

악성코드 내부에 존재하는 공격자 주소는 아래와 같이 4곳이다.

- 7tno4hib47vlep5o.s2.tor-gateways.de
- 7tno4hib47vlep5o.tor2web.fi
- 7tno4hib47vlep5o.tor2web.blutmagie.de
- 7tno4hib47vlep5o.2kjb7.net

 

(2) Bitcoin Address

아래의 그림은 'key.dat' 파일의 첫 시작부터 존재하는 값(1MX9oeHq4??????????eVyd1kWrtJKozFz)이 결제를 통한 파일복원 시, 사용되는 인증 값(Bitcoin address)과 동일함을 알 수 있다. 정확한 Bitcoin address 값을 입력할 경우, 'Private Key' 를 얻기위한 결제수단으로 'Bitcoin'(2.2 BTC ~= 528 USD) 혹은 'PayPal My Cash Card(USD)' 2가지 방법을 제시한다.

테스트 목적으로 단 한번, 암호화된 파일(500kb 이하)을 복호화하는 기능을 제공하며, 웹 기반으로 파일을 업로드하는 구조이다.

 

(3) 감염파일 구조

아래의 그림은 랜섬웨어에 감염 전/후의 "겨울.jpg" 파일의 내용을 나타낸다. 감염 후 파일크기가 증가하였으며, 내부 데이터도 암호화된 것을 확인할 수 있다.

랜섬웨어에 의해 암호화된 파일은 "원본파일명.ecc" 형태이며, 변경 후의 파일들은 공통적으로 파일시작부터 0x10 바이트의 데이터는 암호화에 사용된 2차 키 값 IV(Initialization Vector)이며, 이후 LittleEndian 형태로 저장된 4바이트 값(0x00019C46)은 암호화 전 원본파일 크기정보가 저장된다. 즉, 암호화된 데이터의 시작은 감염파일 시작부터 0x14 바이트 떨어진 위치임을 알 수 있다.

실제 파일복원 시, 수행하는 작업은 다음과 같은 순서로 이루어진다.

1) key.dat 파일로 부터 AES Key 정보 0x20 바이트를 읽는다. (Offset: 0x177~0x197)
> AES Key(변환 전): 6446f0b0351eae14d01bcc70b0d4653ac1ce34887b2d23a53607c25655c8c793

2) AES Key 값을 SHA256 값으로 변환한다.
> AES Key(변환 후): 795230585896ef6e3dfdbaf694f426e60290b36b00c5b75cf028a82f2a35afc3

3) 암호화된 파일에서 얻은 IV 값과 AES Key 를 이용하여 복호화한다.
> IV 값은 *.ecc 파일의 첫 시작 16바이트

이러한 정보를 바탕으로 감염된 시스템의 'key.dat '파일과 암호화된 파일들(*.ecc)만 있으면, 아래와 같은 Python 코드로 감염된 파일들을 복원할 수 있다.

   # read_key: 'key.dat' 에서 읽은 값
   read_key = KeyBuff[0x177:0x197]
   # SHA256 변환
   h = SHA256.new()
   h.update(read_key)
   # aes_key: 실제 복원시 사용되는 AES Key
   aes_key = h.digest()

   # iv_key: '*.ecc'에서 읽은 값 
   iv_key = EncBuff[:16]
   # aes_key, iv_key 를 이용한 복호화
   obj = AES.new(aes_key , AES.MODE_CBC, iv_key)
   # enc_data: '*.ecc'에서 읽은 값
   enc_data  = encbuff[20:]
   dec_data = obj.decrypt(enc_data)

 

(4) 그 외 'key.dat' 파일의 항목들

'key.dat' 파일에 존재하는 8가지 항목의 데이터 중, 'Bitcoin address' 와 'AES Key'에 해당하는 항목은 언급되었으나 나머지 항목들의 정보는 어떠한 용도로 사용되는 지 파악하지 못하였다.

다만, 아래의 API 호출을 통해 얻은 정보들이 'key.dat' 파일의 나머지 항목들을 생성하는데 사용된다는 것은 확인되었다. 아래의 그림은 실제 아래에 언급한 API 중, CryptGenRandom 함수를 통해 얻은 0x40 크기의 데이터가 특정 함수(sub_41B3A0)를 통해 변환되는 부분을 나타낸다. 그 외 다른 API 들도 결과로 리턴된 값이 공통적으로 sub_41B3A0 함수를 통해 변환과정을 거치며, 최종 변환값이 'key.dat'에 사용되는 것을 확인할 수 있다.

아래의 그림은 위와 동일하게 GlobalMemoryStatus, GetCurrentProcessId API 호출을 통해 얻은 결과값이 sub_41B3A0 함수를 통해 변환과정이 이루어짐을 나타낸다.

아래의 API 들이 'key.dat' 파일의 데이터를 생성하는데 사용되는 것으로 감염 시스템의 다양한 정보들(Process, Thread, Module, Heap)이 이용됨을 알 수 있다. 감염이 이루어질 때마다 'key.dat' 파일의 데이터가 다르게 생성되는 것도 아래의 API 들의 영향으로 추정된다.

 

[NETAPI32]

- NetStatisticsGet(0, "LanmanWorkstation", 0, 0, &buf)
- NetStatisticsGet(0, "LanmanServer", 0, 0, &buf)

[ADVAPI32]

- CryptAcquireContextW(&hProv, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)
- CryptGenRandom(hProv, 0x40, &buf)

- CryptAcquireContextW(&hProv, 0, "Intel Hardware Cryptographic Seervice Provider", PROV_INTEL_SEC, 0)
- CryptGenRandom(hProv, 0x40, &buf)

[kernel32]

- CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0)

- GetTickCount
- Heap32ListFirst
- Heap32First
- Heap32Next
- GetTickCount
- Heap32ListNext
- GetTickCount

- GetTickCount
- Process32First
- Process32Next
- GetTickCount

- GetTickCount
- Thread32First
- Thread32Next
- GetTickCount

- GetTickCount
- Module32First
- Module32Next
- GetTickCount

- GlobalMemoryStatus
- GetCurrentProcessId

아래의 그림은 key.dat 파일의 8가지 세부 항목별로 데이터를 Write 하는 부분을 나타낸다. 마지막 8번째 추가되는 항목은 GetLocalTime API 를 통해 얻은 시간정보(16바이트)로 붉은색 블럭을 나타낸다. 

각 세부 항목별 데이터의 의미 및 어떻게 사용되는 지 부분에 대한 분석은 추후 진행할 예정이다.

 

5. 프로세스 강제종료

감염 쓰레드가 구동 후, 2번째로 생성하는 쓰레드에서는 아래의 이름(GetProcessImageFileNameW)으로 실행되는 프로세스를 강제로 종료(TerminateProcess)하는 기능을 갖는다. 단순히, 프로세스 이름만으로 비교가 이루어짐으로 이름을 변경하여 실행 시, 정상적으로 실행할 수 있다.

- taskmgr
- procexp
- regedit
- msconfig
- cmd.exe

 

6. 참고사이트

- http://blogs.cisco.com/security/talos/teslacrypt
- https://blogs.mcafee.com/mcafee-labs/teslacrypt-joins-ransomware-field
- https://blog.kaspersky.com/teslacrypt-ransomware-targets-gamers/
- http://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Ransom:Win32/Tescrypt.A#tab=2
- http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

 

해당 악성코드에 대한 V3 진단명은 다음과 같다.

- Trojan/Win32.Tescrypt (md5: 03c1a14c715e3a41f36b026a11a1bcb4)

 

또한, 아래의 경로에서 제공하는 전용백신을 통해 ".ecc" 이름으로 암호화된 파일들에 대한 복원이 가능하며, 'key.dat' 파일이 %AppData% 경로에 존재해야 한다.

- http://www.ahnlab.com/kr/site/download/product/downVacc.do?fileName=v3_TeslaDecryptor.exe

 

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

4월 21일 이슈된 CryptoLocker 의 변종파일이 4월 28일 발견되었다. 특이한 점은 기존에 확인된 랜섬웨어 기능외에 DDoS 공격목적의 실행파일이 추가로 확인되어 주의가 필요하다.

 

 1. 랜섬웨어 기능

엑셀 아이콘 모양으로 제작된 악성코드를 실행 시, 아래의 [그림-1]의 (2)번째 단계에서 처럼 "explorer.exe" 프로세스가 실행되며, 해당 프로세스 메모리에 랜섬웨어 기능의 실행파일이 Injection 되어 동작하는 것을 알 수 있다. 해당 랜섬웨어는 국내 커뮤니티 사이트인 C업체 광고배너를 통해 유포된 것과 동일한 형태이며, 접속시도하는 사이트는 다음과 같다.  

- tidisow.ru

[그림-1] 악성 기능별 인젝션 대상 프로세스

해당 랜섬웨어의 상세 기능은 하기의 글을 참고

- http://asec.ahnlab.com/1030

 

 2. DDoS 기능

기존 알려진 랜섬웨어 기능외에 해당 샘플은 DDoS 공격기능의 실행파일을 구동하는 특징을 갖는다. 구체적 DDoS 공격방식은 Nitol 이라는 이름으로 알려진 악성코드와 동일하며, 아래의 C&C 주소와의 통신을 통해 공격자의 명령에 따라 파일 다운로드 및 DDoS 기능을 수행한다.

- b.googlex.me (Port: 22, 23, ...)

 

아래의 [그림-2]는 공격자 명령에 의해 DDoS 공격이 발생하는 부분을 나타내며, DDoS 기능관련 Thread가 반복적으로 생성되는 구조이다.

[그림-2] DDoS 관련 쓰레드 생성루틴

 

아래의 [그림-3]은 DDoS 공격 시 사용하는 다양한 HTTP 메시지 내용을 나타낸다.

[그림-3] DDoS 공격 시 사용되는 HTTP 메시지

 

랜섬웨어 동작방식과 유사하게 악성행위를 하는 실행파일이 별도의 파일형태로 생성되는 구조가 아닌, 정상 프로세스 실행 및 인젝션(Injection)을 통해 동작하여 파일기반의 진단을 우회하도록 한다.

인젝션 대상이 되는 프로세스는 감염 시스템의 아래의 레지스트리 정보를 통해 얻은 웹 브라우저이며, 테스트 시스템에서는 "chrome.exe"가 기본 웹 브라우저로 설정되어있어 [그림-1]의 (1)번째 단계에서 보여진 것  처럼 "chrome.exe"가 실행됨을 알 수 있다.

- HKCR\http\shell\open\command

[그림-4] 인젝션 대상 웹 브라우저 정보

 

해당 악성코드가 생성하는 뮤텍스 정보는 다음과 같다.

- "qazwsxedc" (고정)

 

최초 C&C 주소와 통신 시, 공격자에게 전송되는 정보는 아래의 API 호출을 통해 얻는다. (최종 전송 시, XOR 를 통해 암호화되어 전송)

- KERNEL32.GetComputerNameA
- KERNEL32.GetLocaleInfoW
- ADVAPI32.RegOpenKeyExA ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion")
- ADVAPI32.RegQueryValueExA ("ProductName", "ProcessorNameString")
- KERNEL32.GlobalMemoryStatusEx
- KERNEL32.GetSystemInfo

 

Anti-VM 기능으로 아래의 [그림-5]에서 처럼 C&C 접속 전 30분간의 Sleep()을 수행하며, GetTickCount API를 이용하여 정상적으로 30분간 Sleep()을 수행하였는지 여부를 체크하는 코드가 존재한다.

 

[그림-5] 30분 Sleep() 정상 수행여부 체크

 

해당 악성코드에 대한 V3 진단명은 다음과 같다.

- Win-Trojan/Cryptolocker.Gen

 

 

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

1. 개요

랜섬웨어는 사용자 시스템에 설치된 후 파일들을 암호화해서 정상적으로 사용하지 못하도록 하고 이를 정상적으로 돌려준다는 조건으로 비트코인 또는 추적이 어려운 전자 화폐를 통한 금액 지불을 요구하는 악성코드이다. 주로 국외에서 확산되면서 많은 피해자를 양산했는데 최근 몇 년 사이에 국내에서도 랜섬웨어에 감염된 사용자가 증가하였으며 그 중 국내 유명 인터넷 커뮤니티 사이트를 통해 유포된 CryptoLocker 에 대한 분석 정보를 공유하고자 한다.

최근에 발견된 ‘CryptoLocker’는 [그림-1]에서 볼 수 있듯이 과거 2013년 9월에 처음 발견이 되었으며 ‘CryptoWall’, ‘TorrentLocker’, ‘CryptographicLocker’, ‘TeslaCrypt’ 등의 이름으로 변형들이 계속해서 나타났다. 주로 이메일을 통해 유포되던 랜섬웨어 악성코드가 최근 국내 인터넷 커뮤니티 사이트를 이용해 유포되었고 해당 랜섬웨어인 ‘CryptoLocker’ 도 과거의 그것들과 같은 류이다.

 

[그림-1] 주요 랜섬웨어 타임라인

 

이번 랜섬웨어에 감염되면 나타나는 페이지는 [그림-2]와 같은데 암호화된 파일들을 복원하기 위해 한화 약 438,900원의 BitCoin을 요구한다. 피해자들이 비용 지불을 쉽게 할 수 있도록 결제 방법을 상세하게 설명하고 있으며 실제 복원이 됨을 증명하기 위해 암호화된 파일 중 1개의 파일을 무료로 복호화 해주고 있다. 이를 통해 악성코드 제작자는 중요한 파일을 암호화하여 사용자의 금액 지불을 유도하는 것이 목적임을 알 수 있다.

 

[그림-2] CryptoLocker에 감염 시, 보여지는 웹 페이지

 

그리고 사용자 PC의 IP대역을 확인해서 해당 국가에 맞은 언어의 안내 페이지를 생성 및 실행하여 보여 준다. 결제를 진행하기 위해 안내된 링크를 클릭하면 아래와 같은 정보가 기본으로 세팅 되어 있는데, Tor (anonymity network)를 사용해서 네트워크를 추적하기 어렵게 해 놓았다.

(예제) http://zoqowm4kzz4cvvvl.torlocator.org/jxt85f9.php 
- User-Code:  12lrne9
- User-Pass:  8394

 

2. 감염 경로

아래의 [그림-3]과 같이 사용자 시스템의 취약점을 이용한 전형적인 웹 기반의 DBD(Drive-By-Download) 방식을 통해 감염이 이루어졌다. 국내에서 많은 사용자들을 보유하고 있는 유명 커뮤니티 사이트에 접속하게 되면 취약한 사이트로 리다이렉션(Redirection) 되면서 특정 취약점에 의해 랜섬웨어 악성코드가 다운로드 되고 실행되었다.

 

[그림-3] 감염경로

 

1) 최초 유포지 및 경유지

이번 랜섬웨어 악성코드 배포에는 국내 3곳의 대표적인 IT 커뮤니티가 악용되었음이 확인되었다.

(1) C업체
(2) S업체
(3) R업체

이들 국내 사이트에는 광고 데이터를 동적으로 받아서 화면에 보여주는 기능이 포함되어 있다. 공격자는 이 기능을 악용하여, 아래와 같이 광고서버에 악의적인 스크립트를 삽입하거나 또는 직접 사이트를 변조하는 방법으로 사용자들이 인지하지 못한 채 악의적인 사이트로 연결되도록 유도하였다.

[그림-4] C업체에 삽입된 악성스크립트

 

[그림-5] S업체에 삽입된 악성스크립트

 

[그림-6] R업체에 삽입된 악성스크립트 (SWF 이용)

 

특히, 삽입된 악성 스크립트들은 경유지 사이트를 거쳐, 최종적으로 취약점 공격코드가 탑재된 사이트로연결된다. 이 때, 사용자 클라이언트 시스템 상의 취약점을 이용하기 위해 자동화된 웹 공격 툴킷인  “Angler EK” 가 사용되었다. 

 

2) 자동화된 웹 공격 툴킷 –“Angler EK”

아래의 [그림-7], [그림-8]과 같이 사용자는 최종적으로 난독화된 “Angler EK”의 취약점 랜딩페이지로  연결된다.

[그림-7] Angler EK 난독화된 취약점 랜딩페이지

 

[그림-8] Angler EK 동작구조

 

이 때, 악성코드의 탐지우회 기능과 유사하게, 스크립트 레벨에서도 취약점 'CVE-2013-7331'을 이용하여 가상환경, 분석환경, 백신 프로그램 등의 클라이언트 환경을 체크한다. 만약, 해당 프로그램들이 존재하는 경우, 공격이 정상적으로 이루어지지 않는다.

또한, 다음과 같이 특유의 변수를 이용하여 개별 애플리케이션들의 공격여부를 제어한다.

애플리케이션

변수

 

 

Adobe Flash Player

 

window.sf325gtgs7sfdf1

window.sf325gtgs7sfdf2

 

MS SilverLight

 

window.sf325gtgs7sfds

 

Oracle Java

 

window.sf325gtgs7sfdj

 

환경체크

 

window.sf325gtgs7sfdfn

[표-1] 애플리케이션 제어 변수

 

3) 취약점 및 페이로드 (쉘코드)

일반적인 Angler EK는 다양한 애플리케이션 취약점을 이용하는 것으로 알려져 있으나, 이번 공격에는 “God Mode”로 알려진 'CVE-2014-6332'와 Flash 취약점인 'CVE-2014-0515' 취약점이 이용되었다.

[그림-9] 'CVE-2014-6332' 취약점

 

[그림-10] 'CVE-2014-0515' 취약점 발생부분

 

[그림-11] 웹으로부터 전달된 “exec” 파라미터(Base64 인코딩) 처리

 

[그림-12] 'CVE-2014-0515' 취약점 원인 'Pixel Bender Binary Data'

 

[그림-13] 'CVE-2014-0515' 취약점 코드

 

다음과 같이 실제 쉘코드 실행 시, 공격자 사이트로부터 추가적인 Payload를 다운로드 받는다. 이를 해당 KEY 문자열로 해제한 후, 페이로드의 시작이 “9090” 또는 “MZ” 인지 구별하여 직접 메모리 상에서 실행하거나 tmp 파일(%temp%폴더)로 생성하여 실행한다.

[그림-14] 쉘코드(ShellCode) 일부

 

3. 기능분석

 

1) 전체 동작 흐름

이번 랜섬웨어가 실행이 되면 기타 다른 악성코드처럼 자기 자신을 ‘%WINDOWS%’ 폴더에 복사해놓고 ‘HKCU\Software\Microsoft\Windows\CurrentVersion\Run\<랜덤명>’ 에 등록한다. 해당 키에 실행 파일을 동록 해 놓으면 시스템을 재 부팅할 때마다 자동으로 실행이 되는데, 이렇게 되면 해당 파일을 찾아서 삭제하지 않는다면 감염된 PC의 사용자가 금액을 지불하고 파일을 복구했다고 하더라도 재감염 될 가능성이 높다. 자신을 자동 실행되게 등록한 후에는 정상 ‘explorer.exe’ 프로세스를 생성하고 C&C 서버 통신 및 파일을 암호화하는 주요 기능을 포함한 PE파일을 인젝션 시켜서 동작한다.

[그림-15] CryptoLocker 동작흐름

 

2) 세부 내용

 

a) 네트워크 접속

네트워크 통신 상태를 확인하기 위해 ‘www.download.windowsupdate.com’ 와 ‘akamaitechnologies.com’에 접속한다. 이후 아래의 [그림-16]과 같이 C&C 서버 인 ‘https://lepodick.ru/topic.php’에 두 번에 걸쳐 ‘POST’ 패킷을 전송하는데 첫 번째는 사용자 PC의 정보를 전달한 후 IP대역에 따른 (각 나라별) ‘.txt’와 ‘.html’ 파일을 받아 온다. 그리고 두 번째에는 앞에서 보낸 정보에 암호화된 파일들을 복호화 할 때 필요한 키 정보(256byte)를 함께 보내고 서버에서 ‘200 OK’ 응답을 받으면 파일들을 암호화하기 시작한다. 서버로부터 받은 ‘DECRYPT_INSTRUCTIONS.txt’와 ‘DECRYPT_INSTRUCTIONS.html’ 파일은 암호화한 파일이 있는 모든 폴더에 생성되며, 시스템이 감염되었다는 메시지를 사용자에게 보여주고 파일을 정상적으로 복원하기 위해 BitCoin을 사용한 결제 방법이 설명되어 있다.

[그림-16] C&C 통신과정

 

b) 볼륨 섀도우 카피 삭제

아래 명령을 실행해서 볼륨 섀도우 카피를 삭제하는데 이렇게 되면 Windows 운영체제에서 제공하는 파일 백업 및 복원 기능을 정상적으로 사용할 수 없다. 이 명령은 CryptoLocker류에서 공통적으로 확인 할 수 있는 기능이다.

- vssadmin.exe Delete Shadows /All /Quiet

 

c) 파일 암호화

랜섬웨어의 가장 특징적인 기능인 사용자의 중요 파일들을 암호화하는데 아래에 리스트 되어 있는 확장자를 가진 파일과 폴더는 대상에서 제외된다. 그리고 ‘이동식 드라이브’와 ‘네트워크 드라이브’에 있는 파일도 암호화 대상이 되며 암호화가 완료된 파일에는 확장자 뒤에 ‘.encrypted’ 문자열이 붙게 된다.

 

[제외대상 확장자]

.avi, .wav, .mp3, .gif, .ico, .png, .bmp, .txt, .html, .inf, .manifest, .chm, .ini, .tmp, .log, .url, .lnk, .cmd, .bat, .scr, .msi, .sys, .dll, .exe

 

[제외대상 폴더]

- %Program Files%
- %ProgramW6432%
- C:\WINDOWS
- C:\Documents and Settings\All Users\Application Data
- C:\Documents and Settings\사용자계정\Application Data
- C:\Documents and Settings\사용자계정\Local Settings\Application Data
- C:\Documents and Settings\사용자계정\Cookies
- C:\Documents and Settings\사용자계정\Local Settings\History
- C:\Documents and Settings\사용자계정\Local Settings\Temporary Internet Files

앞에서 리스트 되어 있던 암호화 대상 제외 확장자 및 폴더를 제외하고는 파일 외형적으로는 아래 [그림-17]처럼 파일의 확장자에 ‘.encrypted’ 가 추가가 된 것을 확인 할 수 있다. 이렇게 암호화된 파일 내부에는 변경된 원본 데이터와 시그니쳐 그리고 복호화에 필요한 256 바이트 Public Key가 포함되어 있다.

[그림-17] 감염 전/후의 변경된 파일명

 

4. 복구 프로그램

이번 국내 이슈가된 CryptoLocker 에 대한 복구 프로그램은 내부에 감염 사용자 별로 다른 복호화 키 인덱스 정보(0x20 바이트)를 포함하고 있다. 실행 시, 아래의 [그림-18]과 같은 화면이 나타나며 "Start Decryption" 버튼을 클릭하면, 감염 조건에 부합하는 드라이브 및 폴더에 대한 스캔과정을 수행하며 ".encrypted" 확장자를 갖는 파일들에 대해 실제 복호화작업이 이루어짐을 확인할 수 있다.

[그림-18] 복구 프로그램 내부에 저장된 Key 정보

".encrypted"로 암호화된 파일은 공통적으로 원래 파일크기에 0x108(264 바이트)가 증가한 것을 알 수 있다. 파일 끝에 추가된 0x108 크기의 데이터는 다음과 같은 구조를 갖는다.

증가한 264 바이트 = 해쉬정보(4-bytes) + 시그니처(4-bytes) + 공개키(256-bytes)

아래의 [그림-19]는 실제 복구툴 내부에 저장된 키 인덱스 정보(0x20 바이트)룰 통해 생성된 데이터(0x108 바이트)와 ".encrypted" 파일에 존재하는 해쉬정보 비교를 통해 유효한 키 인지 검증하는 과정을 나타낸다.

[그림-19] 유효한 키 여부 검증하는 부분

 

5. 결론

이번 CryptoLocker 랜섬웨어는 국내 유명 커뮤니티 웹사이트의 광고 배너를 통해 유포되면서 많은 국내 피해자를 발생시켰다. 이에 웹 관리자의 보안에 대한 주의가 필요하며 PC 사용자는 랜섬웨어 악성코드를 예방하기 위해 발신자가 불명확한 이메일의 열람에 주의하고 중요 파일들은 별도로 백업해 놓을 필요가 있겠다. 그리고 취약점에 의한 감염 피해를 줄이기 위해 운영체제와 응용프로그램들을 항상 최신으로 업데이트해야 하겠다. 이 외에도 백신프로그램을 통해 예방 할 수 있는데 V3에서는 해당 악성코드를 ‘Win-Trojan/Cryptolocker.229892’, ‘Win-Trojan/Cryptolocker.Gen’, ‘Trojan/Win32.Cryptolocker’ 등으로 진단하고 있으며 현재까지 파악된 관련 악성 경유지 및 유포지를 아래와 같이 확보하였다. 이에 주의가 필요하겠다.


[경유지]
- medbps.filmwedding.ro/bkktab2.html (gtdgq2.html, lrvqdg2.html, nprgj2.html)
- guhm.gusg.com.br/pzvjqn2.html
- aker.ktc66.com/tpgop2.html
- lub.liuboya.com/xzrwqh2.html (wvbrrd2.html, gibusn2.html, jibnnm2.html, lxhufq2.html, ubodwx2.html)
- lab.lamo.ro/tpgop2.html

[유포지]
- row.bottomwebsites.xyz/elusiveness_sugarcoated_icepack_worthier/41294017316481015
- gate.moneyslistsarea.xyz/dynasty_sunset_trepidation_guitarists/65630335056125154
- gate.nothaveillinous.xyz/tyrant_absolves_pimply_casualness/16752510507522986
- gate.nothaveillinous.xyz/shirked_edison_gatehouses_springier/47090670725834176

[C&C]
- lepodick.ru/topic.php
- possoqer.ru/topic.php
- koposorer.ru/topic.php
- wosowpe.ru/topic.php
 

 

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

 

 금일 한국의 인터넷 사용자를 노린 랜섬웨어가 인터넷 커뮤니티 사이트에서 유포되었다. 러시아, 동유럽 국가 등에서 등장한 랜섬웨어는 서유럽, 미국 등으로 확산되어 많은 피해자를 양산하였다. 최근 몇 년 사이 한국에서도 랜섬웨어 악성코드에 감염된 사용자가 증가 하였으며, ASEC블로그에서 랜섬웨어 악성코드, 예방Tip등을 소개한 바 있다.

랜섬웨어(Ransomware)란, 

Ransom(몸값)과 Software(소프트웨어)란 단어가 합쳐져서 생성된 단어로 악성코드가 PC에 존재하는 중요한 자료들을 암호화하여 사용하지 못 하도록 한 후, 만약 암호화된 파일을 복구하려면 피해자로 하여금 돈을 지불하도록 강요하는 악성코드를 의미한다.

이번 등장한 크립토락커(CryptoLocker) 랜섬웨어는 한글로 되어 있으며, 한국의 인터넷 커뮤니티에서 유포된 점을 보아 한국의 사용자를 표적으로 하였음을 알 수 있다.

 

해당 악성코드의 동작방식과 증상은 아래와 같다..

-. 악성코드에 감염되면 아래와 같이 파일 및 레지스트리를 생성 한다.


[파일 생성 정보]

 

CREATE

C:\Windows\이름(랜덤).exe

 

[레지스트리 등록]

 

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\이름(랜덤)
""C:\WINDOWS\파일명(랜덤).exe""

-. 레지스트리 Run키에 자기 자신을 등록하여 재부팅 시 자동실행 하도록 하였다.

 

[네트워크 연결]

 

 lexxxck.ru/topic.php 6x.1xx.1x5.xx2:443 (러시아)

 

랜섬웨어는 PC에 저장된 파일을 암호화하며, 해당 악성코드에 의해서 암호화된 파일은 아래 그림에서 보는 것처럼 [원본파일명.encrypted]형식을 가지게 된다.



[그림 1] 암호화된 파일


[표 1]의 확장자를 제외한 모든 파일을 암호화한다.

*.chm, *.ini, *.tmp, *.log, *.url, *.lnk, *.cmd, *.bat, *.scr, *.msi, *.sys, *.dll, *.exe

[표 1] 암호화 대상에서 제외된 확장자




[그림 2] 암호화 대상 코드

 

WhiteList 13개 확장자가 아니면 모두 감염대상에 포함된다.

 

PC에 존재하는 파일들에 대한 암호화 작업이 완료되면 [그림 3]의 파일을 생성하고 실행하여 화면에 보여준다.

[그림 3] 생성 파일


[그림 4] 감염 안내 메시지1




[그림 5] 감염 안내 메시지2

 


[그림 6]의 내용은 CryptoLocker에 의해 PC에 저장된 파일이 암호화되었으니, 파일을 복호화 하기 위해선 비트코인을 지불하라는 메시지이다.


[그림 6] 비트코인 요구 및 지원 서비스 제공


랜섬웨어 악성코드 제작자는 암호화된 파일들을 인질로 한화 약 438,900원의 비트코인을 요구한다. 피해자들이 비용 지불을 쉽게 할 수 있도록 비트코인 결제 방법을 상세하게 설명해주고, 암호화된 파일 중 1개 파일을 무료로 복호화 해준다.

최종적으로 악성코드 제작자는 중요한 파일을 암호화하여 사용자의 돈을 목표로 했음을 알 수 있다. 악성코드 제작자에게 돈을 지불하면 암호화된 파일을 복호화 방법을 알려준다고는 하나 이 역시 확인된 바가 없다.

이번 랜섬웨어는 국내 웹사이트에서 유포되어 많은 피해자를 양산하였다. 사이트 관리자의 사이트 및 광고 배너 보안에 주의가 요구된다. PC 사용자는 랜섬웨어 악성코드를 예방하기 위해 아래와 같은 수칙을 생활화 해야 한다.


랜섬웨어 예방수칙

  1. 스팸성 이메일 실행 자제
  2. 중요 파일 별도 백업
  3. 중요 문서 '읽기전용' 설정
  4. 운영체제 및 응용프로그램 최신버전 업데이트



V3 제품에서는 아래와 같이 진단하고 있다.

<V3 제품군의 진단명>

Win-Trojan/Cryptolocker.229892 (2015.04.21.03)



신고
Creative Commons License
Creative Commons License
Posted by DH, L@@

Upatre 악성코드는 2013년부터 발견되고 있는 악성코드로 최근들어 그 변형이 지속적으로 발견되고 있다. 

스팸 메일을 통해 퍼지며 사용자가 메일에 첨부된 실행 파일을 실행하면 특정 주소에 접속해 다른 악성코드를 다운로드 한다. 일반적으로 금융정보 탈취 악성코드이다.

‘Your Document’ 등의 다양한 제목으로 악성코드를 포함한 ZIP 파일이 첨부되어 있다. 변형에 따라 메일 제목, 본문, 첨부 파일은 조금씩 달라진다.


[그림 1] Upatre 메일 예



[그림 2] Upatre 메일 예2


1. 동작과정

보통 20 – 30 킬로바이트 길이에 PDF 등의 문서 파일로 가장한 아이콘으로 되어 있으며 실행할 경우 특정 주소에서 인코딩된 데이터를 받아온다. 이후, 실제 악성행위가 이루어지는 실행 파일을 생성하고 해당 파일을 서비스로 등록한다.



[그림 3] 관계도


2015년 2월 - 3월에 발견된 변형들은 SCR 이나 EXE 확장자를 가지며 특징적으로 PDF 아이콘을 가지고 있다. 


[그림 4] 아이콘


사용자가 악성코드 파일을 실행하면 다음의 과정으로 동작한다.


(1) 임시 폴더에 텍스트 파일(.txt)과 실행 파일을 복사하고 원본을 삭제한다. 변형에 따라 생성되는 파일 이름은 달라진다.

[그림 5] 생성 파일


(2) checkip.dyndns.org (216.146.43.70:80)으로 접속하여 감염PC의 Public IP를 확인한다.


[그림 6] IP Check


(3) 암호화된 데이터 파일을 다운로드한다. 확장자는 보통 JPG 나 PDF 이다. 해당 파일은 V3에서 BinImage/Encdata로 진단된다.

[그림 7] 다운로드 된 암호화 파일


(4) 다운로드가 성공할 경우 정상 PDF 파일을 보여줘 사용자가 PDF 파일을 열어 본 것으로 착각하게 한다.



[그림 8] 정상 PDF 예


(5) 받아온 데이터를 디코딩하여 윈도우 폴더에 복사하고 실행 한다.


다운로드 받는 서버가 제대로 동작하지 않으면 별다른 증상이 없을 수 있다.


2. 다운로드 된 파일


다운로드 된 파일은 변형에 따라 달라지며 인터넷 뱅킹 정보 탈취 악성코드가 대부분이다. 



3. 결론


명세서 등으로 가장한 메일에 악성코드를 첨부하는 공격 방법은 20년 가까이 된 수법이다. 하지만, 여전히 많은 사람들이 실행 파일을 문서 파일로 오해해 악성코드에 감염되고 있다. 

특히 해당 악성코드는 PDF 아이콘으로 위장하고 있어 사용자가 문서 파일로 오해 할 수 있다. 보고서, 명세서 등의 내용으로 가장한 영어로 작성된 메일에 첨부된 SCR, EXE 파일을 열지 않도록 보다 유의하며, 폴더 옵션의 ‘알려진 형식의 파일 확장명 숨기기’ 옵션을 체크하여 확장자를 확인하는 것이 바람직하다. 또한, V3엔진을 항상 최신으로 유지해 감염에 예방하도록 한다.


현재 공격자는 대규모 사용자에게 악성코드가 포함된 메일을 보내고 있다. 공격자의 목적은 금융 정보 탈취로 명확해 당분간 지속적인 공격이 발생 할 것으로 보인다.



<V3 제품군의 진단명>

Trojan/Win32.Upatre

BinImage/Encdata








신고
Creative Commons License
Creative Commons License
Posted by DUCKDUCK

매크로 악성코드 증가

 

매크로 바이러스는 1994년 처음 개념 증명(Proof of concept) 되었고 1995년 컨셉(WM/Concept) 바이러스를 시작으로 2000년 초까지 극성을 부렸다. 매크로 악성코드의 피해가 커지면서 마이크로소프트사는 오피스 2000부터 매크로 기능을 기본적으로 사용하지 못하게 하면서 거의 사라졌다. 하지만, 2014년 하반기 사회공학 기법을 추가한 매크로 악성코드가 다시 증가하고 있다.


2012년부터 2015년 2월 현재까지 안랩에서 고객으로부터 접수된 매크로 악성코드 수는 다음과 같다. 2015년 3월까지 240개로 2014년 2월에 이미 2014년 한해 동안 발견된 매크로 악성코드보다 많다.


년도

접수 수

2012

22

2013

50

2014

108

20153월 까지

240

1. 매크로 악성코드 고객 접수

 

매크로 기능 활성 유도

 

오피스는 기본적으로 매크로 기능이 꺼져있기 때문에 매크로 악성코드가 동작하기 위해서는 매크로 기능이 활성화되어야 한다. 따라서, 사용자가 매크로를 활성화 하도록 유도한다.


공격자는 보통 이력서, 주문서 등을 가장한 메일을 보내 첨부된 문서를 열게 만든다. 아직 한글로 작성된 유형은 없고 대부분 영문 메일이지만 가끔 유럽 지역 언어로 된 메일과 문서도 존재한다. 따라서 영문 메일에 첨부된 문서 파일을 열어 볼 때는 주의해야 한다. 워드 문서 형태의 악성코드의 대부분이지만 국내에서는 한컴 한글 워드프로세스 사용자가 많아 개인 사용자는 상대적으로 피해가 적다. 하지만, 외국과 교류가 잦은 기업 등을 중심으로 피해가 발생하고 있다.

가장 널리 사용되는 방법은 문서 내용을 알아보지 못하게 하고 매크로를 사용하면 내용을 볼 수 있다고 유도하는 방법이다.


 


 

오피스 버전별 매크로 기능 활성화을 알려주는 친절한(?) 악성코드도 존재한다.


 

매크로 기능을 활성화하면 화면 변화 없이 악성코드만 실행되는 경우가 있다. 하지만, 다른 내용을 보여줘 사용자를 속이는 형태도 존재한다. 주로 엑셀 파일에서 있다.

 

매크로 기능 활성화

 


매크로 기능 활성화

 


매크로 기능 활성화

 


매크로 기능 활성화

종류


다른 감염 대상이 있는 바이러스가 요즘 보기 힘든 것처럼 매크로 악성코드에도 바이러스 형태는 일부 엑셀 매크로 바이러스를 제외하고는 거의 사라졌으며 대체로 다른 악성코드를 다운로드하는 다운로더(Downloader)와 다른 악성코드를 떨어뜨리는 드롭퍼(Dropper)가 있다.
 
매크로 바이러스의 경우 파일을 직접 생성하기 보다는 다운로드 하는 비율이 월등히 크다. 그 이유는 다운로드 받는 파일의 경우 언제든지 변경이 가능하여 상황과 나라에 맞는 파일로 변조할 수 있기 때문이다. 즉 매크로 바이러스 주요 목적은 감염 경로로 활용되며 공격자가 원하는 공격 방법으로 언제든 변조가 가능하다.


1) 다운로더 (Downloader)

 

다른 악성코드를 웹사이트 등에 올려두고 다운로드 실행한다.

 


매크로 악성코드의 다운로드 코드

 

매크로를 확인하면 다운로드 파일을 받아오는 주소와 다운로드 파일을 저장할 경로 코드를 갖고 있다.

 

2) 드롭퍼 (Dropper)

 

사용자 컴퓨터에 실제 감염 시킬 실행 파일을 매크로 코드 내에 포함하기도 한다.


 

악성 매크로 다른 악성코드 데이터

 

예방


오피스에서 매크로 활성화는 기본적으로 꺼져있어 기본 설정으로도 매크로 악성코드의 피해를 입지 않는다. 따라서 매크로 설정에서 ‘매크로 제외’를 확인하는게 중요하다.


1) 매크로 활성화 설정

 

[파일] -> [옵션] -> [보안센터] -> [보안 센터 설정]에서 매크로 기능 활성화를 설정할 수 있다.

 



오피스 보안센터

 


매크로 설정

 

매크로 설정의 기본은 모든 매크로 제외(알림 표시)’를 확인한다.


결론


요즘 증가하고 있는 매크로 악성코드는 한국 사용자 보다는 외국 사용자를 대상으로 제작되고 있다. 하지만 앞으로 국내 사용자를 대상으로 한 한글로 작성된 문서가 공격에 이용 될 가능성도 있다. 또 아직은 금융정보 탈취 목적의 악성코드가 최종적으로 감염되지만 표적공격에 이용될 수 있다. 메일의 첨부된 문서 파일을 열 때 조심해야 하고 무엇보다 오피스의 매크로 기능은 비활성화 상태로 유지하는 게 중요하다.


자세한 내용은 월간 안 2015년 4월호 '매크로 악성코드 증가…올드보이의 귀환?'를 참고하면 된다.

(http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?curPage=&menu_dist=2&seq=23501)


Reference

 

[1] Gabor Szappanos, ‘Back to VBA’, 2014 (https://www.virusbtn.com/virusbulletin/archive/2014/04/vb201404-VBA)

[2] Gabor Szappanos, ‘Paper: VBA is not dead!’, 2014 (https://www.virusbtn.com/blog/2014/07_07.xml)

[3] Cho Sihaeng & Cha Minseok, ‘Script and Worm viruses in DBCS environment’, 2002 (AVAR 2002)

[4] Graham Chantry, ‘From the Labs: VBA is definitely not dead - in fact, it's undergoing a resurgence ‘, 2014 (https://nakedsecurity.sophos.com/2014/09/17/vba-injectors)

[5] Graham Chantry, ‘From the Labs: New developments in Microsoft Office malware’, 2015 (https://nakedsecurity.sophos.com/2015/03/06/from-the-labs-new-developments-in-microsoft-office-malware) 

신고
Creative Commons License
Creative Commons License
Posted by JYP

2013년 처음 소개된 Bisonal 이라는 이름의 악성코드는 일본 기관을 공격대상으로 제작되었다. 악성코드 감염 방식은 이메일의 첨부파일 형태로 이루어지며, 첨부파일의 확장자는 실행파일(*.exe)형태이나 사용자에게 보여지는 아이콘 모양이 문서파일(doc, xls, pdf, ppt, hwp) 형태로 제작되어 클릭을 유도하는 특징을 갖는다. 2014년에도 국내에 감염사례가 확인되었으나 2015년부터 변종형태의 국내접수가 증가하고 있어 사용자 주의가 요구된다. 해당 악성코드는 내부에 암호화되어 저장된 C&C 주소를 통해 공격자와 통신하며, 명령에 따라 다양한 백도어 기능을 수행한다.

 

1. 접수현황

아래의 [그림-1]은 2015년 1월부터 현재까지 확인된 Bisonal 악성코드 리스트를 나타낸다. 실행파일 내부에는 실제 문서파일도 포함하고 있으며, 실행 시 사용자에게 문서의 내용이 보여진다. 이때, 사용자 모르게 내부에 포함된 2차 악성파일도 함께 설치되며, 공격자와의 통신을 통해 다양한 정보유출이 이루어진다. 

[그림-1] Bisonal 악성코드 리스트

 

2. 문서 아이콘으로 위장

대부분의 일반 사용자의 경우, 윈도우 폴더옵션(윈도우 탐색기 -> 도구 -> 폴더 옵션 -> 보기) 중 "알려진 파일 형식의 파일 확장명 숨기기" 항목이 체크되어 있어 Bisonal 악성파일이 실행파일(exe)이 아닌 문서파일(pdf, doc, xlsx) 형태로 보여진다.

아래의 [그림-2]는 윈도우 탐색기를 통해 일반 사용자에게 보여지는 Bisonal 악성코드의 형태를 나타내며, '응용 프로그램'으로 되어 있으나 파일이름은 문서파일 형태(xlsx, ppt, pdf)임을 알 수 있다.

[그림-2] "알려진 파일 형식의 파일 확장명 숨기기" 체크 On 상태

아래의 [그림-3]은 폴더옵션의 "알려진 파일 형식의 파일 확장명 숨기기" 항목을 체크하지 않은 상태(Off)에서 사용자에게 보여지는 파일이름을 나타낸다.

[그림-3] "알려진 파일 형식의 파일 확장명 숨기기" 체크 Off 상태

이처럼 Bisonal 악성코드 외에도 문서파일로 위장한 악성코드의 배포가 빈번하게 이루어짐으로 폴더옵션을 변경하여, 문서파일 확장자 형태로 배포된 실행파일을 실수로 클릭하는 것을 예방할 수 있다. 

 

3. 외형적 특징

내부에 포함된 악성파일은 주로 윈도우 %Temp% 폴더 혹은 %windows%Tasks 폴더에 생성되며, 아래의 이름들이 사용되고 있다.

- chrome.exe
- conhost.exe
- conime.exe
- dfea.exe
- spoolsv.exe
- wininit.exe
- tmproly.exe
- defa.exe
- tmproxy.exe
- taskmgr.exe

생성된 악성파일은 자동실행을 위해 아래의 레지스트리 'Run' 키에 자신을 등록한다.

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
> tmp (값 이름)
> C:\WINDOWS\tasks\tmproxy.exe (값 데이터)

 

해당 악성코드 이름이 Bisonal 로 명명된 것은 내부의 "bisonal" 이라는 고유한 문자열 정보에 의해 이루어진 것으로 추정된다. 하지만, 최근 3월 발견된 샘플에서는 이 문자열 부분이 명시되지 않은 형태도 확인되었다. (그림의 아래 부분이 최근 접수된 파일)

[그림-4] 악성코드 내부의 "bisonal" 문자열 정보

단순히 "bisonal" 문자열이 제거된 것 외에 접속 시도하는 C&C 주소의 암호화 방식도 변경되었다. 기존 유형에서는 고정된 0x1F (1 바이트) 키 값으로 XOR 된 형태였으나, 3월 접수 파일에서는 별도의 복호화 알고리즘이 사용되어 기존방식보다 복합한 형태로 진화하였다. 위 [그림-4]의 "CCHXERJPIGGYFUAEEJFFHKIC" 부분이 새로운 방식으로 암호화된 C&C 주소이며, "CADEHLAA"는 복호화 시 "0320" 을 나타낸다. (문자열 암호화 방식 외에도 통신 시 사용하는 패턴도 변경 됨) 3월 25일자 접수된 파일에서는 이 부분이 "test"로 복호화 되는 형태도 확인되어 앞으로도 공격이 계속 시도될 것으로 판단된다.

아래의 [그림-5], [그림-6]는 1월과 3월 발견된 Bisonal 악성코드에서 C&C 주소 복호화하는 코드를 나타낸다. 

[그림-5] C&C 주소 복호화 함수 (1월)

 

 

[그림-6] C&C 주소 복호화 함수 (3월)

 

공격자와 HTTP 통신 시, 사용되는 메시지 내용은 아래와 같은 형태가 확인되었다.

Cookie: MC1=V=3&GUID=57ee8df6bd36496e8f36f103d8261984
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; .NET4.0C; .NET4.0E)
Connection: Keep-Alive
Host: www.google.com
Accept: application/x-shockwave-flash, image/gif, image/jpeg, image/pjpeg, application/xaml+xml, */*
Host: gmail.google.com

 

4. 주요 악성행위

Bisonal 악성코드는 공격자의 명령에 따라 다양한 백도어 기능과 시스템 파일 변조기능을 갖고있다.

 

(1) 백도어 기능

C&C 통신을 통해 수행하는 주요 악성행위들은 다음과 같다.

- 컴퓨터 이름, 사용자 계정, IP, OS 정보유출
- 실행중인 프로세스 및 모듈들에 대한 리스트 전송
- 각 드라이브 정보
- 파일목록 정보
- 특정 프로세스 강제종료
- CMD.EXE 실행을 통한 다양한 명령수행
- 특정 파일에 대한 쓰기
- 특정 파일에 대한 읽기
- 특정 파일에 대한 삭제
- 2차 악성사이트로 접속 및 통신(send/recv)

 

(2) 시스템 파일 변조기능

Bisonal 악성코드에서는 공통적으로 특정 윈도우 시스템 파일에 대한 변조를 시도하는 코드가 존재한다. 악성코드 내부에 "bisonal"이라는 문자열이 존재하는 유형에서는 "%system%browseui.dll" 파일이 변조대상이었으며, 2015년 3월 발견된 최신 파일에서는 "%system%browser.dll" 로 변경되었다. 해당 시스템 파일에 Write 하는 코드는 Bisonal 악성코드에 의해 생성(Drop)된 실행파일(exe)로 확인되었다.

[그림-7] browseui.dll 파일 변조하는 코드 (1월)

 

[그림-8] browser.dll 파일 변조하는 코드 (3월)

 

5. 배포에 이용된 문서 파일들

악성코드 배포에 사용된 문서파일들은 엑셀, 파워포인트, PDF 3가지 형태이며, 1차로 공격자에 의해 해당 문서파일들에 대한 유출이 이루어진 후, 문서파일 내부에 존재하는 개인 이메일 정보를 통해 2차로 특정인에게 타켓(Target)되어 백도어 기능의 Bisonal 악성코드가 제작/배포되는 것으로 판단된다.

 

6. C&C 주소

현재까지 확인한 Bisonal 악성코드 내부의 C&C 주소는 다음과 같다.

- domain2.ddns.net
- juair.ddns.net
- 192.200.122.43
- hosting.myvnc.com
- wwl1478.sytes.net
- 23.234.29.23
- just001.strangled.net
- fund.cmc.or.kr/UploadFile/fame/x/o0.asp
- www.fackbook.com/UploadFile/fame/x/o0.asp
- kairs.sytes.net


7. 결론

일본 기관을 공격대상으로 제작된 Bisonal 악성코드가 2014년에 처음 국내에 발견된 이후, 2015년 들어 접수가 증가하고 있다. 최근 접수되는 파일들의 경우, 기존에 알려진 통신 및 암호화 방식이 변경되어 대부분의 안티바이러스 백신에서 Bisonal 유형으로 인식하지 못하고 있다. 또한, 최근에는 기관이 아닌 특정인들을 대상으로 공격이 이루어지는 것으로 판단되며, 제작에 사용된 문서파일의 내용을 볼 때, 임의로 제작된 파일이 아닌 실제 사용 중인 문서가 유출되어 공격에 사용된 것으로 추정된다. 또한, 감염 시 백도어 기능에 의해 시스템의 중요 파일들이 2차로 유출 및 파괴될 수 있는 위험성이 있음으로 사용자의 주의가 필요하다. 

- Trojan/Win32.Backdoor (V3 진단명)

 

[참고 사이트]

[1] TROJAN.DROPPER.BISONAL
- https://camal.coseinc.com/publish/2013Bisonal.pdf

[2] APTs By The Dozen: Dissecting Advanced Attacks
- https://www.rsaconference.com/writable/presentations/file_upload/cle-t04_final_v1.pdf

 

 

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

2014년 12월 발견된 랜섬웨어 악성코드 중, National Security Bureau(국가안보국: NSB)를 가장하여 사용자에게 돈을 요구하는 형태가 올해 1월 ASEC 블로그(http://asec.ahnlab.com/1020)에 소개되었다. 해당 랜섬웨어에 의해 감염된 파일들은 고유한 알고리즘에 의해 백업된 형태로 존재하며, 백신프로그램으로 치료가 가능한 형태라는 점이 특이한 부분이라 할 수 있다. 일부 백신업체에서는 이러한 특징을 바탕으로 해당 악성코드에 대한 진단명을 (VIRus + RansomLOCK = VIRLOCK)으로 명명한 것으로 추정된다.

악성코드 감염이 완료된 후, 사용자에게는 아래의 [그림-1]과 같은 "불법 소프트웨어가 탐지되어, 시스템 사용을 차단하였습니다."라는 메시지를 화면에 보여준다. 메시지 내용에는 차단된(Blocked) 파일의 개수를 명시하고 있으며, 돈을 지불하지 않을 경우 차단한 파일들을 모두 제거할 것이라는 경고가 존재한다. 복구를 위해 공격자가 요구한 지불 금액은 미화 250 달러이며, BitCoin 으로 지불할 수 있도록 한다. 지불이 완료되면 4~5일 내에 차단이 해제될 것으로 나와있다.

[그림-1] 악성코드 감염 후 사용자에게 보여지는 화면

해당 악성코드에 감염된 후에는 윈도우 탐색기 등 특정 윈도우를 강제 종료하는 기능으로 인해 사용자가 정상적인 컴퓨터 사용이 어려우며, 작업관리자를 통해 제한적으로 프로그램 실행이 가능하다. 악성코드 제작자는 컴퓨터 사용을 제한하기 위해 이러한 강제 종료기능을 수행하며, 메시지 화면 하단에는 돈을 지불하는 데 필요한 프로그램들(Internet Browser, Notepad)만 제한적으로 실행할 수 있도록 별도의 메뉴가 존재함을 알 수 있다. 아래의 [그림-2]는 해당 악성코드 내에서 특정 윈도우("Microsoft Windows")를 찾아 강제종료(WM_CLOSE = 0x10)하는 코드 부분을 나타낸다.

[그림-2] 특정 윈도우 강제종료

메시지 내용에서처럼 감염이 이루어지면, 해당 시스템의 이미지파일(*.gif, *.jpg, *.bmp, *.png), 문서파일(*.doc, *.ppt), 음악파일(*.wma) 뿐 아니라 실행파일(*.exe), 압축파일들(*.zip)도 정상적으로 사용이 불가능한 형태가 된다. 아래의 [그림-3]은 악성코드에 의해 이미지 파일들이 모두 실행파일(exe) 형태로 변경된 것을 확인할 수 있다.

[그림-3] 변경된 이미지파일들

위 [그림-3]의 윈도우 탐색기에서 사용자에게 보여지는 파일은 "공.bmp"이지만, 종류 항목이 "응용 프로그램"으로 되어있어 실행파일로 변경되었음을 알 수 있다. 명령창(CMD.EXE)을 통해 정확한 파일이름을 확인해보면, 변경된 파일명은 "공.bmp.exe" 임을 알 수 있다. 이렇게 보이는 이유는 악성코드에 의해 폴더 옵션이 변경되어 발생한 증상으로 아래의 [그림-4]에서처럼 설정 변경을 통해 원래 파일명을 확인할 수 있다. ("도구->폴더옵션->알려진 파일 형식의 파일 확장명 숨기기" 체크)

[그림-4] 폴더옵션 변경

이렇게 실행파일로 변경된 이미지파일은 실행 시, 정상적으로 이미지 내용이 사용자에게 보여짐을 알 수 있다. (%TEMP%폴더에 생성한 BAT 파일을 통해 원본 이미지 실행) 하지만, 이는 악성코드에 의해 일시적으로 원본파일이 만들어진 후, 실행되어 보여진 것으로 생성 및 실행과 동시에 바로 해당 파일을 삭제하는 코드가 존재하여 원본 파일을 복구할 수 없도록 한다. 이처럼 해당 악성파일에 감염 시, "원본파일명" + ".exe" 확장자를 붙인 형태로 파일명이 변경된다. 이렇게 변경된 실행파일들은 악성코드 자신이며, 다형성 엔진을 통해 감염 시 매번 다른 형태를 갖는다. 아래의 [그림-5]는 감염된 2개의 이미지 파일들에서 서로 다른 부분들을 나타낸다.

[그림-5] 다형성 형태의 악성코드

해당 악성코드는 감염 증상이 일반적인 랜섬웨어 형태와 유사하지만, 가장 큰 차이점은 돈을 지불하여 전달받은 복호화키를 통해 변경된 파일들을 복구하는 방식이 아닌, 백신 프로그램을 통해 복원이 가능하다는 점이다. 감염 전 원본파일들(gif, bmp, wma, exe, zip 등)은 악성코드에 의해 고유한 알고리즘으로 암호화되어 백업되어 있다. 복원을 위해서는 다형성 코드를 에뮬레이팅(Emulating) 하고 복호화하는 과정을 거쳐야 한다. 아래의 [그림-6]은 악성코드에 의해 감염된 파일(EXE 실행파일 형태)의 PE(Portable Executable) 구조를 나타낸다. 총 2개의 섹션헤더를 갖고 있으며, 속성(Characteristics) 값이 모두 0xC0040020 인 것이 특징이다.

[그림-6] 감염된 파일의 PE구조

감염 전 원본파일이 백업된 곳은 PE구조 상의 ".text" 섹션(Section)이며, 아래의 [그림-7]은 메인코드 시작(Entry Point)을 기준으로 백업된 원본파일을 복호화하는 과정을 나타낸다.

[그림-7] 백업된 원본파일 복원과정

다형성 형태의 코드는 EntryPoint 코드부분("Decoder (A)")이며, ".text" 섹션의 시작위치(0x401000) 부터 0x401250 까지 부분(0x250 크기)을 복호화하는 기능을 수행한다. 이후, 1차 디코딩 과정을 통해 생성된 "Decoder (B)" 부분으로 분기하며, 해당 코드에서는 0x401250 부터 0x401743 까지를 복호화하는 2차 디코딩 과정을 수행한다. 이렇게 두 번의 복호화 과정을 통해 원본파일 치료에 필요한 메타정보("원본파일 치료테이블")를 얻게 된다. 아래의 [그림-8]은 암호화된 상태의 원본파일이 복호화 과정을 통해 복원된 부분을 나타내며, 내부에는 원본파일 데이터 외에 감염 전 원본파일 이름정보("AhnRpt.exe")도 함께 존재함을 알 수 있다.

[그림-8] 복호화를 통해 추출한 원본파일

아래의 [그림-9]는 감염상태의 파일들과 치료 후 파일들을 나타내며, 치료 후에는 파일 유형 및 크기가 변경됨을 알 수 있다.

[그림-9] 치료 전/후 비교화면

해당 랜섬웨어에 감염된 파일들은 다형성 엔진에 의해 매번 다른 형태를 나타내며, 감염된 파일들 중 하나라도 진단을 놓칠 경우 재감염되는 현상이 발생하게 된다. 또한, 변경된 파일들을 단순히 악성코드로 판단하여 삭제할 경우, 원본파일을 복구하지 못하여 큰 피해를 볼 수 있다. 실제로 랜섬웨어를 통해 감염된 원본파일을 백신프로그램으로 복구하는 것이 불가능한 경우가 대부분이나, NSB 랜섬웨어처럼 치료가 가능한 형태도 확인되었으므로 이러한 경우에 한해서는 백신프로그램을 통해 치료하는 작업이 필요하다.

 

 - V3 진단명: Win32/Nabucur (엔진버전: 2015.02.16.02)

 

실제 V3 Lite 제품으로 감염된 파일들을 진단/치료 테스트한 동영상 정보는 다음과 같다.

 

[공격자 C&C 주소]

악성코드 내부에 총  3곳의 C&C 주소가 존재하며, 순차적으로 접속을 시도한다. 변형마다 IP 주소는 동일하며, 포트정보만 '666' 혹은 '9999' 2가지 형태가 확인되었다.

(1) 200.xx.164.69:666 (Bolivia)
(2) 200.xxx.204.12:666 (Bolivia)
(3) 190.xxx.45.170:666 (Bolivia)

 

[주요 백신업체 진단현황]

- Virus:Win32/Nabucur.A(Microsoft)
- Virus.Win32.PolyRansom.a(Kaspersky)
- W32.Ransomlock.AO!inf(Symantec)
- Trojan.Obfus.3.Gen(BitDefender)
- PE_VIRLOCK.F(Trend Micro)
- W32/VirRansom(McAfee)
- TR/Crypt.XPACK.Gen7(AntiVir)
- Win32:VirLock(Avast)
- W32/VirRnsm-A(Sophos)
- Win32/Cryptor(AVG)

 

[참고사이트]

- http://malwarefixes.com/remove-national-security-bureau-virus-nsb-ransomware/
- http://asec.ahnlab.com/1020

신고
Creative Commons License
Creative Commons License
Posted by yhayoung

순간의 호기심이 매크로를 On!

 

인간의 호기심은 끝이 없고 같은 실수를 반복하게 된다. 불분명한 발신으로부터, 혹은 익숙하지만 살짝 의심스러운 발신자에게서 온 메일의 열람은 금기시 되어야 한다는 것은 공공연한 사실이다. 더불어 의심스러운 메일에 첨부된 파일의 다운 및 실행은 절대 해선 안 되는, 21세기를 살아가는 자들의 필수적인 IT 보안 상식이다.

하지만 첨부된 파일이 호기심을 자극하는, 매우 매력적인 제목의 문서파일이라면 어떨까?

수 없이 전해 듣고 교육받고 심지어 일전에 악성코드에 큰 피해를 본 사람이라도, 매뉴얼처럼 숙지한 철옹성과 같던 보안 상식은 모래성 마냥 한순간에 무너져 내릴 것이며, 인간의 무한한 호기심과 궁금증을 풀고자 하는 끝없는 욕망에 이끌려 자의적으로 마우스 포인터는 첨부 파일을 향할 것이다.

 

일반인들에게 PE파일이란 생소한 단어이다. PE 파일, 즉 실행 파일이란 개념보다 확장자가 'EXE'인 파일이 이들에게 더 친숙할 것이며, 정보의 바닷속에 무수히 많은 사이트, 블로그, 게시판 또는 메일 내 첨부된 다수의 실행 파일들이 안전하지 않다는 것은 남녀노소 구분 없이 인지하고 있다. 하지만 대부분의 인터넷 사용자들은 문서 파일(PDF, DOC, HWP 등등)에 대한 보안 의식이 매우 약하다. 문서 파일이 담고 있는 내용을 알고자 하는 강한 욕구와 똑같은 파일명이라도 .EXE 파일보다 문서 파일 실행에 넓은 아량을 베풀게 된다.

 

흔히 APT 공격이라 불리는 지능화된 악성코드의 표적공격에 자주 사용되는 것이 바로 문서 파일이다. 이 글을 읽는 독자 중엔 본인은 해당되지 않는 얘기라며 해당 글을 SKIP 하려 한다면 당장 STOP 해야 한다. 사회공학적 기법을 이용해 그 어떤 누구라도 문서 포맷의 악성코드 공격에 당할 수 있다는 사실을 반드시 인지하고 숙지하고 명심해야 한다.

 

[그림 1] DOC 파일

 

[그림 1]은 최근 접수된 악의적인 매크로 기능이 추가된 DOC 파일이다. 매크로는 단순 문서 작업의 효율을 높여주는 매우 유용한 기능이지만, 사용자 몰래 악성 코드를 심을 수 있는 위험한 기능이기도 하다.

 

[그림 2] 매크로 기능 On 유도

 

해당 문서를 실행하면 [그림 2]와 같이 문서 상단 바에 매크로 기능 OFF 알림 메시지가 발생하며, 매크로가 자동 동작하지 않도록 차단 되고 있다. (참고: 매크로 기능은 보안상의 문제로 기본 설정 값이 OFF)

사용자 입장에서 매크로 기능이 차단됐다는 보안 경고 알림 메시지를 본다면, 뒤도 돌아보지 않고 해당 문서 파일을 닫을 것이다.

하지만 공격자는 매우 지능적으로 "본 문서는 보안상 모자이크 처리가 됐으며, 문서 상단의 옵션을 클릭하여 활성화 바람"이라는 본문 내용과 함께 이미지를 흐리게 처리시켰다. 높은 보안 의식을 가진 사용자라 할지라도 문서의 내용이 본인이 알고자 하는 정보가 굳이 아니더라도 내면에 잠자고 있는 호기심이 자극받을 것이다.

 

[그림 3] DOC 파일에 삽입 된 매크로 코드

 

해당 문서의 매크로 기능을 활성화 하게 되면 'C:\Windows\Temp' 경로에 파일 'adobeacd-update.bat'와 'adobeacd-updatexp.vbs'를 생성하며, batch 파일에 의해 파일 'adobeacd-updatexp.vbs'가 실행 된 후, 자가 삭제 된다.

 

[그림 4] 파일 'adobeacd-updatexp.vbs'의 정보

 

실행된 파일 'adobeacd-updatexp.vbs' 에 의해 C&C서버로부터 파일 'x.exe'이 추가로 다운 및 실행된다. 이후 파일 'x.exe'는 'C:\Documents and Settings\[사용자계정]\Local Settings\Temp\msgss.exe' 경로로 자가 복제 한다.

또한 'HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Outlook' 레지스트리 키값을 등록하여 시스템 시작 시 자동 실행된다.

 

[그림 5] 사용자가 입력한 키 값을 C&C서버로 전송

 

이 후 파일 "x.exe"은 사용중인 프로그램 정보와 사용자가 입력하는 키 값을 일정 시간마다 C&C서버(1**.2*3.2**.2*9)로 전송한다.

위 악성 코드의 경우 매크로 기능을 이용했지만, HWP 취약점을 이용한 공격 또한 끊임없이 지속되고 있다. 2014년 12월, 한글 문서파일의 기 알려진 취약점을 이용한 MBR 파괴 기능을 갖는 악성 코드가 대표적인 사례이다.

점점 더 지능화되는 악성 코드의 공격으로부터 피해를 최소화하기 위해선 글로만 이해하는 보안이 아닌, 행동으로 실천하는 보안이 반드시 필요하다. 이 글을 읽는 독자라면 앞으로 발신이 불분명한 메일 내 첨부 파일을 단순 호기심에 실행시키는 실수를 하지 않길 바란다. 정보화시대에 사는 우리는, 무형의 정보도 매우 중요한 가치라는 걸 알아야 한다.

 

V3 제품에서는 아래와 같이 진단 가능하다.

 

<V3 제품군의 진단명>

Dropper/Win32.Agent (2015.01.20.04)

DOC/Downloader (2014.12.27.00)


 

저작자 표시 비영리 동일 조건 변경 허락
신고
Creative Commons License
Creative Commons License
Posted by DH, L@@

   

랜섬웨어 악성코드는 주로 문서나 컴퓨터 시스템의 정상적인 사용을 방해하고, 대가로 금전을 요구하는 방식으로 이루어져 있다.

최근 스팸메일의 첨부파일을 통해 랜섬웨어가 유포되고 있어 사용자의 각별한 주의가 필요하다.

악성코드를 유포하는 스팸메일 중 하나를 확인해보겠다.

 

[그림 1] 메일 원본

 

첨부파일은 압축되어 있으며, 압축을 풀면 아래 파일을 확인할 수 있다. 파일의 확장자는 일반적인 실행파일의 확장자인 'EXE'가 아니다. 화면보호기 파일의 확장자인 'SCR'이다. 하지만 대부분 사용자는 윈도우 탐색기 옵션 중 '[폴더 옵션] - [알려진 파일 형식의 파일 확장명 숨기기]'를 사용하기 때문에, 파일명인 'hunkered'만 표기된다.

이 때문에 사용자는 별다른 의심 없이 파일을 실행하게 된다.

 

[그림 2] 확장자가 보이지 않는 상태(좌) / 확장자가 보이는 상태(우)

 

파일 'hunkered.scr'을 실행하면, 문서파일이 사용자에게 보여진다.

 

[그림 3] 문서의 내용

 

실행된 파일은 단순한 문서파일이다. 그러나 파일 실행과 동시에 또 다른 악성파일을 생성하며, 외부 네트워크에 연결을 시도한다.

 

[생성되는 파일]

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\hunkered.rtf    

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\12200593.exe (랜덤 파일명)

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\qgkhcub.exe

[표 1] 생성되는 파일

 

외부 네트워크 연결]

157.56.96.56:80 → windowsupdate.microsoft.com

2**.1**.3*.1**:443

1**.9*.*.7:443

2**.1**.3*.1*:443[

2**.1**.3*.3:443

46.19.37.108:80 → ip.telize.com

1**.*5.3*.5:443

1**.15*.1**.7*:443

7*.*3.*7.*4:9090

1*.*9.*6.*2:443

1*.*1.*6.*6:443

1*.1*.1*.*2:443

8*.*9.**.*8:443

[표 2] 외부 네트워크 연결

 

네트워크 연결을 시도하는 IP 중 일부는 Tor 네트워크로 접속을 시도한다. 이는 Tor 네트워크 특성 상 추적이 힘든 점을 이용한 것으로, 공격자가 사용자의 정보 수집 시 이용하는 것으로 추정된다.

 

생성하는 파일 '12200593.exe (랜덤 파일명)'과 'qgkhcub.ex'e'는 같은 파일이며, 파일 'qgkhcub.exe'이 시스템에 존재하는 파일을 암호화한다.

 

파일 'qgkhcub.exe'이 실행되면 다음과 같이 사용자에게 파일이 암호화된 사실과 복호화하는 방법을 바탕화면 및 경고 팝업창을 통해 알린다.

 

[그림 4] 변경된 바탕화면

 

[그림 5] 사용자에게 띄워주는 경고 팝업창

 

악성코드에 의해 아래 확장자 파일을 모두 암호화 시키며, 암호화하는 파일 확장자를 살펴보면 아래와 같다.

 

[암호화 대상 파일 확장자]

.AI, .C, .CDR, .CER, .CRT, .DBF, .DER, .DOC, .DOCM, .DOCX, .EPS, .JPEG, .JPG, .JS, .MDB, .P12, .PAS,
.PDF, .PFX, .PHP, .PL, .PPT, .PPTX, .PST, .PY, .RTF, .SQL, .TXT, .XLK, .XLS, .XLSM, .XLSX, etc

[표 3] 암호화 대상 파일 확장자

 

암호화 대상 파일 확장자에는 '공인 인증서 관련 파일, 그림 파일, 문서 파일, 아웃룩 데이터 백업 파일' 등 사용자들이 자주 사용하는 것들이 주를 이루고 있다. 이 때문에 랜섬웨어에 감염된 사용자들은 많은 불편을 겪는다.

또한, 이전의 랜섬웨어와 동일하게 사용자에게 테스트로 암호화된 파일을 복호화하는 기능을 제공하며, 이를 통해 사용자에게 결제를 유도한다.

 

[그림 6] 사용자의 결제를 유도하는 메시지

 

암호화되는 파일들은 아래 [그림 7]와 같이 확장자 뒤에 랜덤문자열로 구성된 문자가 추가된다.

 

[그림 7] 암호화되어 확장자가 변경된 파일

 

이후 파일 복호화를 위해 진행하면 다음과 같이 비트코인 결제를 안내한다.

 

[그림 8] 비트코인 결제방법 안내

 

하지만, 여기서 알아야 할 것은 결제를 하더라도 파일 복구가 될 가능성은 적다는 것이다.

 

그렇다면, 랜섬웨어에 감염되지 않으려면 어떻게 해야 하는 걸까?

 

랜섬웨어는 보통 메일을 통해 유포되는 경우가 많다. 그러므로 출처가 확인되지 않은 메일의 첨부 파일의 실행은 하지 말아야 한다. 또한, 메일의 내용을 읽어서 스팸 메일 여부에도 주의를 기울여야 한다.

일반 사용자들은 Windows 폴더 옵션 항목 중 "알려진 파일 형식의 파일 확장명 숨기기" 기능을 사용하고 있는 경우가 많다. 이 기능을 사용하게 되면 문서 파일과 일반적인 프로그램 파일로 위장한 실행 파일 및 화면보호기 파일을 한눈에 구별하기 힘들다. 해당 기능을 해제하면, 확장자를 혼동하여 악성코드를 실행하는 사례가 줄어들게 될 것이다.

랜섬웨어의 경우 한번 암호화가 되었을 때는 안티 바이러스 프로그램에서는 복구가 불가능하므로 주기적으로 문서 및 중요 자료들을 별도의 저장장치에 백업해두는 습관이 필요하다. 자료들을 백업해두면 악성코드에 의해 자료가 손상되거나 삭제가 된 경우 복구를 할 수 있기 때문이다.

 

V3 제품에서는 아래와 같이 진단 가능하다.

 

<V3 제품군의 진단명>

Trojan/Win32.Agent (2015.01.20.04)

Trojan/Win32.CTBLocker (2015.01.21.04)

Trojan/Win32.Ransom (2015.01.20.04)


저작자 표시 비영리 동일 조건 변경 허락
신고
Creative Commons License
Creative Commons License
Posted by DH, L@@