PyXieとの遭遇:新手の悪質なPython RAT

By Ryan Tracey

本ブログ記事は、2019年12月2日に米国で公開された抄訳版です。原文はこちらからご覧頂けます。

はじめに

最近、BlackBerry Cylanceの調査担当者は、これまで名前が付いていなかったPython RATを発見し、PyXieと命名しました。PyXieは、少なくとも2018年から確認されていますが、サイバーセキュリティ業界からはほとんど注目されていませんでした。

PyXieは、広範囲にわたる業界を標的とした持続的なキャンペーンで攻撃を展開してきました。このPyXieとともに、Cobalt Strikeビーコンと、金融機関を標的とするトロイの木馬Shifuも確認されています。アナリストは、これらの脅威アクターがPyxieを使用して医療業界と教育業界にランサムウェアを配信しようとした痕跡を確認しています。

BlackBerry Cylanceは、複数のインシデント対応(IR)作業を行い、標的の環境内のホストでPyxieを特定しました。

Pyxieキャンペーンの主な特長は次のとおりです。

  • LogMeInとGoogleの正当なバイナリを使用して、ペイロードをサイドロードします。
  • トロイの木馬化されたTetrisアプリが、内部ネットワーク共有からCobalt Strikeステージャをロードして実行します。
  • Shifuに似た"Cobalt Mode"という名前のダウンローダーを使用します。
  • Sharphoundを使用して、被害マシンからActive Directoryの情報を収集します。
  • コンパイル済みのカスタムPythonインタープリターは、暗号化されたオペコードを使用して解析を妨害します。
  • 変更されたRC4アルゴリズムを使用して、感染したホストごとに固有の鍵でペイロードを暗号化します。

このブログ記事で主に取り上げるのはPyXie RATですが、キャンペーンの他の部分のIOCを付録に記載してあります。

攻撃の概要

図1:ローダーの概要

ステージ1 - ローダー

このキャンペーンは、サイドロードの手法で正当なアプリケーションを利用して、マルウェアのステージ1のコンポーネントをロードします。

これまでに、ほとんどのコンピューターで使用されている可能性が高い一般的なアプリケーションを標的にした悪意のあるローダーの2つの亜種を確認しています。

  • LogMeInが提供する署名済みバイナリ(LmiGuardianSvc.exe)によってサイドロードされるLMIGuardianDll.dll
  • Googleが提供する署名済みバイナリ(GoogleUpdate.exe)によってサイドロードされるGoopdate.dll

解析により判明した、サイドロードされるDLLを、コンパイルタイムスタンプに従って時系列に並べたリストを表1に示します。

ファイル名

SHA256

タイムスタンプ

該当なし

e0f22863c84ee634b2650b322e6def6e5bb74460952f72556715272c6c18fe8e

3/17/17 12:23

GOOPDATE.dll

c9400b2fff71c401fe752aba967fa8e7009b64114c9c431e9e91ac39e8f79497

12/15/17 18:46

GOOPDATE.dll

814357417aa8a57e43d50cb3347c9d287b99955b0b8aee4e53e12b463f7441a0

1/11/18 22:30

GOOPDATE.dll

7330fa1ca4e40cdfea9492134636ef06cd999efb71f510074d185840ac16675d

6/4/18 20:44

GOOPDATE.dll

a765df03fffa343aa7a420a0a57d4b5c64366392ab6162c3561ff9f7b0ad5623

7/16/18 16:51

GOOPDATE.dll

de44656b4a3dde6e0acdc6f59f73114ce6bb6342bec0dcd45da8676d78b0042e

8/23/18 17:11

GOOPDATE.dll

5937746fc1a511d9a8404294b0caa2aedae2f86b5b5be8159385b6c7a4d6fb40

11/20/18 20:35

GOOPDATE.dll

56e96ce15ebd90c197a1638a91e8634dbc5b0b4d8ef28891dcf470ca28d08078

12/2/18 13:47

GOOPDATE.dll

1d970f2e7af9962ae6786c35fcd6bc48bb860e2c8ca74d3b81899c0d3a978b2b

12/8/18 20:38

GOOPDATE.dll

d271569d5557087aecc340bb570179b73265b29bed2e774d9a2403546c7dd5ff

12/10/18 14:26

GOOPDATE.dll

3a47e59c37dce42304b345a16ba6a3d78fc44b21c4d0e3a0332eee21f1d13845

1/9/19 16:58

GOOPDATE.dll

3aa746bb94acee94c86a34cb0b355317de8404c91de3f00b40e8257b80c64741

1/11/19 16:51

GOOPDATE.dll

f9290cd938d134a480b41d99ac2c5513a964de001602ed34c6383dfeb577b8f7

1/27/19 15:36

LMIGUARDIANDLL.DLL

c3b3f46a5c850971e1269d09870db755391dcbe575dc7976f90ccb1f3812d5ea

4/10/19 14:22

N/A

ea27862bd01ee8882817067f19df1e61edca7364ce649ae4d09e1a1cae14f7cc

4/10/19 14:22

GOOPDATE.dll

edd1480fe3d83dc4dc59992fc8436bc1f33bc065504dccf4b14670e9e2c57a89

4/11/19 13:08

LMIGUARDIANDLL.DLL

92a8b74cafa5eda3851cc494f26db70e5ef0259bc7926133902013e5d73fd285

6/19/19 14:29

LMIGUARDIANDLL.DLL

78471db16d7bd484932c8eb72f7001db510f4643b3449d71d637567911ca363b

8/14/19 16:29

表1:サイドロードされる悪意のあるDLL

LogMeInバイナリまたはGoogleバイナリによってロードされた悪意のあるDLLは、対応する暗号化されたペイロードの場所を特定します。その際、ロード元のフルパスに拡張子.datを付加します。

たとえば、悪意のあるDLLの名前がLmiGuardianDLL.dllの場合、ペイロードのファイル名はLmiGuardianDLL.dll.datになります。

暗号化されたペイロードは、ディスクから読み出され、ローダーによりAES-128CBCモードで復号されます。DLLには、16バイトの初期化ベクトル(IV)と対称鍵がハードコードされていますが、サンプルごとに異なる可能性があります。ハードコードされたIVと鍵を使用するローダーの例を図2に示します。

図2:ペイロードにハードコードされた復号の詳細情報

復号されたステージ2のペイロードは、ローダープロセスのアドレス空間にマッピングされて実行されます。

ステージ2 - インストールとパーシスタンス

ステージ2のマルウェアの主な役割は、そのマルウェア自体をインストールし、パーシスタンスを設定し、新しいプロセスを生成してステージ3のペイロードを注入することです。ステージ2のコンポーネントは、ハードウェアIDハッシュを生成することによって、被害マシンのフィンガープリントを採ります。このハッシュは、あとでさまざまな関数のシードとして、またはこの後のステージで暗号化鍵として使用されます。

ハードウェアID

ハードウェアIDは、システムから収集した次のような情報を80バイトのバッファに格納し、そのバッファのMD5ハッシュを計算することによって生成されます。

  • CPUID命令を順次呼び出して取得した、64バイトのゼロパッドされたプロセスブランド文字列(EAXは0x800000020x80000003、および0x80000004の各値に設定)
  • GetSystemInfoを呼び出して返されたdwNumberOfProcessorsdwProcessorTypeの出力値
  • GetVolumeInformationAを呼び出して取得したオペレーティングシステムの論理ドライブのボリュームシリアル番号
  • • ZLIB-CRC32実装を使用してシード-1(0xFFFFFFFF)でGetUserNameAを呼び出して取得した現在のユーザーのCRC32ハッシュ
     

図3:ハードウェアIDの計算に使用するバッファ

図3のバッファの場合、ハードウェアIDは次のようになります。 
66aafbed7c63b1a1d02899969d97e06f

ミューテックス

複数のペイロードインスタンスが同時実行されないように、2つのミューテックスが作成されます。 

最初のミューテックスの名前は、次のアルゴリズムを使用して生成されます。

  • GetModuleFileNameA APIを呼び出して、ステージ2のペイロードに感染しているプロセスを取得し、対応するバイナリのCRC32を計算します。 
  • 計算したハッシュと現在のログオンユーザーのCRC32の排他的論理和を計算します。
  • 最後のハッシュの16進文字列表現がミューテックス名を表します。 

2番目のミューテックスは、ハードウェアIDのMD5ハッシュの16進数表現の下28桁です。

