かわろぐ

技術、セキュリティ、その他もろもろ

MENU

ハニーポット cowrie をカスタマイズしてみる

環境

  • cowrie
  • Ubuntu 16.04.3

cowrie をカスタマイズする

全てがデフォルトのハニーポットだと、攻撃者に気づかれる可能性もあると思うので何らか変化を加えておきたいですよね。ということで、ログイン後のファイルシステムをそれっぽく見せるべく、カスタマイズ方法を調べてみました。

この記事では、ファイルシステムに変更を加える方法と、ログイン可能なユーザを変更する方法をまとめます。

ファイルシステムをカスタマイズする

createfs コマンドを使ってみる

Github の README.md には honeyfs の説明に file contents for the fake filesystem - feel free to copy a real system here とあるので、この honeyfs 内にファイルを作ればそのまま見れるようになるのかと思い以下の図のように honeyfs/etc/hoge.txt を作成しましたが、そんな単純なことではありませんでした。

f:id:kawa_xxx:20180324150042p:plain

cowrie にある、ファイルシステムを作る bin/createfs コマンドを使ってみようということで、  honeyfs/etc/hoge.txt をつくって bin/createfs > data/fs.pickle して、 cowrie に ssh で繋いでみましたが、hoge.txt の存在がないどころか、バナー表示がなくなったり ls コマンドがなくなったりして何も出来ない残念なhoneypot になってしまいました。。

このコマンドは一体どう使ったらいいのだろうか…

fsctl コマンドを使ってみる

bin/fsctl data/fs.pickle で etc/ に touch で hoge.txt をつくったら上でつくった honeyfs/etc/hoge.txt の内容が見れました。 仮に膨大なファイルを追加した場合に全部 fsctl でやらなくては行けないのかな。めんどくさすぎる…

f:id:kawa_xxx:20180324150038p:plain

ログイン可能なユーザをカスタマイズする

cowrie にログインできるユーザ名とパスワードの組み合わせは、 data/userdb.txt に書かれた組み合わせで決定します。以下がデフォルトの内容です。

f:id:kawa_xxx:20180324150035p:plain

デフォルトの状態では、 root アカウントは root, 123456 以外のパスワードであればログインでき、 richard アカウントはどんなパスワードでもログインできるような設定になっています。

cowrie を動作させてログイン失敗のログに出てきたアカウント名とパスワードをここに追記してあげれば、より多様な攻撃を見ることができるようになるかもしれませんね。

参考文献

サイバー攻撃の足跡を分析するハニーポット観察記録

サイバー攻撃の足跡を分析するハニーポット観察記録

ハニーポット cowrie に囚われてみた

環境

  • cowrie
  • Ubuntu 16.04.3

ハニーポットに囚われるって?

ハニーポットを構築、運用、観察したことはあるけど、自分がハニーポットに入ったことはこれまでありませんでした。ハニーポットにとらわれるとはどんな感じなのか体験するためにやってみました。

cowrie に囚われて /etc/passwd を見てみた

ローカルの環境に VirtualBox で Ubuntu を入れて、その上に cowrie を構築しました。今回は実験用なので、ポート番号等はデフォルトのものから特に変更しませんでした。

まずは、 root で適当なパスワードでログインします。発行したコマンドはログが見やすいように、w コマンドと cat /etc/passwd を発行して exit でログアウトするというシンプルなもののみにしました。

f:id:kawa_xxx:20180321145308p:plain

結構いろんなユーザがあることになってますね。これは cowrie/honeyfs/etc/passwd にテキストで全く同じ内容が書いてあり、その内容が表示されるだけです。

自分の行動を自分で観察してみた

まずは cowrie.log の該当部分をみてみる。 CMD: w , Command found: w などと発行しているコマンドとそのコマンドがあったかどうかが記されているのが見て取れます。tty ログも記録したよというログが残っていますね。

f:id:kawa_xxx:20180321145323p:plain

それではお次は playlog コマンドで自身の行動をハニーポットが記録したものをみてみましょう。

f:id:kawa_xxx:20180321145329p:plain

うむ。やったことがそのまま出てますね。

終わりに

自分の行動を自分で分析してみることで、ハニーポットがどんな感じにログを出すのかの理解が進みやすくなると思うのでおすすめですね。

参考文献

サイバー攻撃の足跡を分析する ハニーポット観察記録 [ハニーポット観察記録]

