cowrieでssh・telnetのハニーポット運用
ハニーポッター 第一弾
とりあえずSSHハニーポットのcowrieを立ててみました。
↓こいつです。
cowrieはコヤスガイという意味だそうです。Google先生が言ってました。
環境としては、Windows10のノートPCにVirualboxでCentOS 7をインストールし、その上のDocker上のCentOS 6でcowrieを動かしています。
低対話型のハニーポットを動かすのに、わざわざそこまで多重化する意味ないのでは、と思われるかもしれませんが、全くその通りです。
まあ、Dockerの操作の練習も兼ねてます。
インストールはそれほど難しくはありません。ググれば割と情報はあります。
↓この辺とか。
ハニーポットCowrieをCentOS7に入れてみた。 - Shioshishio
とりあえず、requrimentsをすべてインストールして、実行するだけのお手軽設計です。
少し詰まったのは、Docker上で動かしたContOSのイメージに入っていたのが、Python2.6だったことで、cowrieはPython2.7じゃないと動かないようです。まあ、何かしらの方法でアップデートすればいいんです。
最近telnetもサポートしたそうなので、せっかくですので、動かしてみます。設定ファイルをいじります。
# ============================================================================
# Telnet Specific Options
# ============================================================================
[telnet] # Enable Telnet support, disabled by default
enabled = true # IP addresses to listen for incoming Telnet connections.
#
# (default: 0.0.0.0) = any IPv4 address
#listen_addr = 0.0.0.0
# (use :: for listen to all IPv6 and IPv4 addresses)
#listen_addr = ::
# Port to listen for incoming Telnet connections.
#
# (default: 2223)
listen_port = 2223 # Source Port to report in logs (useful if you use iptables to forward ports to Cowrie)
reported_port = 23
これで起動すればsshはポート2222番、telnetはポート2223番で動いてくれます。
これをDockerのポートフォワードでそれぞれ22番、23番につなぎなおしました。
以上で、cowrieの起動は完了です。
この後、外からsshはつながるがtelnetがつながらないという事象が発生。なんだかんだ設定をごちゃごちゃいじってたら今はうまく動いてくれています(多分)。
確認した点としては、
- CentOS 7のfirewalld(デフォルトではsshは通すようになっている)
- WindowsのFirewall
- Windowsのほかプログラムが邪魔していないか
あたりですかね。結局何が問題だったかいまいちわかっていません。とりあえず、Windows 10はよくわからないものがいっぱい動いているので、サーバとか立てないほうがいいってことはよくわかりました。
とりあえずこれで動いてくれています。
2,3日動かしてみて、割と攻撃は来ています。ボット化するスクリプトを落として来たりとかですね。
ログがjsonで出てくるので、うまくパースして解析したいんですが、面倒くさい頑張ります。
面白い攻撃が来たら、(気が向いたら)ここにでも書きます。
追記・2016/0927
うまく動いてくれてると思っていたのですが、telnetの動作が怪しいです。ログを見ると、セッションを張ったログはあるのですが、その後の挙動がない……。
cowrieのtelnetはあまり情報がないので、どうすればいいか、ちょっとわからないです。
とりあえず試行錯誤してみます。sshは問題なさそうです。