図4:ハードウェアIDから生成されたミューテックス

権限昇格

ステージ2のペイロードに感染しているプロセスが管理者権限で動作している場合、マルウェアは、それ自体の権限昇格を試みます。そのために、一時サービスを作成して開始し、LOCAL SYSTEMプロセスとして再生成して実行します。ステルス性を維持するために、マルウェアはサービスコントロールマネージャーから一時サービスを削除します。

インストール

ローダーとそれに対応するペイロードは、%APPDATA%フォルダー内のサブディレクトリにコピーされます。このディレクトリは、図5に示す文字列のリストから選択されます。その際、ハードウェアID文字列の21(0x15)を法としたCRC32数をリストのインデックスとして使用します。

Wireshark

WinRAR

VisualAssist

UltraVNC

TortoiseSVN

TeamViewer

Subversion

RoboForm

Notepad++

Mozilla

Macromedia

KeePass

JGsoft

Identities

Apple Computer

AnyDesk

Microsoft FxCop

Microsoft Corporation

Microsoft Visual Studio

 


図5:インストール先となるAPPDATAディレクトリ

パーシスタンス

パーシスタンスは、HKCU\Software\Microsoft\Windows\CurrentVersion\Runという名前のレジストリキーの下に動的に生成されるDWORDの16進数表現を名前に付けたレジストリ値を作成することによって達成されます。このレジストリ値は、ローダー実行可能ファイルのパスを指すように設定されます。

次のステージのペイロードの注入

ステージ3のペイロードは、 APIを呼び出すことによって解凍され、新しく生成されるプロセスに注入されます。

T注入対象となる実行可能ファイルは、%SYSTEMROOT%\System32ディレクトリにある実行可能ファイルを列挙して次の条件を満たす実行可能ファイルを検索し、最初に見つかったものが選択されます。

  • 動作中ではない。
  • GUIサブシステムを持っている。
  • バージョン情報に"Microsoft"が含まれている。
  • 署名されている。

新しいプロセスは、CreateProcessA APIを使用し、lpCommandLineパラメータとしてステージ2でロードされた実行可能ファイルへのパスを渡すことにより生成されます。

ステージ3 - "Cobalt Mode"ダウンローダー

ステージ3は、解析したサンプルの一部に残されていたデバッグ情報に基づいてCobalt Mode と指定されたダウンローダーです。PDBパスの例を図6に示します。


Z:\coding\pyproject\compiled\cobalt_mode\cobalt_mode.pdb

図6:ステージ3のデバッグ情報

Cobalt Modeの主な機能は次のとおりです。

  • コマンドアンドコントロール(C&C)サーバーに接続する。
  • 暗号化されたペイロードをダウンロードする。
  • ペイロードを復号する。
  • ペイロードを現在のプロセスのアドレス空間にマッピングして実行する。
  • コード注入対象のプロセスを新しく生成する。

Cobalt Modeマルウェアは、一連の環境チェックを実行して、そのマルウェアがサンドボックスまたは仮想マシン(VM)から実行されているかどうか、スマートカードリーダーが接続されているかどうか、中間者攻撃(MitM)でリクエストが傍受されているかどうかを判断することができます。

それらをチェックするために使用された関数と値を調べたところ、Shifuという金融機関を標的とするトロイの木馬と重複するコードの存在が明らかになりました。

Cobalt Mode の設定は、マルウェア内部に圧縮されたJSON BLOBとして格納されています。サンプルから抽出して解凍した設定を次に示します。

{
  "user_agent": "Mozilla/4.0 (compatible; MSIE 2.1; Windows NT 5.0; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)",
"check_extra_locale": 1,
  "mitm_host2": "twitter[.]com",
  "check_mitm": 0,
  "mitm_host1": "google[.]com",
  "referer": "hxxps://www.google[.]com",
  "download_url": "hxxps://tedxns[.]com/api/get_file/c2b469a7-d628-4804-8cca-5b734c5c6b42?hw=",
  "check_vm": 0,
  "extra_locale": "Ukraine"
}

図7:JSONでのCobalt Modeの設定

JSONの設定で指定されているdownload_urlにリクエストして、次のステージのペイロードを取得します。リクエストのhwパラメータとして、ステージ2の解析で説明したのと同じハードウェアIDを渡します。サーバーはこの値を鍵として使用し、変更されたRC4アルゴリズムで返す7zipのアーカイブを暗号化します。このアーカイブにはカスタムPythonインタープリターとzipファイルが含まれており、zipファイルには後述するPyXie RATのバイトコードが含まれています。

変更されたRC4アルゴリズム

マルウェアが使用する変更されたRC4アルゴリズムは、正規のRC4とは異なる方法でS-BOX(Substitution Box)を生成します。S-BOXを初期化した後、鍵を使用して値を交換するのではなく、S-BOXと鍵の排他的論理和を計算します。

注入

前のステージと同じアルゴリズムを使用して、%SYSTEMROOT%\system32 ディレクトリで実行可能ファイルを選択し、注入対象のプロセスを新しく生成します。今回は、 lpCommandLineパラメータとして %SYSTEMROOT%\system32\worker.exe を使用して、CreateProcessA APIを呼び出します。

図8:ステージ3で生成されたプロセス

PyXie RAT

T最終ステージのペイロードは、実行可能ファイルとしてコンパイルされた、フル機能のPython RATです。マルウェアの作成者は、Py2ExeまたはPyInstallerを使用して実行可能ファイルを作成するのではなく、PyXie RATバイトコードを含むアーカイブをメモリからロードする独自のPythonインタープリターをコンパイルしました。 

PyXie RATの機能は次のとおりです。

機能

中間者(MITM)傍受

Webインジェクション

キーロギング

認証情報収集

ネットワークスキャン

Cookie窃取

ログ消去

ビデオ録画

任意のペイロードの実行

USBドライブの監視とデータ送信

WebDavサーバー

Socks5プロキシ

仮想ネットワーク接続(VNC)

証明書窃取

ソフトウェアインベントリ

Sharphoundによるドメイン列挙

表2:PyXie RATの機能

このカスタムインタープリターには、memzipimportという名前のあまり知られていないライブラリがバンドルされていて、コンパイル済みのRATバイトコードを含むzipファイルをメモリから直接インポートします。このzipには、1,500を超えるPythonのバイトコードファイルが含まれており、その多くはサードパーティライブラリです。 

コアRATは、およそ79個のバイトコードファイルで構成されています。これらのコアファイルのリストを表3に示します。

/core/__init__.pyx
/core/active_host.pyx
/core/backdoor.pyx
/core/beacon.pyx
/core/commands.pyx
/core/conf/__init__.pyx
/core/conf/config.pyx
/core/debug.pyx
/core/destruct.pyx
/core/entry_point.pyx
/core/initialize.pyx
/core/install.pyx
/core/ipc/__init__.pyx
/core/ipc/exclude.pyx
/core/ipc/ipc.pyx
/core/ipc/mimikatz.pyx
/core/keylog.pyx
/core/mitm/__init__.pyx
/core/mitm/cert_gen.pyx
/core/mitm/proxy.pyx
/core/mitm/web_dump.pyx
/core/mitm/web_fakes.pyx
/core/mitm/web_injects.pyx
/core/mitm/web_screens.pyx
/core/modules/__init__.pyx
/core/modules/aes_cfc.pyx
/core/modules/bot_lib.pyx
/core/modules/cookies.pyx
/core/modules/crc64.pyx
/core/modules/decorators.pyx
/core/modules/description.pyx
/core/modules/ffmpeg_inst.pyx
/core/modules/ffmpeg_rec.pyx
/core/modules/find_files.pyx
/core/modules/keepass.pyx
/core/modules/lnk_file.pyx
/core/modules/logmein.pyx
/core/modules/multipart.pyx
/core/modules/os_ver.pyx
/core/modules/rdp.pyx
/core/modules/rdp_creds.pyx
/core/modules/recent_files.pyx
/core/modules/research_domain.pyx
/core/modules/sharphound.pyx
/core/modules/smb_scan.pyx
/core/modules/socks5.pyx
/core/modules/sysinfo.pyx
/core/modules/tools.pyx
/core/modules/webdav.pyx
/core/modules/winapi_stubs.pyx
/core/modules/windnsquery.pyx
/core/modules/winfiletime.pyx
/core/nmc.pyx
/core/obfuscate/__init__.pyx
/core/obfuscate/boolean_obfuscator.pyx
/core/obfuscate/number_obfuscator.pyx
/core/obfuscate/obfuscate.pyx
/core/obfuscate/string_obfuscator.pyx
/core/passwords.pyx
/core/protect.pyx
/core/pwnage.pyx
/core/software.pyx
/core/systems.pyx
/core/transport/__init__.pyx
/core/transport/dns.pyx
/core/transport/github.pyx
/core/transport/google.pyx
/core/transport/i2p.pyx
/core/transport/slack.pyx
/core/transport/tcp.pyx
/core/transport/tor.pyx
/core/transport/twitter.pyx
/core/transport/udp.pyx
/core/transport/xmpp.pyx
/core/tun/__init__.pyx
/core/tun/client.pyx
/core/tun/util.pyx
/core/usbmon.pyx
/core/zip_logs.pyx

表3:RATバイトコードファイル

.pyxファイルの解析

一見すると、これらの.pyxファイルは名前が変更された.pycファイルのように見えます。しかし、uncompyle2で逆コンパイルを試みた調査担当者は、そうではないことに気が付きました。

図9:uncompyle2のエラー

詳しく調査したところ、これらの.pyxファイルは、先頭の8バイトが取り除かれていました。通常、この8バイトは、それらのファイルを生成したPythonのバージョンを示す4バイトのマジックナンバーと4バイトのタイムスタンプで構成されています。この8バイトを取り除くには、何らかのツールでファイルを逆コンパイルしてコードにアクセスするのを防ぐための、よく知られたコピー防止方法を使用します。

これを回避するのは簡単です。適切なマジックナンバーとタイムスタンプを追加するだけでよいのです。悪意のあるインタープリターから取得した文字列を見れば、Python 2.7.15を使用している可能性があることがすぐにわかります。


            z:\coding\pyproject\python_static_2.7.15\pyuv-1.x\src\common.c
            z:\coding\pyproject\python_static_2.7.15\pyuv-1.x\deps\libuv\src\win\handle-inl.h
            z:\coding\pyproject\python_static_2.7.15\pyuv-1.x\deps\libuv\src\win\req-inl.h


図10:Pythonのバージョンを示す文字列

調査担当者は、Python 2.7.15の適切なヘッダーと任意のタイムスタンプを追加して、もう一度.pyxバイトコードファイルを逆コンパイルしてみました。1回目よりはうまくいきましたが、まだ何かが間違っていました。Python 2.7.15をクリーンインストールしても、まだ逆アセンブルは失敗しました。

図11:逆アセンブラのエラー

調査担当者は、こうした試行錯誤を通じて、インタープリターがオペコードを再マッピングしている可能性があると確信するようになりました。そうすることで、このインタープリターが生成したバイトコードが、他のインタープリターでは正しく解析できないようになります。

オペコードの再マッピングは新しい手法ではありません。これは、Dropboxなどの商用アプリケーションでよく使用される手法です。これを回避する方法はよく知られており、'pyREticʼ – In memory reverse engineering for obfuscated Python bytecode Looking inside the (Drop) boxでも説明しています。大前提として、同じPythonスクリプトを標準のインタープリターと変更されたインタープリターの両方でコンパイルします。生成されたバイトコードを比較して、再マッピングされたオペコードを抽出します。変更されたインタープリターで任意のコードを実行できる場合、通常はこれがわかりやすい方法です。

残念ながら、PyXieは使いやすいPythonインタープリターではなく、任意のコードを簡単に実行するメカニズムは提供していません。これを解決するために、変更されたインタープリターをIDA Proで解析して、Python 2.7.15のソースコードと比較しました。参照用の文字列を使用することで、ネイティブのPyRun_SimpleStringFlags()関数を見つけることができました。この関数を使用すると、メモリ内文字列からPythonコードを実行できます。

PyRun_SimpleStringFlags()の場所を特定した後、デバッガーを使用して、PyXieインタープリターを実行しているプロセスに接続しました。

コードケーブに実行をリダイレクトする前に、コンパイルしたいスクリプトを作業ディレクトリにドロップします。こうした実行制御を行うために、DeDropall.pyを使用しました。この後の手順は次のとおりです。

  • 文字列"import all.py"をメモリに書き込みます。
  • 文字列"import all.py"のアドレスをスタックにプッシュします。
  • PyRun_SimpleStringFlags() を呼び出します。これにより、インタープリターが all.py を実行して、コンパイルしたバイトコードを all.pyx.に出力します。

図12:コードケーブによるall.pyのインポート

次に、標準のPython 2.7.15インタープリターで all.py ファイルを実行して、コンパイルしたバイトコードをall.pycに出力しました。all.pyxのバイトコードとall.pycのバイトコードを比較して、再マッピングされたオペコードを特定しました。この比較結果に基づいて、変更されたバージョンのopcodes.pyを生成しました。それにより、PyXie RATのバイトコードを逆アセンブルおよび逆コンパイルできるようになります。

ニーモニック

Python 2.7のオペコード

PyXie RATのオペコード

PRINT_ITEM

 0x47

 0x58

PRINT_NEWLINE

 0x48

 0x3e

POP_TOP

 0x1

 0xd

RETURN_VALUE

 0x53

 0x19

ROT_TWO

 0x2

 0x43

ROT_THREE

 0x3

 0x50

STORE_MAP

 0x36

 0x3c

INPLACE_ADD

 0x37

 0x3d

ROT_FOUR

 0x5

 0x4e

UNARY_POSITIVE

 0xa

 0x39

UNARY_NEGATIVE

 0xb

 0x52

UNARY_NOT

 0xc

 0x41

UNARY_CONVERT

 0xd

 0x4a

UNARY_INVERT

 0xf

 0x3a

GET_ITER

 0x44

 0x1d

BINARY_MULTIPLY

 0x14

 0x53

BINARY_POWER

 0x13

 0x4c

BINARY_DIVIDE

 0x15

 0x16

BINARY_MODULO

 0x16

 0xa

BINARY_ADD

 0x17

 0x4

BINARY_SUBTRACT

 0x18

 0x46

BINARY_SUBSCR

 0x19

 0x1b

BINARY_FLOOR_DIVIDE

 0x1a

 0x14

INPLACE_FLOOR_DIVIDE

 0x1c

 0x59

INPLACE_DIVIDE

 0x3a

 0x47

INPLACE_SUBTRACT

 0x38

 0xf

INPLACE_MULTIPLY

 0x39

 0x3

STORE_SUBSCR

 0x3c

 0xc

DELETE_SUBSCR

 0x3d

 0x44

BINARY_LSHIFT

 0x3e

 0x13

BINARY_RSHIFT

 0x3f

 0x54

BINARY_AND

 0x40

 0x17

BINARY_XOR

 0x41

 0x1c

BINARY_OR

 0x42

 0x37

INPLACE_POWER

 0x43

 0x57

POP_BLOCK

 0x57

 0x48

DUP_TOP

 0x4

 0x4f

PRINT_ITEM_TO

 0x49

 0x42

PRINT_NEWLINE_TO

 0x4a

 0x1

INPLACE_LSHIFT

 0x4b

 0x1a

INPLACE_RSHIFT

 0x4c

 0x4b

INPLACE_AND

 0x4d

 0x56

INPLACE_XOR

 0x4e

 0x38

INPLACE_OR

 0x4f

 0xb

BREAK_LOOP

 0x50

 0x15

WITH_CLEANUP

 0x51

 0x40

END_FINALLY

 0x58

 0x55

BUILD_CLASS

 0x59

 0x2

EXEC_STMT

 0x55

 0x36

LOAD_LOCALS

 0x52

 0x3f

IMPORT_STAR

 0x54

 0x4d

YIELD_VALUE

 0x56

 0x51

表4:再マッピングされたオペコード

逆コンパイルした後に、最後の難読化層が残りました。重要な文字列の大部分は、ZLIBコーデックでエンコードされていました。

図13:ZLIBでエンコードされた文字列

C&C通信

T私たちが解析したバージョンのPyXie RATは、HTTP/HTTPS上およびGitHub Gistに残されたコメント経由でコマンドアンドコントロール(C&C)サーバーと通信できます。コードの痕跡から、調査担当者は、マルウェアの作成者は次に示すC&Cチャネルを追加するつもりでいるのかもしれないと確信しました。

Dns
google
i2p
slack
tcp
tor
twitter
udp
xmpp


図14:C&C通信チャネル

