YusukeKatoブログ

AlpacaHackで始めるCTF入門1:初めてのCTF

記事投稿日: 2024年8月13日(火)

最終更新日: 2024年8月14日(水)

目次

はじめに

はじめに

個人戦CTFを開催するプラットフォーム「AlpacaHack」を通じて本日からCTFに挑戦してみようと思います。 大学生の頃に競技プログラミングは少し触れたことがあって、いずれはCTFにも挑戦してみたいとは常々考えていました。 そんな中でタイミング良くAlpacaHackが公開されたのでさっそく挑戦してみようと思います。

私のCTF環境

AlpacaHackとは

AlpacaHackは2024年8月(おそらく)に公開された個人戦CTFを開催するプラットフォームです。 CTFでは複数人でチームを組んでコンテストに参加するのが一般的っぽいですが、 AlpacaHackでは個人で参加できます(チーム参加は禁止っぽいです)。 AtCoderのような競技プログラミングサイトのCTF版という感じでしょうか。 また、AlpacaHackのコンテストでは簡単な問題から難しい問題までが出題されるので、 初心者から上級者まで楽しめるそうです。

AlpacaHackのサイトへのリンク

CTFとは

CTFは「Capture The Flag(旗取り合戦?)」の略称で、情報セキュリティに関する競技のことを指すようです。 基本的には与えられた問題を解く速さを競います(他にも競技内容がいろいろあるっぽいです)。 たとえば、ウェブサイトのシステムのデータが与えられたら、そのシステムの脆弱性を見つけて「flag」と呼ばれる文字列を奪取します。そのflagを提出することで問題クリアとなります(あくまでこれは一例で他にもいろいろな問題の種類があるみたいです)。 また、競技ではありますが、過去の問題にも挑戦できるので他人と競わなくても問題を解くことができます。

AlpacaHackにアクセス

Home

それではさっそくAlpacaHackにアクセスし、アカウントを作成してからログインします。 下記の画像がAlpacaHackのHomeページです。 Homeでは次に開催するコンテストの日程を確認できます。

AlpacaHackのサイトへのリンク(再掲)
AlpacaHackのHomeページ

Homeのページ最下部では下記の画像のように解いた問題数のユーザランキングも確認できます。 2024年8月13日現在では18問解いた方が一位です(ちなみに私はまだ3問しか解いていません)。

問題を解いた数のランキング

CTFs

CTFsページでは今後開催されるコンテストと過去のコンテストを確認できます。

CTFsページ

Challenge Archive

Challenge Archiveページでは過去問を解くことができます。 自分が解いた問題はチェックマークが付いています。

Challenge Archiveページ

さっそく解いてみる

まずはテスト問題的な「Welcome」を解いてみます。 とはいっても特にやることはなくて、 この問題の概要に「Here is the flag: Alpaca{Welcome to AlpacaHack!}」と書かれているので、 flagが「Alpaca{Welcome to AlpacaHack!}」であることが分かります。 AlpacaHackではflagは「Alpaca{...}」の形式となっているようです。 正解のflagを入力して「Submit」ボタンを押すと「Solved」と表示されます。

Welcome

追記(2024/08/14)

AlpacaHack開発者のkeymoonさんがCTF入門のために参考になるサイトをXで紹介してくださっていたので、 私もそれらのサイトを利用してみようと思います。 皆様もぜひ。

keymoon(ID:kymn_)さんのポストのリンク

おわりに

今日はAlpacaHackで初めてCTFに挑戦してみました。 とりあえずはどういう流れで問題を解けばいいのかは分かった気がします。 ただしCTFで必要なセキュリティ関連の知識が全く足りていないので書籍(中島明日香『入門セキュリティコンテスト』)などで勉強しようと思います。 AlpacaHackは継続的にコンテストを開催するとのことなので、私も細く長く続けていってCTFに慣れていきたいですね。 それでは、また。

次回の記事

2024年8月14日の記事です。

