kobalt’s log

k08a1tの備忘録

EC2上にHoneypot : Dionaeaを建ててマルウェアを収集する話

はじめに

以前建てていたT-potがあまりにもお財布に優しくなかったため、Dionaeaのみを建てることにしました。 今回は、EC2を利用してDionaeaを構築してマルウェアを収集するまでになります。

Dionaeaとは

Dionaeaとは、日本語でハエトリグサを意味する名前のハニーポットで、 攻撃者からマルウェアのコピーを手に入れることを目的としたマルウェア収集用ハニーポットになります。

Dionaeaの必要要件

Platform Option
OS - Ubuntu 18.04 LTS(推奨)(開発で利用)
- Debian 10(推奨)
Python - 3.9(推奨)
- 3.8(推奨)

引用:Install Dionaea

今回はUbuntu18.04 LTSを利用して作成します。

EC2 インスタンスの準備

以下のボタンからインスタンスの作成・起動を行います。

今回は「dionaea」というインスタンス名にしました。

Ubuntu18.04 LTSはここでは出てこないので、検索バーに「Ubuntu」と入力して検索をします。

続いて、「AWS Marketplace AMI」を選択して、Ubuntu18.04 LTSを選択します。

そのまま「続行」を押して進むと以下のようにOSイメージが設定できました。

インスタンスタイプは無料利用枠の対象である「t2.micro」を選択しました。 今後ログの量などを鑑みて、より高性能なものに変更する予定ですが今回はテストとして行ったのでこちらを選びました。

キーペアは事前に作っていたものを設定しましが、もしキーペアがない場合は「新しいキーペアの作成」からキーペアを作成します。 キーペアは後にSSH接続する際に必要となるのでわかりやすいところに保存しておきます。

続いてネットワーク設定では、Dionaeaが攻撃されるための対象ポートをオープンにする必要があります。 今回は事前に作っていた既存のセキュリティグループを設定しましたが、無い場合はセキュリティグループを作成から新たにセキュリティグループを作成する必要があります。

私は以下のような形で設定しました。設定方法については今回は省略します。 赤枠で囲ってあるポート番号22番のSSHについては、以下のようなサイトで自分の使用しているIPアドレスを調べて「ソース」に設定する必要があります。

www.cman.jp

その他の項目についてはすべてデフォルトのままで「インスタンスを起動」を実行します。

インスタンスの生成・起動ができました。

SSH接続

生成したインスタンスを選択した状態で「接続」を選択します。

「EC2 Instance Connect」の赤枠で囲ってある部分のパブリックIPアドレスとユーザ名を確認しておきます。 恐らくこれまでの通りに設定していればユーザ名は「ubuntu」になっているかと思います。

続いて、ここからターミナルエミュレータなどを利用してSSH接続を行います。 今回はTeraTermを利用しました。

まず、先ほど確認したパブリックIPアドレスを指定して「OK」を押します。

このような画面が出てくるので「続行」を選択します。

「ユーザ名」に先ほど確認したものを入力し、事前に作成したキーペアを秘密鍵として選択し、「OK」を押すと接続できます。

Dionaeaインストール

いよいよDionaeaのインストールです。 以下のコマンドを用いてDionaeaをインストールします。

# rootに変更
sudo su -

# パッケージアップデート
apt update -y
apt upgrade -y

# ソースコードダウンロード
git clone https://github.com/DinoTools/dionaea.git
cd dionaea

# 依存関係のインストール
 apt install \
    build-essential \
    cmake \
    check \
    cython3 \
    libcurl4-openssl-dev \
    libemu-dev \
    libev-dev \
    libglib2.0-dev \
    libloudmouth1-dev \
    libnetfilter-queue-dev \
    libnl-3-dev \
    libpcap-dev \
    libssl-dev \
    libtool \
    libudns-dev \
    python3 \
    python3-dev \
    python3-bson \
    python3-yaml \
    python3-boto3 \
    fonts-liberation -y

# ビルドディレクトリの作成、cmakeの実行
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/dionaea ..

# makeの実行、make installの実行 ⇒ ハニーポットのインストール
make
make install

# Dionaeaの実行
/opt/dionaea/bin/dionaea -D -c /opt/dionaea/etc/dionaea/dionaea.cfg

データの確認

以下のディレクトリにて収集したデータの確認ができます。 ※一部のみの記載

/opt/dionaea/var/

フォルダ 内容
lib/dionaea/binaries マルウェアハッシュ値
lib/dionaea/bistream 攻撃通信のデータ
log/dionaea/dionaea-errors.log エラーログ
log/dionaea/dionaea.log 通信ログ

おわりに

今回はDionaeaの構築まででしたが、実際のログの量などから適切な要件を考えていきたいです。 また、近いうちにVirusTotalからレピュテーション情報を集めて、fluentdやKibanaを利用して可視化まで持っていきたいところです。