C&Cドメインは、設定で指定されているDNSサーバー経由で、内部で解決するか、OpenNIC プロジェクトのサーバーを使用して解決することができます。

最近収集したサンプルは、次のドメインの一部に接続するように設定されています。

tedxns[.]com
benreat[.]com
planlamaison[.]com
sarymar[.]com
teamchuan[.]com
c1oudflare[.]com


図15:C&Cドメイン

古いサンプルは、Namecoinの".bit"ドメインを利用しています。

athery[.]bit
babloom[.]bit
floppys[.]bit


図16:Namecoinの.bitを使用するC&Cドメイン

C&Cリクエストの例を図17に示します。

図17:C&Cリクエストの例

コマンド

PyXie RATが現在サポートしているコマンドは次のとおりです。

コマンド

説明

!load

実行可能ファイルをダウンロードして実行

!get_config

現在の設定を取得

!set_config

設定を行う

!update

更新

!update2

更新

!update3

更新

!get_keylog

キーログを取得

!get_cookies

Cookieを取得

!get_sysinfo

システム情報を取得

!scan_lan

ローカルネットワークをSMBスキャン

!scan_lan_ex

指定されたIP範囲をSMBスキャン

!webdav

WebDAVサーバーを起動

!webdav_stop

WebDAVサーバーを停止

!active_sk

SOCKS5サーバーを起動

!deactive_sk

SOCKS5サーバーを停止

!active_bc

HVNCモジュールを起動

!deactive_bc

HVNCモジュールを停止

!eval

Pythonコードをダウンロードして実行

!self_destruct

RATをアンインストール

!get_screens

スクリーンショットを取得

!mem_load

メモリ内のDLLをダウンロードして実行

!shellcode

シェルコードをダウンロードして実行

!get_passwords

LaZagneでパスワードをダンプ

!docfind

ファイルを取得

!filefind

特定の条件に一致するファイルを取得

!del_cookies

Cookieを消去

!export_certs

証明書ストアから証明書を取得

!del_keylog

キーログを消去

!reboot

システムを再起動

!check_soft

インストールされているソフトウェアをチェック

!install_ffmpeg

ffmpegバイナリをダウンロード

!record_video

ffmpegでビデオを録画

!shell

コマンドを実行して出力をキャプチャ

!kill_lgmn_tokens

LogMeIn認証情報を取得

!get_lgmn_tokens

LogMeIn認証情報を消去

!sharphound

Sharphoundでドメインを列挙

!bot_hashes

ローダーとDLLのハッシュを取得

!mimi_32

Mimikatzをダウンロード

!mimi_64

Mimikatzをダウンロード

!mimi_grab

Mimikatzを実行

!get_kdbx

keepassデータベースを取得

!research_domain

Sharphoundが特定したコンピューターをSMBスキャン

!research_full

Sharphoundが特定したコンピューターをSMBスキャンおよびポートスキャン

!wipe_rdp_creds

RDP認証情報を消去

表5:RATのコマンド

設定

PyXie RATの設定は、暗号化されたJSON BLOBとして格納されています。暗号化にはFernetアルゴリズムが使用されています。対称鍵はbase64でエンコードされ、config.pyxinternal_key変数としてハードコードされています。復号したJSONの設定の完全なサンプルについては、付録を参照してください。

解析したサンプルの大部分で、次のinternal_key値が使用されていました。


eJxLsnDOzElOLyrOsvTKrrQsNUspNoxISfMxDE1y043IydGtMAhyNMkNMy/OtgUAVu0OyQ==


図18:設定の一部

Tool.exe – トロイの木馬化されたTetrisゲーム

調査担当者は、PyXie RATが、Cobalt Strikeとカスタムシェルコードローダーによって、一緒に展開されていることも観測しています。また、このローダーがさまざまなランサムウェアインシデントで使用されている痕跡も確認しています。

このローダーは、トロイの木馬化されたオープンソースのTetrisゲームです。内部ネットワーク共有から“settings.dat”という名前の暗号化されたシェルコードペイロードをロードして、新しいプロセスに注入するように改変されていました。

図19:トロイの木馬化されたTetrisゲーム

ペイロードは、鍵0xFAとの1バイトXORを使用して復号され、「ステージ2 - インストールとパーシスタンス」と「ステージ3 - "Cobalt Mode"ダウンローダー」のコンポーネントの解析で説明したのと同じ注入ルーチンを使用して新しいプロセスに注入されます。

図20:ネットワーク共有からロードされて復号されたペイロード

これまでに観測されたケースでは、暗号化されたペイロードは、次のリストに示すサーバーの1つに接続するCobalt Strikeステージャでした。

fearlesslyhuman[.]org
185[.]82[.]202[.]109
foods-pro[.]com
dopearos[.]com 


図21:Cobalt Strikeサーバー

まとめ

PyXie RATは、少なくとも2018年から密かにシステムに潜んでいました。じっと目立たないようにしながら広範囲の業界を標的にしていたことが観測されています。

PyXie RATの開発者は、主要なコンポーネントを難読化するために何段階もの措置を講じています。今回の解析では、マルウェアの各ステージについて説明し、再マッピングされたオペコードを使用するカスタムPythonインタープリターの解析に使用する手法を紹介しました。また、感染を特定するためのいくつかの痕跡についても紹介しました。

BlackBerry Cylanceは、脅威検出用にトレーニングした人工知能ベースのエージェントを、数百万個の安全なファイルと危険なファイルの両方に対して使用しています。BlackBerry Cylanceの自動化されたセキュリティエージェントは、特定のファイルシグネチャに依存するのではなく、無数のファイル属性と悪意のある行動に基づいてPyXie RATをブロックします。ゼロデイ脅威に対する予測優位性を提供するBlackBerry Cylanceは、新種のサイバー攻撃と従来型のサイバー攻撃の両方に対してトレーニングを行い、それらに対して有効な防御を提供します。詳しくは、https://www.cylance.comをご覧ください。

付録

侵入の痕跡(IoC)

痕跡

タイプ

説明

1d970f2e7af9962ae6786c35fcd6bc48bb860e2c8ca74d3b81899c0d3a978b2b

SHA256

ローダーDLL

3a47e59c37dce42304b345a16ba6a3d78fc44b21c4d0e3a0332eee21f1d13845

SHA256

ローダーDLL

3aa746bb94acee94c86a34cb0b355317de8404c91de3f00b40e8257b80c64741

SHA256

ローダーDLL

56e96ce15ebd90c197a1638a91e8634dbc5b0b4d8ef28891dcf470ca28d08078

SHA256

ローダーDLL

5937746fc1a511d9a8404294b0caa2aedae2f86b5b5be8159385b6c7a4d6fb40

SHA256

ローダーDLL

7330fa1ca4e40cdfea9492134636ef06cd999efb71f510074d185840ac16675d

SHA256

ローダーDLL

78471db16d7bd484932c8eb72f7001db510f4643b3449d71d637567911ca363b

SHA256

ローダーDLL

814357417aa8a57e43d50cb3347c9d287b99955b0b8aee4e53e12b463f7441a0

SHA256

ローダーDLL

92a8b74cafa5eda3851cc494f26db70e5ef0259bc7926133902013e5d73fd285

SHA256

ローダーDLL

a765df03fffa343aa7a420a0a57d4b5c64366392ab6162c3561ff9f7b0ad5623

SHA256

ローダーDLL

c3b3f46a5c850971e1269d09870db755391dcbe575dc7976f90ccb1f3812d5ea

SHA256

ローダーDLL

c9400b2fff71c401fe752aba967fa8e7009b64114c9c431e9e91ac39e8f79497

SHA256

ローダーDLL

d271569d5557087aecc340bb570179b73265b29bed2e774d9a2403546c7dd5ff

SHA256

ローダーDLL

de44656b4a3dde6e0acdc6f59f73114ce6bb6342bec0dcd45da8676d78b0042e

SHA256

ローダーDLL

e0f22863c84ee634b2650b322e6def6e5bb74460952f72556715272c6c18fe8e

SHA256

ローダーDLL

ea27862bd01ee8882817067f19df1e61edca7364ce649ae4d09e1a1cae14f7cc

SHA256

ローダーDLL

edd1480fe3d83dc4dc59992fc8436bc1f33bc065504dccf4b14670e9e2c57a89

SHA256

ローダーDLL

f9290cd938d134a480b41d99ac2c5513a964de001602ed34c6383dfeb577b8f7

SHA256

ローダーDLL