サイバー攻撃の足跡を分析する ハニーポット観察記録 [ハニーポット観察記録]

Less コマンドでシンタックスハイライトする方法

環境

  • mac 10.13.3
  • fish shell 2.7.1
  • homebrew 1.5.10
  • source-highlight 3.1.8

less だと寂しい感じに

設定ファイルやソースコードをVimで見るときは以下の様にシンタックスハイライトされた状態でみています。

f:id:kawa_xxx:20180321114356p:plain

ちょっと閲覧したいだけのときはLessを使って見ることも多いです。が、素のLessだと以下の用にシンタックスハイライトされずに寂しい感じで表示されてしまいます。

f:id:kawa_xxx:20180321114347p:plain

less でシンタックスハイライトする方法

まずは、 gnu source-highlitgt を homebrew でインストールします。

$ brew install source-highlight

その後、.bashrc や config.fish などに以下の設定を書きます。

export LESSOPEN='| /usr/local/bin/src-hilite-lesspipe.sh  %s'
export LESS='-R'

これは順番を書き間違えると vオプションで編集モードのエディタから戻ってきた時に、シンタックスハイライトが効かなくなります。間違えないように!といつつ、このシンタックスハイライトを調べていて、Lessで閲覧中にvキーを押すとエディタが開いて、編集モードになるのを初めて知りました。

設定がうまくいっていると Less でも以下のようにシンタックスハイライトされます。うーん見やすい。

f:id:kawa_xxx:20180321114340p:plain

色合いを変えたいけどどうすればいいんだろう…また今度調べようっと。

参考文献

https://www.gnu.org/software/src-highlite/http://www.softantenna.com/wp/review/gnu-source-highlight/

新しいLinuxの教科書

新しいLinuxの教科書

書評:Hello, World OSと標準ライブラリのシゴトとしくみを読んだ

よくプログラミングの最初のコードとして取り上げられる hello world! の動作を Linuxカーネルや glibc のソースコードの中まで調べていく内容でした。

今までこれらのソースコードは読んだことなかったのですが、環境が筆者のWebサイトからダウンロード出来たり、膨大なソースコードの中から目的の場所を探り当てていく方法まで丁寧に書いてあり、非常に読みやすい本でした。

積読してある、熱血アセンブラ入門と大熱血アセンブラ入門も読んでみよっと…

ハロー“Hello, World” OSと標準ライブラリのシゴトとしくみ

ハロー“Hello, World” OSと標準ライブラリのシゴトとしくみ

GCP に cowrie ハニーポットを構築してみた

ニホンモモンガさんの書籍を参考に久しぶりにハニーポットを久しぶりに構築してみました。インスタンス等は書籍にある通り Google Cloud Platform を使ってUbuntu 16.04 LTS でセットアップしました。

よく使う cowrie の起動と停止のコマンド

$ sudo su - cowrie
$ bin/cowrie start
$ bin/cowrie stop

cowrie のログを見る

cowrie の bin/playlog で侵入者の動きを再現する

ログインに成功し、何らかのコマンドが発行された場合に生成されるんですかね。

bin/playlog コマンドに tty ディレクトリ以下にあるファイルを指定すると、どのような流れでコマンドが発行されたかを確認することが出来ます。

$ bin/playlog log/tty/xxxxx.log

cowrie-logviewer を使う

cowrie-logviewer は検索等は出来ないけど、どこの国からアクセスされたかなどを閲覧しやすくしてくれるツールです。

ログファイルが少ないときは問題ないですが、1週間程度動かし続けてログが溜まった状態でこの Viewer を使おうとすると書籍のインスタンスタイプでは CPU が100%に張り付くので要注意です。溜まったログを見る場合は、ちゃんとローカルに落としてきてからやりましょー。

$ python cowrie-logviewer.py
$ ssh <ip> -p <sshのポート> -N -L8080:127.0.0.1:5000

おわりに

まだ植えてから数時間しか経っていないにもかかわらず、もうすでに5つも tty 配下にログが出来てます。

ほんとすごいな。見方を変えれば、弱い設定でSSHなどをインターネットへ公開すればすぐに入られてしまうということです。公開サーバを運用している人は注意が必要ですね。

サイバー攻撃の足跡を分析するハニーポット観察記録

サイバー攻撃の足跡を分析するハニーポット観察記録