This post is also available in: English (英語)

概要

8 月の『Unit 42 Wireshark クイズ 2023年8月: 問題編 − RedLine Stealer』では、2023 年 7 月に発生した RedLine Stealer 感染によるパケット キャプチャ (pcap) を取り上げました。このクイズの解答編にあたる本稿では、RedLine Stealer トラフィックについてさらに詳しく説明していきます。

問題を先にご覧になりたいかたは別ブログの問題編をご覧ください。

パロアルトネットワークスのお客様は、WildFireAdvanced Threat Prevention などのクラウド配信型セキュリティサービス (CDSS) を有効にした次世代ファイアウォール (NGFW) Cortex XDR により、RedLine Stealer をはじめとするマルウェアからの保護を受けています。

関連するUnit 42のトピック pcap, RedLine, RedLine Stealer, Wireshark, Wireshark Tutorial

シナリオ / 前提条件 / 教材

本クイズのトラフィックは 2023 年 7 月に Active Directory (AD) 環境で発生しました。このpcapのローカル エリア ネットワーク (LAN) の詳細は以下の通りです。

ローカル エリア ネットワーク(LAN)の詳細

  • LAN セグメントの範囲: 10.7.10[.]0/24 (10.7.10[.]110.7.10[.]255)
  • ドメイン: coolweathercoat[.]com
  • ドメイン コントローラーの IP アドレス: 10.7.10[.]9
  • ドメイン コントローラーのホスト名: WIN-S3WT6LGQFVX
  • LAN セグメントのゲートウェイ: 10.7.10[.]1
  • LAN セグメントのブロードキャスト アドレス: 10.7.10[.]255

このクイズには Wireshark が必要です。Wireshark は最新バージョンの利用をお勧めします。以前の Wireshark バージョンより機能・性能ともに上がり、不具合も修正されています。

なお、Webトラフィックを分析しやすいよう、Wiresharkの表示設定をあらかじめカスタマイズしておくことをお勧めします。その方法については、こちらのチュートリアルやビデオの一覧でご確認ください。毎度のことですが、Windowsベースの悪意のあるトラフィックの分析には、BSD、Linux、macOSなど、Windows以外の環境の利用をお勧めします。

問題の pcap はこちらの Github リポジトリーから入手できます。2023 年 7 月の ZIP アーカイブをダウンロードして pcap を展開してください。展開用パスワードは「infected」です。

クイズの問題

今月の RedLine Stealer 感染に関するクイズは、こちらの問題編の別ブログで説明した以下の質問に答えるというものでした。

  • 感染が始まった日時はいつですか (UTC で回答)。
  • 感染した Windows クライアントの IP アドレスは何ですか。
  • 感染した Windows クライアントの MAC アドレスは何ですか。
  • 感染した Windows クライアントのホスト名は何ですか。
  • 感染した Windows ホストのユーザー アカウント名は何ですか。
  • この RedLine Stealer はどのような種類の情報を盗もうとしましたか。

解答

この Wireshark クイズの解答は以下の通りです。

  • 感染が始まった日時: 2023-07-10 22:39 UTC
  • 感染 Windows クライアントの IP アドレス: 10.7.10[.]47
  • 感染 Windows クライアントの MAC アドレス: 80:86:5b:ab:1e:c4
  • 感染 Windows クライアントのホスト名: DESKTOP-9PEA63H
  • 感染 Windows クライアントのユーザー アカウント名: rwalters
  • RedLine Stealer が盗もうとした情報:
    • 被害者のデスクトップ上のさまざまな種類のファイル
    • 被害者の Document (書類) フォルダー内のさまざまな種類のファイル
    • Chrome、Chromium、Edge、Opera、Vivaldi、などさまざまな Web ブラウザーのユーザー データ
    • さまざまな暗号通貨ウォレットのデータとそれらの暗号通貨ウォレット用のブラウザー拡張機能
    • ほかのアプリケーションからの API キーとログイン クレデンシャル

Pcap 解析: 被害者の詳細

