ハニーレポート

ハニーポット観測レポートを中心に書いていきます。

WOWHoneypot構築手順

ハニーポットを作成しましたが設定などメール送信したり、分析用コードを作成のためにpythonライブラリを色々入れたりしてました。
これだと再構築したりするときに同じ手順を踏んで構築ができないので作り直して作成方法を記録することにしました。

環境

さくらVPS

石狩サーバ

SSD 25GB

メモリ 512MB

月額 ¥643

年額一括払い ¥7092

年額で払うと月額 ¥591

月600円で運用が可能です。

2週間無料ですので、作成してみて2週間以内に解約すればお金はかかりません。
試しに構築だけしてみてもいいでしょう。
下記バナーからさくらVPSに行けます。

 

作成手順

1.  Ubuntuインストール

さくらVPSにログインして、コントロールパネルを開きます。

そして、契約した環境を選択します。

さくらVPSの契約の仕方は上記さくらのVPSのホームページに行くと契約の仕方がかいてあるので参考にしてください。

 

OSインストールをクリックします。
一度環境を作っていると、「OS再インストール」ボタンになります。

f:id:darjring:20220203231412p:plain

 

OSインストール形式は標準OSを選択します。

f:id:darjring:20220203231429p:plain

OS選択はUbuntu20.04 amd64を今回は選びます。

f:id:darjring:20220203231440p:plain

 

管理者パスワードを設定します。
sshのログインで使います。

f:id:darjring:20220203231507p:plain

 

 

パケットフィルター設定はssh接続とウェブサーバへ攻撃してもらうための、TCP22とTと80/443を許可します。

SSHとWebを選択すればOKです。

f:id:darjring:20220203231355p:plain

一番下まで行き、OSインストールを実行してしばらく待つと下図のように「完了しました」と出ます。

f:id:darjring:20220203231358p:plain

これでUbuntuがインストールされました。

 

2. Ubuntuにログイン

ここからUbuntu環境に入り設定構築をしていきます。

下記リンクの書籍を基に作成しました。
書籍ではUbuntu16.04ですので、少々コマンドが変わってきますが手順は変わりません。

githubも公開しています。
githubを見ても構築できます。

GitHub - morihisa/WOWHoneypot: 簡単に構築可能で、シンプルな機能で動作を把握しやすくした、サーバ側低対話型の入門用 Web ハニーポット。

 

また、こちらのサイトにも詳しく載ってるので参考にすると良いでしょう。

Honeypotを植えてみた(備忘録) - セキュリティ猫の備忘録

 

Ubuntuにログインしていきます。

ssh ubuntu@XXX.XXX.XXX.XXX

XXXは契約時に割り当てられたipアドレスが入ります。

ログインに成功すると

f:id:darjring:20220203231415p:plain

 

ubuntu@XXXXXXXX  ~$

と表示されればログイン成功です。

まずは、ubuntu環境を整えます。

 

3. aptでubuntuを最新の状態にします。

sudo apt update

sudo apt upgrade

 

4. 一般ユーザ作成

これは管理者権限ですので、一般ユーザを作成します。

sudo adduser [任意の名前(もちろん英数字です)]

[]内は自分の好きな名前で構いません。

sshで作成したユーザ名でログインします。

ssh 設定したユーザ名@XXX.XXX.XXX.XXX

または、ログインしたままで

su - 設定したユーザ名

これでもいけます。

下記の表示されたらログイン成功です。

設定したユーザ名@XXX.XXX.XXX.XXX $~

5. SSH接続のセキュリティ設定

次にSSH接続で管理者権限でログインしないように下記リンクを基に設定をしていきます。
設定したユーザアカウントでSSHログインをする際に公開鍵認証を利用するために「.sshディレクトリの中にauthorized_keysファイルを作成し、公開鍵を追記します。
作り方の詳細は下記サイトがわかりやすいです。

blog.hatena.ne.jp

さくらVPSでの設定は下記サイトを参考にすると良いです。

manual.sakura.ad.jp

 

そして、権限設定で下記コードを入力します。

~$ mkdir ~/.ssh
~$ chmod 700 ~/.ssh/authorized_keys
~$ touch ~/.ssh/authorized_keys
~$ chmod 600 ~/.ssh/suthorized_keys

最後にログイン確認します。

~$ sh -i ~/.ssh/authorized_keys ユーザ名@XXX.XXX.XXX.XXX

ログインできたら完了です。

6.  ファイアウォール設定

ファイアウォール設定をするため、rootユーザでログインします。
開放するポートは、ログイン用のSSHで利用する22/tcp、WOWHoneypot用の80/tcpと8080/tcpです。
Ubuntuでも設定をして、忘れずに1.のUbuntuインストール時のパケットフィルター設定も22、80、8080を開けるようにしておいてください。
開けないとWeb公開ができません。

まずは、念の為ufwをインストールしていきます

~$ ufw default DENY
~$ ufw allow 22/tcp
~$ ufw allow 80/tcp
~$ ufw allow 8080/tcp
~$ ufw enable
※y/nと確認がくるので、yを入力

次にポートフォワーディングの設定をします。
before.rulesファイルを開いたら、「*filter」の記載されている行よりも上に以下4行を追記します。

#viで下記場所のbefore.rulesファイルを開きます。

~$ sudo vi /etc/ufw/before.rules

追記する4行は以下になります。

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p rcp --dport 80 -j REDIRECT --to-port 8080
COMMIT

追記して、before.rulesを保存したら、再起動します。

~$ reboot

7. WoWHoneypotダウンロード

gitでハニーポットを一式ダウンロードします。

f:id:darjring:20220203231427p:plain

8. 動作確認

WOWHoneypotを起動します。

~$ cd wowhoneypot
~$ python3 ./wowhoneypot.py

起動すると、文字列が色々と出てきて最後の5行が以下のように出力されます。

f:id:darjring:20220203231448p:plain

実際に動いているか、契約した時のIPアドレスgoogleなどのブラウザでアクセスして、以下のようなページアクセスできれば成功です。

f:id:darjring:20220203231453p:plain

f:id:darjring:20220203231450p:plain


いくつかのホームページパターンがアクセスするごとに出てきます。

この状態ですと、Ubuntuにログアウトと同時にサーバが落ちるので、ログアウトしても動き続けるようにするには、nohupコマンドを使用します。

f:id:darjring:20220203231504p:plain

nohupコマンドについてはこちらのサイトで詳しく載っています。

atmarkit.itmedia.co.jp

以上で完成です。

ログファイルは、logディレクトリのaccess_logファイルに記載されています。
また、この記事での起動の仕方ではnohupで起動して、wowhoneypotディレクトリの中にoutput.txtが作成されますので、output.txtファイルからも確認できます。

慣れれば、20〜30分でできるかと思います。
自分はubuntuバージョンの違いで多少参考サイトや書籍と違うコマンドだったり、公開キー設定で時間を取られて2時間くらいかかりましたw