[ハニーポッター入門]LightSailに TPot(HoneyPot)を設置🪄
◆対象者・使用する環境など
・対象
・HoneyPotを仕掛けてみたい。
・ある程度は、VPSサーバーやLinuxについての知識や興味がある。
・初期費用として、とりあえず8000円〜1万円程度は出してもいい。
・想定構築日数:
1週間程度(慣れれば数時間で十分に可能)
・環境
・T-Pot(20.06)
・LightSailの$80の月額上限プラン : Linux debian 10(buster)
※本記事はMacOS(Big Sur 11.4)で行っています。
◆概要
ハニーポットはクラッカーの侵入手法やマルウェアの振る舞いを分析するために、わざと侵入されやすいように設定されたサーバです。外からは単なる脆弱なサーバに見えますが、攻撃者の行動を記録したり、マルウェアを保存することができます。
自身でハニーポットを持つことで、最新のサイバー攻撃動向やマルウェアを知ることができます。
この記事では、
・ハニーポットに関係する予備知識
・ハニーポットを構築、攻撃を収集する
・いくつかのデータの分析
までをご紹介します。
今回は、T-potというツールをしようして、HoneyPotを仕掛けます。
T-potとは、数種類のHoneyPotがセットになったツールです。
上記の画像のような、画面から収集したデータをグラフで視覚的に確認することができます。
普段は、気づいていないだけで、ネット上に晒された時点で多くの攻撃を受けているものです。
そんな新しい世界が見えてくるはずです。
HoneyPotというツールを使用し、HonnyPtterライフを開始してみましょう。
予備知識の箇所が長くなったので、
不要な方は、飛ばして「手順」に飛んでください。
◆予備知識
●代表的なHonnyPot
・Dionaea
URL: https://github.com/DinoTools/dionaea
たまに、本で紹介されているHoneyPotの一つであるNepenthesは日本語でウツボカズラで、
現在は入手しずらいですが、Dionaeaこちらの後継になります。
Dionaeaは日本語でハエトリグサという意味です。どちらも食虫植物から名前をとっています。
攻撃者からマルウェアのコピーを手に入れるための、マルウェア収集用のハニーポットになります。
後で、ご紹介するT-potは、
このdianoeaやその他数種類のHoneyPotがセットになっているツールになります。
●サーバー
・VPSとLinuxOS
サーバーとは、サービスを提供している企業側のコンピュータを指します。
インターネットを介してユーザーと繋がっています。用途によって種類が分けられており、
Webページ閲覧用のウェブサーバーや、メール機能を持つメールサーバー、その他、ゲームやネットショッピング、SNSなど、インターネットに関わるあらゆるサービスで用いられています。
VPSとは、バーチャル・プライベート・サーバ(仮想専用サーバ、英語:virtual private server)の略です。企業がサーバーを貸し出してくれているのですが、一つのサーバー上に、複数の仮想サーバーを作って貸し出しています。VPSを賃りる側は、比較的自由に仮想サーバーのOSを変えて仮想サーバを作り直したりできます。ですので、自分のPCをサーバーにすることもできますが、万が一の場合を考えると、VPSをレンタルした方が安心ですし、24時間動かし続けることも容易です。
代表的なVPSには、AmazonのAWSや、さくらVPSといったものがあります。
先ほど、サーバー上にOSを入れるという話をしましたが、OSとは、
例えばPCには、WindwsやMacOS、スマホですとiosやandoroidなどがありますが、
ソフトウェアやデータなどを管理する人間で言えば、脳の人格にあたるものです。
PCのOSに、LinuxOSというものがあります。こちらは、WindwsやMacOSとは違い、無料で手に入れることができます。また、LinuxOSも様々な種類(ディストリビューション)が作られていおり、UbuntuやCentOS,debianなどあります。サーバーには必ず入れなければなりません。
サーバーにOSを入れた後には、VPSとは、インターネットに接続可能なローカルPCから
SSH通信を行ってデータのやり取りをします。その際、SSHクライアントソフトやコマンドラインからSSH通信が可能です。
●可視化ツール:elasticとlogstashとkibana(ELK)
こちらのツールを使用することによって、
HoneyPotで収集したハッキングを受けたログを可視化することができます。
それぞれ以下のような役割を持っています。
logstash:ログデータの収集
elastic:収集したログの蓄積や検索
kibana:ログの管理・可視化
今回、Tpotをインストールすると自動で
これらは、自動でインストールされます。
●T-Pot
いよいよ、T-Potについてです。
まず、T-Potのアーキテクチャの図です。
数種類のハニーポットがセットになったツールで、先ほど紹介したdionaeaも含まれています。
ubuntuやdebianといったlinuxベースの上で動作するようになっています。
また、dockerというものがありますが、とりあえず、
OSとhouneyPotの間に入るんだなー、くらいで大丈夫です。
そして、今回、ダウンロードするT-potのバージョンでは、
Ubuntuではなくdebianベースとなっていますので、
サーバーには、debianのlinuxOSをインストールします。
また、インストールが完了すると
webブラウザで「https://<VPSのグローバルip>:64297」から、WebUIにアクセすることができます。こちらから、kibanaダッシュボードを開くと、最初にご紹介したような収集したデータを画面からグラフで視覚的に確認することができます。
●HonnyPot(T-Pot)の構築環境
HonnyPot(T-Pot)の構築環境について説明します。
まず、代表的な構築環境は以下のようなります。
HoneyPotを設置したサーバに、攻撃者が攻撃を行います。
そのログがELKで収集し可視化して表示されます。
◆手順
さて、ここまで予備的な知識をお話ししました。
長くなりましたが、いよいよ本題ですね。
①HoneyPot(T-Pot)を仕掛けるサーバーの用意
②T-Pot のインストール
③T-Potの確認
それでは、
手順を説明していきます。
①HoneyPot(T-Pot)を仕掛けるサーバーの用意
●VPSについて
ScalewayやさくらVPSといったものがありますが、
今回は、アマゾンのLightSailを使用します。
ちなみに、LightSailについては、VPSサーバー(インスタンス)を
作成した時に月の費用を全額取られるわけではありません。
なので、もし失敗したとしても削除して
再度作り直すことが比較的容易にできると思います。
●Tpotについて
今回、インストールするT-potは、T-Pot 20.06 です。
こちらはインストールドキュメントの Post-Install User には以下のように記載されており、
T-Pot が Debian 10 上で動作することを前提としています。
また、
スペックとして、
8 GB RAM 、128 GB SSD で、
記載されていませんが、CPUは4コアが必要です。
さて、以上の要求を満たすような
HoneyPot(T-Pot)を仕掛けるサーバー
(今回は、vpsでアマゾンのLightSail)
を構築していきましょう!
●Amazon LightsailでDebian 10.8サーバーを構築する
●ロケーション
どこでも大丈夫です。
●OS
Debian 10.8 (buster)でインスタンスを起動するようにします。
●選択するプラン
・Price per month $80 USD
・Memory 16 GB
・Processing 4 vCPUs
・Storage 320 GB SSD
・Transfer 6 TB
です。
ちなみに、$40の方では、Tpotのインストールはできましたが、
kibanaで logを集計することができませんでした。これは、
・Memory 16 GB
・Storage 320 GB SSD
の要求はクリアしていますが、
・Processing 4 vCPUs
がクリアできてないからかなと思ってます。
(こっちで動く可能性がないとは言い切れませんが、下手にケチって時間を無駄しないように)
●インスタンス名
こちらは適当にどうぞ。
●完成したインスタンス
インスタンスの作成が完了しました。
②T-Pot のインストール
LightSailのブラウザベースのSSHで作成したインスタンスに接続をしましょう。
そして以下のコマンドを入力して、Tpotのインストールを行っていきましょう!
●root ログイン
まず、通常ユーザで SSH ログインされますが、ログインした後に、
以下のコマンドでrootユーザに変更します。
LightSailの場合これが唯一のrootログイン方法です
sudo su -
●Gitをインストール
apt-getのアップデート
apt-get update
gitをインストールします。
apt-get install git
●Tpotをインストール
①と②のどちらかお好きな方から、
Tpotのインストーラーをインストールして下さい。
①
git clone https://github.com/dtag-dev-sec/tpotce
②
git clone https://github.com/telekom-security/tpotce
インストーラーのあるディレクトリに移動します。
cd tpotce/iso/installer/
Tpotの設定ファイルのdistribution(配布)が用意されているので、
名前を変えて同じディレクトリにコピーします。
cp tpot.conf.dist tpot.conf
このファルルの中で、管理画面のユーザ名とパスワードを指定しています。
変更したい方は、
myCONF_WEB_USER と myCONF_WEB_PW を変えてください。
vim tpot.conf
デフォルトは、
myCONF_WEB_USER :webuser
myCONF_WEB_PW :w3b$ecret
です。
それでは、Tpotをインストールします。
インストール自体は10分程度で終わります。
sudo ./install.sh --type=auto --conf=tpot.conf
もし、インストールの途中で、中断されると再度インストールはできませんので
インスタンスを作り直して下さい。
●再起動、Tpot起動
インストールが完了したら、
「rebootしてください」
とメッセージが、ターミナルに出ていると思います。
なので、rebootを行います。
reboot
再起動したら、Tpotが起動しています。
さて、Tpotが起動したと思いますので、
次は、T-Potで管理画面をWebブラウザ上で確認していきましょう!
●(備考:SSH接続ができなくなる現象。。?!)
ただ、、
再度、ブラウザベースの SSHを行おうとすると
インストールする際に何らかの変更があっため、電子証明書が一致しなくなったという、
以下のようなエラーが出しまうようになってしまいまいました。。
「不一致が予想される場合、[Reset record (レコードをリセット)] を選択します。」
(結局、自分はssh接続はできないまま放置してますので、リセットは押さずそのままでもいいかなと)
これによって、公開鍵認証でログインできなくなってしまい、
ブラウザベースのSSH接続ができなくなってしまいました。
一応、Macのターミナルで、
ssh root@xx.xx.xx.xx -p 64295
で接続を試みましたが、
The authenticity of host 〜〜〜
can't be established.
ECDSA key fingerprint is SHA256:WU/EBPOyRpM〜〜〜〜〜
Permission denied (publickey).
「公開鍵認証に失敗したのでログインできません。」
と表示されssh接続はできませんでした。
(LightSailは、もともとブラウザ以外だと、rootログインはできなかったかも。)
とはいえ、ログインできないのは攻撃者も同じはずなので、
一応、セキュリティ的には問題ないと言えます。
結局、ssh接続を再度できるようにするやり方は結局わからず。
この後の手順に影響はないため、
このまま放置して③に進みます。
が、本記事では触れていない内容ですが、
捕獲したマルウェアの解析をするには、SSH接続する必要があります。
Dionaea と VirusTotal を自動連携する時に使うようです。
③T-Potで管理画面の確認まで
◆LightSailのファイアーウォールでアクセスポートの設定
T-Potで管理画面を開くために、
まず、LightSailの「IPv4 Firewall」の設定で、
・64295(SSH接続用ポート)
・64297(WEBUI接続用ポート)
以上の、ポートをアクセスできるようにしましょう。
(SSH接続用ポートは使わないなら閉じたままの方がいいかも?)
この際、ネットに接続してる自分のポートを調べて、ここが攻撃されないために
自分のPCでウェブに接続する際に、DHCPにより割り当てられているIPアドレスがあります。
(インスタンスのグローバルIPとは違う。)
管理画面にアクセスできるPort 64297や、ssh接続するためのPort 64295については、
DHCPにより割り当てられているIPだけ、ファイアーウォールで通すように
しておくとより安全でしょう。
「Port No.~~ Restricted to DHCPにより割り当てられているIP」
DHCPにより割り当てられているIPについては、
以下のサイトなどで、調べることができます。
ただ、DHCPによりIPアドレスが割り当てられていますが、
DHCPだとIPアドレスが変わってしまう可能性があり、長期運用には不向きです。
そのため、DHCPサーバに、T-PotサーバのMACアドレスを登録することで、
IPアドレスが変わらないようにするのがおすすめです。
●webUI(管理画面)にアクセス
webブラウザで
https://<your.ip>:64297
にアクセスします。
この時、電子証明書の問題でgoogleCromeではセキュリティ上のエラーで、
アクセスできませんでした。「Safari」や「firefox」であればアクセス可能でした。
一応、自己証明書は発行されているようです。
「nternet Widgits Pty Ltd」が発行者となっていました。
なので、httpsのSSL通信はできるようです。
tpot.confファイルに記入していた
ユーザー名とパスワードを求められます。入力します。
デフォルトで変更していなければ、
myCONF_WEB_USER :webuser
myCONF_WEB_PW :w3b$ecret
です。
●kibanaダッシュボードを開く
さて、いよいよ
webUIが開きました。視覚的に見えるものがあるといいですね。
インターフェイスもダークモード調でハッカー気分は高まります。
ここで、Kibanaを選択します。
データ一覧が表示されます。
試しに、開いてみますが、まだポートも解放してませんので、
ログもなく攻撃もないでしょう。
失敗事例① $40のインスタンスで行った場合
以下のようなエラーがKibanaのダッシュボードで発生し、使用できなかった。
失敗事例② ScaleWayで行った場合
12月頭頃からHoneyPotの導入に挑戦し始め、12月末にvpsでScaleWayして、
Tpotのインストールまでは行きました。
詳細は省きますが、選択したプランはこちら。
インスタンスのスペック
Name :DEV1-L
Price :€0.04/hour
Cores :4 X86 64bit
Memory :8GB
SSD Disk : 80 GB NVMe
Bandwidth : 400Mbps
しかし、webUIでKibanaを選択したら、
データ一覧が表示されず、以下のようなエラーが出てしまいました。
Logがみつかりません、というエラーが発生。
ここで詰まりました。
年明けから思い切って、lightSailに切り替えました。
④T-Potを攻撃観測可能状態にする
◆ポート解放
LightSailのIPv4 Firewall上で、
以下の、ポートを開放します。
HanneyPotに引っ掛かるログを集めますので、
しばらく待ちましょう!
⑤T-Potで収集したログの結果と分析
<観測から数分後のログの結果>
[T-Pot Live Attack Map] のログ
さっそく攻撃がきてます。
<18時~20時までのログの結果>
約2時間の短いですが、それでも集まってます。みてみましょう。
●各ハニーポットへの攻撃数と時間ごとの推移
ハニーポットを設置してから
2時間足らずでしたが、攻撃された数は150〜200といったところでしょうか。
dianoeaが最も多いですね。次に、Cowriede。
Dionaeaは攻撃者からマルウェアのコピーを手に入れるための、マルウェア収集用のハニーポットになります。
●攻撃者の国
アメリカが多いですね。次にベトナム・中国。
そして、日本!
●攻撃のカテゴリー
Suricata(侵入検知システムのソフトウェア)が検出したアラートカテゴリーの時間推移です。
見切れてしまっていますが、カテゴリーは、
・Attempted Information Leak
・Misc activity
・Generic Protocol Command Decode
・Potentially Bad Traffic
・Attempted Administrator Privilege Gain
多かったのは、
Attempted Administrator Privilege Gain「管理者特権の獲得を試みがあった」
Potentially Bad Traffic「潜在的に悪いトラフィック」
とのことです。
●Username Tagcloud/Password Tagcloud
攻撃で試されたユーザーネームとパスワードです。文字が大きいほど多かったということです。
ユーザー名では、
「root」が最も多く、他には「(empty)」「sa」「pi」でした。
パスワードは、
「(empty)」が最も多く、他には「raspberry」「root」でした。
empty(空)を狙ってくるというのは、多いんですね。
●dianoeaのログ
Dionaeaは攻撃者からマルウェアのコピーを手に入れるための、
マルウェア収集用のハニーポットと言いましたが、今回はデータの結果のみの採取になっています。
Dionaeaによるマルウェア自体の収集方法は、
また別の記事で、紹介していきたいと思います。
では、採取したデータだけ載せていきます。
port445が多く狙われてますが、Windows 2000/XPをインターネット・サーバを使用してる場合、ファイル共有サービスに使用されており、ファイル/プリンタ共有サービスを外部から使われたり、自分の情報が外部に不用意に漏れた利する危険性がある。そのため、狙われていると考えられる。
こちらは、ベトナム・中国・インドなど東南アジア系が多い。なぜだろうか。
攻撃者のIPアドレスまで収集できるようだ。
特定の人物から複数回攻撃されていることがわかった。
<48時間後のログの結果>
●T-potすべてのログ
2時間後では、150回程度だった攻撃回数が、
48時間後には、一気に6万5000千回に跳ね上がっていました。
とある攻撃者のひとつのIPからの攻撃回数が、飛び抜けており4万5千回攻撃を仕掛けています。
dianoeaがやはり半数以上を占めており、多いですね。
攻撃国は全国各地に散らばりますが、中国が約半数を占めています。
先程の、飛び抜けて攻撃をしかけてきたIPは中国からのものだったと思われます。
南極と北極大陸以外からは攻撃を受けているようです。
狙われたアカウント名とパスワードは、
アカウント名は、1番多かったのは「root」という結果でした。
アカウント名によく使われるであろう「sa」「user」「admin」「guest」
あとは、「sakura」「pi」など。piはラズベリーパイやさくらVPSに関連する用語かと思います。
そのほか、「mother」が多かったようです。
パスワードは、1番多かったのは「(empty)」という結果でした。
あとは、「1234567890」「111111」といった単純な数字の羅列や、
「admin」「pass」「default」「guest」といったアカウント名にもみられた文字列です。
そのほかには、「Win2008」「Win1doW$」といったWindows関連も多かったようです。
●dianoeaのログ
夜の21時~3時は、攻撃数がグッと減っている。
ハッカーも休むのだろうか??
しかし、自動で攻撃してきてると思うので、そんな理由ではないだろう。
サーバーのメンテナンスの都合だろうか。
初めはのうちは、ベトナムが多かったが、やはりそのままの傾向。
メキシコ、インド、モンゴルなどもかわらず多い。
⑥費用
費用ですが、LightSailでは、
AWSのアカウントメニューにある請求ダッシュボードから、
サービス別の利用量と利用に対する課金の詳細が確認できます。
確認してみたいと思います。
<初日>
今作っているインスタンスではなく、
$40の月額固定プランで試しに作ったりしていた分の費用になります。
Amazon Lightsail Bundle:8GB $6.36(600円ほど)
自分は思考錯誤しながら、1月頭から半月ほどかけて、
数十回ほど作り直したり、しばらく放置して動かして様子を見たりしていました。
なので、1月半ばごろに、ログの収集がようやく開始できた直後の費用として、
600円ほどの請求が確定していました。
現在動かしている、$80の月額固定プランの費用は、これから加算されていきます。
グラフに表示されている予想金額は当てにはならないと思います。
<48時間後>
今、稼働させているインスタンスは、$80の月額固定プランを選択しているので
Amazon Lightsail Bundle:16GB $4.71 (500円程度)です。
1200円になってます。初日の料金に500円程度が加算されました。
2日で500円なので、1日あたり250円です。コーヒー1杯分。
これが、30日間つづくと7500円で大体8000円くらいになりそうですね。
なので、1ヶ月動かすと請求金額の合計は約9000円程度になりそうです。
Amazon Lightsailの料金は、AWSの中では珍しく、固定料金になっています。
他は、通信量に応じた従量課金です。
固定料金なので予算が立てやすく、その点では料金面でも初心者向けといえそうです。
ScaleWayとの比較
金額は、1ヶ月で€27.74(3,627.30 円)でした。
スペック的には、LightSailの$40の月額固定プランに近いため、
金額面では、そこまで違いはないと思います。
ScaleWayは、カスタマーサポートも含めて全て英語対応のため、その点も大変です。
扱いやすさで言っても、LightSailになるでしょう。
ScaleWayでされている方がいるので、試してみましたが、
私はScaleWay上でTpotを動かすことは結局できなかったたこともあり、
はじめから、LightSailですることを断然お勧めします。
◆まとめ
いかがだったでしょうか。
以上が、ハニーポッター入門でした。
(ーー追記 2022/10/31ーーーーーーーーーーーーーーーーーーーーーーーーーー)
意外と、この記事をご覧になって、
いいねを押してくださる方がいらっしゃり喜ばしいです。
既にご存知の方もいらっしゃるかもしれませんが、
ここまでご覧いただいた方に、
最後に、こちらのサイトをご紹介。
・CYBERTHREAT
なんと!リアルタイムで動く美しいグラフィックで、
WEBブラウザ上で世界中のハッキングの情報が可視化され、
見ることができる無料サービスがあります。
これで、満たされてしまう方もいるのでは?
それでも、自分でハニーポットを構築してみるのもいい経験になると思いますよ。
(ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー)
是非この記事を参考にしていただき、少しでもお役に立てれば、幸いです。
それでは、共に、これからハニポッターライフを歩みんでいきましょう!
◆関連書籍
◆参考記事
[Amazon Lightsail でハニーポット (T-Pot 20.06) を構築]
[EC2上にHoneypot(T-Pot)をインストールして、サイバー攻撃をELKで可視化してみた]
[Scaleway上にHoneypot(T-Pot)をインストールする]
Discussion