※当サイトはサイバー攻撃手法を取り扱っています。コマンドや手順を実施することでサイバー攻撃だと見なされる可能性があるため、実践する際は学習用の検証環境を利用しましょう。実行したことによる責任を負いません。
CTFをしていると親の顔より見るコマンド、それがnmap。
HackTheBoxでCTFをやってるといろんな人のnmapコマンドを見るので、自分で見返すようにまとめる。
おすすめのnmapコマンドオプション
nmapコマンドって何?
ネットワークマッパーの略で、ネットワークの調査や監査に使用されるツール。
サイバー攻撃の偵察に用いられ、CTFではとりあえず生、みたいなノリで最初に実行する。
おすすめnmapコマンド
単刀直入に言うと、これ使ってればOKだと思う。
export ip=”XXX.XXX.XXX.XXX”
sudo nmap -Pn -sC -sV –min-rate=1000 $ip -oA nmap
別に変数にいれずに直で入力してもよい。
出力結果(サンプル)
こんな感じで出力される。全文だと読みづらいので抜粋する。
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r–r– 1 ftp ftp 4434 Jul 31 2023 MigrateOpenWrt.txt
| -rw-r–r– 1 ftp ftp 2501210 Jul 31 2023 ProjectGreatMigration.pdf
| -rw-r–r– 1 ftp ftp 60857 Jul 31 2023 ProjectOpenWRT.pdf
| -rw-r–r– 1 ftp ftp 40960 Sep 11 2023 backup-OpenWrt-2023-07-26.tar
|_-rw-r–r– 1 ftp ftp 52946 Jul 31 2023 employees_wellness.pdf
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.10.14.21
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 3.0.3 – secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.9 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 48add5b83a9fbcbef7e8201ef6bfdeae (RSA)
| 256 b7896c0b20ed49b2c1867c2992741c1f (ECDSA)
|_ 256 18cd9d08a621a8b8b6f79f8d405154fb (ED25519)
53/tcp open tcpwrapped
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
nampで何がわかるの?
↑の通り、何のポートでなんのサービスが動いてるっていうのがわかる。
オプションは後で説明するけど、-sVコマンドが肝で、これがあると動いているバージョンとかまでわかる。
FTP動いてるならanonymoseでftpでつないでみるとか、httpだったらブラウザでアクセスしてみるとか、
場合によってはバージョン情報から脆弱性を発見して攻撃したりする。
nmapオプションの解説
オプションを解説していく。
- sudo
スーパーユーザー(root)権限でコマンドを実行。nmapの一部の機能は通常のユーザー権限では実行できないためsudoで実行する - -Pn
「ホストがオンラインであることを前提にスキャンを行う」オプション。
デフォルトではnmapはホストがオンラインかどうかを確認するんだけど。このオプションを付けることでその確認をスキップすることで、ファイアウォールなどでpingに応答しないホストでもスキャンを試みる。 - -sC
「標準スクリプトを使用する」オプションです。nmapにはスクリプトエンジン(NSE)があり、標準的なスクリプトを使って追加の情報を収集します。例えば、サービスの詳細や脆弱性のチェックなどが含まれます。 - -sV
めっちゃ大事。
「サービスのバージョンを検出する」オプションで、開いているポートで動作しているサービスの種類とバージョンを識別する - –min-rate=1000
「毎秒最低1000パケットの速度でスキャンを行う」オプションで、スキャンのスピードが速まる。実際やってみたらわかるけど爆速になる。
高速なスキャンはネットワークに負荷をかけることがあるので注意。 - -oA nmap
「出力を3種類の形式でファイルに保存する」オプション。具体的には、-oAは-oN(標準形式)、-oX(XML形式)、-oG(grep形式)をまとめて指定するもので、これによりスキャン結果がnmap.nmap、nmap.xml、nmap.gnmapという3つのファイルに保存されます。
このコマンドは、指定されたホストに対して詳細かつ高速なスキャンを実行し、その結果をファイルに保存するためのもの。実はあまりまだ僕はこれの恩恵を感じていないが、使っている人が多いので、きっといつか必要になるのだろうと思いながら使ってる。
コメント