Amun
Amun は、Nepenthes のコンセプトを継承しつつ、より高度なエミュレーションと容易なメンテナンスを実現した、Python ベースの初の低対話型ハニーポットです。
必要条件
- Python >= 2.6 (Python3 は未サポート)
- (オプション) Python Psyco (入手先: http://psyco.sourceforge.net/)
- (オプション) submit-mysql または log-mysql を使用する場合は MySQLdb
- (オプション) log-surfnet を使用する場合は psycopg2
インストール
- Git リポジトリをクローン:
git clone https://github.com/zeroq/amun.git
- Amun メイン設定ファイルを編集:
vim conf/amun.conf
- 例: Amun がリッスンする IP アドレスを設定 (0.0.0.0 ですべてのインターフェースをリッスン)
- 必要に応じて脆弱性モジュールを有効または無効にする
- 次のコマンドで Amun を起動:
./amun_server
ヒントとテクニック
多数の攻撃者が同時にハニーポットにアクセスし、オープンファイル数が多すぎる問題が発生した場合は、以下の設定を調整できます:
- Linux でオープンファイルの最大数を増やす:
echo "104854" > /proc/sys/fs/file-max
ulimit -Hn 104854
ulimit -n 104854
- BSD でオープンファイルの最大数を増やす:
sysctl kern.maxfiles=104854
ulimit -Hn 104854
ulimit -n 104854
ログ記録
すべてのログ情報は、Amun インストールディレクトリ内の "logs" サブディレクトリに保存されます。以下のログファイルが作成されます:
- amun_server.log
- Amun サーバーの一般情報、エラー、生存メッセージを含む
- amun_request_handler.log
- 未知のエクスプロイトおよび一致しないエクスプロイトステージに関する情報を含む
- analysis.log
- 手動シェルコード分析 ( -a オプションで実行) に関する情報を含む
- download.log
- すべてのダウンロードモジュール (ftp, tftp, bindport など) に関する情報を含む
- exploits.log
- トリガーされたすべてのエクスプロイトに関する情報を含む
- shellcode_manager.log
- submissions.log
- successfull_downloads.log
- ダウンロードされたすべてのマルウェアに関する情報を含む
- unknown_downloads.log
- vulnerabilities.log
パラメータ
Amun は、ハニーポットを実行する代わりに、-a パラメータを指定して指定されたファイルを解析し、既知のシェルコードを分析することができます。