NASL(Nessus Attack Script Language)

NASL(Nessus Attack Script Language)
NASL は Nessus のプラグイン記述に使われる
スクリプト言語のこと
Nessus プラグインは自作して追加ができる
このためには、まず Nessus の設定を変更して
オリジナルプラグインが使えるようにする
vim /opt/nessus/etc/nessus/nessusd.conf
で設定ファイルを開き
135行目の
nasl_no_signature_check = no

nasl_no_signature_check = yes
に変更し、保存
次にオリジナルプラグインを
.nasl という拡張子で保存して
/opt/nessus/lib/nessus/plugins/
へ保存する
次に、プラグインのインデックス再構築をするので
service nessusd stop
/opt/nessus/sbin/nessusd -R
再構築完了後
service nessusd start
で起動して
web UI からログイン
ログインは
https://localhost:8834/flash.html
これで
ポリシー作成のときの plugin に
自作の pllugin が表示されるようになる
NASLの言語仕様
報告書の書き方などは
Nessus入門(ネットワーク脆弱性試験ツール活用術)
を参考に

Nessus 調査レポートのファイル形式

Nessus 調査レポートのファイル形式
.nessus
XML形式
Nessus の標準形式になる
この形式のみ Nessus サーバーにアップロード可能
HTML
webブラウザーでレポート内容の表示
ダウンロードするには Nessusのブラウザ機能を使う
rtf
Ritch Text Format 形式
ワードパッドなどで読み込めるけど
word で読み込ませるならHTMLのほうがよい
NBE
パイプラインで区切られたフォーマット
多数の外部プログラムで読み込みできる
ただし、アップロードができない

Nessus 調査レポートの出力について

Nessus 調査レポートの出力について
脆弱性検査は
POCAサイクルで行われる
Plan 計画
Do 実行
Check 評価
Act 改善
の略
Nessus レポートのダウンロード機能は
スキャン結果データのエクスポート
レポートの出力機能
の2つ
2つとも検査結果をエクスポートするのは変わらないけど
インポートできるかどうかという点が違う
出力形式は複数選べるけど
アップロード可能なのは
XML形式の .nessusだけ
このため、後々Nessus でレポートを表示したり
Professiona Feed ライセンスのみできることだけど
結果の比較を行うというのなら
.nessus 形式で保存することになる
またHTML形式で出力する場合のみ
出力内容の『指定が可能
このHTMLで出力は
3種類あるけど
Nessus のブラウザーで表示するものなので注意
以下、その3種類についてのメモ
Detailed HTML Report
脆弱性を検出したプラグインを基準にしてデータ出力
検出対象ホストは、各プラグインの説明の中にかかれる
Executive HTML Report
経営層向けのサマリーレポート
潜在リスクの高さをグラフ表示する
HTML export
各ホストごとに検出した脆弱性の情報を出力する
なお、これら Nessus レポートは英語になるので注意

Nessus でスキャン

Nessus でスキャン
まず、Nesssus へログインする
https://localhost:8834/flash.html
へアクセスし
ユーザ名、パスワードをいれてログイン
flash 有効化しないとできないので注意
ログイン画面で表示されているのは
Reports の画面なので
Policies をクリックして
Add を押すとポリシー新規作成画面になる
ここで
Name にポリシー名を入力するけど
この指定した名前は診断実行時に必要なので
忘れないように注意
今回は metasploit としてみた
あとは、設定は変えずにnext をクリック
Credentials画面も、設定を変えず next をクリック
Plugins では Enable All をクリックして
next をクリック
Preferences画面では、設定はそのままで
submit をクリック
これで、今回作成したポリシーができているのが
確認できる
次に、診断の実行
Scans をクリックし、Add をクリックすると
診断実行の情報の登録画面になるので
Name にはレポート名
Type には Run Now を指定して即時実行にする
Scheduled はライセンス料を払う Professional Feed でしか使えないので、今回は行わない
Templateを選択することで
診断情報を追加して手動実行することもできる
policyには先ほど作成したポリシー名
今回なら metasploit を選択し
Scan Targets には診断対象のIPアドレスを
1行に1つずつ指定する
今回は
192.16.10.214
だけにしたけど
もし、2つ以上あるのなら
192.168.10.214
192.168.10.151
というようにわけて記述する
設定ができたら、
Launch Scan をクリックして診断開始
スキャンの結果は nmap のフルスキャン同様に
かなり時間がかかるので気長に待つ

侵入テスト概要

侵入テスト概要
侵入テストには
対象システムを管理するシステム部門に通知して行われる
OvertTest 公開テスト
そして、一部の関係者以外には秘密にした
Covert Test 秘密テスト
の2種類がある
システム管理部門が社内システムに対して侵入テストを実施する場合にも
セキュリティサービスベンダーが実行する場合と同様に検査の目的を明確にする必要がある
診断時には対象システム管理者にも立ち会ってもらい
不測の事態にも対処できるようにしておくこと
診断を実施するときには
どこから診断を実施するかという診断ポイントの
検討も必要
もしFWの外からDMZのサーバーに対して診断を実施するにはFWによるフィルタリング込みの評価となる
が同一セグメントのDMZからmならサーバー単体への評価となる
会社にネットワークが複数存在し
各ネットワークで
セキュリティレベルが異なる場合
社内の別ネットワークから対象サーバーへの診断を実施することもある
FWの内側、外側両方からの検証することもある
Nessus による診断は侵入テスト実施のプロセスの1つにすぎない
侵入テストの実施には
ネットワーク脆弱性検査より多くの情報収集を必要とする
あと Nessus のプラグインは2種類あり
サーバーをダウンさせる可能性のあるものと
そうでないものになる
サーバーをダウンさせる可能性のあるものは
サービス不能攻撃 Denial of Service
と言われる
これは、他のプラグインとはわけて実行する
理由は
検査結果を保証するため
こうしないと検証中にサーバーがダウンしていることがあるため
ポリシー作成画面に
safe check というチェックボックスがあり
これをOn にしておけば回避できる

