1年に1度の大安売り
「EC-Council's Annual Cyber Awareness Month Promo is here!」
という件名のメールが、EC-Councilから届く。
8月16~31日でセールをするらしい。
その内容はというと、オンラインコースが50%になる、とのこと。うそでしょ?
・1年間のオンラインテキスト・動画利用
・半年間のラボ環境利用
・試験のバウチャー
と自分は早期割引で1,612ドルで購入したパッケージが、1,007ドル!
試験のバウチャーだけでも、950ドルするので、かなりお得です。
これ、噂には聞いていたけど、毎年やっているのね。。。
日本語講座でも、半額があればいいのですが。
CEH以外にもいろんなコースがありますが、食指が動きません。
まとめ:EC-Councilの試験を受けるなら8月に申し込むべし。
まとめ:EC-Councilの試験を受けるなら8、11月に申し込むべし。
追記
11月にも半額セールがありました。
GVMの初手
情報元
GVM単体での情報元が見つからない。
GVMは、 有料製品のGreenbone Professional Edition (GPE)の一部で、Greenbone Source Edition (GSE)として、オープンソースライセンスで提供されているようです。
Communityで聞くか、ソースコードから解析、という感じでしょうか。
コンセプト
Scanに対して、タスクを作成して、Assetsが登録される。
他のスキャンツールとほぼ同等の考え方。
スキャンスタート
基本的な流れ:「Task Wizard」 ⇒ 「Start Scan」 ⇒ スキャン のはずですが、怒られる、
これぞ、オープンソースの醍醐味?。。。
コミュニティサイトに事象が掲載されている。
ユーザーを作れとかアップデートだ、とかあるのですが、どちらも機能せず。
以下の3フォルダを作成して、
/var/lib/gvm/data-objects/gvmd/20.08/configs
/var/lib/gvm/data-objects/gvmd/20.08/port_lists
/var/lib/gvm/data-objects/gvmd/20.08/report_formats
以下コマンドを叩けば解決できた人もいるようですが、フォルダは存在している。
gvm greenbone-feed-sync --type GVMD_DATA
やっぱりダメです。
結局、gvm-setupで再セットアップをしたら解消された。
再度、「Task Wizard」 ⇒ 「Start Scan」
スキャン相手は、Metasploitable2-Linuxを指定。
62個の脆弱性が見つかりました。
nessusの初手
情報元
nessusの公式ドキュメントは、以下にPDF・HTMLがある。PDFで600ページほど。
コンセプト
テンプレート:スキャンとポリシーのテンプレートがあり、スキャナとエージェントに提供される
スキャナテンプレート:Discovery、脆弱性、コンプライアンスの3つのカテゴリ
スキャン設定:以下のカテゴリに分類されます。
- スキャンのBasic 設定
- ポリシーのBasic 設定
- Discovery 設定
- Assessment 設定
- Report 設定
- 詳細設定
ポリシー:ポリシーで設定を構成すると、設定はそのポリシーに基づいて作成されたすべてのスキャンに適用される。ほとんどの設定項目はスキャンと同じ。
テンプレートには、以下の分類がされている。
- DISCOVERY
- VULNERABILITIES
- COMPLIANCE
スキャンスタート
基本的な流れ:「New Scan」 ⇒ ポリシー選択 ⇒ スキャン設定 ⇒ スキャン
My Scanから「New Scan」
「Basic Network」ポリシーを選択後、スキャン設定。
スキャン相手は、Metasploitable2-Linuxを指定。72個、脆弱性が見つかりました。
InsightVMの初手
情報元
InsightVM
2-3日後に営業担当者からメールが届く。その中で、情報元を紹介してくれる。
InsightVMシステム要件
InsightVMスタートアップガイド v1.3 (日本語)
InsightVMクイックスタートガイド (英語)
InsightVMのご紹介 - 脆弱性リスク管理ソリューション -
InsightVM製品デモンストレーション
「InsightVMスタートアップガイド v1.3 (日本語)」が、200ページほどのパワポ資料で、分かりやすかった。
コンセプト
アセット:サーバーやネットワーク機器
テンプレート:スキャン方法などのルール
サイト:スキャン対象とするネットワークの範囲(収集されたアセットのグループ)
アセットグループ:サイトとは別に、任意のアセットをグルーピングする機能
タグ:運用を用意にする目印
タグの種類: カスタムタグ(任意の文字列)、 ロケーションタグ、 所有者タグ、
致命度タグ(リスクスコアの重みづけで利用)
主な流れは、
- デフォルトテンプレート利用
- スキャン結果の精査
- チューニングの実施
※いきなりデフォルトテンプレートを触る必要はない、とのこと。
主な設定/チューニング項目
- 一般
- アセットの発見(Asset Discovery)
- サービス発見(Service Discovery)
- 発見パフォーマンス
- 脆弱性のチェック
- ポリシー・マネージャー
スキャンの流れ
- アセットディスカバリ(Discovery)
- ポートスキャン
- サービスフィンガープリンティング
- OS フィンガープリンティング
- 脆弱性チェック(Unconfirmed)
- 脆弱性チェック(Confirmed) ポリシーチェック
スキャンスタート
サイトを作成して、アセットを追加して、スキャン開始。
スキャン相手は、Metasploitable2-Linuxを指定。
328個、脆弱性が見つかりました。
KaliにOpenVAS ⇒ GVMをセットアップ
GVMについて
GVM(Greenbone-Vulnerability-Manager)は、かつてはOpenVASと呼ばれていた。Openと名が付くらいなので、オープンソースの脆弱性スキャナー。
ライセンスは、GNU Affero General Public License v3.0 or later.と、良く分かりませんが、IPAが解説してくれています。
GVMのセットアップ
0.Kaliのアップデート
apt update
いきなりGVMをインストールしようとしたら、apt updateをせよ、と怒られた。
1.インストールの実行
apt install -y gvm
gvm-setup
ダウンロードに時間がかかる。年代別のCVE情報を取得している?
この後、adminユーザーが作成され、パスワードが表示されるので、メモするらしい。
2.サービス確認
gvm-start
ブラウザが自動起動して、https://127.0.0.1:9392/ へアクセス
本来なら、これでセットアップ完了するようです。しかし、エラーが出てブラウザ起動しない。
サービスが起動しなかった対処
gvm-startコマンドを実行しても、以下のメッセージが表示され、ブラウザが自動起動しない。
Job for gvmd.service failed because a timeout was exceeded.
See "systemctl status gvmd.service" and "journalctl -xe" for details.
これぞ、オープンソースの醍醐味。
sudo gvm-check-setup
を叩くと、セットアップの状況を教えてくれる。
gvm-check-setup 21.4.1
Test completeness and readiness of GVM-21.4.1
Step 1: Checking OpenVAS (Scanner)...
OK: OpenVAS Scanner is present in version 21.4.1.
OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem.
Checking permissions of /var/lib/openvas/gnupg/*
OK: _gvm owns all files in /var/lib/openvas/gnupg
OK: redis-server is present.
OK: scanner (db_address setting) is configured properly using the redis-server socket: /var/run/redis-openvas/redis-server.sock
OK: redis-server is running and listening on socket: /var/run/redis-openvas/redis-server.sock.
OK: redis-server configuration is OK and redis-server is running.
OK: _gvm owns all files in /var/lib/openvas/plugins
OK: NVT collection in /var/lib/openvas/plugins contains 75056 NVTs.
Checking that the obsolete redis database has been removed
OK: No old Redis DB
OK: ospd-OpenVAS is present in version 21.4.1.
Step 2: Checking GVMD Manager ...
OK: GVM Manager (gvmd) is present in version 21.4.2.
Step 3: Checking Certificates ...
OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem.
OK: Your GVM certificate infrastructure passed validation.
Step 4: Checking data ...
OK: SCAP data found in /var/lib/gvm/scap-data.
OK: CERT data found in /var/lib/gvm/cert-data.
Step 5: Checking Postgresql DB and user ...
OK: Postgresql version and default port are OK.
ERROR: The Postgresql DB does not exist.
FIX: Run 'sudo runuser -u postgres -- /usr/share/gvm/create-postgresql-database'ERROR: Your GVM-21.4.1 installation is not yet complete!
Please follow the instructions marked with FIX above and run this
script again.
Postresqlのエラーらしく、コマンドを叩けと、とのことなので、コピペして実行。
sudo runuser -u postgres -- /usr/share/gvm/create-postgresql-database
CREATE ROLE
GRANT ROLE
CREATE EXTENSION
CREATE EXTENSION
再度、gvm-check-setupを叩くと、今度はユーザーを作成しろと。
gvm-check-setup 21.4.1
Test completeness and readiness of GVM-21.4.1
Step 1: Checking OpenVAS (Scanner)...
OK: OpenVAS Scanner is present in version 21.4.1.
OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem.
Checking permissions of /var/lib/openvas/gnupg/*
OK: _gvm owns all files in /var/lib/openvas/gnupg
OK: redis-server is present.
OK: scanner (db_address setting) is configured properly using the redis-server socket: /var/run/redis-openvas/redis-server.sock
OK: redis-server is running and listening on socket: /var/run/redis-openvas/redis-server.sock.
OK: redis-server configuration is OK and redis-server is running.
OK: _gvm owns all files in /var/lib/openvas/plugins
OK: NVT collection in /var/lib/openvas/plugins contains 75056 NVTs.
Checking that the obsolete redis database has been removed
OK: No old Redis DB
OK: ospd-OpenVAS is present in version 21.4.1.
Step 2: Checking GVMD Manager ...
OK: GVM Manager (gvmd) is present in version 21.4.2.
Step 3: Checking Certificates ...
OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem.
OK: Your GVM certificate infrastructure passed validation.
Step 4: Checking data ...
OK: SCAP data found in /var/lib/gvm/scap-data.
OK: CERT data found in /var/lib/gvm/cert-data.
Step 5: Checking Postgresql DB and user ...
OK: Postgresql version and default port are OK.
gvmd | _gvm | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
ERROR: No users found. You need to create at least one user to log in.
FIX: create a user by running 'sudo runuser -u _gvm -- gvmd --create-user=<name> --password=<password>'ERROR: Your GVM-21.4.1 installation is not yet complete!
Please follow the instructions marked with FIX above and run this
script again.
コピペして実行して、またまた gvm-check-setupを叩くと、意味不明なエラーが。
gvm-check-setup 21.4.1
Test completeness and readiness of GVM-21.4.1
Step 1: Checking OpenVAS (Scanner)...
OK: OpenVAS Scanner is present in version 21.4.1.
OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem.
Checking permissions of /var/lib/openvas/gnupg/*
OK: _gvm owns all files in /var/lib/openvas/gnupg
OK: redis-server is present.
OK: scanner (db_address setting) is configured properly using the redis-server socket: /var/run/redis-openvas/redis-server.sock
OK: redis-server is running and listening on socket: /var/run/redis-openvas/redis-server.sock.
OK: redis-server configuration is OK and redis-server is running.
OK: _gvm owns all files in /var/lib/openvas/plugins
OK: NVT collection in /var/lib/openvas/plugins contains 75056 NVTs.
Checking that the obsolete redis database has been removed
OK: No old Redis DB
OK: ospd-OpenVAS is present in version 21.4.1.
Step 2: Checking GVMD Manager ...
OK: GVM Manager (gvmd) is present in version 21.4.2.
Step 3: Checking Certificates ...
OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem.
OK: Your GVM certificate infrastructure passed validation.
Step 4: Checking data ...
OK: SCAP data found in /var/lib/gvm/scap-data.
OK: CERT data found in /var/lib/gvm/cert-data.
Step 5: Checking Postgresql DB and user ...
OK: Postgresql version and default port are OK.
gvmd | _gvm | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
OK: At least one user exists.
Step 6: Checking Greenbone Security Assistant (GSA) ...
Oops, secure memory pool already initialized
ERROR: Greenbone Security Assistant too old or too new: 21.4.1~dev1
FIX: Please install Greenbone Security Assistant >= 21.04.ERROR: Your GVM-21.4.1 installation is not yet complete!
Please follow the instructions marked with FIX above and run this
script again.
なんだか、gvm-check-setupのバグらしく、エラーを無視して、gvm-startを叩けば、無事にサービスが起動して、ブラウザが起動。
更新
gvm-feed-update
このコマンドにより、脆弱性情報が更新される。
Kaliにnessusをセットアップ
nessusについて
nessusはTenableという会社が販売している。
無償版は、nessus essentialと呼ばれ、IPアドレス16個に対してのスキャンが可能。有料のフル機能がnessus professionalで、お値段2,990ドル/年など、サポートや契約年数によっても増減がある。
インストーラーは同じものを使用してようなので、アクティベーションコードの違いでessentialとprofessionalが異なるのだろうか。
nessus essentialのセットアップ
1.インストーラーの取得
ファイルサイズは46MBほど。
ダウンロード時にライセンスへの同意が必要。
2.インストールの実行
あっさり完了。
3.インストールパラメーター入力
この時点では、なにも聞かれない。
4.サービスの起動
/bin/systemctl start nessusd.service
を叩いて、https://localhost:8834/にアクセスする。
こちらか申し込むとアクティベーションコードがもらえる。
インストールしたnessusから、アクティベーションコードの申請は出来そうですがskipしました。
アクティベーションコードを入力
アカウントを作成する
ここからインストールが始まるようです。結構時間かかります。
セットアップ完了
おまけ
この時点で、nessus essentialもInsightVMも稼働できている。しかしKaliのvmフォルダが35GBほどになり、激太りとなりました。それだけ、脆弱性情報を持っている、ということなんでしょう。
つ・づ・く
KaliにNexpose ⇒ InsightVMをセットアップ
NexposeのCommunity Editionはどこ?
NexposeはMetasploitと同じく、Rapid7が販売している。
Metasploitと同じく、無償版があると思ってサイト内を検索するも、見つかるのは30日トライアルの情報のみ。
NexposeはInsightVMという名称品に置き換わり、Community Editionは無くなり、その代わり1年間のトライアルを検討している、とか。
探しても、1年間のトライアル情報はどこにも見当たらず。
Rapid7のサイトでは、Nexposeはオンプレのスキャンで、InsightVMは、Insightプラットフォームという販売戦略の一環、という位置づけなのか、InsightVMをやたらと推してくる。
新しさに惹かれて、InsightVMをインストールすることに。
NexposeとInsightVMの比較は、ここが分かりやすかった。
InsightVMのセットアップ
1.インストーラーの取得
Download | InsightVM Documentation
ファイルサイズは1.2GBほど。
2.インストールの実行
chmod +x Rapid7Setup-Linux64.bin
./Rapid7Setup-Linux64.bin -c※-c を外すとGUIモードでのインストール
Nexposeのインストール手順で、service postgresql stopでDBを停止させる、という手順を踏むことを勧められるが一旦無視して実行。
3.インストールパラメーター入力
・Security ConsoleとScan Engine か Scan Enginのみ
・インストールパスのデフォルト/opt/rapid7/nexpose ※結局、nexposeなの?
・80GBのディスクスペースが推奨だけど続ける?
・8192MGのメモリ推奨だけど続ける?
・DBのポートは5432?
・ユーザー情報入力(SSL証明書やサポートに使用)
・ログインユーザー名とパスワードあたりの設定が必要。
特に_Postgersがらみで怒られるころもなく、インストール完了。
4.サービスの起動
systemctl start nexposeconsole.service
を叩いて、サービスを起動して、
https://localhost:3780 へアクセスする。
インストール時に設定したIDとパスワードでログイン。
ここから30日のトライアルを申し込む。すぐにメールでライセンスコードがもらえる。
ライセンスコードを入力。
その後、アップデートに時間とリソースを多く費やす。そもそも、Kaliのデフォルトのメモリ2GBでは、何度かハングしていたので、8GBに増やし、CPUも4コアから8コアへ。
ログイン完了。
おまけ
去年、Nexposeで脆弱性が見つかったのね。脆弱性スキャナーに脆弱性って。。。
次は、実際にInsightVMを使ってみたいと思います。
つ・づ・く