366d47b95e216863ee64e0024e2bbf0bf1b66420986fe0a5b3e805ce795dcf9f

SHA256

暗号化されたペイロード

d031081b8c211994b5406bf3f2544c0d6ebcbab384f23e393f084b49563e1d12   

SHA256

暗号化されたペイロード

f466bc20544bf203155142cf14456e55b0e756aa93ecfb5edc74ba7ed60f9573   

SHA256

暗号化されたペイロード

ca68f02bd01650383af68f0c129482faf283329dd1e6a18821ad26fc2c3d00b2   

SHA256

暗号化されたペイロード

d776235e628422ada7f1e976a3cf771049286edf2219583028fbbd6229af72b9   

SHA256

暗号化されたペイロード

50a4b19b38caea4eea042704314f5ae1acf2162c7353fb92bc896dcada14b86a   

SHA256

暗号化されたペイロード

610c3536ceafc0e4ad0d60c683052ee7272e29049ceac909b1d1e55ac1206f49   

SHA256

暗号化されたペイロード

7ee6235f0e653a36a818a12531657f6dac5f3fb41efa1e1c63f6761ba3faeb90 

SHA256

暗号化されたペイロード

265e5e1389b3145bf2ac1a017b67a54d84bc361dc3795120656dcabc1212c34a

SHA256

暗号化されたペイロード

8d2b3b0cbb32618b86ec362acd142177f5890917ae384cb58bd64f61255e9c7f

SHA256

PyXie RATインタープリター

d1429f54baaad423a8596140a3f70f7d9f762373ad625bda730051929463847d

SHA256

PyXie RATのバイトコード

ade8f07bf7918343bf307ec35837327efc7a85a0edac5ab5b2cd037134af8d57

SHA256

Cobalt Mode

fd93858f4e7356bebe30dd0dfe07367e3ddf6164bb78725e1c543b093558cf64 

SHA256

Cobalt Strikeローダー

a50b58e24eb261157c4f85d02412d80911abe8501b011493c7b393c1905fc234 

SHA256

Cobalt Strikeローダー

0d14a1b5574dc12f6286d37d0a624232fb63079416b98c2e1cb5c61f8c2b66ff 

SHA256

Cobalt Strikeローダー

625c22b21277c8a7e1b701da9c1c21b64bfa02baef5d7a530a38f6d70a7a16d0 

SHA256

Cobalt Strikeローダー

bd7da341a28a19618b53e649a27740dfeac13444ce0e0d505704b56335cc55bd 

SHA256

Cobalt Strikeローダー

d612144c1f6d4a063530ba5bfae7ef4e4ae134bc55dcf067439471934b841b00 

SHA256

Cobalt Strikeローダー

ce0936366976f07ea24e86733888e97e421393829ecfd0fde66bd943d4b992ab 

SHA256

Cobalt Strikeローダー

3259dd0efed1d28a149d4e8c4f980a19199d9bead951ee1231e3a26521185f2f 

SHA256

Cobalt Strikeローダー

e5fede5eb43732c7f098acf7b68b1350c6524962215b476de571819b6e5a71fc 

SHA256

Cobalt Strikeローダー

f6ff873e1bd3d0e6b6182792aebd781f4f60be39d49085ba3d64658456260402 

SHA256

Cobalt Strikeローダー

608f34a79e5566593b284ef0d24f48ea89bc007e5654ae0969e6d9f92ec87d32 

SHA256

Cobalt Strikeローダー

b1f54b88c9b7680877981f6bebde6aea9effbc38a0a8b27a565fb35331094680 

SHA256

Cobalt Strikeローダー

d50f28cf5012e1ffde1cd28655e07519dadcf94218b15c701c526ab0f6acb915 

SHA256

Cobalt Strikeローダー

56934547dcf0d7ecf61868ae2f620f60e94c094dbd5c3b5aaf3d3a904d20a693 

SHA256

Cobalt Strikeローダー

73609f8ebd14c6970d9162ec8d7786f5264e910573dff73881f85b03163bd40e 

SHA256

Cobalt Strikeローダー

2ceb5de547ad250140c7eb3c3d73e4331c94cf5a472e2806f93bf0d9df09d886 

SHA256

Cobalt Strikeローダー

840985b782648d57de302936257ba3d537d21616cb81f9dce000eaf1f76a56c8 

SHA256

Cobalt Strikeローダー

e48e88542ec4cd6f1aa794abc846f336822b1104557c0dfe67cff63e5231c367 

SHA256

Cobalt Strikeローダー

cb2619b7aab52d612012386d88a0d983c270d9346169b75d2a55010564efc55c 

SHA256

Cobalt Strikeローダー

88565b4c707230eac34d4528205056264cd70d797b6b4eb7d891821b00187a69 

SHA256

Cobalt Strikeローダー

91c62841844bde653e0357193a881a42c0bc9fcc798a69f451511c6e4c46fd18 

SHA256

Cobalt Strikeローダー

ddf83c02effea8ae9ec2c833bf40187bed23ec33c6b828af49632ef98004ea82 

SHA256

Cobalt Strikeローダー

edecfdd2a26b4579ecacf453b9dff073233fb66d53c498632464bca8b3084dc5 

SHA256

Cobalt Strikeローダー

sarymar[.]com  

ネットワーク

PyXie RAT C&C

benreat[.]com  

ネットワーク

PyXie RAT C&C

planlamaison[.]com  

ネットワーク

PyXie RAT C&C

teamchuan[.]com  

ネットワーク

PyXie RAT C&C

tedxns[.]com 

ネットワーク

PyXie RAT / Cobalt Mode C&C

athery[.]bit

ネットワーク

PyXie RAT C&C

babloom[.]bit

ネットワーク

PyXie RAT C&C

floppys.bit

ネットワーク

PyXie RAT C&C

104[.]200[.]67[.]173

ネットワーク

PyXie RAT C&C

hwartless.bit

ネットワーク

Cobalt Mode C&C

c1oudflare[.]com

ネットワーク

Cobalt Mode C&C

foods-pro[.]com

ネットワーク

Cobalt Strike C&C

dopearos[.]com 

ネットワーク

Cobalt Strike C&C

fearlesslyhuman[.]org

ネットワーク

Cobalt Strike C&C

185.82.202.109

ネットワーク

Cobalt Strike C&C

192[.]52[.]167[.]241

ネットワーク

悪意のあるローダーDLLのホスティングを確認

ololo[.]space

ネットワーク

悪意のあるローダーDLLのホスティングを確認

%Appdata%\Wireshark\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\WinRAR\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\VisualAssist\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\UltraVNC\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\TortoiseSVN\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\TeamViewer\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Subversion\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\RoboForm\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Notepad++\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Mozilla\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Macromedia\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\KeePass\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\JGsoft\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Identities\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Apple Computer\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\AnyDesk\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Microsoft FxCop\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Microsoft Corporation\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

%Appdata%\Microsoft Visual Studio\ 

ファイル

Goopdate.dllまたはLmiGuardianDLL.dllがこのディレクトリに存在

\SystemRoot\system32\worker.exe

プロセス

コマンドライン引数


Yara

rule PyXie_RAT
{
    meta:
        description = "Detects PyXie RAT"

    strings:
        $mz = "MZ"
        $op = {C6 06 68 89 46 01 C7 46 05 9C 81 74 24 C6 46 09 04 89 4E 0A 66 C7 46 0E 9D C3}

    condition:
        ($mz at 0) and $op
}


PyXie RATの設定例

