セキュリティコミュニティ「WEST-SEC」

セキュリティ初心者の方でも参加できる「わかりやすい」セキュリティイベント、8割解けるCTFを開催しています。

検証環境構築

1.WSL2

1.1 概要

・WSL(Windows Subsystem for Linux)を使うと、Windows上でLinux環境を簡単に構築できる。
https://www.value-domain.com/media/wsl2-linux/
・ただし、GUI環境が無いので。TryHackMeなどを動かすときは、GUIの環境が必要

1.2.インストール

検索窓で、「Windows機能」などと検索するといいだろう。
・「Linux用Windowsサブシステム」がチェックされていないことを確認し、「仮想マシンプラットフォーム」にチェックを入れる。再起動が走る

・アプリを起動する

「入手」ボタンを押す
時間はどれほどかからず、40秒ほどで完了(マシンスペックによるが)

同じところで、Kaliを検索

2分くらいかかっただろうか。
「開く」ボタンを押す

・usernameを設定する →kali
・PWを設定する →password#
これでインストールと起動が完了

・update

#update
sudo apt update
#rootになる
sudo -i
#hpingのインストール
apt install hping3


・hpingの実行

└─# hping3 8.8.8.8 -1
HPING 8.8.8.8 (eth0 8.8.8.8): icmp mode set, 28 headers + 0 data bytes
len=28 ip=8.8.8.8 ttl=119 id=0 icmp_seq=0 rtt=9.5 ms
len=28 ip=8.8.8.8 ttl=119 id=0 icmp_seq=1 rtt=8.8 ms
len=28 ip=8.8.8.8 ttl=119 id=0 icmp_seq=2 rtt=8.5 ms
^C
--- 8.8.8.8 hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 8.5/8.9/9.5 ms

2.virtualbox

・仮想ではないローカルの環境に戻る
 右側のctrl
※画面右下にも「Right Control」と表示されている。右のコントロールという意味。

・ネットワークの設定
「デバイス」「ネットワーク」「ネットワーク設定」から、アダプタの割り当てを「ブリッジアダプター」にしておくといいだろう。物理PCと同じセグメントのIPアドレスが割り当てられ、同一LANとして通信ができる。
「NAT」にすると、違うIPアドレスが割り当てられる。

・共有フォルダ
a)設定>共有フォルダーから

b)すると、ゲストOSの上に以下のようにアイコンが作成される。パスは「/media/sf_VM/ 」となった。


・電源管理
a)Settings > Setting Manager > Power manager
b)ディスプレイタブに切り替える。
c)設定により、スリープなどにする時間を設定変更できる。右上のボタンを押してOFFにしてもよい。

■VirtualBoxでエラーが出た
VirtualBoxをインストールするときに、ちょっとよく覚えていないが64bit版をインストールでエラーが出た。
そこで、BIOSの設定を変えた。(このあたりはうろ覚え)
Security>Virtualization>Inter VirtualizationをEnableにした。
本件と一緒かはわからないが、以下のサイトに画面入りで丁寧に解説されている。
https://qiita.com/yamasaki1ma/items/141f12d52ef38f3f3f85

Virtualboxのインストール
https://qiita.com/satsuki2200/items/e342c05761dba9edc5a1

2.3 kalilinux

(1)Kaliのダウンロード

a)以下のサイトへアクセス
https://www.kali.org/get-kali/#kali-platforms

b)Virtual Macinesを選ぶ
c)Virtualboxのアイコンをクリックしてダウンロード →少し時間がかかる
d)ファイルを解凍 →こちらも少し時間がかかる

(2)VirtualBoxでのKaliの起動

a)「仮想マシン」から「追加」

b)ダウンロードした「kali-linux-2025.1c-virtualbox-amd64.vbox」を選択
c)緑の矢印「起動」を押してkaliを起動

d)しばらくするとログイン画面が表示される

e) kali / kali でログイン ※今はrootではログインできない。

(3)初期設定

❶日本語キーボードの設定
a)左上のドラゴンマークから、「Settings」>「keyboad」
b)Layoutタブに切り替え、「Use system defaults」をOFFにする
c)Keyboad layoutを「Edit」してJapaneseを選ぶ

d)closeで閉じる

❷Update
a)ターミナルを開く

b)以下を実行

$ sudo apt update
[sudo] password for kali:   ←kaliと入力

$ sudo apt upgrade

❸timedatectlでタイムゾーンをTokyoに

$ date
Mon May 26 07:27:01 PM EDT 2025

$ timedatectl set-timezone Asia/Tokyo

$ date
Tue May 27 08:27:12 AM JST 2025
(4)インターネットへの疎通確認

pingコマンドでインターネットへの疎通ができるかを確認しておこう

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=7.75 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=6.47 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=6.69 ms

3.TryHackMe

3.1 TryHackMeについて

