Nmap(Network Mapper)
Nmapとは
ポートスキャンを行えるツール。
私はポートが開放されているかどうかくらいでしか、使用したことがなかったので改めて使い方を調べる。
※ポートスキャンは不正アクセス禁止法には抵触しませんが、「攻撃された」と判断する可能性もあるので自分の保有していないものに関しては実行しないほうが懸命です。
自宅のRassberry pi へとnmapを実行してみました。
ホスト名ではなく、IPアドレスでも実行可能です。
$ nmap 192.168.11.1 Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-20 17:19 JST Nmap scan report for 192.168.11.1 Host is up (0.0064s latency). Not shown: 996 closed ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http 443/tcp open https 49152/tcp open unknown MAC Address: 60:84:BD:F6:39:18 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 1.75 seconds
このように開放されているポートが確認できました。
STATEについては以下の表通りです。
state | description |
---|---|
open | ポートが開放されている |
closed | ポートが閉じている |
filtered | フィルタ処理されていて確認できない |
unfiltered | ポートへのアクセス可能、しかし、open closeを確認できない |
TCP SYNスキャン
SYNパケットを送信し、ポートにアクセス可能な場合、SYN/ACKパケットを返します。
$ nmap --packet-trace -sS 192.168.11.1
Nmap Script
nmapには現状で604個のscriptが用意されています。上記のサイトでカテゴリ毎にscriptが用意されています。
これらのscriptはNSE(Nmap Scripting Engine)上で動くLuaで書かれてたscriptです。
sctipt1つ実行することもできますし、カテゴリ指定でscript群を実行することもできます。
今回は様々な脆弱性を検出できるVlunカテゴリを実行してみました。
$ nmap --script vuln 192.168.11.1 Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-20 17:37 JST Nmap scan report for 192.168.11.1 Host is up (0.0052s latency). Not shown: 996 closed ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http |_http-csrf: Couldn't find any CSRF vulnerabilities. |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. 443/tcp open https |_http-csrf: Couldn't find any CSRF vulnerabilities. |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_ssl-ccs-injection: No reply from server (TIMEOUT) |_sslv2-drown: 49152/tcp open unknown MAC Address: 60:84:BD:F6:39:18 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 103.09 seconds
nginxを入れただけのラズパイなので脆弱性は検出されずです。
MySQLを立てて外部からのアクセスが可能にしている場合は mysql-brute 等のscriptを使ってみて検証してもいいかもしれません。
今後、何かに使えそうと思ったのでメモメモ