Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OSINT CTFの リアル作問環境を体験してみよう!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryusei Ishikawa
December 15, 2024
Technology
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSINT CTFの リアル作問環境を体験してみよう!
Ryusei Ishikawa
December 15, 2024
More Decks by Ryusei Ishikawa
See All by Ryusei Ishikawa
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
730
DIVER OSINT CTF を支える技術 2025
xryuseix
0
260
OSINT CTFを支える技術
xryuseix
1
1.3k
HTTP通信を書きかえてみよう
xryuseix
0
96
Webアプリケーションのユーザ入力検証
xryuseix
3
1.4k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
5.3k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
880
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
1.5k
Other Decks in Technology
See All in Technology
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
260
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
140
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
4
2.1k
Antigravity SDK for the Java Developer
glaforge
0
190
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
710
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
26
17k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
170
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
480
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
32
21k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.7k
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
110
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Practical Orchestrator
shlominoach
192
12k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
WCS-LA-2024
lcolladotor
0
830
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
470
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Making Projects Easy
brettharned
120
6.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Transcript
2024/12/14 xryuseix (@ryusei_ishika) OSINT CTFの リアル作問環境を体験してみよう!
本講義の概要 2 TsukuCTF、DIVER OSINT CTFの作問環境で問題を作成し、 ローカル環境でデプロイする 長いので一言でまとめると ... Backlogより
事前準備 • Docker • Docker-Compose • Git, GitHubアカウント • Python,
pip • (あると嬉しい) make, golang, pipx, 問題用の任意の写真 準備しておいてもらいたいもの (バージョンは、ある程度新しければ基本的に大丈夫です ) 3
全体の流れ 4 • OSINT問題の作成 ◦ 環境構築 ◦ 問題作成 ◦ PRの作成
• CTFサーバの起動 ◦ サーバ起動 ◦ 初期設定 • ctfcliを用いた問題のデプロイ
OSINT問題の作成 - リポジトリのダウンロードと作問ディレクトリの自動生成 5 $ 先にフォークする $ git clone https://github.com/ユーザ名/returns2024
$ cd returns2024 $ git submodule init $ git submodule update --remote $ git checkout -b "feat/xryuseix" ←被らないように設定してください $ make gen $ # または docker-compose run gen bash -c "make gen" ←フラグフォーマットは returns{.*}の形式で強制しています ← OSINTを設定してください
OSINT問題の作成 - ファイルの配置 6 • 指定したジャンルのディレクトリに作った 問題のファイルが生成されています • 各ディレクトリの説明 ◦
build…今回は使わない ◦ challenge.yaml…問題の設定ファイル ◦ flag.txt…フラグを記載 ◦ public…公開ファイルを配置 ◦ solver…今回は使わない ◦ writeup…今回は使わない • publicディレクトリに問題にする任意の写真をおいて ください ◦ なければネットから適当に拾ってきたり、写真 なしテキストだけで問題を 作っても大丈夫です
OSINT問題の作成 - 問題の作成 7 • osint/sample/challenge.ymlを参考に、ご 自身で作ったディレクトリ内の challenge.ymlを編集して、色々設定して ください •
長いけど編集しなきゃいけないのは 右の項目だけ(うちいくつかは最初から設 定されている) • 特に、公開するファイル(写真など)の パスを記載するfilesは記載ミスに注意! ◦ 注) 公開ファイルがない場合はコメン トアウトしてください
OSINT問題の作成 - フラグのテスト 8 • osint/sample/flag.txtを参考に、ご自身で作ったディレクトリ内の flag.txtを 編集します • ここではフラグのUnit
Testを行います ◦ フラグフォーマット、正規表現、複数のフラグ設定のミスを確認します • 通る想定のフラグと通らない想定のフラグを設定してください 通る→ 通らない→
OSINT問題の作成 - PRの作成 9 $ git add . $ git
commit -m "add my chall" $ git push -u origin feat/xryuseix ←さっき設定したブランチ • 終わったらPRを作成してください ◦ https://github.com/xryuseix/returns2024/pulls ◦ 例示用のPRもあります→ • PRコメントはなんでもいいです • PRを作成したらCIが走ります。少し待ってください。
OSINT問題の作成 - CIの結果確認 10 こうなってたらOK 画像が入っている場合は こんなコメントも送られてくる
OSINT問題の作成 - CIの結果確認と修正 11 • CIのエラーが出た場合、Detailsから エラーメッセージをみよう ◦ 特に多いのがyamlのインデントミス ◦
わかりにくかったらすぐに質問してくだ さい (個々のケース用のスライドを作るのが面倒 )
OSINT問題の作成 - mainブランチへのマージ & pull 12 • GitHubのPRページの下にあるマージボタンでマージしてくださ い •
終わったらシェルに戻って以下のコマンドを実行 $ git checkout main $ git pull origin main
CTFサーバの設定 - サーバの起動 13 ここから先、時間なかったら僕だけやります $ pipx install ctfcli $
# または $ pip install ctfcli $ cd .. # returns2024ディレクトリ外であればどこでもいいです $ git clone https://github.com/CTFd/CTFd $ cd CTFd # 3分くらいかかります $ docker-compose up -d
CTFサーバの設定 - CTFdの初期設定 14 http://localhost:8000/ にアクセスします ほぼ変更しなくていいです。
CTFサーバの設定 - CTFdの初期設定 15 http://localhost:8000/ にアクセスします ほぼ変更しなくていいです。
CTFサーバの設定 - アクセストークンの取得 16 設定→アクセストークンで 有効期限を設定して生成します
ctfcliを用いた問題のデプロイ 17 ctfcliをpipでインストールするとctfコマンドが使えます。 URLは画像と一緒で、アクセストークンは各自変更してください。 最初にcloneしたreturns2024ディレクトリで実行します。
ctfcliを用いた問題のデプロイ 18 mainブランチにマージしたあと、bash install.shコマンドを実行します 実行後、 http://localhost:8000/admin/challenges にアクセスするとこうなっている
(時間余ったらのコンテンツ ) みんなが作成した問題を解いてみよう! 19