ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

1年に1度の大安売り

「EC-Council's Annual Cyber Awareness Month Promo is here!」

という件名のメールが、EC-Councilから届く。

 

f:id:chikuwamaruX:20210812204037j:plain

 

8月16~31日でセールをするらしい。

その内容はというと、オンラインコース50%になる、とのこと。うそでしょ?

 

f:id:chikuwamaruX:20210812204128p:plain

 

・1年間のオンラインテキスト・動画利用

・半年間のラボ環境利用

・試験のバウチャー

と自分は早期割引で1,612ドルで購入したパッケージが、1,007ドル!

試験のバウチャーだけでも、950ドルするので、かなりお得です。

 

これ、噂には聞いていたけど、毎年やっているのね。。。

日本語講座でも、半額があればいいのですが。

 

CEH以外にもいろんなコースがありますが、食指が動きません。

f:id:chikuwamaruX:20210812205028p:plain

 

まとめ:EC-Councilの試験を受けるなら8月に申し込むべし。

まとめ:EC-Councilの試験を受けるなら8、11月に申し込むべし。

 

追記

11月にも半額セールがありました。

chikuwamarux.hatenablog.com

 

 

 

 

GVMの初手

情報元

GVM単体での情報元が見つからない。

 

GVMは、 有料製品のGreenbone Professional Edition (GPE)の一部で、Greenbone Source Edition (GSE)として、オープンソースライセンスで提供されているようです。

community.greenbone.net

 

Communityで聞くか、ソースコードから解析、という感じでしょうか。

community.greenbone.net

 

コンセプト

Scanに対して、タスクを作成して、Assetsが登録される。

他のスキャンツールとほぼ同等の考え方。 

 

スキャンスタート

基本的な流れ:「Task Wizard」 ⇒ 「Start Scan」 ⇒ スキャン のはずですが、怒られる、

f:id:chikuwamaruX:20210806090008p:plain

f:id:chikuwamaruX:20210806090025p:plain

これぞ、オープンソースの醍醐味?。。。

 

コミュニティサイトに事象が掲載されている。

github.com

 

ユーザーを作れとかアップデートだ、とかあるのですが、どちらも機能せず。

 

以下の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」

f:id:chikuwamaruX:20210806100425p:plain

 

スキャン相手は、Metasploitable2-Linuxを指定。

f:id:chikuwamaruX:20210806102735p:plain

62個の脆弱性が見つかりました。

f:id:chikuwamaruX:20210806102746p:plain

 

nessusの初手

情報元

nessusの公式ドキュメントは、以下にPDF・HTMLがある。PDFで600ページほど。

jp.docs.tenable.com

コンセプト

テンプレート:スキャンとポリシーのテンプレートがあり、スキャナとエージェントに提供される

スキャナテンプレート:Discovery、脆弱性コンプライアンスの3つのカテゴリ

スキャン設定:以下のカテゴリに分類されます。

  • スキャンのBasic 設定
  • ポリシーのBasic 設定
  • Discovery 設定
  • Assessment 設定
  • Report 設定
  • 詳細設定

ポリシー:ポリシーで設定を構成すると、設定はそのポリシーに基づいて作成されたすべてのスキャンに適用される。ほとんどの設定項目はスキャンと同じ。

テンプレートには、以下の分類がされている。

 スキャンスタート

基本的な流れ:「New Scan」 ⇒ ポリシー選択 ⇒ スキャン設定 ⇒ スキャン

 

My Scanから「New Scan」

f:id:chikuwamaruX:20210801084057p:plain

 

「Basic Network」ポリシーを選択後、スキャン設定。

IPアドレスSSHのアカウント情報などを設定してみる。

f:id:chikuwamaruX:20210801084102p:plain

 

スキャン相手は、Metasploitable2-Linuxを指定。72個、脆弱性が見つかりました。 f:id:chikuwamaruX:20210801085622p:plain

 

 

 

InsightVMの初手

情報元

InsightVMの評価版をダウンロードする際、メールアドレスを入力させられる。

2-3日後に営業担当者からメールが届く。その中で、情報元を紹介してくれる。

 

