Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PLAY & PLAY & PLAY with Ghidra Debugger
Search
mopi
August 10, 2021
Technology
0
310
PLAY & PLAY & PLAY with Ghidra Debugger
【セキュリティ・キャンプ全国大会2021オンライン】のLT大会で使用した資料です。
mopi
August 10, 2021
Tweet
Share
More Decks by mopi
See All by mopi
Discordを乗っ取るマルウェアの解析
mopisec
0
140
Analyzing C# (.NET) Malware
mopisec
1
510
DetExploit - Windows用OSS脆弱性スキャナー (未踏ジュニア最終成果報告会)
mopisec
0
140
Other Decks in Technology
See All in Technology
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
180
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Shinya Takamaeda)
nao_sumikawa
0
120
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
210
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
2
350
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
4.7k
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
210
計算機科学をRubyと歩む 〜DFA型正規表現エンジンをつくる~
ydah
3
190
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
安いGPUレンタルサービスについて
aratako
2
2.6k
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.2k
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
240
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
300
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Producing Creativity
orderedlist
PRO
348
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How to Ace a Technical Interview
jacobian
280
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[SF Ruby Conf 2025] Rails X
palkan
0
490
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Statistics for Hackers
jakevdp
799
230k
Transcript
セキュリティ・キャンプ 全国大会 2021 2021/08/09 : LT大会 : mopi (@mopisec) PLAY
& PLAY & PLAY with
• mopi (a.k.a. mopisec) • 情報セキュリティ • DFIR • マルウェア解析
• セキュリティ・キャンプ • 全国大会 2018 修了生 • ネクストキャンプ, GCCなど… • More: https://mopisec.net twitter.com/mopisec
• Software Reverse Engineering Suite (公式サイトより) • Check: https://ghidra-sre.org •
NSAによって開発されたプログラムのリバースエンジニア リング(静的解析)に特化したツール(群) • CTFのReversing問からマルウェア解析まで全世界で多くの人に 使われている優秀なツール • 2021/06/24に新しいメジャーバージョンであるv10.0が 正式リリースされた
• 新しいデバッガーの登場 • コンパイラ仕様(挙動)をユーザーが定義できる機能 • 実行時型情報からクラス情報を復元する機能 • PDBファイルの適用・管理のUXが改善された • 解析オプションの管理が簡単になった
• などなど…… • 詳しくはGitHub上の “What’s New” から確認!!!
• 新しいデバッガーの登場 • コンパイラ仕様(挙動)をユーザーが定義できる機能 • 実行時型情報からクラス情報を復元する機能 • PDBファイルの適用・管理のUXが改善された • 解析オプションの管理が簡単になった
• などなど…… • 詳しくはGitHub上の “What’s New” から確認!!!
• 数多くのユーザーが求めていた機能 • Does GHIDRA have a debugger? https://security.stackexchange.com/questions/204906/ does-ghidra-have-a-debugger
• Debugger? https://www.reddit.com/r/ghidra/comments/eog9wf/debu gger/
• プログラムを実行しながら解析することができる • 動的解析 • 逆アセンブルしたコード、レジスタ、メモリ、スタックな どを視ながら解析できるため、プログラムがどんな挙動を しているか把握しやすい • gdb,
OllyDbg, Immunity Debuggerなど • CTFでPwn,Revカテゴリの問題を解いている人にとっては “gdb”や”Radare2”が身近かもしれませんね
• Windows10を導入した仮想マシンにGhidra v10.0 PUBLICを 導入し、適当に探してきたcrackmeを解析してみる https://crackmes.one/crackme/5fe8258333c5d4264e590114
• 挙動は一般的なcrackmeと同じ • ユーザーからの入力を受け付けて、入力が予めプログラム 内で定義されたパスワードと一致すれば終了し、そうでな ければ “wrong pass!!” と出力する
• 適当なProjectを作成し、crackmeの実行ファイルをイン ポートし、Debuggerボタン (虫のアイコン)をクリック Debuggerボタン
None
None
デコンパイル 結果 ブレークポイ ント モジュール 一覧 など 実行ファイルに 関する情報 スタックの状態を表示
スレッドの一覧を表示 デバッガーの 状態を表示 Symbol Tree など
• Main関数までプログラムを実行して
• パスワードとユーザーからの入力を比較している 場所にブレークポイントを設置する
• ブレークポイントが作動した後、メモリ内を検索 しパスワードらしきデータを探す • これで “password123” こそが本crackmeの答えで あることがわかった
• 前提: 30分程度しか触っていない (重要) • 現時点では他のDebuggerを差し置いて使用する理 由はないと感じた (v10.0 PUBLIC時点, 私の感想)
• とても不安定 (Ghidraのメニューやボタンが解析中に消える) • インターフェースが無駄に複雑 (デフォルト状態. カスタマイズすれば改善可能)
• ただ、逆アセンブルではなくデコンパイルされた コードを参照しながらデバッグが可能だったのは とても面白かった • IDAも便利だがx64しか Free版はデコンパイル できないので…… • 今後に期待!!!