표적형 사이버공격 BLACKGEAR 캠페인, 대만을 넘어 일본까지 공격을 확장하다

게시일: 2016-11-10 l 작성자: Trend Micro

표적형 사이버공격 BLACKGEAR(블랙기어)는 몇 년 동안 대만에서 활동하고 있는 스파이 캠페인입니다. 백도어 악성프로그램 ELIRKS를 사용하는 이 사이버 공격은 2012년 처음 확인되어 당시 많은 신문과 미디어가 보고한 바 있습니다. BLACKGEAR는 자신의 C&C 서버 위치 정보를 숨기기 위해 블로그와 마이크로블로그 서비스를 이용하는 방법으로 알려져 있습니다. 공격자는 블로그에 게시된 기사의 정보를 변경하여 공격에 사용하는 C&C 서버를 신속하게 변경하는 것이 가능합니다.

다른 사이버 공격 캠페인과 마찬가지로 BLACKGEAR는 시간이 지나며 진화되어 왔습니다. 트렌드마이크로는 2가지 관점에서 이 캠페인이 일본을 타겟으로 공격을 시작했다는 결론을 내렸습니다. 첫 번째는 감염 경로의 일부로 이용되는 가짜 문서들이 일본어로 작성되어 있는 것, 그리고 두 번째로 일본을 거점으로 한 블로그 사이트와 마이크로블로그 서비스를 C&C 활동에 사용하고 있다는 것입니다.

본 기사에서는 C&C 활동, 공격에 사용되는 툴, 그리고 툴의 상관관계에 대해 알아봅니다.

C&C 설정 정보 회수


그림 1. C&C 설정 정보 회수 방안 요약

BLACKGEAR가 이용하는 백도어 악성프로그램의 공통된 특징은 블로그와 마이크로블로그의 게시물에서 암호화된 C&C 설정 정보를 회수한다는 것입니다. 공격자는 이러한 서비스에 계저을 생성하고 게시글을 작성합니다. 암호화된 C&C 서버의 정보는 2개의 하드코드 태크 사이에서 확인할 수 있습니다.


그림 2. 태크 사이의 암호화된 C&C 설정 정보

BLACKGEAR가 이러한 방법을 이용하는 데는 2가지 이유가 있습니다. 하나는 백도어의 비컨 트래픽이 블로그에서는 일반 트래픽으로 인식됩니다. 또 다른 이유는 만약 사용 중인 C&C 서버가 차단된 경우 공격자가 즉시 다른 C&C 서버로 변경할 수 있기 때문입니다. 감염된 PC에서 C&C 서버의 변경을 막기 위해서는 일반 웹사이트를 차단하지 않고서는 불가능합니다.

BLACKGEAR가 사용하는 툴


그림 3. BLACKGEAR 캠페인에서 사용하는 툴

BLACKGEAR가 사용하는 멀웨어 툴은 바인더, 다운로더, 백도어의 3가지 카테고리로 분류할 수 있습니다. 바인더는 피싱과 워터링 홀 공격 등의 공격 벡터를 통해 사용자의 PC를 감염하소 미끼 파일과 다운로더를 생성합니다. 다운로

더는 공격자의 제어를 통해 여러 웹사이트에 접속하여 백도어 프로그램을 다운로드 합니다. 그리고 공격자가 감염된 PC에 접속할 수 있도록 하기 위해 지속적으로 활동합니다.

공격 툴을 3 단계로 분리함으로써, 하나의 툴이 탐지 또는 차단된 경우에도 활동의 중단 없이 해당 툴을 즉시 교체할 수 있습니다.

바인더

TROJ_BLAGFLDR 패밀리로 검출되는 바인더는 일반 폴더 아이콘으로 자신을 위장합니다. 사용자가 바인더를 실행하면 백그라운드에서 다운로더를 실행하여 가짜 문서가 들어있는 미끼 폴더를 생성한 뒤 자동 제거됩니다. 이렇게 하여 피해자는 악성 다운로더가 실행되었다는 것을 인지하지 못합니다.

다운로더

1. TSPY_RAMNY

TSPY_RAMNY는 TROJ_BLAGFLDR 바인더가 생성하는 다운로더입니다. 탐지를 피하기 위해 윈도우 temp 폴더에 위치하여 바로가기 파일(확장자 *.ink)를 Startup 폴더에 생성합니다. 또한 네트워크 설정 등 감염 PC에 대한 정보를 다운로드 사이트에 전달합니다.

다운로드 링크는 다음과 같은 형식으로 구성되어 있습니다.

http://{IP 주소}/{폴더명}/{웹페이지명} (예시: http://{IP address}/multi/index.html)

따라서 악성 프로그램의 다운로드 링크는 일반 웹사이트 URL로 인식됩니다.

2. TSPY_YMALRMINI

