
GoLismero - Webのナイフ
GoLismeroは、セキュリティテストのためのオープンソースフレームワークです。現在はWebセキュリティに重点を置いていますが、他の種類のスキャンにも簡単に拡張できます。
このフレームワークの最も興味深い機能は次のとおりです。
厳密に言えば、GoLismero自体のインストールは必要ありません。必要なのはその依存関係だけです。そのため、root権限がないシステムで使用したい場合は、システム管理者に依存関係をインストールしてもらい、ホームフォルダで「git checkout」コマンドを実行するだけで済みます。
以下は、さまざまなオペレーティングシステムにGoLismeroをインストールするためのステップバイステップの手順です。
以下のコマンドでGoLismeroをダウンロードしてインストールします。これにはroot権限が必要なため、最初のコマンドを実行するとパスワードを求められます。
sudo bash
apt-get install python2.7 python2.7-dev python-pip python-docutils git perl nmap sslscan
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s ${PWD}/golismero.py /usr/bin/golismero
exit
ShodanのAPIキーや、GoLismeroと統合したいOpenVASサーバー、SpiderFootサーバーがある場合は、以下のコマンドを実行します。
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
エディタで、ファイルに次のセクションを必要に応じて追加します。
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
まず、MacではMac Portsをインストールする必要があります。
その後、以下のコマンドを実行してGoLismeroをダウンロードし、インストールします。これにはroot権限が必要なため、最初のコマンドを実行するとパスワードを求められます。
sudo -s
easy_install-2.7 -U distribute
easy_install install pip
port install nmap sslscan
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s /opt/golismero/golismero.py /usr/bin/golismero
exit
ShodanのAPIキーや、GoLismeroと統合したいOpenVASサーバー、SpiderFootサーバーがある場合は、以下のコマンドを実行します。
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
エディタで、ファイルに次のセクションを必要に応じて追加します。
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
以下のコマンドでGoLismeroをダウンロードしてインストールします。これにはroot権限が必要なため、最初のコマンドを実行するとパスワードを求められます。
su -
cd /root
pkg update
pkg install git
pkg install python27
ln -s /usr/local/bin/python2.7 /usr/local/bin/python
pkg install databases/py-sqlite3
pkg install nmap
pkg install sslscan
pkg install devel/py-pip
mkdir /opt 2> /dev/null
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s /opt/golismero/golismero.py /usr/bin/golismero
exit
ShodanのAPIキーや、GoLismeroと統合したいOpenVASサーバー、SpiderFootサーバーがある場合は、以下のコマンドを実行します。
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
エディタで、ファイルに次のセクションを必要に応じて追加します。
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
Windowsでは、各ツールを個別にインストールする必要があります。以下からダウンロードできます。
NiktoはGoLismeroにバンドルされていますが、実行にはCygwin版のPerlが必要です。ネイティブ版はUnixパスを処理できないためです。こちらからダウンロードできます:Cygwin。
Windows用のSSLScanには、XML出力を書き込むときにクラッシュを引き起こすバグがあり、GoLismeroはXML出力を必要とします。この問題は2010年から修正されていませんが、回避策があります。OpenSSLを新しいバージョンにアップグレードするだけです。OpenSSLビルドはこちらから入手できます:Win32OpenSSL。
通常、Visual Studio 2008 SP1もインストールすることをお勧めします。これによりC拡張のコンパイルが可能になり、一部のPythonモジュールを高速化できます。
ツールをインストールしたら、コンソールを開いて次のコマンドを実行します。
cd %HOME%
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
最後に、GoLismeroがツールを見つけられるように、ツールをPATH環境変数に追加する必要があるかもしれません。GoLismero自体もPATHに追加できます。
ShodanのAPIキーや、GoLismeroと統合したいOpenVASサーバー、SpiderFootサーバーがある場合は、GoLismeroをインストールした場所に「user.conf」という新しいファイルを作成し、次のセクションを必要に応じて追加します。
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
GoLismeroの使用は非常に簡単です。以下は、使い始めるための基本的なコマンドです。
このコマンドは、すべてのデフォルトオプションでGoLismeroを起動し、標準出力にレポートを表示します。
golismero scan <target>
デフォルトのコマンド「scan」を省略しても、GoLismeroは処理を理解できるため、次のようにも使えます。
golismero <target>
--audit-nameを使用して、監査に名前を設定することもできます。
golismero scan <target> --audit-name <name>
また、さまざまなファイル形式でレポートを生成できます。形式はファイル拡張子から推測され、必要なだけファイルを書き込むことができます。
golismero scan <target> -o <output file name>

