ハニーポット分析のための基本ツール群

Attack Map

CyberChef

Elasticvue

Kibana

Spiderfoot

ツール間の関係性

KibanaとElasticvue

Kibanaを使わずにデータを扱いたいなら、Elasticvueを使うのが一番簡単。攻撃元のIPやDionaeaでキャプチャしたマルウェアのログを直接検索できる。

Kibanaは、Elasticvueのデータをきれいに表示してるだけ、Elasticvueの中のデータのみ触れる。
なので、新しいテーブルとか作りたいなって思ったら、Elasticvueで検索して、そのIDで新しくKibanaできれいにみる

概要分析

深堀分析

同じIPアドレスでarchの違いが示唆する攻撃の特徴

  1. 攻撃者が異なるデバイスや環境から接続している
    攻撃者がSSHボットネットを運用している場合、複数の異なる端末から同時に接続することがある。
    たとえば、仮想マシン、Docker、コンテナ、エミュレーターを利用している可能性がある。
    • linux-powerpc64-lsb は、PowerPCのLinux環境を示し、仮想マシンやエミュレーションの可能性がある。
    • bsd-riscv64-lsb は、BSDベースのRISC-V環境を示し、IoTデバイスの可能性がある。
      IPアドレスが同じでも、実際には異なる物理マシンや仮想環境から接続しているため、異なるアーキテクチャが記録される。
    • 同じグローバルIPでボットネットの可能性はあるのか?
      • 通常、ボットネットは分散型であるため、同じグローバルIPからの攻撃はボットネットとは言いにくい。しかし、以下のような状況では、同じIPから複数の異なる攻撃が発生することがある。
      • プロキシやVPN経由の攻撃
        • 攻撃者が一つのVPNやプロキシを経由して、複数のマシンを同じIPで外部に接続している可能性がある。
        • Google CloudやAWS、AzureなどのVPSでは、複数の仮想マシンが同じアウトバウンドIPを共有することがある。
        • 実際、ログの geoip_ext.as_org に GOOGLE-CLOUD-PLATFORM とあるため、Google CloudのVPSを使っている可能性が高い。
  2. 攻撃者が"arch"を偽装している
    一部の攻撃ツール(特にSSHブルートフォースボット)は、検知を回避するために"arch"の値をランダムに変更することがある。
    たとえば、ssh -o SendEnv=ARCH のように、SSHクライアントの環境変数を偽装できる。
    これにより、ログ上では異なるアーキテクチャから接続されたように見えるが、実際は同じマシンである可能性もある。
  3. 攻撃者がエージェントを使用している
    攻撃者がプロキシや踏み台サーバーを使って攻撃を行っている場合、元の攻撃者の環境ではなく、踏み台サーバーのOSやアーキテクチャが記録される。
    たとえば、踏み台サーバーがLinux-PowerPCのシステムで、別の踏み台サーバーがBSD-RISC-Vのシステムなら、それぞれのアーキテクチャが記録される。

セッションIDを使った分析

IPアドレスの詳細分析(AS番号、地理情報など)

既知の IP アドレスとその他すべての IP アドレスの比率

侵害の兆候(IoC)の分析

コマンドの分析

ブラウザのsshで行う

cd tpotce/data/cowrie/log
# 1) .gz を zcat で展開し、すべて連結して "all_1_30.json" に保存
zcat cowrie.json.{1..30}.gz > all_1_30.json
# 2) 必要に応じて再度 gz 圧縮
gzip all_1_30.json 
# これで all_15_30.json.gz が作成され、まとめてログを格納

/home/honeypot_trap_1/tpotce/data/cowrie/log/all_1_30.json.gz
をダウンロード

それぞれのハニーポットの分析時のポイント

Cowrie

Cowrieは、ttylog というものを吐き出す

Dionaea

Dionaeaは /opt/dionaea/var/dionaea/binaries/ にダウンロードされたマルウェアを保存する。

参考