InsightVMシステム要件
InsightVMスタートアップガイド v1.3 (日本語)
InsightVMクイックスタートガイド (英語)
InsightVMのご紹介 - 脆弱性リスク管理ソリューション -
InsightVM製品デモンストレーション

「InsightVMスタートアップガイド v1.3 (日本語)」が、200ページほどのパワポ資料で、分かりやすかった。

 

コンセプト

アセット:サーバーやネットワーク機器

テンプレート:スキャン方法などのルール

サイト:スキャン対象とするネットワークの範囲(収集されたアセットのグループ)

アセットグループ:サイトとは別に、任意のアセットをグルーピングする機能

タグ:運用を用意にする目印

タグの種類: カスタムタグ(任意の文字列)、 ロケーションタグ、 所有者タグ、 

      致命度タグ(リスクスコアの重みづけで利用)

 

主な流れは、

  • デフォルトテンプレート利用 
  • スキャン結果の精査
  • チューニングの実施

※いきなりデフォルトテンプレートを触る必要はない、とのこと。

 

主な設定/チューニング項目

  • 一般
  • アセットの発見(Asset Discovery)
  • サービス発見(Service Discovery)
  • 発見パフォーマンス
  • 脆弱性のチェック
  • ポリシー・マネージャー

 

スキャンの流れ

  • アセットディスカバリ(Discovery)
  • ポートスキャン
  • サービスフィンガープリンティング
  • OS フィンガープリンティング
  • 脆弱性チェック(Unconfirmed)
  • 脆弱性チェック(Confirmed) ポリシーチェック

 

 スキャンスタート

サイトを作成して、アセットを追加して、スキャン開始。

f:id:chikuwamaruX:20210731110929p:plain

 スキャン相手は、Metasploitable2-Linuxを指定。

 

328個、脆弱性が見つかりました。

f:id:chikuwamaruX:20210731112221p:plain

 

 

 

 

 

KaliにOpenVAS ⇒ GVMをセットアップ

GVMについて

GVM(Greenbone-Vulnerability-Manager)は、かつてはOpenVASと呼ばれていた。Openと名が付くらいなので、オープンソース脆弱性スキャナー。

 

ライセンスは、GNU Affero General Public License v3.0 or later.と、良く分かりませんが、IPAが解説してくれています。

www.ipa.go.jp

 

GVMのセットアップ

0.Kaliのアップデート

apt update

いきなりGVMをインストールしようとしたら、apt updateをせよ、と怒られた。

f:id:chikuwamaruX:20210722205741p:plain

 

1.インストールの実行

apt install -y gvm

gvm-setup

ダウンロードに時間がかかる。年代別のCVE情報を取得している?

f:id:chikuwamaruX:20210722221656p:plain

この後、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を叩けば、無事にサービスが起動して、ブラウザが起動。

f:id:chikuwamaruX:20210723102706p:plain

 

更新

gvm-feed-update

 このコマンドにより、脆弱性情報が更新される。

 

 

 

Kaliにnessusをセットアップ

nessusについて

nessusはTenableという会社が販売している。

jp.tenable.com

 

無償版は、nessus essentialと呼ばれ、IPアドレス16個に対してのスキャンが可能。有料のフル機能がnessus professionalで、お値段2,990ドル/年など、サポートや契約年数によっても増減がある。

 

インストーラーは同じものを使用してようなので、アクティベーションコードの違いでessentialとprofessionalが異なるのだろうか。

 

nessus essentialのセットアップ

1.インストーラーの取得 

Download Nessus | Tenable®

ファイルサイズは46MBほど。

f:id:chikuwamaruX:20210718132312p:plain

ダウンロード時にライセンスへの同意が必要。

 

 

2.インストールの実行

dpkg -i Nessus-8.15.0-debian6_amd64.deb

あっさり完了。

f:id:chikuwamaruX:20210718133106p:plain

 

3.インストールパラメーター入力

この時点では、なにも聞かれない。

 

4.サービスの起動

/bin/systemctl start nessusd.service

を叩いて、https://localhost:8834/にアクセスする。

 

f:id:chikuwamaruX:20210718133902p:plain

 

