LoginSignup
7
12

More than 5 years have passed since last update.

CentOS7へハニーポットCowrieを導入する

Last updated at Posted at 2018-03-25

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
image.png

ここで必要なこと
・ 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で使用するポートフォワード設定を入れます。

(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の編集。
オーバーライド用ファイルを作り、そちらを変更。

(管理者SSH用)設定変更・反映
$ 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
cowrieの導入
# 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から"-"が漏れていました。

cowrieの起動
$ ./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

7
12
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
12