カシミアのニット

カシミヤのニット

日々のメモです

cowrieを設置した

cowrie

cowrieSSH型Honeypotの一種.

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に接続してみる

cowrieにsshしてちゃんと動いているか確かめる.

$ 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/を見る.

f:id:lapis_zero09:20180228220647p:plain

余談

kippo-graphにはKIPPO-PLAYLOGという機能があり,攻撃者がログインしてから,ログアウトするまでの実行コマンドを可視化してくれる機能がある.

cowrieではバグで今んとこ(2016-08-15現在)使えないっぽい https://github.com/ikoniaris/kippo-graph/issues/44

スクリプトを実行すれば見れる.

$ cd ~/cowrie/log
$ python ../../bin/playlog {任意のlog}.log

kali linux rolling edにvirtualboxを入れるときに躓いたこと

kali linux rolling

公式からdebパッケージをダウンロードしてきてインストール

dpkg -i {virtualbox...}.deb

エラー吐いたら

# sudo apt-get install -f

->依存環境が解決されずインストールできない

->aptでインストールしてみる

https://www.virtualbox.org/wiki/Linux_Downloads ここを参照して

# vim /etc/apt/source.list

以下を追加

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

環境によって'xenial' を'vivid', 'utopic', 'trusty', 'raring', 'quantal', 'precise', 'lucid', 'jessie', 'wheezy', 'squeeze'で入れ替える

source.listに追加した に対してのkeyを追加する

# wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

fingerprintがちゃんと合ってるかapt-key fingerprintで確認

ちなみに2016/05/20時点で正しいのは以下

The key fingerprint for oracle_vbox_2016.asc is
B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
The key fingerprint for oracle_vbox.asc is
7B0F AB3A 13B9 0743 5925  D9C9 5442 2A4B 98AB 5139
Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>

そして以下を実行

#apt-get update

# apt-get -y install virtualbox-5.0
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 virtualbox-5.0 : 依存: libpng12-0 (>= 1.2.13-4) しかし、インストールすることができません
                  依存: libssl1.0.0 (>= 1.0.0) しかし、インストールすることができません
                  依存: libvpx1 (>= 1.0.0) しかし、インストールすることができません
                  推奨: libsdl-ttf2.0-0 しかし、インストールされようとしていません
                  推奨: dkms しかし、インストールされようとしていません
                  推奨: linux-headers しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

やっぱりダメ
しかし,

#apt-get libpng12-0

とかやってもないと言われるので,
手動でパッケージをインストールする.

自分のアーキテクチャにあったdebファイルをダウンロードする(上のエラーで依存になっているもの)

筆者はamd64なので以下の3つ

それぞれパッケージをダウンロードしたらmd5, sha1, sha256でチェックサム確認

# md5sum lib*
2f392ddcfd7de95cd794b8c5433e272b  libpng12-0_1.2.50-2+deb8u2_amd64.deb
57c3d82c10706d711f21c03f34d8249c  libssl1.0.0_1.0.1e-2+deb7u21_amd64.deb
a31e1de3bf7d71b02763c7eb194a445f  libvpx1_1.3.0-3_amd64.deb

合致したら以下でインストール

# dpkg -i libvpx1_1.3.0-3_amd64.deb libpng12-0_1.2.50-2+deb8u2_amd64.deb libssl1.0.0_1.0.1e-2+deb7u21_amd64.deb

そしてvirtualboxインストール

# apt-get -y install virtualbox-5.0

成功.

kali linux日本語入力環境がおかしくなった時の対処法

kali linux rolling

kali linux rolling editionで日本語入力環境がおかしくなった時にやったこと

uim

kali linuxdebianベースのOSで日本語入力環境を整えるパッケージとしては,
uim, ibus, etc..あるが,他のサイトを参照してもuimを使ってるものしかない.

実際にibusを入れてみたが動かず...

anthy

また,辞書もanthy, mozc, etc..あるが, anthyしかうまく動かないっぽい.

mozcはguiを起動させようとしても起動せずそのまま落ちる状態.

uim uim-anthy

そこで,uim, uim-anthyのパッケージを入れて日本語入力環境を整える.

# apt-get install uim uim-anthy

が,uimanthyを使ってもある設定をすると日本語入力ができなくなる.

やると日本語入力ができなくなる行為

  1. 入力メソッド(uim-pref-gtk)で「予測変換」にチェックを入れる
  2. インプットメソッド設定(im-config)で明示的にシステム(「default」以外)を設定する

以上の設定をやってしまうと,日本語入力ができなくなる.

この設定をやってしまった場合

チェックを外し(defaultを設定し),再起動する.

それでも日本語入力ができない場合は以下を実行.

# apt-get purge uim uim-anthy
# apt autoremove

これでもまだダメな場合は,