以降の分析では、以前のWireshark チュートリアルで行ったカスタマイズ設定を使っています。Wireshark でこのチュートリアルで設定した「basic」Web フィルターを適用してください。これにより、図 1 に示したある内部 IP アドレス (10.7.10[.]47) を確認できます。以下の図 1 に示したように、これが唯一の送信元 IP アドレスです。この状態で一番下のパケット データ部を確認すれば、この送信元 IP を MAC アドレス 80:86:5b:ab:1e:c4 と関連付けられます。

画像 1 は Wireshark のスクリーンショットです。[Src] 列が黒い四角でハイライト表示されています。これが送信元 (Source) の IP アドレスを示している列です。黒い矢印で「basic」フィルターを示しています。画面下部の 2 つめの黒い四角が MAC アドレスをハイライトしています。
図1. Wireshark で被害者の IP アドレスと MAC アドレスを特定したところ
NetBIOS Name Service (NBNS) トラフィックをフィルタリングすれば被害者のホスト名を特定できます。そのためには、表示フィルター ツールバーに「nbns」と入力して Wireshark フィルターを適用します。これにより、DESKTOP-9PEA63H のホスト名が見つかります (図 2)。

画像 2 は Wireshark のスクリーンショットです。「nbns」という文字が、表示フィルター ツールバーに緑色の四角でハイライト表示されています。パケット一覧部では複数の黒い矢印が被害者のホスト名である「DESKTOP-9PEA63H」を指しています。また、一番下のパケット詳細部のウィンドウにも黒い矢印が「Queries (クエリー)」、「Name (ホスト名)」、「Addr (IP アドレス)」が何かを示しています。
図2. Wireshark の NBNS トラフィックから被害者の Windows ホスト名を特定したところ

被害者のホスト名と Windows ユーザー アカウント名は、Kerberos の認証トラフィックから確認します。表示フィルター ツールバーで「kerberos.CNameString」をフィルタリングしましょう。これで Windows ユーザー アカウント名の rwalters が見つかります (図 3)。

画像 3 は Wireshark のスクリーンショットです。緑色の四角でフィルターが「kerberos.CNameString」に設定されていることを示しています。黒い四角は「CNameString」列をハイライトしています。黒い矢印が、同列の下部にある「rwalters」を指しています。
図3. 被害者の Windows ユーザー アカウント名を特定。以前 Wireshark チュートリアルで設定したカスタム列を使い、Kerberos トラフィックを確認したところ

Pcap 解析: 悪意のある Web トラフィック

「basic」の Web フィルターを再度適用してください。pcap 上に 3 つ、平文の HTTP GET リクエストが見つかります (図 4)。これらの GET リクエストのうち 2 つは 623start[.]site が宛先になっています。もう 1 つの GET リクエストの宛先は、URL hxxp://guiatelefonos[.]com/data/czx.jpg です。

画像 4 は Wireshark のスクリーンショットです。黒い矢印は、「basic」フィルターを適用することを示しています。黒い四角で 3 行分の Dst、port、Host、Info 列を囲っています。これらが平文の HTTP GET リクエストです。
図4. Web トラフィックに 3 つ平文の HTTP GET リクエストが確認できる

オペレーティング システム由来でない平文の HTTP GET リクエストは調査する価値があります。623start[.]site 宛のいずれかの HTTP GET リクエストの TCP ストリームを追跡してください (右クリックしてコンテキスト メニューを[Follow (追跡)]、[TCP Stream (TCPストリーム)]の順にクリックする)。これで TCP Stream 68 が表示されます。HTTP リクエスト ヘッダーの User-Agent 行からは、以下の図 5 に示したように、このトラフィックが Windows PowerShell を通じて発行されたことがわかります。

画像 5 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。2 つの赤字のテキストを 2 つの黒い矢印が指しています。これらの赤字のテキストは HTTP GET リクエストで、どちらも User-Agent 行に PowerShell であることが示されています。
図5. PowerShell が生成したトラフィックであることが疑われるTCP ストリーム