TSPY_YMALRMINI는 TROJ_BLAGFLDR 바인더에 의해 생성되는 또 다른 다운로더이며, 감염된 PC 정보를 다운로드 사이트에 전달합니다. 해당 다운로더가 어떤 페이로드를 사용하는가는 아직 확인되지 않았습니다. 그러나 다운로드 되는 파일 중 일부는 drWaston.exe 라는 파일명으로 감염 PC에 저장되는 것이 확인되었습니다. 동일한 파일명이 ELIRKS의 변종에서도 사용되고 있어, 연관이 있을 가능성도 있습니다. TSPY_YMALRMINI의 URL도 TSPY_RAMNY 와 같은 형식으로 구성되어 있습니다.

TSPY_YMALRMINI의 다운로드 링크 또한 TSPY_RAMNY와 동일한 형식입니다. 다운로더 변종의 일부에 프로그램 데이터베이스(PDB) 문자열 C:\ toolson-mini\YmailerCreater - Debug\Binder\Binder\YMailer.pdb 이 존재하여 이와 같은 이름이 붙여졌습니다. 이외에, 해당 변종은 YmailerMini.log라는 이름의 로그 파일을 생성합니다.

백도어

1. BKDR_ELIRKS

BKDR_ELIRKS는 BLACKGEAR가 이용하는 백도어 악성 프로그램 중 처음으로 확인된 것입니다. 이 이용하는 백도어 악성 프로그램 중에서도 처음으로 확인 된 것입니다. 이 백도어 악성 프로그램은 다양한 블로그와 마이크로 블로그 서비스에서 암호화 된 C & C의 설정 정보를 가져옵니다. 설정 정보가 해독되면 C & C 서버에 접속하여 공격자의 명령을 기다립니다. 감염 PC에서 활동을 계속하기 위해 자신을 Windows에서 로 이동하고 자신으로 유도하는 바로 가기 파일 (확장자 LNK)을 폴더에 만듭니다.

BKDR_ELIRKS백도어는 감염 PC에서 정보 수집, 파일 다운로드 및 실행, 스크린샷 촬영, 원격 셸 시작 등의 활동을 합니다.

2. BKDR_YMALR

BKDR_YMALR는 .NET framework로 작성된 백도어이며, 또 다른 이름 LOGEDRUT로 알려져 있습니다. 탐지명은 BKDR_YMALR이 생성하는 YMailer.log라는 이름의 로그 파일에서 유래합니다. BKDR_ELIRKS와 유사한 활동을 벌이며, C&C 설정 정보 회수 및 C&C 서버 접속 후 공격자의 명령을 받는다는 점에서 공통점이 있습니다.

암호화 및 복호화

1. BKDR_ELIRKS

리버스 엔지니어링에 의한 ELIRKS분석을 통해 암호화 된 C&C 설정 정보가 어떻게 복호화 되는 지 확인했습니다.

#! /usr/bin/env python

from ctypes import *

def decipher(v, k):
     y=c_uint32(v[0])
     z=c_uint32(v[1])
     sum=c_uint32(0xC6EF3720)
     delta=c_uint32(0x61C88647)
     n=32
     w=[0,0]

while(n>0):
     z.value -= (y.value + sum.value) ^ (y.value * 16 + k[2]) ^ (( y.value >> 5 ) + k[3])
     y.value -= (z.value + sum.value) ^ (z.value * 16 + k[0]) ^ (( z.value >> 5 ) + k[1])
     sum.value += delta.value
     n -= 1

w[0]=y.value
w[1]=z.value

return w

if __name__ == '__main__':
     key = [0x8F3B39F1, 0x8D3FBD96, 0x473EAA92, 0x502E41D2]
     ciphertext = [ciphertext1, ciphertext2] # you can input cipher text here
     res = decipher(ciphertext, key)
     plaintext = "%X" % (res[0])
     c4 = str(int("0x"+plaintext[6:8],16))
     c3 = str(int("0x"+plaintext[4:6],16))
     c2 = str(int("0x"+plaintext[2:4],16))
     c1 = str(int("0x"+plaintext[:2],16))
     print c4+"."+c3+"."+c2+"."+c1

악성 프로그램에 포함된 셸 코드에는 블로그 게시물의 URL과 가짜 게시물의 어느 부분에 C&C 정보가 숨겨져 있는지를 판별하기 위한 식별자가 포함되어 있습니다. 가짜 블로그/마이크로블로그에 게시물이 다운로드 되면, 백도어가 C&C 정보를 찾아 복호화합니다.

기사에 포함된 C&C 정보는 2개의 짧은 문자열로 저장되어 있습니다. 처음은 8문자로 구성된 문자열에서 6바이트의 16 진수 값을 해독합니다. 두 번째는 2문자로 구성된 C & C의 정보는 기사 중 두 짧은 문자열로 저장되어 있습니다. 하나는 8 문자열에서 6 바이트의 16 진수 값을 해독됩니다. 두 번째는 기존 16진수 문자열로 구성된 2 문자열 끝에 연결되어 있습니다. 수정된 버전의 Tiny Encryption Algorithm (TEA)에 의해 복호화하여 C&C서버의 위치 정보를 발견합니다.


