Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DMだけでSteamが乗っ取られかけた話
Search
Nusk Rbb
August 08, 2026
Technology
24
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DMだけでSteamが乗っ取られかけた話
DiscordのDMでテキストチャットのみでSteamのアカウントが乗っ取られかけた話をしております。
Nusk Rbb
August 08, 2026
Other Decks in Technology
See All in Technology
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
180
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
360
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
200
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
5.1k
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
Running Kotlin + Quarkus with Lambda
nealle
1
4k
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Paper Plane
katiecoart
PRO
5
54k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
The browser strikes back
jonoalderson
0
1.8k
Code Reviewing Like a Champion
maltzj
529
40k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Optimizing for Happiness
mojombo
378
71k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Transcript
SOCIAL ENGINEERING / LT DMだけで Steamが乗っ取られかけた話 URLもQRも踏んでいないのに、認証コードだけが飛んできた Nusk
WHO AM I 自己紹介 仕事 SOC運用。アラート対応・調査・報告がメイン すきなもの NixOS / Arch
Linux / Claude / SoundCloud nusk SOC / セキュリティ運用 趣味 VRChat / VALORANT / デスクトップ環境構築 / CTF 守る側をやっているが、今日は自分が的にされた側の話をします。
TL;DR 01 02 03 認証コードが届く = 誰かが操作した Steam Guard は自然発火しない。着弾自体がシグナル。
パスワード不要でコードは飛ばせる 復旧フローはアカウント名だけで開始できる。 塞げないので「押さない」で受ける 通知を止める設定は存在しない。判断が唯一の防御線。
WHAT HAPPENED 届いたDMの流れ 1 面識のない相手からDM 「間違えて君をBAN報告しちゃった。CS担当と話して解決したい」 2 “検証”のための指示 「ログアウトして、Steamクライアントを終了してください」 3
この時点で 踏んでいないもの • URLのクリック • QRコードの読み取り • ファイルの実行 • ID / パスワードの入力 認証コードが着弾 指示に従った直後、Steamモバイルアプリに確認が飛ぶ 会話はすべてテキストのみ
EVIDENCE 証拠① 入口のDM 読みどころ ▣ DMスクリーンショットを貼り付け (入口の1〜2通目) • 「BAN報告してしまった」という、相手に非が あるように見せる導入
• Steamサポートを名乗る第三者を会話に持 ち込む • アカウント削除・期限を匂わせて考える時間 を奪う • Steamサポートが個人にDMを送ることはな い
EVIDENCE 証拠② 誘導フェーズ ▣ 「ログアウトしてクライアントを終了して」 のやり取り 「クライアントを終了させる」ことに検証上の意味は一切ない。ここが詐欺確定ライン。 ▣ その直後のやり取り (コードを聞き出そうとする箇所)
EVIDENCE 証拠③ 着弾した認証コード 突合ポイント ▣ Steamモバイルアプリの 確認ダイアログ ▣ 受信メール (復旧開始
or 新規ログイン通知) • DMの時刻と着弾時刻の 差 • 表示された地域とIP • メールの件名(復旧か、 ログインか) • コード自体はマスク
そもそも Steam Guard は 正しいID / パスワードでのログイン いつ発火するのか QRログインセッションの承認要求 勝手には鳴らない。必ず誰かが何かを開始している。
つまり着弾は「攻撃の副作用」ではなく「攻撃そのもの」。 アカウント復旧フローの開始
TRIAGE 候補は3つ、必要なものが違う AiTM フィッシング QRLJacking 復旧フロー悪用 偽ログインページが入力を本物へ中継 攻撃者のログインQRを承認させる アカウント名だけで復旧を開始できる 必要なもの
必要なもの 必要なもの • ID + パスワードの入力 • リンクのタップ • 公開プロフィールURL • コードの入力 • またはQRのスキャン • それだけ 今回は該当せず 今回は該当せず 今回はこれ
DEEP DIVE 余談: QRログインは構造的に脆い • QRの中身は暗号化も署名もされていない、ただのURL • URLである以上、スキャン不要。DMに1本貼ればスマホ側でアプリが直接開く • 攻撃者は自分のセッションのchallengeを発行し、承認だけを他人にさせる
• QR方式そのものの問題なので、実装では潰せない 攻撃者がchallengeを発行 ▼ URLを被害者へ送信 ▼ 被害者が承認をタップ ▼ https://s.team/q/1/xxxxxxxxxxxxxxxxxxx ブラウザで開くと何も起きない。だが認証フローでは有効。 トークンが攻撃者側へ
ATTACKER INTENT なぜ「クライアントを終了しろ」なのか 1 視界を潰す 2 因果を捏造する クライアントが起動していると、新規ログインや他セッションの存在 終了させた直後にコードを飛ばすことで、「検証作業の一環でコー が本人に見えてしまう。先に閉じさせる。
ドが出た」という筋書きが成立する。 コードは奪う対象ではなく、信用させるための小道具 次に来るのは「届いたコードを教えてください」か「アプリの確認を承認してください」のどちらか。
MITIGATION では、防げるのか 防げない 防げる • アカウント名は公開プロフィールURLから割れる • 承認を押すか押さないかは完全に自分の管理下 • 復旧フローは誰でも開始できる
• 通知が鳴るだけでは何も起きない • QRログインを無効化する設定は存在しない • 判断基準は「自分が今それを開始したか」の一点のみ • つまり通知を撃つ権限は実質全員が持っている • 文面や地域表示は寄せられるので材料にしない
DEFENSE IN DEPTH 実務的には三段で受ける 通知を減らす 1 カスタムURLでSteamIDと切り離す / プロフィールを非公開寄りに 狙い撃ちのコストを上げる。既に目を付けられた相手に
は効かない。 押させない 2 唯一確実な線。ここだけは自動化できない。 自分が開始した操作でなければ承認しない。コードは誰にも渡さない 押しても死なない 3 即死しない窓がある。気づける状態を作っておく。 認証子の付け替え直後は15日のトレードホールド。解除通知を見逃さない
まとめ 脆弱性ではなく、仕様の帰結 • アカウント名が公開識別子である以上、通知は誰でも撃てる • 認証コードは奪う対象ではなく、信用させる小道具として使われた • 「クライアントを終了しろ」と言われた時点で詐欺確定と切ってよい • 鳴っても押さない、押しても15日以内に気づく。この二段で受ける
手口を一度知っていれば、次に同じ流れが来ても入口で切れる。