マルウェアや Web ブラウザー拡張機能は User-Agent 文字列を偽装することがありますが、この User-Agent 行が WindowsPowerShell であるというのは、このトラフィックが PowerShell スクリプトの生成したものであることを示す信頼できる指標です。これら 2 つの HTTP GET リクエストの URL は次のものです。

  • hxxp://623start[.]site/?status=start&av=Windows%20Defender
  • hxxp://623start[.]site/?status=install

これらのリクエストはどちらもサーバーから 404 HTTP Errorが返されます。最初の HTTP リクエストは、被害者のホストで使われているウイルス対策ソフトウェアを報告しています。この場合は av=Windows%20Defender の部分が Windows Defender がウイルス対策として利用されていることを示しています。2 番目の URL は同マルウェアのインストール状況を報告するものです。

今回の pcap で最後の平文 HTTP GET リクエストは hxxp://guiatelefonos[.]com/data/czx.jpg です。この GET リクエストの TCP ストリームを追跡してください (GET リクエストの行を選択し、右クリックで表示されるコンテキスト メニューから [Follow (追跡)]、[TCP Stream (TCPストリーム)] の順にクリック)。図 6 に示すように、この TCP ストリームは、この URL が同じ URL の HTTPS バージョンにリダイレクトされていることを示しています。

画像 6 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。1 つめの黒い矢印は HTTP URL を指しています。2 つめの黒い矢印はリダイレクト先の HTTPS の URL 行を指しています。この HTTPS の URL は、既知の RedLine Stealer マルウェア バイナリーの URL であることが報告されています。
図6. guiatelefonos[.]com への HTTP URL は HTTPS の URL にリダイレクトされる
hxxps://guiatelefonos[.]com/data/czx.jpg は RedLine Stealer マルウェアのバイナリーをホストしていることが URLhaus に報告されており、こちらの特定 RedLine Stealer マルウェア バイナリー がこの URL と結びついています。

Pcap 解析: RedLine Stealer によるデータ漏出

RedLine Stealer のコマンド&コントロール (C2) トラフィックは TCP トラフィックにエフェメラル ポートを使います。pcap でこのトラフィックを見つけるには、次の Wireshark フィルターを使います。

tcp.flags eq 0x0002 and !(tcp.port eq 443) and !(tcp.port eq 80) and !(ip.dst eq 10.7.10.0/24)

このフィルターは「tcp.flags eq 0x0002」で TCP ストリームの開始を表す「TCP SYN」のセグメントを探し、「!(tcp.port eq 443) and !(tcp.port eq 80)」で「80/tcp」と443/tcp」の Web トラフィックを除外し、「!(ip.dst eq 10.7.10.0/24)」でこの AD 環境から内部 IP アドレス宛に送信される SYN セグメントを除外しています。この結果、194.26.135[.]119 宛に 12432/tcp で送信された TCP SYN セグメントが 1 つだけ残ります(図 7)。

画像 7 は、RedLine Stealer のC2 トラフィックを見つける特定のフィルターを設定した Wireshark 画面のスクリーンショットです。
図7. Wireshark で Redline Stealer の C2 トラフィックを見つけているところ

この RedLine Stealer 感染で生じた感染後のトラフィックを調べるため、見つかった行を選択してから右クリックし、コンテキスト メニューから [Follow (追跡)]、[TCP Stream (TCP ストリーム)]の順にクリックしてください。TCP Stream 71 のウィンドウが表示されるはずです (図 8)。

画像 8 は、Wireshark の TCP Stream ウィンドウのスクリーンショットです。感染によって生成された RedLine Stealer のコマンド&コントロール トラフィックを示しています。
図8. 感染によって生成された Redline Stealer C2 トラフィックの TCP ストリーム

図 8 からは、TCP ストリームの開始部の文字列に、tcp://194.26.135[.]119:12432/、という C2 チャネルと tempuri[.]org という URL が含まれていることがわかります。「tempuri」というのは「一時 URI」の略で、この tempuri[.]org というドメインは Visual Studio などの Microsoft の開発ツールで使われているプレースホルダーの名前空間 URI です。この tempuri というドメインは、RedLine Stealer 感染によるほかのトラフィックでは確認されていません。

