cowrieを設置した
cowrie
cowrieインストール
cowrie用設定
自分がcowrieを設置している環境はdebian ver8.5.
以下コマンドで必要なものをインストール.
# apt-get install git python-dev python-openssl openssh-server python-pyasn1 python-twisted
cowrieが22番ポートを使うので普段自分がsshするポートを指定できる範囲で変える.
sshd_configのバックアップを取った上で書き換える.
# vim /etc/ssh/sshd_config Port 22 ↓ Port {任意の番号}
書式のテストをして,いい感じならsshd_configの再読み込み.
# sshd -t # service sshd restart
cowrie設置用のユーザを作成し,22番ポートをcowrie用に設定.
# adduser --disabled-password cowrie # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j REDIRECT --to-port 2222
cowrieにユーザをスイッチ.
# su cowrie $ cd
cowrieのインストール
cowrieをダウンロード,設定ファイルを作る.
$ git clone https://github.com/cowrie/cowrie.git $ cd cowrie $ cp cowrie.cfg.dist cowrie.cfg
設定ファイルをいじる(ここではホスト名だけを変えた).
$ vim cowrie.cfg hostname = {任意のホスト名}
cowrieの設定ポートを直接22にしてauthbind使ってもいい.
# apt-get install authbind # touch /etc/authbind/byport/22 # chown cowrie /etc/authbind/byport/22 # chmod 777 /etc/authbind/byport/22
cowrie/data内にあるuserdb.txtいじれば, 攻撃者がログインできるユーザネームとパスワードのコンビを変えることができる.
cowrieの起動
下記コマンドで起動&起動できたか確認.
$ ./start.sh $ cat cowrie.pid #process or $ netstat -antp | grep 2222
cowrieに接続してみる
$ ssh root@{ipaddress}
userdb.txtで指定したユーザネームとパスワードのコンビでログインできたらok.
cowrie側でlogの確認
自分のssh用に開けたポートでログインしたらlogを見る.
$ cat ~/cawrie/log/cowrie.log
攻撃者のipとか見える.
cowrieを止める時はstop.shとか
以上cowrieのインストール.
kippo-graphのインストール
kippo-graphはkippoで取れた攻撃者情報をいい感じに可視化してくれるやつ.
cowrieでも使えるっぽいので使っていく.
cowrieで取れたデータをMySQLに保存して,phpで表示するというもの.
MySQLのインストール
MySQLをインストール.
# apt-get install mysql-server python-mysqldb
インストール途中でMySQLのrootのパスワードを聞かれるのでいい感じに設定.
MySQLにcowrie用のユーザを追加と権限を設定.
# mysql -u root -p #インストール途中に入力したrootパスワードを入力 mysql > create user 'cowrie'@'localhost' identified by '{cowrieのパスワード任意で}'; mysql > grant all on cowrie.* to 'cowrie'@'localhost' identified by '{cowrieのパスワード}'; mysql > exit;
cowrieにスイッチして,データベースをいい感じにしていく.
# su cowrie $ cd ~/cowrie/doc/sql/ $ mysql -u cowrie -p mysql > create database cowrie; mysql > use cowrie; mysql > source mysql.sql; mysql > show tables; +-----------------+ | Tables_in_kippo | +-----------------+ | auth | | clients | | downloads | | input | | sensors | | sessions | | ttylog | +-----------------+ 7 rows in set (0.00 sec) mysql > exit;
cowrieのログの出力を今しがた作ったデータベースにガンガン入れていくように設定する.
$ vim ~/cowrie/cowrie.cfg ~略~ [database_mysql] host = localhost database = cowrie username = cowrie password = {cowrieのパスワード} port = 3306 ~略~
kippo-graphのインストール
# apt-get update && apt-get install -y libapache2-mod-php5 php5-mysql php5-gd php5-curl # /etc/init.d/apache2 restart
最新版をダウンロードしてやる. (2016-08-15現在 Ver. 1.5.1)
# cd /var/www # wget http://bruteforce.gr/wp-content/uploads/kippo-graph-1.5.1.tar.gz # openssl sha1 kippo-graph-1.5.1.tar.gz # tar zxvf kippo-graph-1.5.1.tar.gz # mv kippo-graph-1.5.1 kippo-graph # cd kippo-graph # chmod 777 generated-graphs # cp config.php.dist config.php # vim config.php ~略~ define('DB_HOST', 'localhost'); define('DB_USER', 'cowrie'); define('DB_PASS', '{cowrieのパスワード}'); define('DB_NAME', 'cowrie'); define('DB_PORT', '3306'); ~略~
ブラウザでhttp://{ipaddress}/kippo-graph/を見る.
余談
kippo-graphにはKIPPO-PLAYLOGという機能があり,攻撃者がログインしてから,ログアウトするまでの実行コマンドを可視化してくれる機能がある.
cowrieではバグで今んとこ(2016-08-15現在)使えないっぽい https://github.com/ikoniaris/kippo-graph/issues/44
スクリプトを実行すれば見れる.
$ cd ~/cowrie/log $ python ../../bin/playlog {任意のlog}.log