www.morihi-soc.net

セキュリティの話題を中心に取扱中

ハニーポット観察記録(10)

Glastopf という Web に特化したハニーポットのインストールについて説明します.

公式サイト

http://glastopf.org/

 

インストールに使用する OS は Ubuntu 12.04.3 LTS(64bit)です.

 

まず apt で Glastopf に必要なものをインストールします.多いですが,1行ずつ確実にインストールしましょう.

$ sudo apt-get update
$ sudo apt-get install -y python2.7 python-openssl python-gevent libevent-dev python2.7-dev build-essential make
$ sudo apt-get install -y python-chardet python-requests python-sqlalchemy python-lxml
$ sudo apt-get install -y python-beautifulsoup mongodb python-pip python-dev python-setuptools
$ sudo apt-get install -y g++ git php5 php5-dev
$ sudo pip install –upgrade distribute
$ sudo apt-get install -y libmysqlclient15-dev sysv-rc-conf

作業ディレクトリの作成します.

$ sudo mkdir /usr/local/src/glastopf
$ sudo chmod 777 /usr/local/src/glastopf/

必要なものインストールしていきます.

$ cd /usr/local/src/glastopf
$ sudo git clone git://github.com/glastopf/BFR.git
$ cd BFR
$ sudo phpize
$ sudo ./configure –enable-bfr
$ sudo make && sudo make install

次の1行を /etc/php5/apache2/php.ini へ書きます.

zend_extension = /usr/lib/php5/20090626/bfr.so

(例)
$ sudo vi /etc/php5/apache2/php.ini
[PHP]
zend_extension = /usr/lib/php5/20090626/bfr.so

次に Cython をインストールします.

$ cd /usr/local/src/glastopf
$ wget http://cython.org/release/Cython-0.19.2.tar.gz
$ tar zxvf Cython-0.19.2.tar.gz
$ cd Cython-0.19.2
$ sudo python setup.py install

続いてライブラリをインストールします.(必ず /opt で作業*1)

$ cd /opt
$ sudo git clone https://github.com/client9/libinjection.git
$ sudo git clone https://github.com/glastopf/pylibinjection.git
$ cd pylibinjection/
$ sudo rm src/pylibinjection.c
$ sudo python setup.py build
$ sudo python setup.py install

これで準備が整ったので,Glastopf をインストールします.

$ cd /usr/local/src/glastopf
$ sudo git clone https://github.com/glastopf/glastopf.git
$ cd glastopf
$ sudo python setup.py install

既に Apache が起動していると 80/tcp が使用できないので,httpd のプロセスを止めます.また自動起動もオフにします.

$ sudo apachectl stop
$ sudo sysv-rc-conf apache2 off

Glastopf 用のログディレクトリを作成し,起動してみます.

$ cd /opt
$ sudo mkdir glastopf
$ cd glastopf
$ sudo glastopf-runner
※ glastopf-runner コマンドを実行した場所にログファイルが作成されます.

ブラウザで Glastopf を動かしているサーバへアクセスすると,こんな感じのページが表示されます.

Glastopf 起動画面

Glastopf 起動画面

※ページの内容自体はアクセスするタイミングによって異なります.

なおログファイルは,下記のディレクトリに日付で分割されて保存されます.

/opt/glastopf/log/

 

 

Glastopf を約1ヶ月ほど使用してみましたが,非常に多くの攻撃を検知していました.

Web サーバを狙った攻撃は,単純な脆弱性スキャンや Tomcat や Apache Struts2 といったミドルウェアを狙ったもの,SQL インジェクション攻撃のような Web アプリケーションそのものを狙った攻撃など多彩です.Glastopf はこういった攻撃に対して一部,脆弱な応答をあえて返したり,PHP のサンドボックスを用いたコマンド実行の検出など高度な技術が含まれています(参考情報の2つ目のURL).Glastopf のログを見ていると,Web の世界でどんな攻撃が流行っているのかを感じられます.

ちょっと変わったハニーポットですが,リソースに余裕があれば一度試してみることをオススメします.


*1

pylibinjection の pylibinjection.c にバグがあるみたいで,ソースおよび pip で Glastopf をインストールしようとすると,下記のようなエラーで止まります(2013年10月30日現在).そのため pylibinjection を少々強引にインストールする手順となっています.(参考情報の3つ目のURL)

/opt/pylibinjection$ sudo python setup.py build
running build
running build_ext
skipping ‘src/pylibinjection.c’ Cython extension (up-to-date)
building ‘pylibinjection’ extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
creating build/temp.linux-x86_64-2.7/opt
creating build/temp.linux-x86_64-2.7/opt/libinjection
creating build/temp.linux-x86_64-2.7/opt/libinjection/c
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/opt/libinjection/c -I/usr/include/python2.7 -c src/pylibinjection.c -o build/temp.linux-x86_64-2.7/src/pylibinjection.o
src/pylibinjection.c:240:31: fatal error: sqli_fingerprints.h: No such file or directory
compilation terminated.
error: command ‘gcc’ failed with exit status 1

 

参考情報

https://github.com/glastopf/glastopf/blob/master/docs/source/installation/installation_ubuntu.rst

https://honeynet.org/files/CFT-WAH-FinalReport.pdf

http://public.honeynet.org/pipermail/glastopf/2013-August/000119.html

Written by morihisa

10月 30th, 2013 at 7:24 pm