Suche senden
Hochladen
CTFでアレコレ
•
Als PPTX, PDF herunterladen
•
3 gefällt mir
•
1,858 views
H
hama7230
Folgen
fukuitech 7.5
Weniger lesen
Mehr lesen
Präsentationen & Vorträge
Melden
Teilen
Melden
Teilen
1 von 35
Jetzt herunterladen
Empfohlen
Ec2でのdisk拡張方法
Ec2でのdisk拡張方法
Takamasa Sakai
Custom Package Building with Poudriere
Custom Package Building with Poudriere
Yuichiro Naito
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
kataware
Slide
Slide
Kazki Matsumoto
Programming under capability mode
Programming under capability mode
Yuichiro Naito
hiding
hiding
cookies 146
Firefox OS + Raspberry Pi
Firefox OS + Raspberry Pi
EnsekiTT
「Tsurugi Linux」プレゼンテーションAVTOKYO2018
「Tsurugi Linux」プレゼンテーションAVTOKYO2018
unixfreaxjp
Empfohlen
Ec2でのdisk拡張方法
Ec2でのdisk拡張方法
Takamasa Sakai
Custom Package Building with Poudriere
Custom Package Building with Poudriere
Yuichiro Naito
名古屋セキュリティ勉強会LT~学内CTFの話~
名古屋セキュリティ勉強会LT~学内CTFの話~
kataware
Slide
Slide
Kazki Matsumoto
Programming under capability mode
Programming under capability mode
Yuichiro Naito
hiding
hiding
cookies 146
Firefox OS + Raspberry Pi
Firefox OS + Raspberry Pi
EnsekiTT
「Tsurugi Linux」プレゼンテーションAVTOKYO2018
「Tsurugi Linux」プレゼンテーションAVTOKYO2018
unixfreaxjp
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
Katsuyoshi Matsumoto
[社内LT][Debian] お前はもう使っている-2013/05/24
[社内LT][Debian] お前はもう使っている-2013/05/24
Aya Komuro
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Aya Komuro
Linux container update
Linux container update
Motohiro KOSAKI
Weitere ähnliche Inhalte
Was ist angesagt?
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
Katsuyoshi Matsumoto
[社内LT][Debian] お前はもう使っている-2013/05/24
[社内LT][Debian] お前はもう使っている-2013/05/24
Aya Komuro
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Nobuto Murata
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Aya Komuro
Linux container update
Linux container update
Motohiro KOSAKI
Was ist angesagt?
(6)
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
[社内LT][Debian] お前はもう使っている-2013/05/24
[社内LT][Debian] お前はもう使っている-2013/05/24
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Fukuoka debianstudy02 / 福岡Debian勉強会 02
Linux container update
Linux container update
CTFでアレコレ
1.
CTFでアレコレ Fukui Tech 7.5 2017/02/25
(Sat) @hama7230
2.
WHOAMI • @hama7230 • 東京の大学生 •
元福井の高専生 • CTF歴 1年6ヶ月 • CTFチーム 「TokyoWesterns」のpwn 要員
3.
今日の内容 • CTFについて紹介 • CTFとは? •
CTFのメリット • CTFの問題解説 1.forensic系問題 2.web系問題 3.時間余ったらlive ctfやるかも
4.
CTFの紹介 (1/4) • Capture
The Flag (CTF) • セキュリティ系の技術・知識を競うコンテスト • コンテスト形式は複数あるが、問題を理解し攻略 してフラグを得ることが大きな目標 • Jeopady (クイズ形式) • Attack & Defence (参加者同士の攻防戦) • King of the Hills (陣地取り) • 世界中でほぼ毎週開催されている • (現在もBoston Key Party 2017が開催中)
5.
CTFの紹介(2/4) • 出題されるジャンル • IT技術に関わる幅広い分野から出題される •
Web • Forensic • Reversing • Recon • Exploitation(Pwn) • PPC • Crypto • Steganography • Misc
6.
CTFの紹介 (3/4) • CTFをやると何が嬉しいか? •
情報技術の勉強になる(建前) • セキュリティ技術の勉強になる(建前) • 純粋に楽しい娯楽(本音)
7.
CTFの紹介 (4/4) • 今日は、僕が見てきた問題の中から「勉強になっ た」「面白い」と思った問題を幾つか紹介します •
環境はLinuxを想定してます • 問題を解くためにpythonなどを使用します
8.
DEADNAS (1/13) • Rescue
Data 1: deadnas • Forensicの問題 • Tokyo Westerns/MMA CTF 2nd 2016で出題 • ハードディスクの中身を復旧できるかどうかを問 うた問題 • 問題セットは下記URLからダウンロード可能 • https://github.com/tokyowesterns/twctf-2016- problems • この問題のファイルは下記からダウンロード可能
9.
DEADNAS (2/13) • 問題文 Today,
our 3-disk NAS has failed. Please recover flag. [attachment:deadnas.7z] ディスクを3台載せたNASが故障してしまいました. フラグを復元してください. [attachment:deadnas.7z]
10.
DEADNAS (3/13) • 与えられたファイルを解凍して中身を見てみる •
7z x [filename]で解凍可能 • 中にはdisk0, disk1, disk2の3つのファイル • fileコマンドの結果
11.
DEADNAS (4/13) • xxd
disk0の結果の先頭部分 • mkfs.fatやFAT12 といった文字列 • ファイルシステムっぽい?
12.
DEADNAS (5/13) • disk1の中身は? •
disk1はクラッシュしているよう
13.
DEADNAS (6/13) • xxd
disk2の先頭部分 • よくわからない • disk0, disk2の中身をスクロールしていくと読める 箇所と読めない箇所が出てくる
14.
DEADNAS (7/13) • disk0,
2はハードディスクをダンプしたものっぽ い? • disk1は破損している • disk0, 2の一部部分では人間が読める文字列が登場 している • しかし、文章の途中から始まっていたり、途中で 切れている • 問題文は、「復元してください」とある 破損しているdisk1が復元できる?
15.
RAID • Redundant Arrays
of Inexpensive Disks • 複数台のハードディスクを組み合わせて運用する ことで、冗長性、信頼性、アクセス速度を向上す る仕組み • RAIDの方式は複数存在 • RAID0 • RAID1 • RAID01 • 問題で与えられたファイルは3つ • 3つ(3つ以上)のハードディスクを使用するRAID は?
16.
RAID5 • データは分割して保存される • パリティ(冗長コード)が生成されて保存される •
ハードディスクが1台破損しても復旧可能 今回のケースもdisk1のみが破損している • 最低3台で構成可能 • A*, B*, C*はデータ • P*がパリティ https://ja.wikipedia.org/wiki/RAID
17.
RAID5 • RAID5では、パリティはデータブロックごとでの XOR • 復元は簡単にできる •
データブロックのサイズは? • 与えられたファイルを観察することで特定する • printableな文字列が始まってから終わるまでの長さから 求められる • 今回は512byteだった • パリティの位置はどうやって決まっているのか? • 3通りしかないので、すべて試せばいい
18.
DEADNAS (8/13) • なぜ、RAIDだと考えたのか disk0の先頭でのファイルシステムを思わせる文 字列 disk0とdisk2のサイズは同じ disk1は破損している
-> (もしかして復元可能?) 問題文の「復元してください」
19.
DEADNAS (9/13) • 何をすればいいか? •
disk1を復元する • disk0とdisk2をXORすればdisk1になる • 3つのdiskから本来のハードディスクを生成する • パリティを除いた部分を連結すればよさそう
20.
DEADNAS (10/13) • disk1を復旧するpythonスクリプト •
disk0とdisk2をバイトずつでxorしてるだけ • xorした結果をdisk1に書き込み
21.
DEADNAS(11/13) • 3つのdiskから1つのハードディスクを復元する • パリティの位置はdisk2から始まりdisk1、disk1、 disk2と繰り返されると予想(外れたら別の方法を試 す)
22.
DEADNAS (12/13) • あとはmountして中身を確認するだけ •
sudo mount ./disk /mnt
23.
DEADNAS (13/13) • 破損したディスクを復旧しデータを取り出すこと ができた 与えられたデータから予測を立てる とりあえず試してみる •
[別解] XorFilsというソフトを使用すれば瞬殺だっ た
24.
THE-YEAR-2000 (1/10) • the-year-2000 •
BSides SF CTFで出題 • web系で比較的セキュリティよりな問題 • まだサイトが生きているので実際にアクセスして みてください • http://theyear2000.ctf.bsidessf.net/
25.
THE-YEAR-2000 (2/10) • html,
notepad++, git, apacheを使っているらしい
26.
THE-YEAR-2000 (3/10) • web系の問題で、web上にないか確認してみるこ と 1.
robots.txt 2. .htaccess 3. .git • 重要な情報が含まれていることが多い
27.
THE-YEAR-2000 (4/10) • .git/はForbiddenだった •
ディレクティブは無効化されている • .git自体は存在している • .gitよりも下で確実にあるファイルを試してみる • .git/HEADや.git/confgなどなど • commit logなどが分かるファイルはないのか? • http://theyear2000.ctf.bsidessf.net/.git/logs/HEAD
28.
THE-YEAR-2000 (5/10) • commit
logを確かめてみる • http://theyear2000.ctf.bsidessf.net/.git/logs/HEAD 0000000000000000000000000000000000000000 e039a6684f53e818926d3f62efd25217b25fc97e Mark Zuckerberg <thezuck@therealzuck.zuck> 1486853661 +0000 commit (initial): First commit on my website e039a6684f53e818926d3f62efd25217b25fc97e 9e9ce4da43d0d2dc10ece64f75ec9cab1f4e5de0 Mark Zuckerberg <thezuck@therealzuck.zuck> 1486853667 +0000 commit: Fixed a spelling error 9e9ce4da43d0d2dc10ece64f75ec9cab1f4e5de0 e039a6684f53e818926d3f62efd25217b25fc97e Mark Zuckerberg <thezuck@therealzuck.zuck> 1486853668 +0000 reset: moving to HEAD~1 e039a6684f53e818926d3f62efd25217b25fc97e 4eec6b9c6e464c35fff1efb8444dd0ac1ae67b30 Mark Zuckerberg <thezuck@therealzuck.zuck> 1486853672 +0000 commit: Wooops, didn't want to commit that. Rebased.
29.
THE-YEAR-2000 (6/10) • 存在するobjectファイルは3つ •
e039a6684f53e818926d3f62efd25217b25fc97e • first commit • 9e9ce4da43d0d2dc10ece64f75ec9cab1f4e5de0 • first commitからスペルエラーを直したcommit • 4eec6b9c6e464c35fff1efb8444dd0ac1ae67b30 • resetしてfirst commitへとcommitしたもの • 最終commit • resetされたcommitが怪しそう
30.
THE-YEAR-2000 (7/10) • http://theyear2000.ctf.bsidessf.net/.git/logs/object s/9e/9ce4da43d0d2dc10ece64f75ec9cab1f4e5de0 •
適当なディレクトリでgit initして仮のリポジトリ を作成 • .git/objects に9eディレクトリを作成し、ダウン ロードしてきたファイルを配置
31.
THE-YEAR-2000 (8/10) • bd72ee2c7c5adb017076fd47a92858cef2a04c11も 存在しているらしい •
ダウンロードして、git cat-file –pしてみる • 芋づる式に関わりのあるobjectを探していく
32.
THE-YEAR-2000 (9/11) • ファイル名などを格納 するのがtree •
ファイルの内容を格納 するのがblob https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4 %E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83
33.
THE-YEAR-2000 (10/11) • git
cat-file -p 7baff32394e517c44f35b75079a9496559c88053
34.
THE-YEAR-2000 (11/11) • ソースコードの流出は、情報の流出・攻撃の手が かりとなる •
.git/配下はアクセスできないようにする • gitに関する詳しいことは下記参照 • https://git- scm.com/book/ja/v1/Git%E3%81%AE%E5%86%85%E5%81 %B4- Git%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E 3%82%AF%E3%83%88 • https://git- scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81 %B4- Git%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E
35.
オススメ常設CTF • 常設CTFはいつでもチャレンジ可能 • 初心者向けのオススメを紹介 •
picoCTF 2013 • https://2013.picoctf.com/ • picoCTF 2014 • https://picoctf.com/ • CpawCTF • https://ctf.cpaw.site/ • ksnctf • http://ksnctf.sweetduet.info/
Jetzt herunterladen