この RedLine Stealer サンプルが何を探しているのかをさらに詳しく知るため、C2 サーバーから感染した Windows ホストに送られたデータを選びます (図 9)。

画像 9 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。全通信のなかから、コマンド&コントロール サーバーから感染した Windows ホストに送信した通信だけを選択しています。
図9. 全 TCP ストリームから C2 サーバーから感染した Windows ホストへ送られたデータを表示

RedLine C2 サーバーからのデータは、被害者のホストにさまざまな種類のユーザー情報を要求しています。図 10 は、この感染が被害者のユーザー プロファイル以下で探しているデータを示しています。

画像 10 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。黒い四角で囲まれて矢印で示されているのは、被害者のユーザー プロファイルで検索された情報です。
図10. 被害者のユーザー プロフィール以下で検索されていた情報

このリストには、被害者の Desktop (デスクトップ) と Document (書類) フォルダーでのワイルドカード検索が含まれています。以下に示すように、テキスト ファイル、Word ドキュメント、暗号通貨のウォレット ファイルなどが対象になっていました。

  • %userprofile%\Desktop|*.txt,*.doc*,*key*,*wallet*,*seed*|0
  • %userprofile%\Documents|*.txt,*.doc*,*key*,*wallet*,*seed*|0

このリストには、被害者のユーザー プロファイルの AppData ディレクトリー以下の想定される場所に基づき、さまざまなアプリケーションのデータが示されています。このリストはアルファベット順で以下の通りです。

  • %USERPROFILE%\AppData\Local\360Browser\Browser\User Data
  • %USERPROFILE%\AppData\Local\7Star\7Star\User Data
  • %USERPROFILE%\AppData\Local\Amigo\User\User Data
  • %USERPROFILE%\AppData\Local\Battle.net
  • %USERPROFILE%\AppData\Local\BraveSoftware\Brave-Browser\User Data
  • %USERPROFILE%\AppData\Local\CatalinaGroup\Citrio\User Data
  • %USERPROFILE%\AppData\Local\CentBrowser\User Data
  • %USERPROFILE%\AppData\Local\Chedot\User Data
  • %USERPROFILE%\AppData\Local\Chromium\User Data
  • %USERPROFILE%\AppData\Local\Chromodo\User Data
  • %USERPROFILE%\AppData\Local\CocCoc\Browser\User Data
  • %USERPROFILE%\AppData\Local\Comodo\Dragon\User Data
  • %USERPROFILE%\AppData\Local\Comodo\User Data
  • %USERPROFILE%\AppData\Local\Coowon\Coowon\User Data
  • %USERPROFILE%\AppData\Local\CryptoTab Browser\User Data
  • %USERPROFILE%\AppData\Local\Elements Browser\User Data
  • %USERPROFILE%\AppData\Local\Epic Privacy Browser\User Data
  • %USERPROFILE%\AppData\Local\Fenrir Inc\Sleipnir5\setting\modules\ChromiumViewer
  • %USERPROFILE%\AppData\Local\Google(x86)\Chrome\User Data
  • %USERPROFILE%\AppData\Local\Google\Chrome\User Data
  • %USERPROFILE%\AppData\Local\Iridium\User Data
  • %USERPROFILE%\AppData\Local\K-Melon\User Data
  • %USERPROFILE%\AppData\Local\Kometa\User Data
  • %USERPROFILE%\AppData\Local\liebao\User Data
  • %USERPROFILE%\AppData\Local\Mail.Ru\Atom\User Data
  • %USERPROFILE%\AppData\Local\MapleStudio\ChromePlus\User Data
  • %USERPROFILE%\AppData\Local\Maxthon3\User Data
  • %USERPROFILE%\AppData\Local\Microsoft\Edge\User Data
  • %USERPROFILE%\AppData\Local\Nichrome\User Data
  • %USERPROFILE%\AppData\Local\NVIDIA Corporation\NVIDIA GeForce Experience
  • %USERPROFILE%\AppData\Local\Orbitum\User Data
  • %USERPROFILE%\AppData\Local\QIP Surf\User Data
  • %USERPROFILE%\AppData\Local\Sputnik\Sputnik\User Data
  • %USERPROFILE%\AppData\Local\Steam
  • %USERPROFILE%\AppData\Local\Torch\User Data
  • %USERPROFILE%\AppData\Local\uCozMedia\Uran\User Data
  • %USERPROFILE%\AppData\Local\Uran\User Data
  • %USERPROFILE%\AppData\Local\Vivaldi\User Data
  • %USERPROFILE%\AppData\Local\Yandex\YandexBrowser\User Data
  • %USERPROFILE%\AppData\Roaming\8pecxstudios\Cyberfox
  • %USERPROFILE%\AppData\Roaming\Comodo\IceDragon
  • %USERPROFILE%\AppData\Roaming\K-Meleon
  • %USERPROFILE%\AppData\Roaming\Moonchild Productions\Pale Moon
  • %USERPROFILE%\AppData\Roaming\Mozilla\Firefox
  • %USERPROFILE%\AppData\Roaming\NETGATE Technologies\BlackHaw
  • %USERPROFILE%\AppData\Roaming\Opera Software\
  • %USERPROFILE%\AppData\Roaming\Thunderbird
  • %USERPROFILE%\AppData\Roaming\Waterfox

