-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
34d6f49
commit ce450d3
Showing
12 changed files
with
159 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# メタデータ | ||
- title=AlpacaHackで始めるCTF入門2:DreamhackでCTF入門 | ||
- description=個人戦CTFを開催するプラットフォーム「AlpacaHack」を通じてCTFに入門してみようと思います。DreamHackも利用します。 | ||
- date=2024年8月14日(水) | ||
- update=2024年8月14日(水) | ||
- math=false | ||
|
||
## はじめに | ||
AlpacaHackでCTFを始めてみましたが、私のようにCTFが何なのかもよく分かっていない場合は | ||
スタートラインに立つために他のサイトでも勉強したほうが良いみたいです。 | ||
ということで今回は韓国のCTFサイトである「Dreamhack」に挑戦してみようと思います。 | ||
|
||
DreamhackはCTFのコンテストを開催しているのはもちろんのこと、 | ||
幅広いジャンルの教育講座も充実しているため、 | ||
かなり初心者にも優しい気がしました。 | ||
また、サイト上では韓国語も使われていますが、 | ||
教育講座の説明文は私が確認した範囲では英語で書かれていたのである程度は読めると思います。 | ||
|
||
https://dreamhack.io/ | ||
|
||
Dreamhackのサイトへのリンク | ||
|
||
2024/20240814_1.png | ||
|
||
Dreamhack | ||
|
||
## AlpacaHack | ||
AlpacaHackへのリンクはこちら | ||
|
||
https://alpacahack.com/ | ||
|
||
AlpacaHackのサイトへのリンク | ||
|
||
## 私のCTF環境 | ||
- Ubuntu 22.04 LTS | ||
|
||
## 前回の記事 | ||
2024年8月13日の記事です。 | ||
|
||
https://yusukekato.jp/html/2024/0813.html | ||
|
||
AlpacaHackで始めるCTF入門1:初めてのCTF | ||
|
||
## Dreamhackの始め方 | ||
|
||
### ログイン | ||
まずはDreamhackへアクセスし、アカウントを作成してからログインします。 | ||
ログインしないと教育講座は受けられないっぽいです。 | ||
|
||
https://dreamhack.io/ | ||
|
||
Dreamhackのサイトへのリンク(再掲) | ||
|
||
Dreamhackにログインした後のホーム画面↓ | ||
|
||
2024/20240814_1.png | ||
|
||
Dreamhack(再掲) | ||
|
||
### 教育講座を受ける | ||
画面上部にタブがいくつかありますが、今回は勉強したいので「Learn」をクリックします。 | ||
Learnタブのページには各ジャンルごとのロードマップが表示されます。 | ||
|
||
Learnタブのページ↓ | ||
|
||
2024/20240814_2.png | ||
|
||
Learnタブのページ | ||
|
||
まずはその中から「Beginners」>「Dream Beginners」を選択します。 | ||
すると選択したロードマップのコンテンツが表示されるので | ||
「Introduction」を選んで「Start」をクリックすれば教育講座が開始します。 | ||
|
||
2024/20240814_3.png | ||
|
||
Dream Beginnersのコンテンツ | ||
|
||
## Dreamhackの初心者講座 | ||
初心者講座のさわり部分だけ箇条書きします。 | ||
|
||
### 扱う主なジャンル | ||
- Web:webサイトやwebアプリのサーバやクライアントのシステムに関する問題 | ||
- Pwnable:プログラムの脆弱性に関する問題 | ||
- Reversing:リバースエンジニアリングに関する問題 | ||
- Crypto:暗号に関する問題 | ||
- Forensics:情報セキュリティにおけるインシデントの調査方法や技術に関する問題 | ||
- Professional Programming and Coding(PPC):競技プログラミング | ||
- Misc:その他 | ||
- より具体的な領域:Network、kernel、browser、blockchain、etc... | ||
|
||
### Wargameとは | ||
- Wargame:意図的に脆弱性が存在するように設計された環境をハッキングするゲーム | ||
- Wargameは実践環境を想定して行うっぽい | ||
- それに対してCTFは競技に特化して問題を設定して競うものっぽい | ||
|
||
### flagとは | ||
- ハッキングが成功したことを証明するための文字列 | ||
- Dreamhackでは基本的にDH{...}の形式(例外あり) | ||
|
||
### 練習問題:Welcome-Beginners | ||
- 問題によっては説明文や参考リンク、ヒントがあったりなかったりする | ||
- 「Request a VM」ボタンを押すと仮想環境のサーバが立つ | ||
- 「Download」ボタンを押すと仮想環境で動いているプログラムが手に入る | ||
- 下記のコマンドを実行してflagを取得 | ||
|
||
``` | ||
$ nc host3.dreamhack.games 23044 | ||
Enter "Dreamhack" : Dreamhack | ||
Welcome Beginners! | ||
DH{...flag...} | ||
``` | ||
|
||
### 便利なエンコードツール | ||
https://tools.dreamhack.games/cyberchef | ||
|
||
Dreamhack Tools | ||
|
||
https://emn178.github.io/online-tools/base64_encode.html | ||
|
||
emn178.github.io/online-tools | ||
|
||
https://encoding.tools/ | ||
|
||
Encoding Tools | ||
|
||
### 練習問題:64se64 | ||
- 「Download」ボタンを押してzipファイルを取得 | ||
- index.htmlを開くとbase64の文字列が見つかるのでエンコード | ||
- Pythonスクリプトが取得できるので実行するとflagが手に入る | ||
|
||
2024/20240814_5.png | ||
|
||
エンコードの様子 | ||
|
||
### その他 | ||
- Virtual BoxやWSLなどを利用して仮想環境を作るとよい | ||
- コンピュータサイエンスの基礎も大事(バイナリ、ビット演算、文字コード、OSなど) | ||
|
||
## おわりに | ||
今日はDreamhackに挑戦してみました。 | ||
まだまだ基礎的な話ですが勉強している感じがあって良いです。 | ||
教育講座は結構な数がありそうなので、少しずつやってみます。 | ||
この調子でCTFに楽しく参加できるレベルまで知識や技術を身につけたいと思います。 | ||
それでは、また。 | ||
|