그림 4. BKDR_ELIRKS 복호화 알고리즘

2. BKDR_ YMALR

BKDR_YMALR의 악성 활동에는 차이가 있습니다. BKDR_YMALR는 복수의 암호화 된 문자열이 포함되어 있습니다.


그림 5. BKDR_YMALR의 암호화된 문자열

암호화된 문자열은 블로그의 URL과 태그를 먼저 Base64로 인코딩 한 뒤 DES 방식으로 암호화 한 것입니다. 암호화 키와 초기 벡터가 하드코드 되어 1q2w3e4r로 설정되어 있습니다. 이것은 일반적으로 키보드 왼쪽 상단에 위치한 문자입니다.


그림 6. BKDR_YMALR 블로그 URL과 태그


그림 7. BKDR_YMALR의 디코딩 알고리즘

디코딩 후 BKDR_YMALR는 ELIRKS와 같은 알고리즘을 사용하여 C&C 정보를 가져옵니다.


그림 8. 블로그 게시물에서 가져온 BKDR_YMALR의 C & C 설정 정보

각 툴의 상관관계


그림 9. 각 툴의 상관관계

BLACKGEAR가 이용하는 툴은 함께 사용될 뿐만 아니라, 각 툴 사이의 명확한 상관관계를 볼 수 있습니다. YMailer 문자열은 BKDR_YMALR 및 TSPY_YMALRMINI에서 사용되는 로그파일의 파일명으로 나타나며, TSPY_YMALRMINI에서는 또한 PDB 문자열로 확인되고 있습니다. TSPY_RLMNY와 TSPY_YMALRMINI 다운로더는 toolson이라는 문자열을 사용합니다. 또한 다운로더 및 백도어 모두 동일한 암호화 키 1q2w3e4r를 이용합니다. 그림 9는 각 도구의 상관관계를 나타냅니다.

결론

새로운 방법과 툴의 도입, 공격 대상의 확대, 악성 프로그램 진화 등의 방법으로 표적형 사이버 공격 캠페인 BLACKGEAR의 위협은 앞으로도 지속될 전망입니다. 당사에서는 BLACKGEAR의 활동을 모니터링하고 사용자 보호를 위해 노력하고 있습니다.

감염의 지표

TROJ_BLAGFLDR

  • 52d6b30bc578465d8079d9abd0d4c4826b51b25f
  • 800c7d54280f5f35e3b58a6d4dfd4845f6ed9e15
  • 8b6614562a79a13e60d100a88f1ba4eb601636db
  • 98efee8dde7d493c0d35d02a2170b6d1b52987d3

TSPY_RAMNY

  • 02785ebcb683a380c80958f3fe2a52f805c5c12d
  • 74031e70ca3b4004c6b7a8197397882bc02c30cb
  • b4c63a0ff9b8eb8cc1a53a4dd036e93f9eeceeca

TSPY_YMALRMINI

  • 048790098a7c6b8405761b75ef2a2fd8bd0560b6
  • 96f3b52460205f6ecc6b6d1a73f8db13c6634afc

BKDR_ELIRKS

  • 17cacabcf78c4b164bb0e7d9200289be9236e7bc
  • 4157ecd252dc09b533fcf6a778aca2c376601354
  • 4f54cfcf266b73ca3759b9cb0252c27094b5b330
  • 521a9d73191c7740f969ae3c53e6abf70ffbedf9
  • 533565f7953fb1648d437d14d007003c6343b9ae
  • 80108d2aacb0a1f2a5350f71e7a04239fc5f96a9
  • 8cad1bcbdd558802b34119fb57160cc748170133
  • 9a768fae41ca7395b4257e85acef915e124c2981
  • a70001c67e81d1dcf62f808760514b6df28a411a
  • a9ea07caafeb63133e5131f7a56bc8da1bc3d72a
  • dd0ceafbe7f4bf2905e560c3348545e32bc0f684