もう少し下にスクロールすると、この感染が探していたさまざまな暗号通貨ウォレットと思われるものが見つかります (図 11)。このデータには、Google Chrome や Microsoft Edge など、Chromium ベースのWeb ブラウザーで使われている拡張機能の識別子が含まれています。

画像 11 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。表示されているデータは、暗号通貨ウォレット プログラムとそれに関連するブラウザ拡張機能です。
図11 暗号通貨ウォレット プログラムと関連ブラウザー拡張機能に関するデータ

これらの暗号通貨ウォレットのブラウザー拡張機能をウォレット名のアルファベット順にリストしたものが以下です。これは <Chromium ベースの拡張機能の文字列>|<拡張機能名> の形式で記載されています。

  • fhilaheimglignddkjgofkcbgekhenbh|AtomicWallet
  • fhbohimaelbohpjbbldcngcnapndodjp|BinanceChain
  • fihkakfobkmkjojpchpfgcmhfjnmnfpi|BitAppWallet
  • aodkkagnadcbobfpggfnjeongemjbjca|BoltX
  • odbfpeeihdkbihmopkbjmoonfanlbfcl|BraveWallet
  • aeachknmefphepccionboohckonoeemg|Coin98Wallet
  • hnfanknocfeofbddgcijnmhnfnkdnaad|Coinbase
  • blnieiiffboillknjnepogjhkgnoapac|EqualWallet
  • hpglfhgfnhbgpjdenjgmdgoeiappafln|GuardaWallet
  • nanjmdknhkinifnkgdcggcfnhdaammmj|GuildWallet
  • fnnegphlobjdpkhecapkijjdkgcjhkib|HarmonyWallet
  • kncchdigobghenbbaddojjnnaogfppfj|iWallet
  • cjelfplplebdjjenllpjcblmjkfcffne|JaxxxLiberty
  • pdadjkfkgcafgbceimcpbkalnfnepbnk|KardiaChain
  • kpfopkelmapcoipemfendmdcghnegimn|LiqualityWallet
  • dngmlblcodfobpdpecaadgfbcggfjfnm|MaiarDeFiWallet
  • afbcbjpbpfadlkmhmclhkeeodmamcflc|MathWallet
  • nkbihfbeogaeaoehlefnkodbefgpgknn|Metamask
  • nlbmnnijcnlegkjjpcfjclmcfggfefdm|MewCx
  • lpfcbjknijpeeillifnkikgncikgfhdo|NamiWallet
  • jbdaocneiiinmjbjlgalhcelgbejmnid|NiftyWallet
  • fhilaheimglignddkjgofkcbgekhenbh|Oxygen
  • mgffkfbidihjpoaomajlbgchddlicgpn|PaliWallet
  • bfnaelmomeimhlpmgjnjophhpkkoljpa|Phantom
  • fnjhmkhhmkbjkkabndcnnogagogbneec|RoninWallet
  • nkddgncdjgjfcddamfgcmfnlhccnimig|SaturnWallet
  • aiifbnbfobpmeekipheeijimdpnlpgpp|TerraStation
  • cgeeodpfagjceefieflmdfphplkenlfk|TonCrystal
  • ibnejdfjmmkpcnlpebklmnkoeoihofec|Tronlink
  • amkmjjmmflddogmhpjloimipbofnfjih|Wombat
  • hmeobnfnfcmdkdcmlblgagmfpfboieaf|XdefiWallet
  • ffnbelfdoeiohenkjibnmadjiehjhajb|YoroiWallet

