T-pot(Dionaea)とVirustotalを連携する

IT
スポンサーリンク

Dinosaに送られたマルウェアをvirustotalで自動検索されるよう設定する

VirustotalAPIキーを取得する

Virstotalでアカウントを作成し、マイページからAPIを確認する

Dionaea の設定ファイルを作成

T-Pot へ SSH (root)で接続し、以下設定ファイルを作成。

# cd /opt/tpot/docker/dionaea/dist/etc/ihandlers
# vi virustotal.yaml

設定ファイルを以下の通りに記載する。apikeyに VirusTotalのAPI Keyを貼り付け。

- name: virustotal
 config:
   # grab it from your virustotal account at My account -> Inbox -> Public API
   apikey: "xxxxxx"
   file: "/opt/dionaea/var/dionaea/vtcache.sqlite"

T-Pot に virustotal.yaml を読み込む設定

T-Pot を停止し、T-Pot の設定ファイル(tpot.yml)を変更。

# systemctl stop tpot
# cd /opt/tpot/etc
# vi tpot.yml

Dionaea Service の「volume」に以下を追加。

- /opt/tpot/docker/dionaea/dist/etc/ihandlers/virustotal.yaml:/opt/dionaea/etc/dionaea/ihandlers/virustotal.yaml

T-Pot を起動

# systemctl start tpot

VirusTotal 分析結果の確認

結果をホストOSで確認するためにsqliteをインストール

apt install -y sqlite3

dockerコンテナから dionaea.sqlite をホスト側にコピーし、sqliteでテーブル内を確認

# docker_id=`docker ps -aqf name=dionaea`
# docker cp $docker_id:/opt/dionaea/var/log/dionaea.sqlite dionaea.sqlite
# sqlite3 dionaea.sqlite

以下SQLで結果を確認(既知のマルウェア確認)

SELECT virustotals.virustotal, virustotal_md5_hash, virustotal_permalink, COUNT(virustotals.virustotal)
FROM virustotals INNER JOIN virustotalscans
ON virustotals.virustotal = virustotalscans.virustotal
WHERE virustotalscan_result <> ""
GROUP BY virustotals.virustotal
ORDER BY count(virustotals.virustotal) DESC;

以下SQLで結果を確認(未知のマルウェア確認)

SELECT virustotals.virustotal, virustotals.virustotal_md5_hash
FROM virustotals LEFT JOIN virustotalscans
ON virustotals.virustotal = virustotalscans.virustotal
WHERE virustotalscans.virustotal ISNULL;

コメント

タイトルとURLをコピーしました