Nmap Scripting Engine(NSE) スクリプト「http-domino-enum-passwords」における任意のファイルを作成できる脆弱性(Scan Tech Report) | ScanNetSecurity
2024.03.29(金)

Nmap Scripting Engine(NSE) スクリプト「http-domino-enum-passwords」における任意のファイルを作成できる脆弱性(Scan Tech Report)

Nmap Scripting Engine(NSE) スクリプト「http-domino-enum-passwords」には、任意のファイルを作成できる脆弱性が存在します。この脆弱性をリモートの第三者に悪用されると、この NSE スクリプトを実行したときに任意のファイルを作成されてしまう可能性があります。

脆弱性と脅威 エクスプロイト
1.概要
Nmap Scripting Engine(NSE) スクリプト「http-domino-enum-passwords」には、任意のファイルを作成できる脆弱性が存在します。この脆弱性をリモートの第三者に悪用されると、この NSE スクリプトを実行したときに任意のファイルを作成されてしまう可能性があります。Nmap を信頼できないネットワークで使用する場合、以下の対策を実施することを推奨します。


2.深刻度(CVSS)
4.3
http://nvd.nist.gov/cvss.cfm?name=&vector=(AV:N/AC:M/Au:N/C:N/I:P/A:N)&version=2


3.影響を受けるソフトウェア ※
Nmap 6.25 およびそれ以前


4.解説
高機能ポートスキャナ「Nmap」に同梱されている NSE スクリプト「http-domino-enum-passwords」には、Nmap を実行したホスト上に任意のファイルを作成できる脆弱性が存在します。

Nmap には、バージョン 4.21ALPHA1 から「Nmap Scripting Engine(NSE) 」という機能が実装されています。この機能は、スクリプト言語「Lua」で書いたスクリプト(NSE スクリプト)を実行できる機能です。この機能を使うことで、発見したホストやポートなどに対して独自の検査を実現できます。

「Nmap」には、数多くの NSE スクリプトが同梱されています。
「http-domino-enum-passwords」もそのうちの一つです。

「http-domino-enum-passwords」は、IBM 製グループウェアサーバ「LotusDomino」の Web アプリケーションが動作していた場合、それを介して情報を収集する NSE スクリプトです。当該 Web アプリケーションが動作しているときに、この NSE スクリプトを実行すると、「Lotus Domino」のユーザの名前、ハッシュ化されたパスワード、ユーザの ID ファイルの URI を収集できます。そのときの実行例を以下に示します(当該 NSE スクリプトの使用例から抜粋しました)。

-- PORT STATE SERVICE REASON
-- 80/tcp open http syn-ack
-- | domino-enum-passwords:
-- | Information
-- | Information retrieved as: "Jim Brass"
-- | Internet hashes (salted, jtr: --format=DOMINOSEC)
-- | Jim Brass:(GYvlbOz2idzni5peJUdD)
-- | Warrick Brown:(GZghNctqAnJgyklUl2ml)
-- | Gill Grissom:(GyhsteeXTr75YOSwW8mc)
(割愛)
-- | Internet hashes (unsalted, jtr: --format=lotus5)
-- | Ada Lovelace:355E98E7C7B59BD810ED845AD0FD2FC4
-- | John Smith:655E98E7C7B59BD810ED845AD0FD2FD4
-- | ID Files
-- | Jim Brass ID File has been downloaded (/tmp/id/Jim Brass.id)
-- | Warrick Brown ID File has been downloaded (/tmp/id/Warrick Brown.id)
-- | Gill Grissom ID File has been downloaded (/tmp/id/Gill Grissom.id)
(割愛)
-- |
-- |_ Results limited to 10 results (see domino-enum-passwords.count)

この NSE スクリプトでは、ユーザ ID ファイルをローカルのファイルシステム上にダウンロードできます。このとき、ダウンロードしたユーザ ID ファイルの保存先パスは、以下の 2つで決まります。前述の実行例では、(1) に「/tmp/id」を指定していると考えます。

(1) NSE スクリプトの引数「domino-enum-passwords.idpath」
(Nmap のオプション「--script-args」で指定します)
(2) 収集したユーザの名前
(「Lotus Domino」のウェブアプリケーションが応答する HTTP レスポンスから抽出します)

(2) は、当該 NSE スクリプトで検査した Web アプリケーションの HTTP レスポンスによって決まります。また、当該 NSE スクリプトは最終的な保存先パスを検証(そのパスに保存してもよいか等)していませんでした。

以上のことから、リモートの第三者が「Lotus Domino」の Web アプリケーションとして振る舞う Web アプリケーションを用意しておくことで、第三者が (2)
およびユーザ ID ファイルの内容を操作できました。この結果、リモートの第三者が Nmap を実行したホスト上に任意のファイルを作成できました。


5.対策
以下のどちらかの方法で、この脆弱性を解消することが可能です。
・Nmap 6.40 以降を入手しアップデートする
・最新の「http-domino-enum-passwords」を入手し当該スクリプトを上書きする

これらの方法を実施する場合には、以下の Web サイトを参考にしてください。

Download the Free Nmap Security Scanner for Linux/MAC/UNIX or Windows
http://nmap.org/download.html
Nmap Subversion (SVN) Repository
https://svn.nmap.org/nmap/scripts/http-domino-enum-passwords.nse


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー脅威分析センター

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《吉澤 亨史( Kouji Yoshizawa )》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×