Gen's blog

CTFとか、競プロとか、その他諸々

DionaeaFRの導入で困った話

  • 先日、ハニーポットにDionaeaFRを導入したのですが、結構導入に詰まった上、あまり資料も見かけなかったので、メモ程度に自分が詰まったところを残しておきます。

そもそも、DionaeaFRって?

  • DionaeaFRは、Dionaeaで取得したlogsql.sqliteをWebでグラフィカルに見ることができるようにするものです。
    • Webフロントエンドとか言うんですかね?その辺の用語の定義が曖昧なもので…
  • こんな感じ。 f:id:Gen_IUS:20160321052045p:plain
  • Djangoとかで動いているようです。Djangoはあまり詳しくないので、そのあたりでも結構詰まりながら、試行錯誤してどうにか導入しました。
    • Node.jsといい、Djangoといい、バージョン周りの依存関係なんとかしてくれ

早速導入してみる

バージョン周り

0) apt-getで入るpipが古い+pip install -U hogeしても"owned by OS"~などと言われ、死ぬ。

  • sixのバージョンが古いようで、pip install -U sixしても"owned by OS"~
    • pip自体の更新も同様。
  • easy_installでpipを更新すると良いらしい。
# easy_install -U pip

1) Djangoのバージョンを指定する

# pip install "Django==1.8.11"
  • 1.7以前でも死ぬし、1.9以降でも死んだ。

2) Node.jsのバージョン

cd /opt/
wget http://nodejs.org/dist/v0.10.42/node-v0.10.42.tar.gz
tar xzvf node-v0.10.42.tar.gz
cd node-v0.10.42
./configure
make
make install

実際に動かす

  • 起動コマンドを叩くと、migrateしてね的なことを言われました。
    • 言われるがまま、python manage.py migrateとしておきました。
    • 多分、環境が変わった時に叩く用のやつなのかな?

動いたと思ったら

  • ブラウザを起動して、ハニーポットのIP:8000にアクセスすると、グラフ等が表示されると思います。
    • 左側のメニューから、Connections, Downloadsを選択すると、エラーメッセージが表示されました。
      • nospacelessというタグがねえぞと言われているようです。
    • /opt/DionaeaFR/DionaeaFR/Templates/table.htmlから、nospacelessタグと、その終了タグをすべて消すと、うまくいきました。
      • 表示がおかしくなるかなと思いましたが、大丈夫そうです。
    • sedが好きな方は、sedを使うと楽だと思います。3個程度だったので、私は手で消しました。

感想的な

 UIがかっこいいので、それだけでも十分使う価値があるんじゃないかなと思います。Dionaeaはシミュレートするサービスが多いので、グラフィカルに見れるのは嬉しいです。ただ、DionaeaFRの動いているポートへのアクセスもDionaeaが記録してしまい、ログが自分のアクセスが埋まるというアクシデントが発生しているので、そのあたりの対処も今後していきたいです。