2月 23

NSEarchをインストールして使ってみましたよ

nsearch03
ポートスキャナ「Nmap」には、NSE(Nmap Scripting Engine)http://nmap.org/book/man-nse.htmlというものが付属しています。NSEは様々な処理を自動化したスクリプトでサービスの設定を確認するものや脆弱性が存在するかどうかをチェックするようなものなど多種多様で、自分自身で記述することも可能です。
今回はこのNSEを検索するためのツール「NSEarch」をKali Linux 1.1.0にインストールして使ってみました。

【NSEarchをダウンロード】

git clone https://github.com/JKO/nsearch.git

【設定に必要なNSEが保存されているPathを取得】

find /usr -type f -name “script.db” 2>/dev/null | awk ‘gsub(“script.db”,””)’
/usr/share/nmap/scripts/

【設定ファイルの編集】

cd nsearch
cp config.yaml.example config.yaml
vi config.yaml

(設定ファイル編集前)

#Configuration File

config:
scriptsPath: “/usr/local/share/nmap/scripts/”
filePath: “/usr/local/share/nmap/scripts/script.db”
fileBackup: ‘scriptbk.db’
scriptdb: “nmap_scripts.sqlite3”
categories: [“auth”,”broadcast”,”brute”,”default”,”discovery”,”dos”,”exploit”,”external”,”fuzzer”,”intrusive”,”malware”,”safe”,”version”,”vuln”]

(設定ファイル編集後)

#Configuration File

config:
scriptsPath: “/usr/share/nmap/scripts/”
filePath: “/usr/share/nmap/scripts/script.db”
fileBackup: ‘scriptbk.db’
scriptdb: “nmap_scripts.sqlite3”
categories: [“auth”,”broadcast”,”brute”,”default”,”discovery”,”dos”,”exploit”,”external”,”fuzzer”,”intrusive”,”malware”,”safe”,”version”,”vuln”]

【NSEarchを実行】

python nsearch.py

================================================
_ _ _____ _____ _
| \ | |/ ___|| ___| | |
| \| |\ `–. | |__ __ _ _ __ ___ | |__
| . ` | `–. \| __| / _` || ‘__| / __|| ‘_ \
| |\ |/\__/ /| |___ | (_| || | | (__ | | | |
\_| \_/\____/ \____/ \__,_||_| \___||_| |_|
================================================
Version 0.3 | @jjtibaquira
================================================

Creating Database :nmap_scripts.sqlite3
Creating Table For Script ….
Creating Table for Categories ….
Creating Table for Scripts per Category ….
Upload Categories to Categories Table …

================================================
_ _ _____ _____ _
| \ | |/ ___|| ___| | |
| \| |\ `–. | |__ __ _ _ __ ___ | |__
| . ` | `–. \| __| / _` || ‘__| / __|| ‘_ |
| |\ |/\__/ /| |___ | (_| || | | (__ | | | |
\_| \_/\____/ \____/ \__,_||_| \___||_| |_|
================================================
Version 0.3 | @jjtibaquira
================================================

nsearch>

【helpを表示】

nsearch> help

Nsearch Commands
================
clear doc exit help history last search

【各コマンドのhelpを表示】

nsearch> help clear
Clear the shell

nsearch> help doc
Usage:
doc

nsearch> help exit
Exits from the console

nsearch> help history
Print a list of commands that have been entered

nsearch> help last
Print the last Result of the Query

nsearch> help search

name : Search by script’s name
category : Search by category
Usage:
search name:http
search category:exploit

【基本的な使い方】
基本的には[search]コマンドを用いてNSEを探すことになるかと思います。
Version 0.3での検索の方法は[name]と[category]が用意されています。
[name]では指定した文字列を含んでいるNSEが列挙されます。
また、[category]では「NSEarch」の設定ファイルに定義されているカテゴリーにマッチするものを列挙されます。
Version 0.3 では「auth」「broadcast」「brute”」「default」「discovery」「dos」「exploit”」「external」「fuzzer」「intrusive」「malware」「safe」「version」「vuln」が定義されています。

以下は[name]で[ntp]、[category]で[auth]で[search]コマンドを実行したログです。

nsearch> search name:ntp
1.http-frontpage-login.nse
2.ntp-info.nse
3.ntp-monlist.nse

nsearch> search category:auth
1.ajp-auth.nse
2.creds-summary.nse
3.domcon-cmd.nse
4.domino-enum-users.nse
5.ftp-anon.nse
6.http-auth.nse
——– SNIP ——–
29.sip-enum-users.nse
30.smb-enum-users.nse
31.smtp-enum-users.nse
32.snmp-win32-users.nse
33.x11-access.nse

また、[doc]コマンドを用いることで指定したNSEを見ることができます。

nsearch> doc ntp-info.nse
local bin = require “bin”
local comm = require “comm”
local nmap = require “nmap”
local shortport = require “shortport”
local stdnse = require “stdnse”
local string = require “string”
local table = require “table”

description = [[
Gets the time and configuration variables from an NTP server. We send two
requests: a time request and a “read variables” (opcode 2) control message.
Without verbosity, the script shows the time and the value of the
—- SNIP —-
author = “Richard Sammet”

誤った文字列を指定するとエラーメッセージではなく終了してしまったり、NSEによっては[doc]コマンドの結果が正しく表示されなかったりという荒削り感はありますがその辺りは今後のバージョンアップに期待です。



Copyright 2017. All rights reserved.

Posted 2015年2月23日 by ntsuji in category "memo