ストリームの最後までスクロールすると、この感染は、ホストにインストールされているかもしれないプログラムの API キーとログイン データを検索していることがわかります(図 12)。

画像 12 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。表示されるデータは、API キーなどの機微データです。
図12. 検索されたデータにはさまざまなアプリケーションに関連付けられた API キーなどの機微データが含まれている

このリストには、さまざまなクラウド プラットフォーム、ソーシャル メディア アプリケーションをはじめとするツールが含まれています。アルファベット順に並べたリストが続きます。

  • ALGOLIA_API_KEY
  • AMAZON_AWS_ACCESS_KEY_ID
  • AMAZON_AWS_SECRET_ACCESS_KEY
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_PASSWORD
  • AZURE_USERNAME
  • binance_api
  • binance_secret
  • BITTREX_API_KEY
  • BITTREX_API_SECRET
  • CF_PASSWORD
  • CF_USERNAME
  • CI_DEPLOY_PASSWORD
  • CI_DEPLOY_PASSWORD
  • CI_DEPLOY_USER
  • CI_DEPLOY_USER
  • CI_JOB_JWT
  • CI_JOB_JWT_V2
  • CI_JOB_TOKEN
  • CIRCLE_TOKEN
  • CODECLIMATE_REPO_TOKEN
  • CONSUMER_KEY
  • CONSUMER_SECRET
  • COVERALLS_REPO_TOKEN
  • DIGITALOCEAN_ACCESS_TOKEN
  • DOCKER_EMAIL
  • DOCKER_PASSWORD
  • DOCKER_USERNAME
  • DOCKERHUB_PASSWORD
  • FACEBOOK_ACCESS_TOKEN
  • FACEBOOK_APP_ID
  • FACEBOOK_APP_SECRET
  • FIREBASE_TOKEN
  • FOSSA_API_KEY
  • GH_ENTERPRISE_TOKEN
  • GH_TOKEN
  • GITLAB_USER_LOGIN
  • GOOGLE_API_KEY
  • GOOGLE_APPLICATION_CREDENTIALS
  • HEROKU_API_KEY
  • HEROKU_API_USER
  • MAILGUN_API_KEY
  • MCLI_PRIVATE_API_KEY
  • MCLI_PUBLIC_API_KEY
  • MSI_ENDPOINT
  • MSI_SECRET
  • NGROK_AUTH_TOKEN
  • NGROK_TOKEN
  • NPM_AUTH_TOKEN
  • OKTA_AUTHN_GROUPID
  • OKTA_CLIENT_ORGURL
  • OKTA_CLIENT_TOKEN
  • OKTA_OAUTH2_CLIENTID
  • OKTA_OAUTH2_CLIENTSECRET
  • OS_PASSWORD
  • OS_USERNAME
  • PERCY_TOKEN
  • SAUCE_ACCESS_KEY
  • SAUCE_USERNAME
  • SENTRY_AUTH_TOKEN
  • SLACK_TOKEN
  • square_access_token
  • square_oauth_secret
  • STRIPE_API_KEY
  • STRIPE_DEVICE_NAME
  • SURGE_LOGIN
  • SURGE_TOKEN
  • TOKEN
  • TRAVIS_OS_NAME
  • TRAVIS_SECURE_ENV_VARS
  • TRAVIS_SUDO
  • TWILIO_ACCOUNT_SID
  • VAULT_CLIENT_KEY
  • VAULT_TOKEN
  • VULTR_ACCESS
  • VULTR_SECRET

