Suche senden
Hochladen
ctfで学ぼうリバースエンジニアリング
•
5 gefällt mir
•
6,740 views
J
junk_coken
Folgen
初心者向け、SECCON2015binary100の解説LT
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
目grep入門 +解説
目grep入門 +解説
murachue
Empfohlen
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
目grep入門 +解説
目grep入門 +解説
murachue
CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!
kazkiti
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
hama7230
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
CTFとは
CTFとは
Hiromu Yakura
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
えっ今日はハッキングしてもいいのか?(CTF Web入門)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
Format string Attack
Format string Attack
icchy
Constexpr 中3女子テクニック
Constexpr 中3女子テクニック
Genya Murakami
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Masashi Shibata
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
junk_coken
セキュリティを学ぼう~Ctfを添えて~
セキュリティを学ぼう~Ctfを添えて~
Takumi Ishibashi
Weitere ähnliche Inhalte
Was ist angesagt?
CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!
kazkiti
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
hama7230
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
CTFとは
CTFとは
Hiromu Yakura
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
えっ今日はハッキングしてもいいのか?(CTF Web入門)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
Format string Attack
Format string Attack
icchy
Constexpr 中3女子テクニック
Constexpr 中3女子テクニック
Genya Murakami
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Masashi Shibata
Was ist angesagt?
(20)
CVE、JVN番号の取得経験者になろう!
CVE、JVN番号の取得経験者になろう!
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
プログラムを高速化する話
プログラムを高速化する話
暗号技術の実装と数学
暗号技術の実装と数学
CTFとは
CTFとは
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
実践イカパケット解析
実践イカパケット解析
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
えっ今日はハッキングしてもいいのか?(CTF Web入門)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
冬のLock free祭り safe
冬のLock free祭り safe
Format string Attack
Format string Attack
Constexpr 中3女子テクニック
Constexpr 中3女子テクニック
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
Andere mochten auch
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
junk_coken
セキュリティを学ぼう~Ctfを添えて~
セキュリティを学ぼう~Ctfを添えて~
Takumi Ishibashi
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
nomuken
CTF初心者🔰
CTF初心者🔰
icchy
Summary of "Hacking", 0x351-0x354
Summary of "Hacking", 0x351-0x354
Taku Miyakawa
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
trmr
Beta
Beta
Nithin Chandran
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
inaz2
Andere mochten auch
(8)
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
セキュリティを学ぼう~Ctfを添えて~
セキュリティを学ぼう~Ctfを添えて~
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
CTF初心者🔰
CTF初心者🔰
Summary of "Hacking", 0x351-0x354
Summary of "Hacking", 0x351-0x354
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
Beta
Beta
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
Ähnlich wie ctfで学ぼうリバースエンジニアリング
Kosenconf sendai2
Kosenconf sendai2
Yutaka Watanabe
自作CTFについて考えてみる
自作CTFについて考えてみる
nomuken
CTFの布教
CTFの布教
FPC_COMMUNITY
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃
monochrojazz
さらば、Stagefright 脆弱性
さらば、Stagefright 脆弱性
Tsukasa Oi
CTF, What's in it for me?
CTF, What's in it for me?
Hiromu Yakura
機械学習・ディープラーニング、ITの実装スキル学ぶ方法(と私の場合)
機械学習・ディープラーニング、ITの実装スキル学ぶ方法(と私の場合)
小川 雄太郎
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
Asuka Nakajima
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
耕二 阿部
OSC Kyoto CTF Seminar
OSC Kyoto CTF Seminar
pinksawtooth
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
CODE BLUE
SECCON CTF セキュリティ競技会コンテスト開催について
SECCON CTF セキュリティ競技会コンテスト開催について
takesako
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
Kenji Aiko
CTFというハッカーイベント+α
CTFというハッカーイベント+α
Yuichi Nagayama
katagaitaictf7_hw_ysk
katagaitaictf7_hw_ysk
ysk256
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる
fumoto kazuhiro
私立プログラミングキャンプ
私立プログラミングキャンプ
qqww77
設計ビギナーが語るソフトウェア設計
設計ビギナーが語るソフトウェア設計
akkey342
Ähnlich wie ctfで学ぼうリバースエンジニアリング
(20)
Kosenconf sendai2
Kosenconf sendai2
自作CTFについて考えてみる
自作CTFについて考えてみる
CTFの布教
CTFの布教
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃
さらば、Stagefright 脆弱性
さらば、Stagefright 脆弱性
CTF, What's in it for me?
CTF, What's in it for me?
機械学習・ディープラーニング、ITの実装スキル学ぶ方法(と私の場合)
機械学習・ディープラーニング、ITの実装スキル学ぶ方法(と私の場合)
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
OSC Kyoto CTF Seminar
OSC Kyoto CTF Seminar
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
[CB19] アンチウイルスをオラクルとしたWindows Defenderに対する新しい攻撃手法 by 市川遼
SECCON CTF セキュリティ競技会コンテスト開催について
SECCON CTF セキュリティ競技会コンテスト開催について
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
CTFというハッカーイベント+α
CTFというハッカーイベント+α
katagaitaictf7_hw_ysk
katagaitaictf7_hw_ysk
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる
私立プログラミングキャンプ
私立プログラミングキャンプ
設計ビギナーが語るソフトウェア設計
設計ビギナーが語るソフトウェア設計
Kürzlich hochgeladen
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Kürzlich hochgeladen
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
ctfで学ぼうリバースエンジニアリング
1.
CTFで学ぼう! リバースエンジニアリング @junk_coken
2.
自己紹介 ● ジャンクさん(@junk_coken) ● どこかの留年しそうな専門学校生 ●
セキュリティのことを勉強中 ● java女子部は昨年12月の部活からの超新参 ● CTF初心者 ● LT初です
3.
リバースエンジニアリング、ご存知ですか?
4.
リバースエンジニアリングとは ● 機械語である実行ファイル(.jarなど)から人間が 読めるソースコードを導き出すこと。 (一部の超人はバイナリ読んじゃう) ● マルウェア(ウイルス)の解析によく使われる手法 の一つ。
5.
では、CTFはご存知ですか?
6.
CTFとは ● Capture The
Flagの略。 ● セキュリティ技術を競うコンテスト。 ● 有名なCTFでは日本では「SECCON」、 海外では 「DEFCON」などがある。 ● CTFで問われる技術の中に、 リバースエンジニアリングが存在する!
7.
リバースエンジニアリング問題を 解いてみよう!
8.
SECCON2015 Online CTF
binary100 Reverse-Engineering Android APK 1 問題文:じゃんけんに1000回連続で勝ち続けよ rps.apk ← 実行ファイルが落ちてくる (解答は SECCON{hogehoge} の形式)
9.
10.
リバースエンジニアリングは難しい?
11.
リバースエンジニアリングは難しい? ツールで簡単!!!!!
12.
ざっくりリバースエンジニアリング 1. apkをzipとして解凍 2. 中のclasses.dexをdex2jarというツールでjarファイルに変換 3.
変換したjarをzipとして解凍 4. 中のclassファイルをjd-guiというツールで開く 参考: http://qiita.com/kasaharu/items/900fc937be80d87090ce http://d.hatena.ne.jp/ozuma/20130817/1376748772 _人人人人人人_> 完成 < ̄^Y^Y^Y^Y^Y ̄
13.
読める!! 読めるぞ!!
14.
if (1000 ==
MainActivity.this.cnt) { localTextView.setText("SECCON{" + String. valueOf((MainActivity.this.cnt + MainActivity.this. calc()) * 107) + "}"); } つまり・・・ 解答:SECCON{ (1000+calc()の値) * 107 }
15.
calc()とは何ぞや? static { System.loadLibrary("calc"); } public native int
calc(); どうやらライブラリらしい・・・ libフォルダにlibcalc.soが存在
16.
soファイルとは? ● Shared Objectという共有ライブラリ ●
Linuxで扱われるELF形式の実行ファイル ● javaほどわかりやすい リバースエンジニアリングはできない 逆アセンブルをすることになる
17.
x86フォルダ内のlibcalc.soをobjdumpで逆アセンブル! $ objdump -d
libcalc.so <Java_com_example_seccon2015_rock_1paper_1scissors_ MainActivity_calc>: 400: b8 07 00 00 00 mov $0x7,%eax 405: c3 ret movは値をレジスタ(ここではeax)に格納する命令。 7をeaxに格納し、戻り値としてeaxを返している。 soファイルをリバースエンジニアリング!
18.
x86フォルダ内のlibcalc.soをobjdumpで逆アセンブル! $ objdump -d
libcalc.so <Java_com_example_seccon2015_rock_1paper_1scissors_ MainActivity_calc>: 400: b8 07 00 00 00 mov $0x7,%eax 405: c3 ret movは値をレジスタ(ここではeax)に格納する命令。 7をeaxに格納し、戻り値としてeaxを返している。 soファイルをリバースエンジニアリング! calc()は7を返すことがわかる!
19.
それでは解答! SECCON{(1000+7) * 107} ↓ SECCON{107749} SECCON2015onlineCTF問題:https://github. com/SECCON/SECCON2015_online_CTF
20.
まとめ ● リバースエンジニアリングすることでflagのように隠された情報 がわかってしまう (例えば、秘密鍵をそのままソースに埋めていたら・・・) ● 難読化を行うことでリバースエンジニアリングされにくくするこ とはできるが大体時間稼ぎにしかならないと思われる。 ●
機密情報はなるべくソースに入れないのが吉。
21.
まとめ ここで紹介した技術は絶対に悪用しないように お願いします。 基本的にリバースエンジニアリングは著作者の許可 なく行うことは許されません。
22.
ご清聴ありがとうございました
Jetzt herunterladen