Cuckoo Sandbox API

schedule 2020/08/17  refresh 2023/11/09

 

 

前回「Cuckoo Sandboxのマルウェアのサンドボックス解析」で、Web画面からマルウェアの解析を行う方法について解説しましたが、今回はAPIを使ってCuckoo Sandboxでマルウェアの解析を行う方法について、ご紹介したいと思います。

 

Cuckoo Sandbox APIに詳細ついては、https://cuckoo.readthedocs.io/en/latest/usage/api/ をご覧下さい。

 

 

環境構築

まずは、「Cuckoo Sandboxのマルウェアのサンドボックス解析」の手順に従って、Cuckoo Sandboxの環境を構築して下さい。

 

以下のコマンドを実行して、APIサーバを起動すると、http://localhost:8090でアクセスを受け付けます。

 

$ cuckoo api

 

 

認証

APIの認証は、リクエストのAuthorizationヘッダに、./cuckoo/conf/cuckoo.confのapi_tokenの値を”Authorization: Bearer <api_tokenの値>”のように設定して下さい。

 

 

解析のリクエスト

/tasks/create/fileに対して解析のリクエストを行います。

 

以下のコマンドを実行して、返されるレスポンス内のtask_idがリクエストした解析のタスクIDで、後で解析結果を確認する際に使用します。

 

$ curl -X POST -H "Authorization: Bearer <api_tokenの値>" -F file=@<解析するファイル名> http://localhost:8090/tasks/create/file

 

 

タスクの確認

/tasks/listから、リクエストされた解析のタスク一覧を確認することができます。

 

以下のコマンドを実行すると、タスクの一覧が返されます。各タスクのidにはタスクID、statusにはタスクの状態が記載されていて、statusが"runnning"の場合は解析中、"reported"の場合は解析済みです。

 

$ curl -H "Authorization: Bearer <api_tokenの値> http://localhost:8090/tasks/list
 

 

解析結果の確認

/tasks/reported/<タスクID>から、解析結果を確認することができます。

 

以下のコマンドを実行すると、解析結果が返されます。解析結果のscoreにはマルウェアとしての脅威スコアが記載されています。

 

$ curl -H "Authorization: Bearer <api_tokenの値> http://lo$ curl -H "Authorization: Bearer <api_tokenの値> http://localhost:8090/tasks/reported/<タスクID>calhost:8090/tasks/reported/<タスクID>
 

Cukoo SandboxのAPIを使用することで、バッチでマルウェア解析の作業を自動化したり、他のシステムと連携してマルウェア解析を行うことができるようになります。