Cisco Japan Blog

「Wolf」の再来

1 min read



ニュースの概要

  • Talos が「WolfRAT」と呼ぶ、DenDroid の亜種がタイで拡散中。標的は WhatsApp、Facebook Messenger、LINE といったメッセージアプリを Android デバイスで使うユーザです。
  • 悪名高い Wolf Research が背後にいる可能性が非常に高いと分析。
  • 亜種では、コードの重複、オープンソースプロジェクトの単なる流用、クラスのインスタンス化の欠如、不安定なパッケージ、パネル保護の欠落など、想定外の未熟さを確認。

エグゼクティブサマリー

Cisco Talos では、以前に流出したマルウェア「 DenDroid」をベースとする、新たな Android マルウェアを発見しました。Talos ではこのマルウェアを「WolfRAT」と呼んでいます。マルウェア本体やコマンド & コントロール(C2)インフラが、Wolf Research との関連性を強く示唆しているからです。Wolf Research は、傍受・スパイ用マルウェアを開発し、VirusBulletin 2018popup_icon で CSIS 社によって名指しで非難された悪名高い組織です。WolfRAT を分析したところ、以前の Wolf Research 製マルウェアと C2 インフラが重複しているだけでなく、文字列が以前のマルウェアを参照していることも突き止めました。Wolf Research は表向きは閉鎖されていますが、個々の攻撃者は依然として非常に活発なことが判明したのです。

Talos では、タイのユーザと Android デバイスを標的とした攻撃を確認しました。攻撃に使われた一部の C2 サーバはタイにあります。パネルにはタイ語の JavaScript コメントが含まれ、ドメイン名にはタイ料理の名前まで使用されています。ユーザをおびき寄せて C2 パネルをクリックまたは開かせるための常套手段だと言えます。

今回の調査では、流用しただけのコードや不安定なコード、デッドコード、無防備なパネルなど、技術的に非常に稚拙な部分が確認されました。

新しいマルウェア

WolfRAT のベースは、以前に流出popup_iconした DenDroid というマルウェアです。. WolfRAT は悪名高いハッカー集団「Wolf Research」が作成者だと考えられます。狙いはタイの Android デバイスです。

仕組み

WolfRAT は Google サービス、Google Play、Flash アップデートなどの正規サービスに偽装しています。マルウェア自体は高度なものではなく、インターネットで公開されているコードを多く流用しています。C2 インフラについても、パネルが無防備であったり、不正利用が広く認知されている古いサーバを再使用したりするなど、稚拙な部分が見られます。

作成者

Wolf Research は、デンマークの脅威インテリジェンス企業である CSIS Group によって名指しで非難された経緯があります。非難を受けて閉鎖し、「LokD」という名称の組織に生まれ変わりましたpopup_icon。新組織は Android デバイスの保護に取り組んでいると考えられてきました。ところが、C2 インフラや C2 パネル名の共有が決め手となり、LokD が今でも攻撃活動を続け、マルウェアを開発している可能性の高いことが判明したのです。しかも攻撃は昨年の 6 月中旬から続いているようです。C2 パネルの分析により、Wolf Research が同じくキプロスにある組織「Coralco Tech」とつながっている可能性も浮上しました。Coralco Tech は傍受技術も開発しています。

Wolf Intelligence との関連性

2018 年の VirusBulletin 会議では、Wolf Researchpopup_iconの組織自体や、それが開発した攻撃用製品について、CSIS 社の研究者である Benoît Ancel 氏と Aleksejs Kuprins 氏がプレゼンテーションを行いました。そこで言及されたのは、Android、iOS、Windows 向けのリモートアクセスツール(RAT)です。両氏は、Wolf の本社がドイツにあり、キプロス、ブルガリア、ルーマニア、インドのほか、おそらく米国にも支部があることを突き止めていたのです。プレゼンテーションの後、Wolf は閉鎖されました。しかし Wolf の取締役は、キプロスで LokDpopup_icon という名前の新しい組織を立ち上げています。新組織の目的は、より安全な Android スマートフォンを開発することです。さらに組織の Web サイトによれば、ゼロデイ脆弱性を特定するサービスも提供しています。

ゼロデイ脆弱性の特定について言及した、lokd.com の該当箇所

組織の関心は依然として Android デバイスにあるわけです。今回の亜種について Talos では、C2 インフラの共通点と流出した情報を踏まえ、Wolf Research とつながっている可能性が非常に高いと考えています。