BKDR_YMALR

  • 02fed8cae7f3986c1344dd75d869ba23cfc4073a
  • 09d73b522f36786bb6e645b96f244bb51c3cc7ea
  • 0a59d52367435bc22a92c27d60023acec575a5fb
  • 0cc74332b1e213456693159d3ba12a3421036f68
  • 1120f049dcb4a62809687dc277b42589d8d1caa6
  • 12c8cc7e125572d614b708c056f7fd0ed49870c5
  • 29b08d270ba6efcf57ca2ad33d8e3edd93d6b32a
  • 2d3d7b9521aec637f2e99624e0489b9f140d463f
  • 2de7d78615ec0fbf2652790d53b50ddb0472292c
  • 31de946255b240c0ae2f56786ac25183f3aaeea5
  • 3aa8509715c7f55bdee831d5f7db22a2c516db43
  • 3d175b1defe7076e0fe56076dd0d5f438de43324
  • 4000244b2cba78a45034bb6ab2bac46d6a8a79ea
  • 4882735e8a465fac938fd04546a51efefb9806da
  • 48d373bdb31dcecd7f59bd5a964d062c8b6bfce8
  • 49f6eb7f8e4a27f574c9a3e8c0da0b7895df7e41
  • 4c7df09012fc88d336467691acf0afce64f40341
  • 551f9a60203bec904487113e8d42dea463ac6ca9
  • 5a4b15fa5a615a93191ede4c75dd3e65e87586dc
  • 5aa5117db6f420c81d2e1a7f036963a3c6ef02e9
  • 5dc007d056513cba030ec16e15bdbb9ea5fe0e5a
  • 628309a60ad1fbe240486519de1424f7ddc2df4d
  • 636e7a9effb1a244697c880832e486de56260527
  • 6bb5f51d03edd1acd7d38cca8095a237543c6a0d
  • 6c4786b792f13643d408199e1b5d43f6473f5eea
  • 6dd997409afec6fafbe54bd9d70d45fffff6a807
  • 7142ca7079da17fa9871cbc86f7633b3253aeaed
  • 7254b719fd3cf87c8ac8ed9327c8e1bf99abf7af
  • 7329a789363f890c401c286dbaf3d2bf79ee14f7
  • 7b2c4d14710cf2fd53486399ecc5af85cd75eca6
  • 88e22933b76273793e4278c433562fb0b4fe125a
  • 8917c582ab5c2e831de6eba33b4f19d6e3a2cb70
  • 8c325e92bf21d0c3737dbbc596854bc12184eeaf
  • 8f65cbde2f3b664bcede3822a19765bdb7f58099
  • 9047b6b2e8fbaa8a06b2faaa30e038058444106a
  • 93c3f23905599df78cd5416dd9f7c171b3f1e29e
  • 94750bdae0fa190116a68e96d45f3d46c24b6cf1
  • 9954a1c8e7b0e2f17841608f6b8c9d042b7a0780
  • 9b96646d152583ff58c2c29191cb1672847d56b6
  • 9f5a3b6db752d617f4d278d6531e2bbdb7faa977
  • a30cc98ceb5d3379e80443f68a186326926f73ce
  • a893896af5468ac6e04cdd13edff8cae04800848
  • a8f461749c7fe2a21116b8390cf84a8300009321
  • a9108bf3ce39cea40e46ac575247a9a7c077b2a8
  • a9fd9ade807af4779f3eea39fed2c583a50c8497
  • ac014e4c2d68f6c982ac58738857b698b9e46af5
  • acaec2b0f86ec4262be5bb8bcebcc12093e071ba
  • ad61c51b03022ef6bcb5e9738fe2f621e970ecb3
  • b28f6ba3d6571c5d85cb5276cbcdce9adf49d5a9
  • bc61f1b3c8eb3bda2071f6caf71ff23705128ca5
  • c30b305a7bea9a2f61aca2dbcf596c2b0c0e4fa0
  • c4c747f26f95fdbfc5bff04688dc76ae0bb48fff
  • c58d6fc761dec675ab45ad5c3682ffc9936cf357
  • c85f528900aa9d836abd88eb56902efd711491da
  • ca163d6ae85edede87b271267918a0ffe98040c7
  • cf629249fb4af86746059e638ccef5b8a43c6834
  • cfd9a67b4b0eb3d756bb7e449b46687e6aef006b
  • d107268bd767a2dfe1c8733b7da96c1a64f5d112
  • d7cd079f8485ea55443ed497f055dbed5ae4a668
  • d95c97f1525e9888571f498f2be584dda243da2a
  • e01f9ba6355bcdc7ccf89261658bff9f965b8c21
  • e05efde2b442dc4119179e3c39c74a973499e271
  • e1acfed710f186d86a2bc8179ff38fdd21f9a1b6
  • e1fb2e1866f332a5656bf55fde13ff57d5f0bbf6
  • e77303d80968395eec008515ea9eb3c620b14255
  • eb9e553524d414d862857297baf44da3b4072650
  • eca06f3c535ba3b3463917974a79efc821fddb6c
  • eeb065a1963a8aa0496e61305c076c5946d77e12
  • efa611262e6d4804ce9026d50bfa64f20d9271ca
  • fb59481d153388d2ad3bb6321d0b2875cb07f4d3
  • fbcbbc187e99317c5a36a3667592590a7f5a17d1

원문: BLACKGEAR Espionage Campaign Evolves, Adds Japan To Target List