Nmapでオープンリレーの検査を実施

  • Ubuntu 20.04.4 LTS
  • nmap 7.80+dfsg1-2build1

過日、nmapコマンドでオープンリレーの検査ができることを知った。贔屓にしていた第三者中継チェックwww.rbl.jpが閉鎖した際には途方に暮れたものであるが、コマンドから実施できるならたいへん心強い。

nmapがLuaで記述されたリレー検査スクリプトsmtp-open-relay.nseを解釈・実行する、ということである。スクリプトは/usr/share/nmap/scripts/smtp-open-relay.nseに設置されていた。

コマンドを最もシンプルに記述するとこういう具合である。

$ nmap --script smtp-open-relay.nse -p ポート番号 ホスト

ポート番号やホストを具体的に置き換えて実行してみるとこうである。全部で16の検査を試み、3つパスした模様である。なお、リレーが許可されたenvelope-fromとtoを表示するには、nmapコマンドに-vオプションを与えて冗長性レベルを上げねばならなかった。

$ nmap -v --script smtp-open-relay.nse -p 25 192.168.0.95
(snip)
PORT   STATE SERVICE
25/tcp open  smtp
| smtp-open-relay: Server is an open relay (3/16 tests)
|  MAIL FROM:<> -> RCPT TO:<relaytest@nmap.scanme.org>
|  MAIL FROM:<antispam@nmap.scanme.org> -> RCPT TO:<relaytest@nmap.scanme.org>
|_ MAIL FROM:<antispam@postfix.guro.internal> -> RCPT TO:<relaytest@nmap.scanme.org>

メールアドレスのローカルパートやドメインパートなどはデフォルトで定められたものが用いられる。これらは--script-args=で以って引数を指定すれば変更できた。

$ nmap -v --script smtp-open-relay.nse --script-args=smtp-open-relay.from=fromuser,smtp-open-relay.to=touser,smtp-open-relay.domain=example.com,smtp-open-relay.ip=192.168.0.1 -p 25 192.168.0.95
(snip)
PORT   STATE SERVICE
25/tcp open  smtp
| smtp-open-relay: Server is an open relay (4/16 tests)
|  MAIL FROM:<> -> RCPT TO:<touser@example.com>
|  MAIL FROM:<fromuser@example.com> -> RCPT TO:<touser@example.com>
|  MAIL FROM:<fromuser@postfix.guro.internal> -> RCPT TO:<touser@example.com>
|_ MAIL FROM:<fromuser@[192.168.0.1]> -> RCPT TO:<touser@example.com>

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください