#Cowrieとは
SSH+Telnetのハニーポット。Kippoというハニーポットを改良して作られたそう。
以下のことができます。(他にもあるかも)
・ 侵入者がターミナルに打ち込んだコマンドの記録&再生
・ 侵入者がサーバに置いたファイル(いけないスクリプトとか)の保存
今回はSSH機能のみ導入する記事。
#導入
##環境
AWS EC2にてCentOS7を用意しました。
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
$ uname -a
Linux XXXX.osji.net 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Jan 4 01:06:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
##ポート周りの設定
ポート周りの完成イメージは以下の通り ※tcp
ここで必要なこと
・ Firewalldの設定変更
- 22, 2222, 22222番ポートのファイアウォール解放
- 攻撃ターゲットとなる22番ポートをCowrieの待ち受けポート2222番ポートへ転送
※ハニーポットはroot権限を持たないユーザで動かすため、Well-knownポートの22をそのまま利用することは不可
・ sshdの設定変更
- 管理者用のSSHアクセスポートを22222番へ変更
Firewalldの設定変更
firewalldを使用。
$ sudo firewall-cmd --list-services --zone=public --permanent
ssh dhcpv6-client
ここのsshは"firewalldのssh.xml設定値"(=22番ポート)を指すので、
ssh.xmlを管理者のSSHアクセス用に使う22222番ポートに書き換えます。
それにあたって、まずは今繋いでいる22番を明示的に開放
& ついでにcowrieで使用するポートフォワード設定を入れます。
$ sudo firewall-cmd --add-port=22/tcp --zone=public --permanent
success
$ sudo firewall-cmd --add-port=2222/tcp --zone=public --permanent
success
$ sudo firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=2222
success
$ sudo firewall-cmd --reload
success
それからssh.xmlの編集。
オーバーライド用ファイルを作り、そちらを変更。
$ sudo cp -ip /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml
$ sudo vi /etc/firewalld/services/ssh.xml
<port protocol="tcp" port="22"/>
↓ 書換え
<port protocol="tcp" port="22222"/>
$ sudo diff /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml
5c5
< <port protocol="tcp" port="22"/>
---
> <port protocol="tcp" port="22222"/>
$ sudo firewall-cmd --list-all --zone=public --permanent
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports: 22/tcp 2222/tcp
protocols:
masquerade: no
forward-ports: port=22:proto=tcp:toport=2222:toaddr=
source-ports:
icmp-blocks:
rich rules:
sshdの設定変更
$ sudo vi /etc/ssh/sshd_config
#Port 22
↓ コメントアウト・書換え
Port 22222
$ sudo systemctl restart sshd
※ 接続テストが終わるまで元セッションは切らないように!
##Cowrieのインストールと設定
# su -
# useradd Cowrie
# passwd Cowrie
(任意のパスワード設定)
# yum groupinstall "Development Tools"
# yum install python-devel python-setuptools python-virtualenv
# easy_install pip
# su - Cowrie
$ git clone http://github.com/micheloosterhof/cowrie
$ cd cowrie/
$ cp -ip cowrie.cfg.dist cowrie.cfg
$ virtualenv cowrie-env
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
$ source cowrie-env/bin/activate
(cowrie-env) $ pip install --upgrade pip
(cowrie-env) $ pip install --upgrade -r requirements.txt
(cowrie-env) $ deactivate
※ (2018/3/28)ご指摘いただき修正: 1行目のsuから"-"が漏れていました。
$ ./bin/cowrie start
#楽しむ
侵入者がターミナルに打ち込んだコマンドの記録&再生
"~Cowrie/cowrie/log/tty"に溜まっていくファイルを以下のコマンドで再生できます。
~Cowrie/cowrie/bin/playlog ~Cowrie/cowrie/log/tty/(ログファイル名)
侵入者がサーバに置いたファイルの保存
"~/Cowrie/cowrie/dl" に自動保存されます。
空ファイルも多々あるけど、たまにDDoS用perlスクリプトとかも落ちてくる…!!
#参考URL
以下URLを大変参考にさせていただきました。ありがとうございました。
http://ecoha0630.hatenablog.com/entry/2016/02/07/125110
https://blog.n-etupirka.net/archives/396