Nessus の設定

Nessus の設定
Nessus 4 だと設定ファイルを直接編集することになるので
cp /opt/nessus/etc/nessus/nessus.conf nessus.conf.org
というようにバックアップをとってから編集する
auto_update
プラグインを自動更新するかどうかの設定
デフォルトでは yes
自分でプラグインアップデートを制御したいのなら
no
にする
プラグインのアップデートは
端末を開いて
nessusupdate-plugins
を実行するとできる
port_range
ポリシーを新規作成したときに
デフォルトで作成されるポートレンジ指定
default は nessus が精査するデフォルトポート番号で
全てのポートレンジではないので注意
全てのポートレンジを指定するなら
0-65535
とする
xmlrpc_idle_session_timeout
Web UI のセッションタイムアウトの時間設定
デフォルトでは30分
これを変更することで長くすることができる
listen_address
デフォルトでは0.0.0.0
このためBT5R3 が起動している全てのホストの
全IPアドレスで Listen してしまう
他のPCから BT5R3 へアクセスする予定がないのなら
127.0.0.1
としておく
これらの設定が完了したら
service nessusd restart
で再起動して
Nessus にログインして
Metasploitable2 へスキャン実行
ちなみに、Nessus と Nmap では
ポートスキャンの結果が異なる
nmap -A -PO -p0-65535 -oN 192.168.10.151_tcp_full_txt 192.168.10.151
と実行して
フルポートレンジに対して
TCP SYNスキャンを実施

Nessus のインストール

Nessus のインストール
Hacker Japan (ハッカー ジャパン) 2013年 05月号 [雑誌]
を参考に
BT5R3 へ Nessus のインストール
必要なもの
ネット環境
レジスターコードを受けとるメルアド
これらが用意できているなら
Ctrl + Alt + t で端末を開いて
apt-get update

レポジトリ更新
Screenshot_from_2013-06-10 20:06:10
次に
apt-get install nessus

Nessus のインストール
Screenshot_from_2013-06-10 20:08:33
インストール完了後
– Please run /opt/nessus/sbin/nessus-adduser to add a user
– Register your Nessus scanner at http://www.nessus.org/register/ to obtain
all the newest plugins
– You can start nessusd by typing /etc/init.d/nessusd start
と表示されているので
Screenshot_from_2013-06-10 20:09:58
/opt/nessus/sbin/nessus-adduser
を実行すると
Login
のところにログインユーザを作成して
Login password
にはログインパスワードを入力
今回は、書籍通りに
hjuser をユーザとして
パスワードは任意のものにした
Do you want this user to be a Nessus ‘admin’ user ? (can upload plugins, etc…) (y/n) [n]:
と聞かれるので
y
として Enter
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that hjuser has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser manual for the rules syntax
Enter the rules for this user, and enter a BLANK LINE once you are done :
(the user can have an empty rules set)
とでるので、これも Enter
Screenshot_from_2013-06-10 20:19:54
すると、確認画面がでてくる
Login : hjuser
Password : ***********
This user will have ‘admin’ privileges within the Nessus server
Rules :
Is that ok ? (y/n) [y]
これでよければ
y
を押す
これで、ユーザの追加が完了
続いて、
アクティベーションコードの入力
これには
Applications > BackTrack >
Vulnerability Assessment > Vulnerability Scanners >
Nessus > nessus register
で起動
Screenshot_from_2013-06-10 20:27:19
これで、Activation Code の画面にとべるので
Using Nessus at Home
のほうの
Select をクリック
Screenshot_from_2013-06-10 20:30:29
これで登録画面になるので
First Name
Last Name
Email
を入力し
I agree to the terms of service
にチェックをいれて
Register をクリック
Check to receive updates from Tenable
にチェック入れておくと
Tenable社からの更新を受信するようになる
Screenshot_from_2013-06-10 20:33:17
登録できると
Tenable HomeFeed Activation Code
という件名でメールが届く
登録には Gmail でもOK
メール内の
Your activation code for the Nessus HomeFeed is
の下あたりに
アクティベートコードがあるので
これを使う
コードが入手できたら
次に
端末に戻り
nessus-fetch –register アクティベートコード
を入力
Screenshot_from_2013-06-10 21:20:17
Your activation code has been registered properly – thank you.
Now fetching the newest plugin set from plugins.nessus.org…
となるので少し待つ
Your Nessus installation is now up-to-date.
If auto_update is set to ‘yes’ in nessusd.conf, Nessus will
update the plugins by itself.
とでれば完了
起動するには
/etc/init.d/nessusd start

Nessus を起動できる
ここまでできたら
ブラウザ(firefox )で
https://localhost:8834/flash.html
自己証明書なので警告がでるけど
I Understand the Risks をクリックし
Screenshot_from_2013-06-10 21:31:37
Confirm Security Exception
をクリック
Screenshot_from_2013-06-10 21:31:57
これで Nessus のインストール画面になるので
少し待つ
Screenshot_from_2013-06-10 21:32:36
flash が必要なので画面をクリックすると
Temporarily allow https://localhost:8834/NessusClient.swf
(application/x-shockwave-flash / https://localhost:8834)
とでるので
Screenshot_from_2013-06-10 21:45:12
OK
とすると
Nessus のログイン画面がでる
Screenshot_from_2013-06-10 21:46:39
今回、3つのターゲット仮想サーバーに対して使用するけど
Nessus の書籍もでているので、いずれ購入し実践していく予定