{
    "ap": {
        "cmd_ok_fmt": "_id=%s&res_code=%s&res_text=%s", 
        "cmd_resp_uri": "/api/profile", 
        "cn": "5hsts", 
        "debug_active": 1, 
        "debug_timeout": 60, 
        "domain_key": "-----BEGIN PUBLIC KEY-----\nMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAElZ4IqMRf8jX1Out08jed9oYlT9hQ\nqDMN3qCaGp43lTWdu780MJ2rwgrYAB1StyhZ\n-----END PUBLIC KEY-----\n", 
        "domain_key_uri": "/api/users", 
        "extra_beacon_port": 50105, 
        "hosts": "tedxns[.]com,benreat[.]com,planlamaison[.]com,sarymar[.]com,teamchuan[.]com", 
        "knock_jitter": 20, 
        "knock_timeout": 300, 
        "knock_uri": "/api/userlogin", 
        "logs_uri": "/api/imageupload", 
        "post_log_fmt": "type=post&name=%s&url=%s&user_agent=%s&process=%s&referer=%s&keylog=%s&data=%s", 
        "referer": "hxxps://www[.]google[.]com", 
        "secure": 1, 
        "user_agent": "Mozilla/4.0 (compatible; MSIE 2.1; Windows NT 5.0; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)", 
        "zips_uri": "/api/userdata"
    }, 
    "backdoor": {
        "enabled": 0
    }, 
    "dirs": [
        "%APPDATA%\\Agama", 
        "%APPDATA%\\Armory", 
        "%APPDATA%\\B3-CoinV2", 
        "%APPDATA%\\BeerMoney", 
        "%APPDATA%\\Bitcloud", 
        "%APPDATA%\\Bitcoin", 
        "%APPDATA%\\BitcoinZ", 
        "%APPDATA%\\bitconnect", 
        "%APPDATA%\\Bither", 
        "%APPDATA%\\bitmonero", 
        "%APPDATA%\\BlocknetDX",
        "%APPDATA%\\Cybroscoin", 
        "%APPDATA%\\Daedalus", 
        "%APPDATA%\\DashCore", 
        "%APPDATA%\\DeepOnion", 
        "%APPDATA%\\DigiByte", 
        "%APPDATA%\\Dogecoin", 
        "%APPDATA%\\ElectronCash", 
        "%APPDATA%\\Electrum", 
        "%APPDATA%\\Electrum-LTC", 
        "%APPDATA%\\Ember", 
        "%APPDATA%\\EmeraldWallet", 
        "%APPDATA%\\Ethereum Wallet", 
        "%APPDATA%\\Exodus", 
        "%APPDATA%\\FairCoin", 
        "%APPDATA%\\faircoin2", 
        "%APPDATA%\\Florincoin", 
        "%APPDATA%\\FORT", 
        "%APPDATA%\\GambitCoin", 
        "%APPDATA%\\GeyserCoin", 
        "%APPDATA%\\GreenCoinV2", 
        "%APPDATA%\\GridcoinResearch", 
        "%APPDATA%\\Gulden", 
        "%APPDATA%\\Hush", 
        "%APPDATA%\\IOTA Wallet", 
        "%APPDATA%\\Komodo", 
        "%APPDATA%\\Learncoin",
        "%APPDATA%\\lisk-nano", 
        "%APPDATA%\\Litecoin", 
        "%APPDATA%\\Minexcoin", 
        "%APPDATA%\\mSIGNA_Bitcoin", 
        "%APPDATA%\\MultiBitHD", 
        "%APPDATA%\\MultiDoge", 
        "%APPDATA%\\Neon", 
        "%APPDATA%\\NXT", 
        "%APPDATA%\\Parity", 
        "%APPDATA%\\Particl", 
        "%APPDATA%\\Peercoin", 
        "%APPDATA%\\pink2", 
        "%APPDATA%\\PPCoin", 
        "%APPDATA%\\Qtum", 
        "%APPDATA%\\RainbowGoldCoin", 
        "%APPDATA%\\RoboForm", 
        "%APPDATA%\\StartCOIN-v2", 
        "%APPDATA%\\straks", 
        "%APPDATA%\\Stratis", 
        "%APPDATA%\\TREZOR Bridge", 
        "%APPDATA%\\TrumpCoinV2", 
        "%APPDATA%\\VeriCoin", 
        "%APPDATA%\\Verium", 
        "%APPDATA%\\Viacoin", 
        "%APPDATA%\\VivoCore", 
        "%APPDATA%\\Xeth", 
        "%APPDATA%\\Zcash", 
        "%APPDATA%\\ZcashParams", 
        "%APPDATA%\\Zetacoin", 
        "%APPDATA%\\StratisNode", 
        "%PROGRAMDATA%\\electroneum", 
        "%PROGRAMDATA%\\bitmonero", 
        "%LOCALAPPDATA%\\bisq", 
        "%LOCALAPPDATA%\\copay", 
        "%LOCALAPPDATA%\\programs\\zap-desktop", 
        "%LOCALAPPDATA%\\RippleAdminConsole", 
        "%LOCALAPPDATA%\\StellarWallet", 
        "%ALLDRIVESROOTS%\\Alliance"
    ], 
    "dirs_keys": [
        "coin", 
        "wallet", 
        "diebold", 
        "altaro", 
        "unitrends", 
        "wincor", 
        "magtek", 
        "payment", 
        "ncr", 
        "replication", 
        "bitmessage", 
        "veeam", 
        "backup", 
        "filemaker",
        "back-up", 
        "swift", 
        "screenconnect", 
        "aldelo", 
        "bank", 
        "passw", 
        "avamar"
    ], 
    "ffmpeg": {
        "command": "ffmpeg.exe -f gdigrab -i desktop -pix_fmt yuv420p -threads 2 -c:v libvpx-vp9 -crf 40 -b:v 0 -speed 5", 
        "timeout": 60
    }, 
    "keylog": {
        "date_format": "%H:%M:%S-%d:%b:%Y", 
        "format": "\n\n[%s (%s) - %s]\n"
    }, 
    "mitm": {
        "enabled": 1, 
        "exclusion": [
            "cc0141[.]bizsol[.]anser[.]ne[.]jp", 
            "wupos[.]westernunion", 
            "xpressmoney[.]biz", 
            "webpos[.]epayworldwide[.]com", 
            "cc[.]b-direct[.]saitamaresona[.]co[.]jp", 
            "cc0181[.]eb[.]shinwabank[.]co[.]jp", 
            "cc0001[.]b-web[.]mizuhobank[.]co[.]jp", 
            "maza[.]cc", 
            "light[.]webmoney[.]ru", 
            "light[.]wmtransfer[.]com", 
            "business24[.]cz", 
            "certificate[.]us[.]army[.]mil"
        ], 
        "get_as_post_marker": "&extra_flag_51783=", 
        "hr_marker": "/automation_13111949/", 
        "post_log_limit": 102400,
        "screens": [
            "blvlva[.]secure[.]fundsxpress[.]com|passcode", 
            "cibng[.]ibanking-services[.]com/EamWeb/Remote/RemoteLoginAPI[.]aspx|_textBoxCompanyId,_textBoxUserId", 
            "cityntl[.]webcashmgmt[.]com/wcmfd/wcmpw/CustomerLogin|organizationid,userid,password", 
            "client[.]schwab[.]com/Login/SignOn/SignOn[.]ashx|txtPassword", 
            "connect[.]secure[.]wellsfargo[.]com/auth/login/do|j_password", 
            "express[.]53[.]com/portal/auth/login/Login|username,password", 
            "login[.]morganstanleyclientserv[.]com/msologin/handler/proxy/auth/authenticate|Userid,Password", 
            "[.]chase[.]com/auth/fcc/login|auth_userId,auth_passwd", 
            "onepass[.]regions[.]com/oaam_server/loginAuth[.]do|userid,pass",
            "personal[.]vanguard[.]com/us/AuthenticationServiceServlet|USER,PASSWORD", 
            "secure[.]bankofamerica[.]com|onlineId,passcode", 
            "sellercentral-europe[.]amazon|email,password", 
            "sellercentral[.]amazon[.]com/ap/signin|email,password", 
            "www[.]security[.]us[.]hsbc[.]com/gsa/passwordAuth|username,password", 
            "www2[.]secure[.]hsbcnet[.]com/uims/portal/IDV_OTP_CHALLENGE|idv_OtpCredential", 
            "onlinebanking[.]mtb[.]com|UserId,Passcode", 
            "accounts[.]logme[.]in/login[.]aspx|email,password", 
            "www[.]gotomypc[.]com/users/login|UserId,Password", 
            "authentication[.]logmeininc[.]com/login|emailAddress,password", 
            "www[.]bitfinex[.]com/sessions|login,password", 
            "poloniex[.]com/login|username,password", 
            "www[.]coinbase[.]com/sessions|email,password", 
            "[.]fiservse[.]net|PrincipalID,PrincipalPWD", 
            "exchange[.]gemini[.]com/signin|email,password", 
            "www[.]binance[.]com/user/login[.]html|email,password", 
            "www[.]cryptopia[.]co[.]nz/Login|EmailAddress,Password", 
            "www[.]bittrex[.]com/Account/Login|UserName,Password", 
            "fxpayments[.]americanexpress[.]com/fxipfo/IPLogin[.]do|userName", 
            "cm[.]netteller[.]com/login2008/Authentication/Views/Login[.]aspx|IdTextBox", 
            "access[.]jpmorgan[.]com/prelogin|userID", 
            "my[.]electroneum[.]com/authenticate|my_pin", 
            "chsec[.]wellsfargo[.]com/login/login[.]fcc|PASSWORD", 
            "wexhealthcard[.]com/LoginPage[.]aspx|TextBoxUsername,TextBoxPassword", 
            "/Login|ctl00$Main$userNameBox,ctl00$Main$passwordBox",
            "/ebc_ebc1961/|PWD=", 
            "signatureny[.]ebanking-services[.]com/EamWeb/account/login[.]aspx|textBoxCompanyId,textBoxUserId", 
            "businessbankingbdc[.]tdcommercialbanking[.]com|ConnectID,password", 
            "securentrycorp[.]nsbank[.]com|publicCred1"
        ], 
        "sni_invalid_doman": "cloudflare[.]com"
    }, 
    "nmc_api_url": "hxxps://api[.]opennicproject[.]org/geoip/?json&ipv=4", 
    "nmc_dns": [
        "167[.]160[.]36[.]72", 
        "172[.]106[.]170[.]81", 
        "185[.]141[.]62[.]5", 
        "192[.]250[.]230[.]196"
    ], 
    "registry": [
        "SOFTWARE\\S.W.I.F.T.", 
        "SOFTWARE\\LogMeIn Ignition", 
        "SOFTWARE\\PyBitmessage", 
        "SOFTWARE\\Hex-Rays", 
        "SOFTWARE\\Whole Tomato", 
        "SOFTWARE\\WinLicense", 
        "SOFTWARE\\LogMeIn", 
        "SOFTWARE\\HexaD", 
        "SOFTWARE\\GitForWindows", 
        "SOFTWARE\\Cppcheck", 
        "SOFTWARE\\TortoiseSVN", 
        "SOFTWARE\\VisualSVN", 
        "SOFTWARE\\DASH"
    ], 
    "screens": {
        "count": 10, 
        "interval": 4
    }, 
    "software": [
        "Alliance Workstation", 
        "Alliance WebStation", 
        "Microsoft Dynamics RMS Store Operations", 
        "Cisco", 
        "Citrix", 
        "Dashlane", 
        "Fund", 
        "FortiClient", 
        "VPN", 
        "LexisNexis", 
        " OPOS", 
        "Card Processing", 
        "Boot Camp", 
        "SII RP-D10", 
        "Protect", 
        "Withdraw", 
        "Cloud", 
        "Private", 
        "SWIFT", 
        "Wallet", 
        "Bank", 
        "Cash", 
        "Backup", 
        "Replication", 
        "Back-up", 
        "Altaro", 
        "CAM Commerce Solutions", 
        "MSR", 
        "iDrive", 
        "Shadow", 
        "Ledger", 
        "VMware", 
        "Trade", 
        "Money", 
        "Treasury", 
        "Dropbox", 
        "Box Sync", 
        "Payment", 
        "Token", 
        "Coin", 
        "Aldelo", 
        "Microsoft POS", 
        "TeamViewer", 
        "Trezor", 
        "PuTTY", 
        "FileZilla Server", 
        "M262x", 
        "Vnc", 
        "LogMeIn", 
        "QuickBooks", 
        "ScreenConnect", 
        "Blockchain", 
        "VIP Access", 
        "mRemoteNG", 
        "Storage", 
        "Unitrends", 
        "Password", 
        "Double-Take", 
        "Diskeeper"
    ], 
    "systems": {
        "cmdline_name": "cmdline.txt", 
        "debug_name": "debug.log", 
        "keylog_name": "keylog.txt", 
        "proc_data": {
            "BACKUP": [
                "1B158C51,F0741D99,B67F071D,8B5BB6B4"
            ], 
            "BANK": [

                "0EF7D2D4,FFEF3E33,FEE9B9A7,A87BD8FA,C4A10E3C,D412F86A,01202A70,6B08460F"
            ], 
            "CRYPT": [
                "24273C2B,689C61CA,1A528E29,71920AD0,9AAC98B8,89153906,1C2B38EA"
            ], 
            "DEV": [

                "FC09DD5F,2D8B32E8,0E603F68,ACD24EE9,50C046A3,4CAADC09,FB8B6597,9CAF30A4,275FA4AA,1A2456E8,D67C092F,E1E41D53"
            ], 
            "ETC": [
                "36358A68,FE5AD73D,FAF3E612,6B473017,E8A0F232,E34D0957,D81477DF,BD4FB02F,D1C1A6F1,
44AAB2D8,A1B91179,B317125A,7E682F49,C7F12F81,8F4652C1,73D6E9BD,9F1F9193,06A3513B,831BB9C2,
173438F5,D359E656,6D38C83E,E8504062,9018EA47,EC6EDC68,9FAF2CDE,EB821910,8148A003,89961D2B,
E86FD330,D1879795,9E514577,B6453869,AB998E4A,117C8602,9CEC32CD,A649FA98,9919944A,ED096D7A,
ADE4C1F4,17F5E5AE,373DD31D,FEA3B580,6194AEDD,51FB05BB,B7F66707,A85BBCA4,21E4F6E1,5E7F7CFC,
09427565,2DE6E2CC,1F8A1A34,4DCC4E6D,34A3856D,7D1A6CF5,DFC68EA6,D1F0F78A,6164D621,81D83B96,
C93A54AD,4FDDDDBA,DF785E69,AD6C4956,AF407D3F,612836CB,BEB1E867,08ECCE46,7439D83C,5FE92CB4,
AC6D207E,66A4EFE6,56A6914D,CEB75996,71DEA7D8,831F25F0,65A59DBC,E11E8CAF,066F25CC,AB58C2B3,
8AA8ADD1,2BD2F601,C3C39C30,3DFE0297,9B60D929,D5202EDF,26382804,13FE74C3,D9CFAAFC,1EC38064,
B48B28E6,EE3F8F14,BEC4AE1B,0CEF981A,AE21F4BD,ED05A7DD,BBABEE8B,DB4FF76A,3F65FEA1,80824730,
B8132034,E4E0706E,E0872300,06A367AC,530DFC96,BFBD391A,EDB493EA,6E80D8EB,46729516,E58E420F,
9AB07D59,5FD4AF15,50F84A3B,7F383A3D,08D73940,CED3FE41,2FD368B0,941F78B7,5ACE07E5,8FBAB9AA,
2A77EE37,849A7001,F4DD7D00,ADE4FF12,B8F4EEAA,22F83602,9C5305AC,953F5973,612BE1A4,A8F17723,
27D94A1A,851F2672,CBCA91DA,8A431577,E9FC18B8,E47AA073,E1D08BD3,AC3DDCBE,8713F420,7C0A2C03,
CF18FB77,AD2581F7,F1B705CE,4BBAB8FA,DDB7DAD6,298944A0,AD1A170A,24549603,BC90AA40,48D0E729,
2CC8BE52,C8C60F25,21B4D9EC,7C934BFA,C6FA5FCE,1557F882,51C0BBAE,694203C1,2611B4E2,817EEA70,
CC52CBB0,3CD2F52B,EC155B26,02E6CF14,9FED0D8C,725E1B53,1008DDC9,EDB8EDB4,F1D6EC4C,6DAC3C4A,
9B282310,22BCF394,1FF114CE,1FED69F4,2B68955F,5C5424CD,F0965573,28E223B0,F4ABF75B,87D7BE37,
B5DC8668,A053B931,EEDAEB84,5AD6F060,679F864C,00622956,3EDDD0CC,6166CBFE,B035BEAD,7C997C1F,
16B3C140,7814A3B5,7D04697C,53619F2C,CE5D9477,AF9D47B4,39D80B01,A58F2523,4941148D,1A8549EE,
72F9117D,17238ECE,17594E4C,AA38D481,D6B2F72C,0617EB1D,B107D005,5BA8998F,6555370D,4399C284,
2A701224,307BA4C3,ED256EAD,C0507C47,DA46C5A0,EB3E9524,17028891,094CAAEF,7D0208BC,DD63FE4B,
CBABEDC0,208A6703,2DE10091,76897639,A1B089CF,00226A31,B0BEBB22,CD47F86A,EE1C4CCA,D64A0C5D,
8B34C6B4,853A92F8,EDD799AE,C76EC047,AEA032F4,8EE2D469,42F4A14F,C8D635E6,34461F8E,1F8F32DD,
613E33F3,CEFE1900,06AA08F8,40C41FE4,33DD263C,DB11366C,6863CBC4,61774F83,79A179C4,C2803376,
92C06016,B010237A,432A30F6,EAE4D38E,A28184B6,C04B85DD,535AE700,E7868E6A,20F6766D,45EFDE73,
FFA7DDB0,1177CB80,1DC8DC0A,753C1BC4,46A65141,1520C6FC,115465F8,E05FC686,48755CDD,9F44E2AD,
017C72BF,C90A4D55,3F315ED6,530EC7CF,28F258E8,4D50DB3A,5DE0A119,EBFB0CC8,7F006276,A289D938,
637301C6,6905564E,3F8C2811,15CD3ABD,F8DA60CF,B6A73D4C,A9F98641,40C1472D,C322A28E,9427291A,
3EE0249F,5025B29A,21E0C754,971C9B6E,5433B062,D4ABCE94,A5EF5232,7D292D5C,54D062A7,7EA56DD4,
6F39D5E5,637690A0,C99DF88D,D40AE36D,9EAA7E6D,E7FE982A,DB5B130C,D69E7AB7,AB5A540A,23746103,
D00D57A1,B19BE433,07F5B6AB,368506FF,61B3C004,D3174803,2E76EDDA,6DCA34D9,DAA840B0,6BAF0CCB,
A836E949,10D35165,23E559EE,FF658664,B35A1FBF,83ED7E1E,CF3FE156,C5955648,22192A6C,E53E7CF7,
E9D4AA1C,CD7007CE,E8FB9DD8,67D09CD7,C2666E5E,CE57EE1C,ACF1AFE9,9CD1C89B,5E1F3383,900F4BC6,
D4D1DABB,42E2AFE1,0254BF12,DBF32FA8,54E18969,29A16C6C,2A819D48,C63BAD20,F761556A,BFA7A700,
EC18D835,27499C3F,1883386F,C25C84B6,45B5186D,7729D6C7,867B6AD8,F49BFC32,F33B69C9,A301D995,
1E6CC84E,A4CA05F3,FB98997A,68B0A2D2,89FEE818,35121417,754DB640,D35B8E8B,8BFADABE,630380BD,
2678169A,0F17040E,B18DA826,26BE3D57,C47610CC,D5AFE347,D697181B,72C1148A,DC940E90,3E15B814,
6199DFE0,600FE875,EA5696FD,147A1679,D0393D82,7314615B,6A947CA9,5F4A22FB,7A74A927,0D9C7E1E,
FA429238,A5E4363A,07250472,D1D7BD33,38AF4595,3A2C4CF5,B9F0288B,9A0ABBDD,1112E894,F7F04B91,
F10C467C,78A3A99F,318C45D0,0FAE970A,5465EE3B,0B4B3079,6B55165F,920F9997,DD4824DF,63FB331F,
3DCF12DB,57FF7496,9DED7AE9,8589E085,28EFE770,1711D3C5,F17E2D3B,16B88982,9330B1BC,3C2AC51B,
4C3E6C40,CA8F2447,5AD194E7,DCAD848C,09B0FF98,3E2E8993,2FE5DDDB,811FE2F6,CAD75136,7C0286F7,
EB009E90,161C6399,9B5BB8F0,540539E4,DB4FEBFC"
            ], 
            "KEEPASS": [
                "5FD22F11"
            ], 
            "OTP": [
                "C03F4FCF,9652F18E"
            ], 
            "POS": [
                "24EF6AE6,3781645F,4F6F25C8,0A8349B8,0CD13601,C605BC82,F4D9B2C9,FE115180,094CAAEF,
8B3D5DC7,F3F60AC6,C4F259E9,FC76F5FD,C3EFD902,BC983A7A,CBF115E2,3C07DE76,E1BE2720,4E576C6A,
4EE1F7A0,8B6806E8,1536649B,2E35EC33,7A0C26D5,A8F97EFE,DEDC862C,EC6824AA,9CCFC9EE,8149D125,
E1D6EADC,D4944D9B,C40FB1D0,AC0D9C0B,2BC674EA,43EC2716,10C9F247,5AFE6EFB,0DDCE00C,356111CF,
D7AC7B76,A4CAFC94,836AD74E,E3B8C0FE,8D5B8FED,CD5EBB41,FAA8EC0F,6C5A3F7C,D6F95CAE,9F3B52CA,
1769DF67,05578F82,470E840D,26C0322F,53C75648,BE044A87,AEEB6676,91633EBB,42E4F9CF,A460CB67,
60ABE024,139E2D2A,A9FC0EB6,DF9B3D89,3126A231,EA61F54D,5A4C20D9,8CCE1DB9,DC89F098,B19DAC22,
A5514494,E2B0AA31,C669C000,BC3F21A8,0A2F3C0D,2684E509,C7E45A67,9271EEF1,F5D272A7,73B89844,
86EF263E,FAD5CDD4,0CC50AC3,D560BA10,D69AB5B7,ECA0854B,DB86F715,045C1577,825E31E2,B10F2A74,
6E311050,ADFFE3F0,5A7E28CA,C6C97A0B,86C224A0,6EA77FF8,8A7800F1,9FD1B3D3,AE529627,900AB121,
F7B0C18A,2C63FE12,5FDAC8A8,AD668FCD,EF2390CC,E21B9F2A,01DB1338,547C2E92,F4E35C03,E2204FCF,
6FD903D5,E6DA53C5,AACB54D3,889CF566,A8C0FD20,89114174,ADF4E2F0,7282CFD9,3E2425A6,FEC95559,
68D404AD,DFD54B81,8AF6B819,6F4C9BE2,9300EB54,DDDA4B02,8B0A7F43,8D047993,CE75381D,2FD25572,
9F2C60A8,81DF266C,BDC933B5,0ED1A64B,C52CEFD4,3AB21009,B452D1B7,E1F2181D,F1622C8E,0712D8DC,
63A92D4D,C7356239,FF8939A1,62067A58,678F923D,50867705,9C6D97C4,38EFAC0A,7F6AD007,4CB3D796,
C7C8C5BF,699C5BD9"
            ], 
            "REMOTE": [
                "039ABDEB,6DA3C888,482DD2A1,900D2C2A,BFB0AC8D,F5149492,D6492824,FB20B6FB,95D9C53A,
5A83C631,095BD149,A887B207,363ED833,F636D50B,ACF8432A,780CA03F,6EC27C57,19587E8E,096B3678,
BC439383,37CCDBF3,88E3A913,E2AEA9C6,5F023EF9,C03610DC,2C798A09,B4434710,09005D42,054D2163"
            ], 
            "SWIFT": [
                "106530D5,8B587452"
            ], 
            "TAX": [

                "0414785A,14091FAA,53A9657A,6EC94CCA,EC99DB1B,D1F9F2AB,5A7DE274,9CD008E4"
            ], 
            "WALLET": [
                "1444C599,F3D4B706,65C9EDBA,78D00514,52DDCFE9,8BBCD13D,85E1225D,5C7AFA0A,9E099A2C,
FF641DB8,CD6B5665,72A2CDEE,165DFED9,53AC8A37,B78C2122,C90608DE,AC733BEB,969FF04A,59FF8C85,
628B247C,7909968A,670220E0,60CB5762,EA51B6DE,00695083,2DB5BB8B,E18F2D2B,7FCD7A2F,D0FF27C3,
BE468513,FFE75C6E,7A4813E4,B72A715D,598572BF,9DDDB007,9BB1BB92,46C9E01E,2E27F2BA,A71DA7CA,
FA144180,930FB7AF,6C5B82CC,D85FADEC,F703F6E9,E6A9DB28,4407FB04,4EF22574,A7E87469,0E5C39E3,
74097066,3BC1DBC4,2E3AEF7F,96020473,F7F19F1C,F2C3756E"
            ]
        }, 
        "screens_dir": "scrs", 
        "send_attempts": 5
    }, 
    "usb_file_find": {
        "exts": ".doc|.docx|.xls|.pdf|.txt|.rtf|.xlsx", 
        "gold_masks": "*.rdp|*.kdbx|*.vnc|*.ovpn|*.crt|*.key|*.pfx|*.pcf", 
        "keys": "*passw*|*logins*|*wallet*|*private*|*confidential*|*username*|*wire*|*access*|*instruction*|*credent*|*cardholder*"
    }
}

著者について

 

Tags: