06. 偵察 — nmap を中心に 🔍¶
🔊 音声で聴く
攻撃の前に、まず相手を知る。闇雲に撃たず、偵察してから狙いを定めるのが基本です。

偵察は nmap だけではない¶
偵察には大きく3種類あり、nmap はその一部(アクティブ偵察)です。
flowchart TD
R["偵察"] --> P["パッシブ偵察<br>相手に触れず情報を集める<br>OSINT(WHOIS/DNS/GitHub/SNS)"]
R --> A["アクティブ偵察<br>相手に実際に触れる<br>nmap・バナー取得"]
R --> S["人・物理<br>ソーシャルエンジニアリング<br>フィッシング・物理偵察"]
style R fill:#2d333b,stroke:#3fb950,stroke-width:2px,color:#e6edf3
style P fill:#2d333b,stroke:#3fb950,stroke-width:2px,color:#e6edf3
style A fill:#2d333b,stroke:#f85149,stroke-width:2px,color:#e6edf3
style S fill:#2d333b,stroke:#bc8cff,stroke-width:2px,color:#e6edf3実際の侵入は「OSINT で社員のメール形式を調べ、フィッシングで認証情報を抜く」といった人を狙う偵察が起点になることも多い。このノートでは手を動かす **nmap(アクティブ偵察)**を扱いますが、偵察はもっと広いことは意識しておきましょう。
nmap の実践 — 3ステップ¶
偵察で「このポートで、このソフトが動いている」まで分かれば十分です。
STEP 1:どのポートが開いているか¶
open = 扉が開いている。ここに何かが動いています。
STEP 2:何が動いているか(バージョン)¶
Jetty 9.2.11 と判明。バージョンが分かると「既知の脆弱性はないか」を調べられます。
STEP 3:中身を詳しく(NSE スクリプト)¶
|_http-title: Struts2 Showcase - Fileupload sample
| Set-Cookie: JSESSIONID=...;Path=/
| Server: Jetty(9.2.11.v20150529)
ここで決定的な手がかりが出ます。
| 手がかり | わかること |
|---|---|
http-title: Struts2 Showcase |
Struts2 かも(自己申告なので弱い) |
Set-Cookie: JSESSIONID |
Java 製(強い証拠) |
URL が .action で終わる |
Struts2 特有(強い証拠) |
💡 タイトルだけを信じない。 自己申告は嘘もありえます。
JSESSIONID(Java)や.action(Struts2 特有)のような客観的な手がかりを重ねて判断します。これが「結果を読む」技術です。
偵察から攻撃へ¶
Jetty で動く Struts2 アプリ(URL: /showcase.action)
↓ だから
「Struts2 の既知脆弱性(S2-045)が刺さるか試そう」
↓
→ Metasploit へ
ただし、この時点ではまだ推測です。「本当に脆弱か」は Metasploit の check で確証に変えます(次章)。
技術スタックは複数ツールで調べる¶
「相手が何で作られ、どのバージョンか」を知るのは、nmap だけでなく手軽なツールも使います。
| ツール | 調べ方 |
|---|---|
nmap -sV |
ポート越しにサービス・バージョン(網羅的) |
whatweb http://... |
URL を叩いて技術を一発判定 |
| Wappalyzer | ブラウザ拡張。サイトを開くだけ(一番手軽) |
curl -I http://... |
応答ヘッダ(Server: や Set-Cookie:)を見る |
💡 実務では「軽いツール(whatweb / Wappalyzer / curl)で当たりをつける → nmap で深掘り」の順が効率的です。
curl -sI http://localhost:8088/showcase.action
# Set-Cookie: JSESSIONID=... ← Java の証拠
# Server: Jetty(9.2.11...) ← サーバーは Jetty
nmap のスキャンを待たずに、ヘッダを1回見るだけでも多くが分かります。
nmap の全オプション一覧は 付録A. リファレンス にまとめています。 ⚠️
nmapを向けていいのは自分の持ち物とscanme.nmap.orgだけ。範囲指定のタイプミスで他人を叩く事故に注意。
次は 07. 侵入(Metasploit) へ。