Steamアカウントハックから身を守る


初めに

多分技術的なことをグダグダ書いています。
よくわからない方は以下の事を気をつけてください

  • 常にアカウントのSteamガードを有効にしておく
  • GameBooster等のウイルスセキュリティソフトを無効にするソフトウェアを使用しない
  • 知り合いからチャットで飛んできたURLを不用意に踏まない
  • 仮にURLをクリックしてしまった場合、ダウンロードされたファイルを実行しない
  • ログインを要求された場合EV SSL証明書を確認する

EV SSL証明書に関しては審査が存在するので悪意のあるユーザは取得できません。

EV SSL証明書 (緑色のバッジが表示されます)

EV SSL

SSL証明書

SSL


Steamとは

Steam(スチーム)は、コンピュータゲームのダウンロード販売、デジタル著作権管理、マルチプレイヤーゲームのサポート、ユーザの交流補助を目的としたプラットフォームである。開発および運営はValve Corporationによって行なわれている。

Steam - Wikipedia

Steam上でゲームを買ったり出来ますよ!みたいなそんな感じです。
実際は「売買可能なトレーディングカード」や「売買可能なゲーム内アイテム」も存在しているので、価値のあるアイテムをアカウントハックで失ってしまう可能性もあるわけです。


Steamでのアカウントハック

被害を見ている限り2通りハック方法があるみたいです

Steamそっくりなサイトでアカウント情報を入力させ、盗むタイプ
今回は割愛します。
ログインする際にEV SSL 証明書の確認をすれば問題ありません。Steamガードを有効にしておくのも手です。

実行ファイルを実行させ情報を盗むタイプ
基本的にAppData配下(C:\Users\admin\AppData)にファイルを生成せず、インストールディレクトリ(C:\Program Files (x86)\Steam)やレジストリで設定値の保持をしています。
設定ファイルに関しては殆どがVDFという形式のファイルに纏まっています。
プログラマ向けですが、VDFパーサ自体も存在しています(rossengeorgiev/vdf-parser)
設定ファイル自体にアカウントの情報が記載されており、悪意のあるプログラムを実行した際にトークンを盗まれてしまいます。

以下の画像はアカウントハックされた際、自動的に送信されるチャットのサンプルです。

Steam

要約すると「この画像のナイフ、俺のなんだけど欲しい?」的なことを言って来ます。
勿論このメッセージは自動で送信されています。
このチャットに記載されているURLを踏むと拡張子が .scr のファイルがダウンロードされます。

Property

スクリーンセーバに偽装した実行可能なEXE形式のファイルで、PEiD等のツールでみてみると .NET Framework で開発されたことがわかります。

PEiD

.NET Framework 向けの逆コンパイラといえばILSpyが有名なので一応解析をしてみます。
が、難読化+暗号化されており解析できません。ただ、同梱されているライブラリに関してはわかりました。 ionic zip 等で検索すると .NET系の圧縮/解凍ライブラリが見つかります。(DotNetZip Library - Home)

ILSpy

実際に挙動をWiresharkで確認してみましょう。
仮想マシンにSteamをインストールし、ログインしない状態でファイルを実行してみます。 起動直後に geyazo.com という某スクリーンショット共有サービスそっくりなドメインの名前解決を行い、 zzfs5345saa.php に対しRARファイル(564dfgdf.rar)をPOSTしています

Wireshark

Wireshark2

これ以上は残念ながら動作を確認していません。
憶測ですがサーバ側で自動的にチャットを飛ばしたりしていると思われます。

結論

引っかかるのはバカ