🍯

[ハニーポッター入門]LightSailに TPot(HoneyPot)を設置🪄

2022/01/17に公開約17,700字

◆対象者・使用する環境など

・対象

・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 です。

https://github.com/telekom-security/tpotce

こちらはインストールドキュメントの 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を行おうとすると
インストールする際に何らかの変更があっため、電子証明書が一致しなくなったという、
以下のようなエラーが出しまうようになってしまいまいました。。

https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-troubleshooting-browser-based-ssh-rdp-client-connection

「不一致が予想される場合、[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については、
以下のサイトなどで、調べることができます。

https://www.cman.jp/network/support/go_access.cgi

ただ、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ですることを断然お勧めします。

◆まとめ

いかがだったでしょうか。
以上が、ハニーポッター入門でした。
是非この記事を参考にしていただき、少しでもお役に立てれば、幸いです。
それでは、共に、これからハニポッターライフを歩みんでいきましょう!

◆関連書籍

https://www.amazon.co.jp/WOWHoneypotの遊びかた-“おもてなし”機能でサイバー攻撃を観察する!-技術書典シリーズ(NextPublishing)-森久-和昭-ebook/dp/B07GJ5R2QM/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=&sr=

https://www.amazon.co.jp/dp/B06XXM3S3P/ref=sspa_dk_detail_2?psc=1p13NParams&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzVk4zN0UxN1NLVFREJmVuY3J5cHRlZElkPUEwNTAxNTQ4MUpUOThDSkNSM1FQRiZlbmNyeXB0ZWRBZElkPUFaMTlTQUs1STVLSUYmd2lkZ2V0TmFtZT1zcF9kZXRhaWwyJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==

https://www.amazon.co.jp/アナライジング・マルウェア-―フリーツールを使った感染事案対処-Art-Reversing-新井/dp/4873114551/ref=pd_vtp_2/356-3884951-3034324?pd_rd_w=S6WV4&pf_rd_p=949e26f5-c2ef-4c96-bfde-49d7614d0317&pf_rd_r=K8YC08F0XG5P02ZZJJE6&pd_rd_r=0125debf-6736-417b-bd70-3d9714ada750&pd_rd_wg=3yrL6&pd_rd_i=4873114551&psc=1

◆参考記事

[Amazon Lightsail でハニーポット (T-Pot 20.06) を構築]

https://qiita.com/rakys/items/a56a2bf2d91d9b13a0cb

[EC2上にHoneypot(T-Pot)をインストールして、サイバー攻撃をELKで可視化してみた]

https://qiita.com/tarosaiba/items/871ab0c155578f8a38fe

[Scaleway上にHoneypot(T-Pot)をインストールする]

https://kyonta1022.hatenablog.com/entry/2018/10/24/001122

Discussion

ログインするとコメントできます