次は TCP ストリーム ウィンドウの Conversation を切り替えて、感染ホストから C2 サーバーに送られたデータを表示します。これにより、以下の図 13 に示すように、感染した被害者の Windows デスクトップのスクリーンショットが C2 サーバーに送信されたことがわかります。

画像 13 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。Conversation (会話) では、通信内容全体を選択するか、サーバーとクライアントの Conversation を個別に選択できます。ここでは 3 番目にリストされている 感染端末から C2 サーバーへの Conversation が選択されています。左向きの黒い矢印は、感染した被害者のデスクトップのスクリーンショットであるデータの部分と、ストリーム内でのデータの開始位置を示しています。
図13. 感染した Windows ホストから漏出したデータには被害者のデスクトップのスクリーンショットが含まれている

このトラフィックからスクリーンショットを抽出できます。以下の図 14 に示すように、感染した Windows ホストから C2 サーバーへ送信されたデータを「Raw」として表示して保存します。

画像 14 は、Wireshark の TCP ストリーム ウィンドウのスクリーンショットです。左側の黒い矢印は保存するデータ部を示し、中央の黒い矢印はデータが「Raw」であることを示し、右側の矢印は「名前を付けて保存」を選択することを示しています。
図14 TCP ストリーム ウィンドウで、感染ホストから C2 サーバーへ送られたデータを Raw データとして表示してから保存する

バイナリー エディターで保存した Raw データを開き、PNG 画像ファイルの開始位置より前のデータをすべて削除します (図 15 参照)。

図14 TCP ストリーム ウィンドウで、感染ホストから C2 サーバーへ送られたデータを Raw データとして表示してから保存する
図15. 保存した Raw データをバイナリー エディターで切り出す

ファイル拡張子に .png を指定して編集済みの Raw データを新しい名前で保存します。新しく保存したファイルの先頭バイトは 0x89 になっているはずです。この新しく保存されたファイルにはまだ画像ではないデータが含まれていますが、画像ビューアでスクリーンショットを確認できます (図 16)。

16 の画像は、感染した Windows ホストからのスクリーンショット画像です。このスクリーンショットは、Web トラフィック接続からのデータを含む PowerShell ウィンドウです。
図16. 感染した Windows ホストから取得したスクリーンショットの画像を表示したところ

図 16 のスクリーンショットには Web トラフィック接続からのデータを含む PowerShell ウィンドウが表示されています。

画像を確認し終わったら、表示フィルター ツールバーに「tcp.stream eq 71」と入力して TCP ストリームに戻り、[Show data as] でこの画像を「ASCII」データとして表示させてから、全会話 (Conversation) のなかから、感染した Windows ホストから C2 サーバーに送信されたトラフィックのみを選びます。ウィンドウを一番最後までスクロールし、C2 サーバーに送信されたほかのデータを確認します。

感染した Windows ホストについてもう少し詳しく知ることで、このデータについての理解がさらに深まります。感染した Windows ホストは最小構成でインストールされていて、Microsoft Edge ブラウザーに保存されているログイン クレデンシャル セットは 1 つだけでした。このホストのユーザーの Document (書類) フォルダーには、1 つ Word ドキュメントが保存されているだけでした。このファイルには Top_secret_ducment.docx という名前が付けられていました。

この TCP ストリームの終わり近くには、実行中のプロセス リストがあります (図 17)。また、感染したホストのハードウェア情報や、Edge ブラウザーからのログイン クレデンシャルのほか、Top_secret_ducment.docx という名前のファイルも確認できます。

