LuminosityLinkリモートアクセストロイの木馬の設定の調査

This post is also available in:english(English)

ここ数週間、LuminosityLinkリモートアクセストロイの木馬(RAT)の組み込み設定の調査に時間を費やしてきました。 気づいていない人のために、LuminosityLinkは、システム管理ユーティリティであることを主張するcosting40原価計算マルウェアファミリーです。 しかし、実行されると、マルウェアは非常に積極的なキーロガーだけでなく、攻撃者が被害者のマシンを完全に制御することを可能にする他の悪意のある機

1

図1LuminosityLink webサイト

同僚の依頼で、LuminosityLinkサンプルの構成を抽出するように頼まれました。

これにより、バイナリ内で構成がどのように暗号化されているか、およびその構成を解析する方法を理解することができました。 変更されていないLuminosityLinkマルウェアサンプルに対してこのアクションを実行するスクリプトを作成しました。 さらに、Palo Alto Networksが収集した約18,000個のLuminosityLinkサンプルを調べ、このスクリプトを使用して14,700個のサンプルの構成を抽出することができました。 (このデータは、この記事の付録セクションにあります。)

LuminosityLinkの概要

もともと2015年に浮上したLuminosityLinkの人気は、次の表に示すように上昇しています。 これまでに、パロアルトネットワークスは、お客様に対するLuminosityLinkの約50,000の試みられた感染を追跡してきました。

2

図2時間の経過に伴うLuminosityLinkセッションのオートフォーカスグラフ。

LuminosityLinkは現在40ドルで販売されており、その著者から直接購入することができます。 このパッケージは、攻撃者がLuminositylinkサーバーをホストするだけでなく、ConfuserEx0.4.0で難読化されているカスタマイズされたバイナリを生成することができます。 ConfuserExは、基礎となるものを難読化するオープンソースプロジェクトです。ネットコードは、それを逆コンパイルするリバースエンジニアのためにそれをはるかに困難にします。 これは、暗号化プロセスをリバースエンジニアリングする方法を決定する際に、後で注意することが重要です。

前述のように、次のスクリーンショットに示すように、いくつかの設定オプションが含まれています。

3

図3LuminosityLink

のクライアント構成オプション実行されると、攻撃者にはキーロギング、リモートデスクトップ、パスワードの盗み、デバイス上のシェルとの対話など、豊富なオプションが与えられます。

設定のリバースエンジニアリング

LuminosityLinkの設定を解析する最初のステップは、静的に抽出することです。 私は最初にdnSpyという名前のプログラムを使用してクリーンなLuminosityLinkサンプルを開いて、設定がどこに保存されるかについての手がかりを検索しました。 (余談ですが、dnSpyは、提供されている.NETバイナリを逆コンパイルする素晴らしい仕事をするだけでなく、私たちが直面しているような問題に取り組むのに役立)

最初にサンプルバイナリを開くとき、ConfuserExを使用してサンプルが難読化されていることを知っていたので、私はあまり期待していませんでした。 しかし、サンプルのリソースを見て、私は有望に見えるいくつかの文字列を見ました。

4

図4LuminosityLink

に埋め込まれたリソース文字列ご覧のように、マルウェアにはBase64でエンコードされたデータのように見えるリソースが多数含まれています。 「SMARTLOGS」、「XML」、および「CONFIG」リソースにはすべて豊富なデータが含まれていますが、この時点ではまだ不明です。 残念ながら、これらの文字列をデコードするとゴミが発生し、他の形式の暗号化がその下で使用されている可能性があります。

私は基礎となるコードを調査し続けましたが、難読化されていますが、さまざまなクラスが何をしているかの高レベルのアイデアを提供しています。 インポートされた名前空間、API呼び出し、および特定の難読化されていない文字列を使用すると、プログラム内で何が起こっているのかについての手掛かりを得ることができます。 具体的には、’Systemの名前空間を使用したfd()クラスが表示されます。セキュリティ。これは、以前に参照されたリソース文字列に対して暗号が使用されていると疑われているため、確かに調査に値します。

5

図5LuminosityLink

で使用されている暗号化名前空間このクラスをさらに調査すると、次のクラスと関数への参照が表示されます:

  • Md5Cryptoserviceprovider
  • ComputeHash
  • Frombase64String
  • RijndaelManaged

この時点で、私はこれらの文字列がどのように処理されたかを見るためにデバッガに目を向けました。 私は以前に述べたさまざまな呼び出しにブレークポイントを設定します。 具体的には、RijndaelManagedクラスのブレークポイントは優れた結果をもたらします。

6

図6AES-128キー

の正常なリカバリAES-128暗号化が使用されていることを確認するだけでなく、”SMARTLOGS”リソース文字列が使用されていることも確認できます。 また、キーとして使用されている文字列を識別することもできますが、この特定の例では”\\ecnOnuR\\noisreVtnerruC\\swodniW\\tfosorciM\\erawtfoS”です。 さらに調査すると、この文字列はMD5アルゴリズムを使用してハッシュされていることが このハッシュの最初の15バイトは、ハッシュの16バイト全体と連結され、その後にヌルバイトが続きます。 この復号化プロセスをPythonで次のように複製できます:

1
2
3
4
5
6
7
8
9
10

def decrypt_data(data,key_string):
decoded_data=base64.b64decode(data)
m=hashlib.md5()
m.update(key_string)
md5=m.digest()
key=md5+md5+”\x00″
mode=AES.MODE_ECB
iv=’\x00’*16
e=AES.new(key,mode,iv)
return e.decrypt(decoded_data))

上記のコードを使用して、これが正しいことをさらに確認できます。 次の例では、データ変数は”SMARTLOGS”リソース内にあるbase64エンコードされた文字列で設定されており、key_string変数は前述の逆のレジストリキーに設定されています。

1
2

>>> print decrypt_data(data,key_string)
172.16.1.100|11111|backup.dns.com|filename.exe|startup_name|folder_name|data_directory_name|backup_startup.exe/df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4|BuildID|1idsnb|

試行錯誤を使用して、上記の構成で目撃された各変数を正常にマッピングすることができます。 最後の変数は、’1’を除く各文字が特定の設定オプションにマップされるため、非常に興味深いことがわかります。 次のマッピングが決定されました:

  • i:クライアントのインストール/起動を有効にする
  • d:クライアント永続化モジュール:Luminosityのクライアントバイナリを保護する
  • s : 9852>
  • a:プロアクティブなマルウェア対策:悪意のあるファイルをきれいにし、クライアントPCをスピードアップ
  • n:省電力:スリープモードを防止し、15分の非アクティandディレクトリ
  • b:backup startup

この知識を使用して、上記の構成を解析することができ、以下の結果が得られます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

ドメイン/IP:172.16.1.100
ポート:11111
バックアップDNS:backup.dns.com
ファイル名:ファイル名。exe
起動名: startup_name
フォルダ名:folder_name
データディレクトリ名:data_directory_name
バックアップスタートアップExe:backup_startup.exe
Mutex:df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4
ビルドID:BuildID
設定:
クライアントのインストー1873>

クライアント永続化モジュール:luminosityのクライアントバイナリを保護
サイレントモード(クライアントpc上でluminosityウィンドウを非表示)
プロアクティブアンチマルウェア: 悪意のあるファイルをきれいにし、クライアントPCを高速化
パワーセーバー:スリープモードを防止し、非アクティブの15分後に監視をオフにします
実行後

Luminositylink構成をスケールで解析する

この知識を使用して、特定のサンプルの構成を解析するスクリプトを作成しました。 このスクリプトは、長さが50より大きいbase64エンコードされているように見える文字列を検索し、ブルートフォースアプローチを採用します。 エレガントではありませんが、それは非常に正常に仕事をしています。 このスクリプトは、このブログ記事の付録セクションでダウンロードできます。

サンプルのパロアルトネットワークスのリポジトリを通過すると、LuminosityLinkとしてタグ付けされた約18,000個のファイルが見つかりました。 これらの18,000個のサンプルに対して、静的構成抽出と解析スクリプトを適用し、約4,500個の構成を正常に取得しました。 残りのサンプルは、組み込みのConfuserEx難読化ルーチンを超えてパックされたため、生の構成文字列は存在しませんでした。

これらのサンプルは、プロセスダンプが抽出されたオープンソースのCuckoo Sandboxのローカルインスタンスを介して実行されました。 同じスクリプトがこれらのプロセスダンプに適用され、さらに10,200の構成を取得でき、合計14,700の解析されたLuminosityLink構成が得られました。

サンプルが処理されると、さらにキーが著者によって使用されていることが発見されました。 LuminosityLinkサンプルのキーを生成するために、次の追加の三つの文字列が使用されました。

  • このconf’igには有用なものは何も含まれていません。 あなたはそれを復号化することにより、クールだかのように行動を終了します。
  • SMARTLOGS
  • パスワードを指定

LuminosityLinkの作者にユーモアのセンスがないわけではないかのように見えます。 さらに、古いサンプルを解析したところ、今年の2月から6月の間に構成が変更されたことが判明しました。 古いサンプルの構成では、より少ないオプションが利用可能でした。 提供されたスクリプトは、これらの違いと使用されるさまざまなキーを説明します。

14,700の構成からの集計データを使用して、以下の高レベルの統計が取得されました:

LuminosityLink 7

Figure 7 Prevalence of enabled settings in LuminosityLink configurations

Top C2 TLDs/IP Addresses

  • ddnsnet
  • duckdnsorg
  • no-ipbiz
  • chickenkillercom
  • no-iporg
  • mooocom
  • fishdnscom
  • no-ipinfo
  • ignorelistcom
  • freednssu

Top Build IDs

  • HOME
  • Client
  • crtx1
  • M4CHINATION
  • CSGO
  • NEW
  • Slave
  • CAPO
  • Youtube
  • PROJECT.D

Top Executable Names

  • sysmon.exe
  • client.exe
  • helper.exe
  • repair.exe
  • winlogon.exe
  • svchost.exe
  • Luminosity.exe
  • WinCOMHost.exe
  • chrome.exe
  • windowsbootapp.exe

トップポート

  • 6318
  • 1400
  • 1604
  • 1337
  • 3175
  • 22028
  • 9045
  • 2122
  • 100
  • 9999

CSVファイル形式で提供される解析された構成データは、この脅威に対する保護が作成されることを期待して、セキュリティコミュニティに自由に提供

結論

LuminosityLinkは、システム管理ユーティリティとして販売されていますが、多数の犯罪者によって使用される手ごわいキーロガーとバックドアです。 現在までに、パロアルトネットワークスは、18,000ユニークなサンプルを含む、LuminosityLinkの50,000以上の試みられた感染を目撃しています。 マルウェアは安価で一般に容易に入手可能であり、これは組織と個人の両方にとって危険な脅威となっています。

luminositylinkサンプルをリバースエンジニアリングすることにより、組み込み設定を静的に抽出して解析することができました。 また、実行可能ファイル内で構成された構成された保護に関する情報と、インストール情報も提供します。

Palo Alto Networksのお客様は、次の方法でこの脅威から保護されています。

AutoFocusタグを使用して、このマルウェアファミリを追跡できます

  • すべてのLuminosityLinkサンプルがWildFire
  • すべての識別されたドメインが悪意のあるものとしてフラグが設定されています
  • ネットワークトラフィックが適切に識別され、脅威としてブロックされていますid#14460(lumonositylinkrat.Genコマンドおよび制御トラフィック)

付録

LuminosityLinkサンプルの抽出と解析スクリプトはここにあります。

プレーンな設定文字列を解析するために使用されるスクリプトはここにあります。

Palo Alto Networksサンプルセットから抽出されたすべての設定データを含むCSVファイルはここにあります。


パロアルト
ネットワークから最新情報を入手!

私たちから最新のニュース、サイバー脅威インテリジェンスと研究を受け取るためにサインアップ

このフォームを提出することにより、あなたは私たちの利用規約に同意し、私たちのプライバシーに関する声明を認めます。

Write a Comment

メールアドレスが公開されることはありません。