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
dotNET_vulnclicker_intro.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomohiko Morita
October 10, 2026
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
dotNET_vulnclicker_intro.pdf
Tomohiko Morita
October 10, 2026
More Decks by Tomohiko Morita
See All by Tomohiko Morita
owaspkansai_x_oecu_intro_20261011.pdf
deka_morita
0
48
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
410
(会社ライフ)ハッカーになろう / Let's Become a Corporate-life-hacker
deka_morita
0
1k
ガンダム × ネーミング
deka_morita
0
790
クレジットカードを不正利用された話
deka_morita
0
1.6k
ガンダム勉強会@関西アンケート集計
deka_morita
0
820
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
710
物理なポチポチ操作自動化
deka_morita
1
330
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
1.5k
Other Decks in Programming
See All in Programming
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
490
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
7.7k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
110
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
340
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
380
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Bash Introduction
62gerente
615
220k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Designing for Timeless Needs
cassininazir
1
520
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
510
Writing Fast Ruby
sferik
630
63k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
Faster Mobile Websites
deanohume
310
32k
Transcript
.NETやられアプリ VULN ClICKER
.NET Frameworkとは C#で書いたプログラムを実行するためのプラットフォーム 業務アプリの開発に使われるケースが多い ゲームエンジンUnityでも.NET Framework 4.xのAPIを利用可能
中間言語IL(Intermediate Language/中間言語)を採用している点が特徴 CPU 非依存の中間命令セット デコンパイルしやすい
中間言語 C C# C#コンパイラ Cコンパイラ IL(中間言語) .dll / .exe JITコンパイラ
機械語 (CPU向けの言語に変換) 機械語
デコンパイラ dnSpy ILSpy C# IL(中間言語) .dll / .exe
JITコンパイラ 機械語 デコンパイラ C#風のソースコードに戻す 関数名を復元できる
テキストエディタでdll表示
やられアプリ VulnClicker https://github.com/tom-morita/VulnClicker/ 「vulnerability」(脆弱性) Clickerゲーム
VulnClickerの構成 ZipをDLし、任意のフォルダに展開する VulnClicker_1.0.0 ├─tool │ bese64_calculator.py │ httpreq2curl.py │
request.txt │ ├─VulnClicker │ VulnClicker.exe │ VulnClicker.dll │ ・・・ │ └─VulnClickerScoreServer │ VulnClickerScoreServer.exe │ VulnClickerScoreServer.dll │ VulnClickerScoreServer.pdb │ ・・・ │ └─Data scores.json 解析支援ツール python やられアプリ本体 解析対象 HTTPクライアント 簡易スコアサーバー 解析対象外 HTTPサーバー(TLSにより通信暗号化)
やられアプリの動かし方 ZipをDLし、任意のフォルダに展開する やられアプリ「VulnClicker.exe」を実行 VulnClicker_1.0.0 ├─tool │ bese64_calculator.py │
httpreq2curl.py │ request.txt │ ├─VulnClicker │ VulnClicker.exe ←まずこれを実行 │ VulnClicker.dll │ ・・・ │ └─VulnClickerScoreServer │ VulnClickerScoreServer.exe │ VulnClickerScoreServer.dll │ VulnClickerScoreServer.pdb │ ・・・ │ └─Data scores.json
スコアサーバーの動かし方 証明書の設定を行う cd <Zipを展開したディレクトリ> cd .¥VulnClicker_1.0.0¥VulnClicker_1.0.0¥VulnClickerScoreServer dotnet dev-certs https
--check --trust dotnet dev-certs https dotnet dev-certs https --check --trust dotnet dev-certs https --trust Successfully trusted the existing HTTPS certificate.という表示が出ればOK スコアサーバー「VulnClickerScoreServer.exe」を実行
やられアプリ ゲーム機能 30秒間のスコアを競うクリッカーゲーム スコアサーバーが起動していれば、スコアの登録 が可能(HTTPS通信) ハイスコアはtop10ランキング入り
その他の機能 起動日や起動回数のカウント シリアルコードを入力し、モード変更できる ストップ、再スタート スコアをファイルにエクスポート・インポート スコアの改ざんチェック機能
dnSpyの起動 Zipをダウンロードし展開 「dnSpy.exe」を起動 dnSpy上で、File>Open> 「VulnClicker.dll」を選択 DLL:
Dynamic Link Library 動的リンクライブラリ →C#コンパイルにより生成 されたILのファイル
dnSpyの読み方のコツ System.*は.NETの標準ライブラリ 解析対象外なので読む必要なし VulnClickerが今回のやられアプリ Activation
シリアルコード認証していそう怪 しい Clicker クリック回数のカウントなどアプ リの主要部分 濃いオレンジ色 →C#で記述した関数名
dnSpyの便利機能1 Serach機能 Edit>SearchAssembliesで右下 に検索窓が開く 検索条件「Options」の設定 「Search
in framework assemblies」はオフにする。解 析対象外の標準ライブラリを除外 してくれる。(System.*系) 「Serch For:」で検索対象を設定。 「Number/String」でハードコー ディングされた値や文字列を探し やすい。それで見つからない場合 は「All of the Above」に変更 シリアルコード で検索した例
dnSpyの便利機能2 Analyze 右クリックして「Analyze」 UsedBy,Usesでどこで使われているかを列記してくれる
セキュリティ対策の基礎知識 ハードコーディング ユーザーの手元にあるプログラムは解析される 攻撃の手掛かりになるダメ絶対。難読化、暗号化しても・・・
全アプリで共通の値を避ける、サーバー側で個別生成する、など 暗号化 通信の暗号化、データの暗号化 基本的に復号するには「鍵」が必要 ハッシュ 値やファイルが改ざんされていることをチェックできる。 入力に対して出力がかなりランダムで偶然の一致がほぼない。出力から入力を予測することが困難 Sha256など エンコード 一定のルールに従った文字列の変換、デコードも可能。暗号化ではない base64など
ハンズオン