はじめに
誰かがあなたのサーバーにアクセスしようとしていると思いますか?調べるには、ハニーポットを展開できます システム内で、最初の信念を確認または却下することにより、パラノイアを緩和するのに役立ちます。例として、Kippo SSHハニーポットを開始できます。これにより、ブルートフォース攻撃を監視し、今日のエクスプロイトとマルウェアを収集できます。 Kippoはまた、ハッカーのシェルセッションを自動的に記録します。このセッションを再生して、さまざまなハッキングテクニックを調べ、後でこの収集した知識を使用して本番サーバーを強化できます。ハニーポットをインストールするもう1つの理由は、本番サーバーから注意をそらすためです。このチュートリアルでは、UbuntuサーバーにKippoSSHハニーポットをデプロイする方法を示します。
前提条件
KippoSSHハニーポットはPythonベースのアプリケーションです。したがって、最初にPythonライブラリをインストールする必要があります:
$ sudo apt-get install python-twisted
通常は、 sshdを実行します サービスはデフォルトポート22でリッスンします。SSHハニーポットにこのポートを使用することは理にかなっています。したがって、SSHサービスをすでに実行している場合は、デフォルトポートを他の番号に変更する必要があります。代替ポート2222の使用はすでに一般的に知られており、変装を妨害する可能性があるため、使用しないことをお勧めします。 4632のようなランダムな4桁の数字を選びましょう。SSH/etc/ ssh / sshd_config構成ファイルを開き、Portディレクティブを次のように変更します。
Port 22
に
Port 4632
再起動が完了したら、sshd:
$ sudo service ssh restart
netstat を使用して、ポートが正しく変更されたことを確認できます。 コマンド:
$ netstat -ant | grep 4632
tcp 0 0 0.0.0.0:4632 0.0.0.0:* LISTEN
さらに、Kippoは非特権ユーザーを実行する必要があるため、別のユーザーアカウントを作成し、このアカウントでKippoを実行することをお勧めします。新しいユーザーkippoを作成します:
$ sudo adduser kippo
インストール
Kippoは面倒なインストールを必要としません。実行する必要があるのは、gzipされたtarballをダウンロードして、kippoのディレクトリに抽出することだけです。まず、ログインするか、ユーザーをkippoに変更してから、Kippoのソースコードをダウンロードします。
kippo@ubuntu:~$ wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz
次のコマンドで抽出します:
kippo@ubuntu:~$ tar xzf kippo-0.5.tar.gz
これにより、kippo-0.5という新しいディレクトリが作成されます。
構成
Kippoのディレクトリに移動すると、次のように表示されます。
kippo@ubuntu:~/kippo-0.5$ ls
data dl doc fs.pickle honeyfs kippo kippo.cfg kippo.tac log start.sh txtcmds utils
ここで最も注目すべきディレクトリとファイルは次のとおりです。
- dl –これは、kippoがwgetコマンドを使用してハッカーによってダウンロードされたすべてのマルウェアとエクスプロイトを保存する場合のデフォルトのディレクトリです。
- ハニーフ –このディレクトリには、攻撃者に提示されるいくつかのファイルが含まれています
- kippo.cfg –kippoの構成ファイル
- ログ –攻撃者によるシェルとのやり取りをログに記録するデフォルトのディレクトリ
- start.sh –これはkippoを起動するためのシェルスクリプトです
- utils –さまざまなkippoユーティリティが含まれていますが、最も注目すべきはplaylog.pyです。これにより、攻撃者のシェルセッションを再生できます。
Kippoにはポート2222が事前設定されています。これは主に、kippoを非特権ユーザーとして実行する必要があり、非特権ユーザーが1024未満のポートを開くことができないためです。この問題を解決するには、iptablesを使用できます。 「PREROUTING」および「REDIRECT」ディレクティブ。すべてのユーザーが1024を超えるポートを開くことができるため、これは最善の解決策ではありません。そのため、悪用する機会が生まれます。
Kippoの構成ファイルを開き、デフォルトのポート番号を4633などの任意の番号に変更します。その後、ポート22からポート4633のkippoにリダイレクトするiptablesを作成します。
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4633
オプションの構成
ファイルシステム
次に、ハニーポットにログインすると攻撃者に提示されるファイルシステムを構成することをお勧めします。デフォルトでは、Kippoには独自のファイルシステムが付属していますが、2009年にさかのぼり、もはやもっともらしいとは思えません。 Kippoのユーティリティutils/ createfs.py を使用すると、情報を公開せずに独自のファイルシステムを複製できます。 。ルート権限で次のLinuxコマンドを実行して、ファイルシステムのクローンを作成します。
# cd /home/kippo/kippo-0.5/
# utils/createfs.py > fs.pickle
Doing stuff
オペレーティングシステム名
Kippoでは、/ etc/issueファイルにあるオペレーティングシステム名を変更することもできます。 Linux Mint14Julayaを使用しているとしましょう。もちろん、現実的でもっともらしいものを使用します。
$ echo "Linux Mint 14 Julaya \n \l" > honeyfs/etc/issue
パスワードファイル
honeyfs / etc / passwdを編集します そしてそれをよりもっともらしくそしてジューシーにします。
代替ルートパスワード
Kippoには、事前設定されたパスワード「123456」が付属しています。この設定を維持して、pass、a、123、password、root
などのパスワードを追加できます。kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add pass kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add a kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add 123 kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add password kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add root
これで、攻撃者は上記のパスワードのいずれかを使用してrootとしてログインできるようになります。
新しいコマンドの作成
さらに、Kippoでは、txtcmds/ディレクトリに保存されている追加のコマンドを構成できます。新しいコマンドを作成するには、たとえば df 出力を実際のdfからリダイレクトするだけです txtcmds / bin / dfへのコマンド:
# df -h > txtcmds/bin/df
上記は単純な静的テキスト出力コマンドですが、攻撃者はしばらくの間ビジー状態になります。
ホスト名
構成ファイルkippo.cfgを編集し、ホスト名を次のようなより魅力的なものに変更します。
hostname = accounting
KippoSSHハニーポットの開始
これまでに上記の手順を実行した場合、これまでに次の設定でSSHハニーポットを構成しているはずです。
- リスニングポート4633
- iptablesは22から移植->4633
- ホスト名:アカウンティング
- 複数のルートパスワード
- 既存のシステムの最新のhoneyfsクローン
- OS:Linux Mint 14 Julaya
今すぐKippoSSHハニーポットを始めましょう。
$ pwd
/home/kippo/kippo-0.5
kippo@ubuntu:~/kippo-0.5$ ./start.sh
Starting kippo in background...Generating RSA keypair...
done.
kippo@ubuntu:~/kippo-0.5$ cat kippo.pid
2087
上記から、Kippoが起動し、SSH通信に必要なすべてのRSAキーが作成されたことがわかります。さらに、kippo.pidというファイルも作成されました。このファイルには、Kippoの実行中のインスタンスのPID番号が含まれており、 killでkippoを終了するために使用できます。 コマンド。
SSHハニーポット展開のテスト
これで、デフォルトのsshポート22で新しいsshサーバーエイリアスsshハニーポットにログインできるようになります。
$ ssh root@server
The authenticity of host 'server (10.1.1.61)' can't be established.
RSA key fingerprint is 81:51:31:8c:21:2e:41:dc:e8:34:d7:94:47:35:8f:88.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,10.1.1.61' (RSA) to the list of known hosts.
Password:
accounting:~# accounting:~# cd / accounting:/# ls var sbin home srv usr mnt selinux tmp vmlinuz initrd.img etc root dev sys lost+found proc boot opt run media lib64 bin lib accounting:/# cat /etc/issue Linux Mint 14 Julaya \n \l
おなじみですか?完了しました
追加機能
Kippoには他にも複数のオプションと設定があります。それらの1つは、utils / playlog.pyユーティリティを使用して、log /tty/ディレクトリに保存されている攻撃者のシェルインタラクションを再生することです。さらに、KippoではログファイルをMySQLデータベースに保存できます。追加の設定については、構成ファイルを参照してください。
結論
言及する必要があることの1つは、Kippsのdlディレクトリを別のファイルシステムに構成することをお勧めします。このディレクトリには、攻撃者がダウンロードしたすべてのファイルが保持されるため、ディスク容量がないためにアプリケーションがハングすることはありません。
Kippoは、完全なchrootされたハニーポット環境に代わるSSHハニーポットを構成するのに最適で簡単なようです。 Kippoには、このガイドで説明されている機能よりも多くの機能があります。 kippo.cfgを読んでそれらに精通し、環境に合わせてKippoの設定を調整してください。