画像 17 は、Wireshark の TCP ストリームのスクリーンショットです。スクリーンショットの上部にある黒い四角で囲まれた部分が実行中のプロセスです。黒い矢印で示されているのはハードウェア情報です。この下に、黒い四角で囲まれ、矢印で示されているのは、Microsoft Edge ブラウザーからのログイン クレデンシャルです。黒の下線が引かれ、矢印で示されているのは、感染したホスト上の唯一の Microsoft Word ドキュメントです。
図17. 実行中のプロセス、ハードウェア情報、ログイン クレデンシャル、Word ドキュメントが感染した Windows ホストから漏出していた

図 17 の実行プロセスのリストには、powershell.exe が実行している C:\Users\rwalters\Documents\mystery_file.ps1 というファイルのプロセスも含まれています。この .ps1 ファイルが本 Wireshark クイズで感染トラフィックを生成させていたファイルです。

結論

本稿では、2023 年 7 月に発生した Redline Stealer 感染を取り上げ、Unit 42 Wireshark クイズとして解析と解答の解説を行いました。これでこのマルウェアがどのような情報を探していたのかや、感染ホストからどのようなデータが送信されていたのかについての理解が深まったものと思います。RedLine Stealer はログイン クレデンシャルや暗号通貨ウォレット情報などの機微情報を狙います。このため、その特定と阻止が重要です。

セキュリティ専門家が完全なパケット キャプチャにアクセスできないことも多いので、RedLine Stealer をはじめとするマルウェア トラフィックの解析経験が不足してしまっているかもしれません。本 Wireshark クイズをはじめとするトレーニング資料は、そうした場合に役立てていただくことを意図しています。Pcap の解析はマルウェア感染調査に非常に役立つスキルです。

答えを掲載していない問題編のブログもあわせてご確認ください。

パロアルトネットワークスのお客様は、WildFireAdvanced Threat Prevention などのクラウド配信型セキュリティサービス (CDSS) を有効にした次世代ファイアウォール (NGFW) Cortex XDR により、RedLine Stealer をはじめとするマルウェアからの保護を受けています。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらのフォームからご連絡いただくか、infojapan@paloaltonetworks.comまでメールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客様には限定されません)。

  • 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
  • 欧州: +31.20.299.3130
  • アジア太平洋: +65.6983.8730
  • 日本: +81.50.1790.0200

パロアルトネットワークスはファイル サンプルや侵害の兆候などをふくむこれらの調査結果をCyber Threat Alliance (CTA) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使って、お客様に保護を迅速に提供し、悪意のあるサイバー脅威アクターを体系的に阻害できます。詳細については Cyber Threat Alliance にてご確認ください。

IoC

RedLine Stealer 感染に関連する pcap からのトラフィック:

  • hxxp://623start[.]site/?status=start&av=
  • hxxp://623start[.]site/?status=install
  • hxxp://guiatelefonos[.]com/data/czx.jpg
  • hxxps://guiatelefonos[.]com/data/czx.jpg
  • tcp://194.26.135[.]119:12432/

この RedLine Stealer 感染によるトラフィックに関連するファイル:

  • SHA256 ハッシュ: f754d7674a3a74969cccb7d834c99b72b9f79c29dc8d0e9c15854a6bfb1a9c97
  • ファイル サイズ: 800 バイト
  • ファイル名: SECT_v4.ps1
  • ファイルの説明: RedLine Stealer 感染の開始に使う PowerShell スクリプト
  • サンプルの入手場所: MalwareBazaar Database
  • SHA256 ハッシュ: 3c42b93801f02696487de64bb623f81cf7baf73a379a46e1459ca19ae7dc2454
  • ファイル サイズ: 348,160 バイト
  • ファイルの場所: hxxps://guiatelefonos[.]com/data/czx.jpg
  • ファイルの説明: RedLine Stealer の Windows 実行可能ファイル
  • サンプルの入手場所: MalwareBazaar Database

追加リソース

Enlarged Image