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;
コメント