サンプルの 1 つ(e19823a1ba4a0e40cf459f4a0489fc257720cc0d71ecfb7ad94b3ca86fbd85d1)では、C2 サーバ svcws[.]ponethus[.]com が使用されています。Talos の調査と Benoît Ancel 氏の追跡によれば、同じ C2 インフラは Wolf Intelligence によって使用されていました。

また、C2 サーバ上に 2 つの空パネルを確認しました。新しい方の名前は「Coralco Archimedes」、古い方は「Wolf Intelligence」です。

新しいパネル

古いパネル

新しいパネルの名前には「Coralco」という文字が含まれています。Coralco Tech はキプロスにある組織で、傍受ツールを開発しています。これだけで Wolf Research と Coralco Tech の関連性を断定することはできませんが、パネルの名前やレイアウト、提供している製品を踏まえると、十分な可能性が疑われます。

Coralco Tech のサービスについての説明文popup_icon

攻撃の被害者

今回分析した攻撃では、タイの Android デバイスが標的となっていました。

C2 サーバのドメイン名にはタイ料理の名前が含まれています。

  • Nampriknum[.]net: Nam Phrik Num

 

  • Somtum[.]today: Som Tum

また、先述の C2 インフラではタイ語のコメントを確認しました。

マルウェア

DenDroid

今回のマルウェアは、DenDroid という Android マルウェアがベースとなっています。DenDroid については、2014 年にいくつかの分析レポートが公開され、最終的に 2015 年にはソースコードが流出しました。ソースコードは一時期 github.com で公開されていましたが、今でもここpopup_iconから入手できます。以下の表は、感染したデバイスに対して攻撃者が実行できるコマンドです。

このマルウェアは、最近の Android マルウェアと比べて単純な構造になっています。その最たる例が、root 化されていないデバイス上で情報を収集するときに、アクセシビリティ フレームワークを利用していない点です。各コマンドの役割は説明不要でしょう。一覧からはマルウェアの機能も想像できます。takephoto、takevideo、recordaudio、getsentsms、uploadpictures のようなコマンドはスパイ目的です。transferbot、promptupdat、promptuninstall のようなコマンドは、マルウェアを管理するためのものです。

バージョン 1:2019 年 6 月(ドメイン:databit[.]today)

調査中、少なくとも 4 回のメジャーリリースを確認しました。最初のバージョンでは、スパイ型トロイの木馬としての機能を、権限面で整えています。

権限一覧

パッケージ名は DenDroid のものを踏襲しています。コードは難読化されていますが、パッキングされていません。マルウェアには画面記録機能も含まれています。

画面記録機能は、公開されている別のオープンソース ソフトウェア パッケージpopup_iconを使用して、com.serenegiant.service.ScreenRecorderService クラスに実装されています。このクラスはパッケージマニフェストで宣言されています。サンプルの分析中に気付いたことですが、クラス自体がマルウェアによって呼び出されたり使用されたりすることはありません。クラスはソースコード内全体で利用可能ですが、それを使用するメソッドが存在しないのです。

バージョン 2:2019 年 6 月 ~ 8 月(ドメイン:somtum[.]today)

バージョン 2 では、コード構造の進化が初めて確認されました。同じ構造はこれ以降、マルウェアの関数全体で使用されています。

コードの構造

見ての通り、コードは難読化されていません。前のバージョンと比較しても、コードベースが同じであることは一目瞭然です。目立った変更点の一つは、バージョン 1 に含まれていた画面記録機能が削除されていることです。また、com.utils.RestClient という新しいクラスも追加されています。クラスのベースは、praeda.muzikmekan パッケージ(こちらpopup_iconなどで公開)に含まれるコードです。しかしバージョン 1 と同様に、マルウェア作成者はこのパッケージを使用していません。

削除された権限リスト

画面記録機能が削除されたことで、READ_FRAME_BUFFER 権限も削除されています。ACCESS_SUPERUSER は 2014 年の Android 5.0 Lollipop から廃止されていることが理由かもしれません。実際のところ、リモートアクセスにはマニフェストで宣言された権限で十分です。より高い権限は必要ありません。

バージョン 3:2019 年 9 月 ~ 12 月(ドメイン:ponethus[.]com)

バージョン 1 と 2 に共通点があったため、各バージョンに基づいて進化したサンプル(バージョン 3)を見つけたときも驚きませんでした。バージョン 3 では、バージョン 1 と 2 の痕跡を明らかに確認できます。また、パッケージ名が com.android.playup に変更されました。不注意なユーザが騙されそうな名前になったのは、このバージョンからです。

バージョン 3 では、ACCESS_SUPERUSER 権限と READ_FRAME_BUFFER 権限が再度実装されました。ただしバージョン 3 では、これらの権限が実際に使用されています。

WhatsApp の操作記録コード

com.serenegiant.service.ScreenRecorderService サービスは ScreenRecorderActivity によって呼び出されます。アクティビティが作成されると、 50 秒間隔でループするスレッドが起動されます。最初のループで画面の記録が開始され、WhatsApp が実行されていないと RAT が判断するまで記録が続きます。一度停止しても、WhatsApp が実行されていれば次のサイクルで記録が再開されます。

バージョン 3 では、クラスがいくつか追加されています。使用されている証拠は見つからなかったものの、次の 2 つのクラスに注意が必要です。”Bluetooth” は Bluetooth インターフェイスの操作を可能にします。また “net/deacon” は UDP ベースのビーコン発信を実装します。

Android シェル

Android シェルでコマンドを実行できる新しいパッケージも追加されています。このパッケージのソースコードも(他のコードと同様に)公開済みpopup_iconのものを流用しています。パッケージの用途ですが、たとえば dumpsys コマンドを実行し、特定のアクティビティが実行されているかどうかを確認しています。

チャットアプリが実行されているかどうかを確認

上の例では、マルウェアが LINE、Facebook Messenger、WhatsApp のアクティビティを確認しています。使われているのは CaptureService クラスの一部です。以前のバージョンにも存在していましたが、十分に実装されていませんでした。

前のバージョン

CaptureService クラスは、チャットアプリの操作を傍受します。クラスが作成されると、スクリーンショットの取得を開始します。その後、対象アプリの実行が検出されなくなったら取得を停止し、C2 にアップロードします。この機能も、大部分は公開されているオープンソースプロジェクトpopup_iconをベースにしています。

別の変更点は OrbotVPN ベースの VPN 関連パッケージが追加されたことです。この VPN パッケージは実際には使用されていないようです。同じことが squareup.otto パッケージ(Android 向けでオープンソースのバス実装)にも当てはまります。いずれも VPN パッケージの公開先popup_iconsquareup.otto パッケージの公開先popup_iconで入手できます。

バージョン 4:2020 年 4 月 — ドメイン:nampriknum.net

これまでと同様、バージョン 4 でも機能が追加され、使用されていなかった機能が削除されています。まず、新しいパッケージ名が com.google.services になり、正規の Google サービスを装っています。VPN パッケージは削除されています(使用されていないという先述の結論を裏付けています)。

WolfRAT アプリの画面

Google 社の GMS と Firebase サービスが追加され、新しいクラスで参照されているようですが、設定は見つかりませんでした。新しいクラスの名前は NotificationListener で、NotificationListenerService クラスを拡張しています。このクラスにより、RAT ではシステム通知を受信できます。

通知処理メソッド

NotificationListener クラスはデバッグモードでのみ実装されています。クラスがキャプチャしたすべての情報はログに記録されます。クラスが使っている PlusShare API は Google+ 向けです。2020 年にこの API を使用していることから、作成者の未熟さが伺えます。PlusShare API は Google+ は 2019 年 3 月に完全に廃止されています。

バージョン 4 では、1 つの重要なクラスが追加されています。DEVICE_ADMIN 権限をリクエストするクラスです。

デバイス管理ポリシー

ポリシーの定義では、利用しようとしているポリシーが一覧表示されています。しかし、これら大部分は Android 10で廃止されているため、使用するとセキュリティ例外が発生します。これらのコードもテスト目的だと考えられます。

各バージョンの概要

DenDroid のコードベースは、base64 でエンコードされた元のパスワードまでも、そのまま流用されていました。

元のパスワード

メインサービスの構造は初期バージョンと同じで、分析回避機能は初歩的(パッキングや難読化は一切なく、エミュレータ環境をチェックするだけ)です。

マルウェアは、リクエストしたすべての権限とデバイス管理権限が付与されると、メインサービスを起動します。権限が付与されない場合は、ユーザを騙して付与させようとする ACTION_APPLICATION_SETTINGS インテントを起動します。

各サンプルではユーザ ID がハードコードされていました。つまり各サンプルは被害者ごとに用意されたことになります。ただし WolfRAT が C2 にデータを送信する際は IMEI も送るため、1 人の被害者が複数のデバイスを所有している場合はマルウェアを再利用できると考えられます。

WolfRAT が現在も精力的に開発されていることは明らかです。しかしパッケージの追加や削除が繰り返されている、使われないコードが大量に存在している、廃止された API などが参照されている、といった点から素人が開発していると考えられます。

まとめ

