SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
CTF超入門 (for 第12回セキュリティさくら)
Report
kikuchan98
Follow
Mar. 9, 2015
•
0 likes
•
81,185 views
1
of
117
CTF超入門 (for 第12回セキュリティさくら)
Mar. 9, 2015
•
0 likes
•
81,185 views
Download Now
Download to read offline
Report
Technology
「第12回セキュリティさくら」で発表したLT資料です
kikuchan98
Follow
Recommended
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
43.9K views
•
108 slides
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
9.5K views
•
102 slides
Ctfのためのpython入門
shiracamus
41.8K views
•
62 slides
初心者向けCTFのWeb分野の強化法
kazkiti
15.5K views
•
38 slides
ctfで学ぼうリバースエンジニアリング
junk_coken
6.5K views
•
22 slides
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
25.6K views
•
90 slides
More Related Content
What's hot
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
225 views
•
33 slides
CTFとは
Hiromu Yakura
40.4K views
•
33 slides
CTFはとんでもないものを 盗んでいきました。私の時間です…
Hiromu Yakura
139.8K views
•
233 slides
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
57.5K views
•
32 slides
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
621 views
•
22 slides
セキュリティを楽しむ(CTFとbugbountyの始め方)
kazkiti
3K views
•
19 slides
What's hot
(20)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
•
225 views
CTFとは
Hiromu Yakura
•
40.4K views
CTFはとんでもないものを 盗んでいきました。私の時間です…
Hiromu Yakura
•
139.8K views
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
•
57.5K views
初心者がRSA暗号を教わったら自力でCTFの問題が解けるようになった話
mariydi1
•
621 views
セキュリティを楽しむ(CTFとbugbountyの始め方)
kazkiti
•
3K views
Pythonによる黒魔術入門
大樹 小倉
•
44.2K views
不遇の標準ライブラリ - valarray
Ryosuke839
•
7.3K views
katagaitai CTF勉強会 #5 Crypto
trmr
•
6.3K views
実践イカパケット解析
Yuki Mizuno
•
118.5K views
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
•
8.2K views
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
•
35.6K views
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
•
23.8K views
コンピュータフォレンジックにちょっとだけ触れてみる
infinite_loop
•
12.3K views
Scapyで作る・解析するパケット
Takaaki Hoyo
•
34.7K views
組み込みでこそC++を使う10の理由
kikairoya
•
26.9K views
BERT分類ワークショップ.pptx
Kouta Nakayama
•
455 views
CVE、JVN番号の取得経験者になろう!
kazkiti
•
2.1K views
目grep入門 +解説
murachue
•
88.6K views
SAT/SMTソルバの仕組み
Masahiro Sakai
•
36.4K views
Similar to CTF超入門 (for 第12回セキュリティさくら)
CTFの布教
FPC_COMMUNITY
94 views
•
9 slides
OSC Kyoto CTF Seminar
pinksawtooth
1.9K views
•
56 slides
Kosenconf sendai2
Yutaka Watanabe
1.4K views
•
16 slides
CTFに参加してきました。
kuro kuro
1.2K views
•
18 slides
CTFというハッカーイベント+α
Yuichi Nagayama
1.8K views
•
30 slides
自作CTFについて考えてみる
nomuken
2.6K views
•
18 slides
Similar to CTF超入門 (for 第12回セキュリティさくら)
(20)
CTFの布教
FPC_COMMUNITY
•
94 views
OSC Kyoto CTF Seminar
pinksawtooth
•
1.9K views
Kosenconf sendai2
Yutaka Watanabe
•
1.4K views
CTFに参加してきました。
kuro kuro
•
1.2K views
CTFというハッカーイベント+α
Yuichi Nagayama
•
1.8K views
自作CTFについて考えてみる
nomuken
•
2.6K views
ipu LT - Introduction of CTF
Tsubasa Umeuchi
•
96 views
TRY CTF
Yuya Masumura
•
379 views
CTFのはじめかた @ 2018年度技術系サークル合同新歓
uecmma
•
353 views
[CB19] S-TIP: サイバー脅威インテリジェンスのシームレスな活用プラットフォーム by 山田 幸治, 里見 敏孝
CODE BLUE
•
1.2K views
(ISC)2 secure japan 2021 自動車のサイバーセキュリティアプローチ
trmr
•
353 views
BitVisor Summit 7「5. CTFVisor: BitVisorによるCTF作問・出題支援」
BitVisor
•
245 views
私立プログラミングキャンプ
qqww77
•
638 views
kagamicomput201814
swkagami
•
934 views
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
•
1.8K views
IoT診断入門
黒 林檎
•
22.7K views
Itパスポート勉強会for vb aer_ネットアップ版_20210731
Ryu CyberWintelligent
•
152 views
KOGEI & KAIT Funnel WS
Shigeru Kobayashi
•
442 views
SECCON CTF セキュリティ競技会コンテスト開催について
takesako
•
12K views
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
Asuka Nakajima
•
22.9K views
Recently uploaded
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
6 views
•
1 slide
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
11 views
•
24 slides
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
7 views
•
1 slide
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
149 views
•
12 slides
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
170 views
•
16 slides
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
28 views
•
18 slides
Recently uploaded
(13)
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
6 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
11 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
149 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
170 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
28 views
CatBoost on GPU のひみつ
Takuji Tahara
•
780 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
69 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
17 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
45 views
画像生成AIの問題点
iPride Co., Ltd.
•
13 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
125 views
CTF超入門 (for 第12回セキュリティさくら)
1.
こわくない CTF超入門 @kikuchan98 for 第12回セキュリティさくら
2.
CTFとは Capture The Flag:
旗とり合戦 ● 攻防戦方式 ● クイズ方式
3.
CTFとは Capture The Flag:
旗とり合戦 ● 攻防戦方式 (今日は割愛…) ● クイズ方式 (入門にオススメ!) サーバやプログラム、ファイル などから、フラグという文字列を 機密情報になぞらえて奪取する 遊び
4.
CTFとは ● 情報通信技術を用いた 「知恵の輪」 (by @9GHzさん) (ごめん、当日、間違えてました…)
5.
どんな問題が出る?
6.
問題ジャンル 一般的には ● Binary (リバースエンジニアリングなど) ● Exploits (シェルコードなど) ● Web ● Forensics ● Network など
7.
CTFのすゝめ 何が身につくか: ● 情報通信技術(ICT)に関する 幅広い技術・知識 ● 高度なセキュリティ技術・知識 ● 問題解決能力 (デバッグ力)
8.
何故か?
9.
出題範囲が広い ● 暗号理論 ● 符号理論 ● 信号処理 ● 画像処理 ● 通信技術
10.
出題範囲が広い ● 組み込み技術 ● Web技術 ● 公開鍵基盤(PKI) ● プログラミング言語 ● データベース
11.
出題範囲が広い ● オペレーティングシステム ● ファイルシステム ● API (POSIX, Win32API) ● ファイルフォーマット ● 符号化
12.
出題範囲が広い ● 脆弱性,バグ ● Exploits (Bin術) ● 情報の秘匿 ● ログ解析 ● ツール ● 雑学
13.
…
14.
……
15.
………
16.
広すぎね?
17.
だから CTF をやろう CTFを通じて、広範囲の高い技 術と知識を手に入れることがで きる ● ノウハウの塊 ● 情報の高速道路に乗れる
18.
というわけで
19.
やってみよう
20.
問題1
21.
問題1
22.
問題1
23.
問題1
24.
問題1
25.
問題1
26.
問題1
27.
問題1
28.
問題1
29.
解けた?
30.
で、何? この問題は…
31.
で、何? この問題は… ● 重要な情報が欠落している
32.
で、何? この問題は… ● 重要な情報が欠落している ● そのままでは読めない
33.
で、何? この問題は… ● 重要な情報が欠落している ● そのままでは読めない ● 知識があれば復元可能
34.
おk?
35.
じゃあこれは?
36.
問題2
37.
実は この問題も… ● 重要な情報が欠落している ● そのままでは読めない ● 知識があれば復元可能
38.
復元可能!
39.
どうするか?
40.
仕様 http://en.wikipedia.org/wiki/QR_code
41.
仕様 http://en.wikipedia.org/wiki/QR_code
42.
つまり データが 残ってる
43.
大差無い
44.
詳しい手順は… 吉村くんの write-up http://eleclog.quitsq.com/2014/01/seccon -ctf-2013-online-forensics-400.html または 「SECCON 2013
qr」 で検索
45.
次
46.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
47.
暗号とは ● 解読方法を知らない人には 解読できない ● 意味の無い情報に見える
48.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
49.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
50.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr. スペース、記号の位置はそのまま? ⇒ アルファベットだけが対象?
51.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
52.
問題3 (暗号) ● 次の暗号文を解読しなさい Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
53.
考える ● 記号・スペースがそのまま ● 文章そのままの可能性 ● まずは、換字式暗号を仮定 ● 大文字で始まる ● とりあえず、英語を仮定
54.
考える ● r が多い ● r ⇒
e を仮定する ● ‘ir から ’ve を予想 ● i ⇒ v を仮定 ● r ⇒ e の仮定と矛盾しない
55.
問題3 (暗号) ● 当てはめる Uryyb, jrypbzr gb Frphevgl FNXHEN. Jr ubcr lbh'ir rawblrq gur pbasrerapr.
56.
問題3 (暗号) ● 当てはめる Ueyyb, jeypbze gb Fephevgl FNXHEN. Je ubce lbh've eawbleq gue pbaseeeape.
57.
考える ● gur から
the を予想 ● g ⇒ t, u ⇒ h の仮定 ● r ⇒ e の仮定と矛盾しない ● gb から to を予想 ● b ⇒ o の仮定 ● g ⇒ t の仮定と矛盾しない
58.
考える ● ここまでの対応表 ● r ⇒ e ●
i ⇒ v ● g ⇒ t ● u ⇒ h ● b ⇒ o
59.
問題3 (暗号) ● 当てはめる Heyyo, jeypoze to Fephevtl FNXHEN. Je hoce loh've eawoleq the poaseeeape.
60.
別の角度からも考える ● ASCIIコード(16進数)で考える ● 0x72 ⇒ 0x65 ●
0x69 ⇒ 0x76 ● 0x67 ⇒ 0x74 ● 0x75 ⇒ 0x68 ● 0x62 ⇒ 0x6f
61.
別の角度からも考える ● 引いてみる ● 0x72 - 0x65 = 0x0d ●
0x69 - 0x76 = 0x0d (0xf3) ● 0x67 - 0x74 = 0x0d (0xf3) ● 0x75 - 0x68 = 0x0d ● 0x62 - 0x6f = 0x0d (0xf3)
62.
問題3 (暗号) ● 当てはめる Heyyo, jeypoze to Fephevtl FNXHEN. Je hoce loh've eawoleq the poaseeeape.
63.
問題3 (暗号) ● 当てはめる Hello, welcome to Fephevtl FNXHEN. Je hoce loh've eawoleq the poaseeeape.
64.
問題3 (暗号) ● 当てはめる Hello, welcome to Security SAKURA. Je hoce loh've eawoleq the poaseeeape.
65.
問題3 (暗号) ● 当てはめる Hello, welcome to Security SAKURA. We hope you've eawoleq the poaseeeape.
66.
問題3 (暗号) ● 当てはめる Hello, welcome to Security SAKURA. We hope you've enjoyed the conference.
67.
問題3 (暗号) 答え ● 単換字式暗号 ● アルファベットが、13文字分 ずれている ● 別名 ROT13
68.
問題3 (暗号) http://en.wikipedia.org/wiki/ROT13
69.
問題3 (暗号) 別解 ● 見た瞬間、何故か読める ● 勘で解く 「どうせROT13じゃねぇの?」 ● 当てずっぽうで色々な古典暗号 を試す
70.
問題3 (暗号) 別解 ● "Uryyb" でググる!
71.
問題3 (暗号)
72.
問題3 (暗号)
73.
じゃあこれは?
74.
問題4 (暗号)
75.
問題4 (暗号)
76.
一方…
77.
ステガノグラフィとは ● 解読方法を知らない人には 解読できない ● 別の情報に見える
78.
問題5 (ステガノ)
79.
問題5 (ステガノ)
80.
問題5 (ステガノ)
81.
問題5 (ステガノ) 全部奇数 例) R: 209 G:
173 B: 151
82.
問題5 (ステガノ) この辺だけ偶数 例) R: 212 G:
140 B: 70
83.
プログラム #include <stdio.h> #include <stdlib.h> #include <string.h> main() { char buf[1024]; int ch; fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); while ((ch = getchar()) != EOF) { putchar((ch & 1) ? ch / 2 : 255); } }
84.
プログラム #include <stdio.h> #include <stdlib.h> #include <string.h> main() { char buf[1024]; int ch; fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); while ((ch = getchar()) != EOF) { putchar((ch & 1) ? ch / 2 : 255); } }
85.
プログラム #include <stdio.h> #include <stdlib.h> #include <string.h> main() { char buf[1024]; int ch; fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); fputs(fgets(buf, sizeof(buf), stdin), stdout); while ((ch = getchar()) != EOF) { putchar((ch & 1) ? ch / 2 : 255); } } 奇数のときは、明るさ1/2 偶数のときは、白
86.
実行 % pngtopnm pizza.png | ./a.out | pnmquant 256 | ppmtosixel
87.
実行 % pngtopnm pizza.png | ./a.out | pnmquant 256 | ppmtosixel
88.
まとめ ● CTFはICTを活用した知恵の輪 ● 技術力の向上 ● 腕試し ● セキュリティ意識の向上 ● PC1台で簡単に遊べる ● こわくない
89.
Gunax lbh sbe yvfgravat!
90.
Thnax loh soe yvfgeavat!
91.
Thnnx loh soe yvfgenvnt!
92.
Thank you for listening!
95.
あとがき(追記) ● CTFの出題範囲っぽいものを書き出してみてた けど、本当に多すぎたのでボツ。 次ページ以降に載せてるので、キーワード集と かに使ってみてね。 分類が前のページと違ってるけどキニシナイ。 ● 実在のCTFの紹介をするの忘れてた…。 常設では ksnctf や
akictf とか。 オフラインだと ctf4b や SECCON といった活 動があるよ。
96.
暗号理論 ● 古典暗号 ● 換字式暗号 ● 転置式暗号 ● 現代暗号 ● 共通鍵暗号 ● 公開鍵暗号
97.
暗号理論 ● 暗号解読, 攻撃法 ● 暗号文単独攻撃 ● 既知平文攻撃 ● サイドチャネル攻撃 ● バースデー攻撃
98.
符号理論 ● 圧縮, 伸長 ● ハフマン符号 ● LZ法 ● 誤り検出 ● チェックサム, CRC ● パリティ検査 ● ハッシュ関数
(MD5, sha1 など)
99.
符号理論 ● 誤り訂正 ● リードソロモン, BCH ● 疑似乱数 ● 線形合同法 (rand,
random) ● Mersenne Twister ● エンコード, デコード ● Base64, uuencode, BinHex
100.
信号処理 ● フーリエ変換 ● 変調, 復調 ● AM, FM ● PSK ● PWM ● フィルター ● LPF,
HPF
101.
画像処理 ● 2値化 ● エッジ検出 ● 画像認識 ● 文字認識 ● 図形認識 ● 顔認識
102.
通信技術 ● 無線技術 ● ネットワーク (プロトコル) ● TCP/IP ● HTTP, HTTPS ● FTP
103.
組み込み系技術 ● 電子回路 ● トランジスタ, LED ● 論理回路 ● 組み合わせ回路 ● 順序回路 ● FPGA ● Verilog, VHDL
104.
Web技術 ● HTML, CSS, JavaScript ● Cookie ● HTTP ● Headers
(Host, Cookie) ● Methods (GET, POST) ● Status codes (200, 404, 401)
105.
公開鍵基盤(PKI) ● 暗号スイート ● 認証局(CA) ● 証明書, 検証手段 ● SSL, TLS
106.
プログラミング言語 ● C, C++ ● Python ● JavaScript ● アセンブラ ● x86, x86_64 ● arm ● sh3,
sh4
107.
オペレーティングシステム UNIX系OS, Windowsなどの OS固有な部分 ● 操作方法, コマンド ● 特殊なファイルの場所 ● 文化 ● ハマりどころ
108.
API ● POSIX ● Win32 API ● socket
109.
ファイルシステム ● FAT, FAT32, VFAT ● FFS ● Ext2fs ● NTFS ● ZFS
110.
ファイルフォーマット ● JPEG, PNG, GIF,
BMP ● ZIP, LZH, 7z, CAB ● EXE, ELF, a.out ● WAV ● AVI, MP4
111.
データベース ● SQLite ● MySQL ● PostgreSQL ● Oracle ● MongoDB
112.
雑学 ● モールス信号, 手旗信号 ● 難解言語 ● パンチカード ● 文字コード (闇) ● バーコード,
2次元バーコード
113.
各種ツール ● IDA, gdb, binutils ● デコンパイラ ● Metasploit ● tcpdump,
wireshark ● nc, wget, curl
114.
脆弱性, バグ ● メモリ破壊 ● パーミッション不備 ● 入出力の検証, 無害化漏れ ● 設定不備 ● 設計不備
115.
脆弱性の攻撃手法 ● 既知のexploits ● ディレクトリトラバーサル ● バッファオーバーフロー, ROP ● Code injection ● SQL
injection, Command injection ● XSS, CSRF ● 中間者攻撃(MITM)
116.
情報の秘匿 ● 暗号化 ● 難読化, アンパック ● ステガノグラフィ
117.
痕跡の情報 ● デバッグ情報 ● ログファイル ● ヒストリーファイル ● タイムライン解析