5.アクティベーション

こちらか申し込むとアクティベーションコードがもらえる。

www.tenable.com

 

インストールしたnessusから、アクティベーションコードの申請は出来そうですがskipしました。

f:id:chikuwamaruX:20210718134215p:plain

 

アクティベーションコードを入力

f:id:chikuwamaruX:20210718134028p:plain

 

アカウントを作成する

f:id:chikuwamaruX:20210718134049p:plain

 

ここからインストールが始まるようです。結構時間かかります。

f:id:chikuwamaruX:20210718134101p:plain

 

セットアップ完了

f:id:chikuwamaruX:20210718140049p:plain

 

おまけ

この時点で、nessus essentialもInsightVMも稼働できている。しかしKaliのvmフォルダが35GBほどになり、激太りとなりました。それだけ、脆弱性情報を持っている、ということなんでしょう。

 つ・づ・く

 

 

chikuwamarux.hatenablog.com

 

 

 

KaliにNexpose ⇒ InsightVMをセットアップ

NexposeのCommunity Editionはどこ?

NexposeはMetasploitと同じく、Rapid7が販売している。

www.rapid7.com

 

Metasploitと同じく、無償版があると思ってサイト内を検索するも、見つかるのは30日トライアルの情報のみ。

 

NexposeはInsightVMという名称品に置き換わり、Community Editionは無くなり、その代わり1年間のトライアルを検討している、とか。

www.oreilly.com

 

探しても、1年間のトライアル情報はどこにも見当たらず。

 

Rapid7のサイトでは、Nexposeはオンプレのスキャンで、InsightVMは、Insightプラットフォームという販売戦略の一環、という位置づけなのか、InsightVMをやたらと推してくる。

f:id:chikuwamaruX:20210717064338p:plain

新しさに惹かれて、InsightVMをインストールすることに。

 

NexposeとInsightVMの比較は、ここが分かりやすかった。

jscom.jp

 

InsightVMのセットアップ

1.インストーラーの取得  

Download | InsightVM Documentation

ファイルサイズは1.2GBほど。

 

 

2.インストールの実行

chmod +x Rapid7Setup-Linux64.bin
./Rapid7Setup-Linux64.bin -c

※-c を外すとGUIモードでのインストール

 Nexposeのインストール手順で、service postgresql stopでDBを停止させる、という手順を踏むことを勧められるが一旦無視して実行。

f:id:chikuwamaruX:20210717074321p:plain

 

3.インストールパラメーター入力

・Security ConsoleとScan Engine か Scan Enginのみ
・インストールパスのデフォルト/opt/rapid7/nexpose ※結局、nexposeなの?
・80GBのディスクスペースが推奨だけど続ける?
・8192MGのメモリ推奨だけど続ける?
・DBのポートは5432?
・ユーザー情報入力(SSL証明書やサポートに使用)
・ログインユーザー名とパスワード

 あたりの設定が必要。

 

特に_Postgersがらみで怒られるころもなく、インストール完了。

f:id:chikuwamaruX:20210717075127p:plain

 

4.サービスの起動

systemctl start nexposeconsole.service

を叩いて、サービスを起動して、

https://localhost:3780 へアクセスする。

 

インストール時に設定したIDとパスワードでログイン。

f:id:chikuwamaruX:20210717075139p:plain

 

5.アクティベーション

ここから30日のトライアルを申し込む。すぐにメールでライセンスコードがもらえる。

www.rapid7.com

 

ライセンスコードを入力。

f:id:chikuwamaruX:20210717075914p:plain

その後、アップデートに時間とリソースを多く費やす。そもそも、Kaliのデフォルトのメモリ2GBでは、何度かハングしていたので、8GBに増やし、CPUも4コアから8コアへ。

 

ログイン完了。

f:id:chikuwamaruX:20210717084635p:plain

 

おまけ

去年、Nexposeで脆弱性が見つかったのね。脆弱性スキャナーに脆弱性って。。。

jvndb.jvn.jp

 

次は、実際にInsightVMを使ってみたいと思います。

つ・づ・く

 

 

chikuwamarux.hatenablog.com