オープンソースのプラットフォーム、コード、パッケージを使い続けて、独自のマルウェアを作成している攻撃者は、これまでも多く確認されてきました。成功例もありますが、今回の WolfRAT の例のように、機能の詰め込みすぎで実用性のないマルウェアも存在しています。実際のところ、重要なのは「安定性」よりも「実用性」です。WolfRAT が更新を繰り返しているところを見ると、攻撃者は機能面を重視していると考えられます。納期の関係で急いでいた可能性もありますが、Android パッケージ内の古いコードブロックやクラスなどは削除されずに残っています。

WolfRAT はタイのユーザを個人単位で狙う標的型の RAT です。Wolf Research による以前のマルウェアがベースで、用途はおそらく情報収集や傍受でしょう。WolfRAT はパッケージ化して、さまざまな方法で顧客に販売できます。このようなツールの「商用」用途や「企業向け」用途には、「追跡」や「管理」目的などが挙げられます。表向きの Wolf Research は閉鎖されていますが、その活動は別名の組織で今も続いていることが判明しました。

WolfRAT が狙うような情報をスマートフォンで収集できれば、攻撃者にとっては大きな収穫でしょう。WhatsApp や他社のメッセンジャ、SMS は機密情報の宝庫ですが、多くのユーザは普段そのことを忘れています。WolfRAT が特に狙っているのは、アジアで絶大な人気を誇る、エンドツーエンドで暗号化されたチャットアプリ LINE です。このことは、セキュリティに慎重なユーザでさえも、WolfRAT にのぞき見される可能性があることを示唆しています。

カバレッジ

お客様がこの脅威を検出してブロックするための方法を以下に記載します。

 

 

 

 

 

 

 

 

 

 

Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。AMP 内に存在するエクスプロイト防止機能は、このような未知の攻撃からお客様を自動的に保護するように設計されています。

Cisco クラウド Web セキュリティ(CWS)または Web セキュリティアプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述の攻撃で使用されるマルウェアを検出します。

E メールセキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。

次世代ファイアウォール(NGFW)、次世代侵入防御システム(NGIPS)、Cisco ISRMeraki MX などのネットワーク セキュリティ アプライアンスは、今回の脅威に関連する不正アクティビティを検出します。

AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコセキュリティ製品に保護機能を組み込みます。

Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.orgpopup_icon で購入可能な最新のルールパックをダウンロードすると、最新状態を維持できます。

IOC(侵入の痕跡)

ハッシュ

139edb1bc033725539b117f50786f3d3362ed45845c57fe1f82e7ed72b044367
e19823a1ba4a0e40cf459f4a0489fc257720cc0d71ecfb7ad94b3ca86fbd85d1
e19823a1ba4a0e40cf459f4a0489fc257720cc0d71ecfb7ad94b3ca86fbd85d1
e5f346d8f312cc1f93c2c6af611e2f50805c528934786ea173cabc6a39b14cda
1849a50a6ac9b3eec51492745eeb14765fe2e78488d476b0336d8e41c2c581d4
d328fca14c4340fcd4a15e47562a436085e6b1bb5376b5ebd83d3e7218db64e7
59b9809dba857c5969f23f460a2bf0a337a71622a79671066675ec0acf89c810
120474682ea439eb0b28274c495d9610a73d892a4b8feeff268c670570db97e2
ed234e61849dcb95223676abe2312e1378d6130c0b00851d82cda545b946ec83
27410d4019251a70d38f0635277f931fb73f67ac9f2e1f3b475ce680ebfde12a
6e6c210535b414c5aa2dd9e67f5153feeb43a8ac8126d8e249e768f501323a3e
4a32ced20df7001da7d29edc31ca76e13eef0c9b355f62c44888853435e9794f
ac5abaebd9f516b8b389450f7d27649801d746fb14963b848f9d6dad0a505e66
3a45d7a16937d4108b5b48f44d72bb319be645cbe15f003dc9e77fd52f45c065

ドメイン

cvcws[.]ponethus[.]com
svc[.]ponethus[.]com
www[.]ponethus[.]com
webmail[.]ponethus[.]com
nampriknum[.]net
www[.]nampriknum[.]net
svc[.]nampriknum[.]net
svcws[.]nampriknum[.]net
svc[.]somtum[.]today
svcws[.]somtum[.]today
www[.]somtum[.]today
somtum[.]today
shop[.]databit[.]today
svc[.]databit[.]today
test[.]databit[.]today
www[.]databit[.]today
admin[.databit[.today
cendata[.]today
svc[.]cendata[.]today
svcws[.]cendata[.]today
www[.]cendata[.]today

 

本稿は 2020年5月19日に Talos Grouppopup_icon のブログに投稿された「The wolf is back…popup_icon」の抄訳です。

 

コメントを書く