さらに、-iオプションを使用して他のツールの結果をインポートできます。-iを複数回使用して、複数のファイルをインポートできます。
golismero import nikto_output.csv nmap_output.xml -db database.db
これにより、ターゲットのスキャンを1つのステップで実行し、後でレポートを生成できます。たとえば、レポートを生成せずにスキャンするには次のようにします。
golismero scan <target> -db database.db -no
そして、後日(または別のマシンから!)データベースからレポートを生成します。
golismero report report.html -db database.db
複数の出力ファイルを指定することもできます。
golismero report report.html report.txt report.rst -db example.db

利用可能なプラグインのリストを表示するには:
golismero plugins

特定のプラグインに関する詳細情報を問い合わせることもできます。
golismero info <plugin>

完全なプラグインリストはオンラインでも入手できます。
-eオプションを使用して特定のプラグインのみを有効にし、-dでプラグインを無効にします(-eと-dは何度でも使用できます)。
golismero scan <target> -e <plugin>
ワイルドカードを使用して複数のプラグインを選択することもできます。たとえば、すべてのブルートフォースプラグインを選択するには次のようにします。
golismero scan <target> -e brute*

GoLismeroは現在、コンソール、プレーンテキストファイル、reStructuredText形式、HTML形式でレポートを生成します。どの場合でも、レポートは単一のファイルに自己完結しているため、簡単に配布できます。つまり、HTMLレポートはすべてがバンドルされた単一の.htmlファイルであり、メールに添付して他の人に送信できます。
出力ファイルが指定されていない場合、GoLismeroはデフォルトでコンソールにレポートを出力します。ただし、両方を同時に選択することもできます。たとえば、HTMLレポートを書き込み、特殊なファイル名「-」を使用してコンソール出力も表示するには次のようにします。
golismero scan <target> -o - -o report.html
ChromeでのHTMLレポートの概要は次のようになります。

Firefoxでの目次:

Internet Explorerでの各脆弱性の詳細:

モバイルデバイス(iPadなど)とも互換性があります。

ご覧のとおり、レイアウトはすべてのプラットフォームで一貫しています。HTMLレポートは単一の.htmlファイルに完全に自己完結しているため、共有が非常に簡単です。
この例では、これまで見てきたすべてを1つのコマンドで実践します。Nmapスキャンの結果をインポートし、DNS分析プラグインのみを使用して独自のスキャンを実行し、結果を任意のデータベースファイルに保存し、HTMLとreStructuredText形式でレポートを生成します。
golismero -i nmap_output.xml -e dns* -db database.db -o report.rst -o report.html
デフォルトの「scan」コマンドが省略されていることに注目してください。GoLismeroは自動的に認識します。
代わりに複数のコマンドに分割する場合は次のようになります。
golismero import -db database.db nmap_output.xml
golismero scan -db database.db -e dns* -no
golismero report -db database.db report.rst report.html
2番目のコマンドで「-no」スイッチを使用して、デフォルトのコンソールレポートが表示されないようにしていることに注目してください。
GoLismeroの次の機能は次のとおりです。
GoLismeroはプラグインによって完全に拡張可能です。つまり、特定のニーズに合わせたり、お気に入りのツールを使用したりして、独自のスクリプトをいつでも作成できます。
プラグインAPIドキュメントから始めて、GoLismeroの内部をいじりたい場合は完全な仕様に進んでください。
ステップバイステップのチュートリアルやハウツーは近日公開予定です!
バグを見つけた場合は、GithubのIssueシステムを使用して報告できます。メール([email protected])を送信するか、Twitter(@golismero_pro)で見つけることもできます。
すでにわかっている問題点をいくつか挙げます。