CTFでアレコレ
- 4. CTFの紹介 (1/4)
• Capture The Flag (CTF)
• セキュリティ系の技術・知識を競うコンテスト
• コンテスト形式は複数あるが、問題を理解し攻略
してフラグを得ることが大きな目標
• Jeopady (クイズ形式)
• Attack & Defence (参加者同士の攻防戦)
• King of the Hills (陣地取り)
• 世界中でほぼ毎週開催されている
• (現在もBoston Key Party 2017が開催中)
- 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]
- 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
は?
- 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が怪しそう
- 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