AlpacaHackで始めるCTF入門2:DreamhackでCTF入門

お知らせ

過去のお知らせ

シリーズ記事一覧

各シリーズの記事を下記にまとめてあります。

我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記 我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記24 : 2026年もよろしくお願いします 我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記23 : 2025年の我が家のインコ 我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記22 : 我が家にさんちゃんがやってきた 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記21 : 2ヶ月ぶりのインコ日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記20 : 久しぶりのインコ日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記19 : 鳥フェス浅草2025に行ってきました! 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記18 : 2024年に感謝&2025年もよろしくお願いします 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記17 : れもんもぐぐも平和な日々を送っています 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記16 : れもんが本に掲載されたり、愛鳥祭に行ったりなど 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記15 : 落花生、新聞紙、れもんとぐぐの邂逅 インコの飼い方と注意点(2024年版) 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記12 : ぽぽが亡くなりました、そしてぐぐがやってきました インコ仲間「れもん&ぽぽ」の日記11 : ズグロシロハラインコのぽぽ、我が家へ セキセイインコ「れもん」の日記10 : 生後100日のれもん、ついに喋る セキセイインコ「れもん」の日記9 : 換羽期のれもん セキセイインコ「れもん」の日記8 : 病院へ挑戦! セキセイインコ「れもん」の日記7 : 外出用ゲージにチャレンジ! セキセイインコ「れもん」の日記6 : 新宿ことり博に行ってきました! セキセイインコ「れもん」の日記5 : 3週間経って順調に成長している模様 セキセイインコ「れもん」の日記4 : 鳥フェス千葉2024に行ってきました! セキセイインコ「れもん」の日記3 : 2週間経って我が家にも慣れてきた模様 セキセイインコ「れもん」の日記:第2回 セキセイインコの「れもん」が我が家にやってきました!
AlpacaHackで始めるCTF入門 AlpacaHackで始めるCTF入門7:AlpacaHack Round 5 - XorshiftStreamに挑戦 AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦 AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦 AlpacaHackで始めるCTF入門4:AlpacaHack Round 2 - Simple Loginに挑戦 AlpacaHackで始めるCTF入門3:初めてのCTFに参加 AlpacaHackで始めるCTF入門2:DreamhackでCTF入門 AlpacaHackで始めるCTF入門1:初めてのCTF
シェル芸 シェル芸オンラインジャッジ:シェル芸実行用コンテナを常に待機させておく シェル芸オンラインジャッジ:システム全体をDockerコンテナ内で動かす Dockerコンテナのリソースの制限を設定【シェル芸オンラインジャッジ】 Google AI Studioで自作のウェブサイトの改善点を教えてもらった シェル芸オンラインジャッジの紹介 第66回シェル芸勉強会メモ 第64回シェル芸勉強会メモ ChatGPTでシェル芸勉強会の問題が解きたい シェル芸botで遊びたい(Bash)
シェル芸オンラインジャッジ シェル芸オンラインジャッジ:シェル芸実行用コンテナを常に待機させておく シェル芸オンラインジャッジ:システム全体をDockerコンテナ内で動かす Dockerコンテナのリソースの制限を設定【シェル芸オンラインジャッジ】 Google AI Studioで自作のウェブサイトの改善点を教えてもらった シェル芸オンラインジャッジの紹介
ROS 2 ROS 2シェル芸:URDFを置換してRVizで表示する 改訂新版『ROS 2ではじめよう』を読了&メモ書き ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで ROS 2 Humble 公式チュートリアル 02: ROS 2 のノード関係のコマンド ROS 2 Humble 公式チュートリアル 01: 環境構築から turtlesim まで
VRChat Meta Quest 2でVRChatをプレイしてみる 【VRChat】UnityとBlenderでアバターのパーツを作る VRChatのワールド「森の中のログハウス」をUnityで作成してアップロードするまで VRChatでワールドをパブリック(コミュニティーラボ)へアップロードする VRChatのアバターにGoGo Locoを導入して座ったり寝っ転がったりする VRChatのワールドでオブジェクトと変数の同期を行う VRChatのスマホアプリ(Android)用にアバターをアップロードする Modular Avatarを使ってVRChatのアバターのオブジェクトをワールドに固定する VRChatのアバターのオブジェクトにアニメーションを設定する 【VRChat】Modular Avatarを使ってアバターのオブジェクトの表示と非表示を切り替える 公開されているVRMモデルをVRChatで動かす
技術ネタ WSL2で開いたVisual Studio Codeで日本語入力が不安定になる問題の解決 TouchDesignerを使って曲の音声に合わせた動画を作成してみる Sonic Piで作曲してみる Visual Studio CodeでGitHub Copilot使用時にGitHubにサインインできない問題を解決 Unityでブラウザゲーム(Webアプリ)を作成してレンタルサーバで動かす方法 echoコマンドで"-n"をそのまま出力したい Ubuntu 24.04 LTSにおいてノートPCを電源に接続していない状態だと画面が暗くなる問題の解決方法 HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決 WSL2上のUbuntuのVimで矩形選択するための設定 HTMLとCSSで画像のスライドショーを作成 GitHub Actionsでサーバ上のブログを自動更新 Windows と Ubuntu のデュアルブート
ELDEN RING BLOG ELDEN RING BLOG 10: DLCをクリアしました! ELDEN RING BLOG 9: DLCに挑戦した ELDEN RING BLOG 8: 最後のボスを倒した ELDEN RING BLOG 7: ラニのストーリーを進めた ELDEN RING BLOG 6: 四体目と五体目の大ボスを倒した ELDEN RING BLOG 5: 三体目の大ボスを倒した ELDEN RING BLOG 4: 二体目の大ボスを倒した ELDEN RING BLOG 3: 一体目の大ボスを倒した ELDEN RING BLOG 2: レベル上げと武器強化の旅 ELDEN RING BLOG 1: 今更ながら始める初見ELDEN RING冒険日記
ELDEN RING NIGHTREIGN BLOG ELDEN RING NIGHTREIGN BLOG 3: 喰らいつく顎を倒した ELDEN RING NIGHTREIGN BLOG 2: 最初の標的を倒した ELDEN RING NIGHTREIGN BLOG 1: マルチプレイ初戦
ポケポケブログ ポケポケブログ4:「超克の光」環境でもベトベトンデッキはまだ強い ポケポケブログ3:「時空の激闘」環境でもベトベトンデッキを使いたい ポケポケブログ2:「幻のいる島」環境でもベトベトンデッキが強いです ポケポケブログ1:ベトベトン+マタドガスデッキをおすすめする
読書日記 読書日記:山崎ナオコーラ『人のセックスを笑うな』(河出文庫) 読書日記:プジェ日記を読みました! 読書日記『本を読んだことがない32歳がはじめて本を読む』【ネタバレあり】 読書日記:近畿地方のある場所について【ネタバレあり】 改訂新版『ROS 2ではじめよう』を読了&メモ書き
映画日記 映画日記『ラストマイル』感想【ネタバレあり】
料理日記 料理日記:オムライス 料理日記:豆腐春巻き 料理日記:鶏肉とナスのほりにし炒め 料理日記:卵焼き 料理日記:鶏肉の照り焼き&小松菜のおひたし 料理日記:納豆蕎麦 料理日記:ローストビーフ 料理日記:バターガーリックチキン
その他 JR東日本公式のお忘れ物チャットにお世話になった話 『Omega Crafter』プレイ日記: チュートリアル編 自作ブログ大改造計画 HTML数式表示テスト 自作ブログ開始

YusukeKatoブログの著作物はCC BY-NC-ND 4.0で公開されています。
YusukeKatoブログのソフトウェアはApache License 2.0で公開されています。
About License: GitHub - YusukeKatoBlog/LICENSE
© 2023 YusukeKato All Rights Reserved.