(1)概要
項目 内容
名称 TryHackMe(トライハックミー)
目的 サイバーセキュリティの実践学習プラットフォーム
必要なもの Kalilinux
対象者 初心者〜中級者 →とはいえ、セキュリティの初心者にはかなり難しい
設立 2019年(イギリス)
創業者 Ashu Savani、Ben Spring
拠点 イギリス・欧州中心(サーバは主にAWS上)
(2)特徴

・通年利用可能な常設サービス
・TryHackMeの方が初心者向けでガイドが充実
・ルームは900以上あり、SOCやAzureなど、いろいろな勉強ができる
・のみぞうさんの本やサポートページが秀逸
https://note.com/nomizone/n/n67ef3114092e

(3)他のサービス

❶Hack The Box (HTB)
上級者向け、実戦CTF寄り 
https://www.hackthebox.com/

❷picoCTF
学生向けCTF
https://picoctf.org/

❸AppGoatについて
情報処理推進機構(IPA)が公開している学習用ソフトウェアで、Webアプリケーションに潜むセキュリティ上の問題点を、実際に自分で確認・体験しながら学べる仕組みになっています。
ツールをインストールすると、PC上に仮想的なWebアプリケーションが構築され、そこに対して様々な脆弱性攻撃を試すことが可能です。実際の環境に影響を与える心配がないため、安全に学習を進めることができます。利用を開始するには、IPAの公式ページから申請を行い、教材ファイルをダウンロードする必要があります。手順は公式サイトで案内されており、比較的簡単に導入できます。
https://www.ipa.go.jp/security/vuln/appgoat/toolabust.html

3.2 インフラ

・AWS上で仮想マシンをオンデマンド起動
・サーバスペック
以下の文献を見ると、AWSを使うことによって、無制限に近いリソースを提供しているようである。

We ensure uninterrupted user experience and prevent any negative impact from increased demand to users by using AWS Cloud Guacamole, which provides infinite scalable resources without compromising on quality and performance. (出典:https://www.applytosupply.digitalmarketplace.service.gov.uk/g-cloud/services/381788173749316

3.3 初期設定

(1)会員登録

会員登録は必須です。
a)TryHackMeのページにアクセス
https://tryhackme.com/

b)右上のJoin For FREEをクリック
username、Email、パスワードを入力して「Singup」
c)アンケートに数問答える

bussines mailや電話番号を聞かれますが、「Skip」することができます。
d)以下で完了です。

e)メールの確認。先ほど入力したメールアドレスに、メールが届いています。メールアドレスの到着確認なので、クリックが必須です。

(2)ログイン

・以下のURLからログインしましょう。
https://tryhackme.com/login

(3)Kalilinuxのダウンロードとインストール
(4)VPN接続

a)TryhackmeのDashboardから、右上のアイコンをクリックし、Accessを選択

b)VPN Serverを選ぶ。日本は無いので、そのままでもいいだろう。

c)その下にある「Download configration file」をクリック
d)拡張子が.openvpnのファイルがダウンロードできる
e)そのファイルを適当なフォルダに配置

$ cd        
$ pwd
/home/kali
$ mkdir openvpn
$ mv /media/sf_VM/westsec.ovpn ./openvpn

f)openvpnのコマンドで接続。

$ ls 
westsec.ovpn
$ sudo openvpn ./westsec.ovpn 

g)「Initialization Sequence Completed」が出て、右上に10.で始まるプライベートIPアドレスが表示されたら接続完了

これでTryHackMeができる状態になる。
ちなみに、OpenVPN Accesss Details でRefleshを押しても状態は「Internal Virtual IP Address」は取得できないまま変わらない。 →それでも問題ない。

(5)ルームのマシンを起動

・上にあるLearnから、Learnを選び、ルームを選ぶ

・タブを「Search」に切り替えて、tutorialを検索
接続確認
・右にある緑の「Stard Machine」を押す。
・TargetIPアドレスが表示されるには少し時間がかかる。
・しばらくすると、以下のように表示される。

(6)疎通確認

・pingを打ってみよう。以下のようにターゲットのマシンのプライベートIPアドレスにpingが届く。

$ ping 10.10.168.103
PING 10.10.168.103 (10.10.168.103) 56(84) bytes of data.
64 bytes from 10.10.168.103: icmp_seq=3 ttl=63 time=267 ms
64 bytes from 10.10.168.103: icmp_seq=4 ttl=63 time=418 ms
64 bytes from 10.10.168.103: icmp_seq=5 ttl=63 time=267 ms

・同時に、インターネットのサーバへも通信ができる。つまり、10.0.のセグメントだけがVPN経由になるが、それ以外はSplittunnelでそのまま接続しているようだ。

$ ping 8.8.8.8      
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=3.50 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=4.81 ms

3.4 課題の実施方法

(1)tutorialの場合

以下に問題が書いてあるので、実際にWebサーバに接続してみる。

・flagが表示されるので、それを答えに貼ってみる。
・正解と出る。かなりの大歓迎ぶりである。

・元の画面に戻っても、Correct Answerという表示に変わった。

Day2で、Basic Penetorating?のルームを完了する
そのサイトに接続する。

・memo
Ctrl +Shift +t で違うタブが開く