# dpkg -l |grep "uim"
# dpkg -l |grep "anthy"

それぞれで出てきたパッケージに対し,apt-get purge を実行.
めんどい人は以下で

# apt-get purge `apt list | grep -G "uim\|anthy" | cut -d"/" -f1 | xargs echo`
# apt autoremove

そして,以下を実行.

# apt autoremove
# reboot

そして,再インストール

# apt-get install uim uim-anthy

その他,設定を変えるたびにrebootするのが望ましい.

osインストールの時も日本語だとうまく表示されませんって出るし,
日本語対応が完璧ではないのかな(そりゃそうか)

kali linuxインストールから日本語化まで

kali linux

悪用しない

kali linux isoファイルのダウンロード

からkali linux 64bitをダウンロードする.
ミラーサイトの場合は,amd64が64bit

sha1sumを確認してマッチするかちゃんと確かめる.

# openssl sha1sum {kaliのisoファイル}

USBブート

今回はUSBからブートする方法

dmgに変換

kaliのisoイメージをdmgに変換.
kaliのisoがあるディレクトリで

# hdiutil convert -format UDRW -o kali.dmg kali-linux-2016.1-amd64.iso

USBのアンマウント

まず,USBのデバイスパスの確認
USBをささない状態で以下を実行

# diskutil

USBをさした状態で上記を実行

この時,新たに認識されたデバイスがUSBなので
diskN の N の部分をよく覚えておく.

以下で,USBをアンマウントする

# diskutil unmountDisk /dev/diskN

USBに書き込む

以下でUSBに書き込み(結構時間かかる)

# sudo dd if=kali.dmg of=/dev/diskN bs=1m

ここでパス違えるともれなく死ぬ

書き込みが終わったら以下のコマンドでUSBを取り出す.

# diskutil eject /dev/diskN

起動

USBを挿してインストールするPCを起動.

Thinkpadでは起動メディアを選択できるのでF12キーを押しながら起動.

この時うまく認識されなかったらBIOSの起動メディア順序を変えてみる(やり方は省略)

それでもダメならUSB書き込みのプロセスをもう一度.

うまくいったら

kali 2.0 sanaの場合

  1. Graphicalinstall を選択してEnter
  2. 言語の選択->「Japanese - 日本語」
  3. 国を選択->「日本」
  4. キーボードを選択->「英語」(自分の環境に合わせて)
  5. ネットワークの選択->デフォルトでok
  6. ドメイン名->「localhost
  7. パスワード設定->任意のパスワード
  8. ディスクのパーティショニング->「ディスク全体」->USBじゃないHDDを選択->「すべての...」->「パーティショニングの終了とディスクへの変更の書き込み」->「はい」
  9. ネットワークミラー->「はい」
  10. プロキシ->デフォルトでok
  11. GRUBブートローダ->「はい」
  12. バイスの変換->「/dev/sda」
  13. 「続ける」を選択

->勝手に再起動->ユーザ:root,パスワードでログイン

ログインできたら成功

kali rolling edition の場合

言語を日本語にしてインストールすると apt-get update upgrade 後に環境が壊れるバグ(?)が起きたので初期言語を英語にしといて後で日本語に設定する.

  1. Graphicalinstall を選択してEnter
  2. 言語の選択->「English」(?)
  3. 国を選択->「日本」
  4. キーボードを選択->「英語」(自分の環境に合わせて)
  5. ネットワークの選択->デフォルトでok
  6. ドメイン名->「localhost
  7. パスワード設定->任意のパスワード
  8. ディスクのパーティショニング->「ディスク全体」->USBじゃないHDDを選択->「すべての...」->「パーティショニングの終了とディスクへの変更の書き込み」->「はい」
  9. ネットワークミラー->「はい」
  10. プロキシ->デフォルトでok
  11. GRUBブートローダ->「はい」
  12. バイスの変換->「/dev/sda」
  13. 「続ける」を選択

->勝手に再起動->ユーザ:root,パスワードでログイン

$ dpkg-reconfigure locales

スペースで ja-JP.UTF-8 UTF-8 を選択->エンター

$ reboot

ログインできて日本語になってれば成功

 こっからsanaもrollingも一緒

http://docs.kali.org/general-use/kali-linux-sources-list-repositories に従って,

$ vim /etc/apt/sources.list

以下を記載

deb http://http.kali.org/kali kali-rolling main contrib non-free
# For source package access, uncomment the following line
deb-src http://http.kali.org/kali kali-rolling main contrib non-free

以下を実行

$ apt-get update
$ apt-get dist-upgrade

upgradeの方がうまくできなかったら

$ apt-get dist-upgrade --fix-missing

途中で日本語表記が崩れますがすぐに直る

直らなければ...

日本語入力環境

以下を実行

$ apt-get install uim uim-anthy
$ reboot #再起動