Cuckoo_v2.0.6 REST API使用

环境准备

安装必要模块

$ sudo apt-get install uwsgi uwsgi-plugin-python nginx

uwsgi设置

在venv中运行$ cuckoo api --uwsgi,将结果保存到/etc/uwsgi/apps-available/cuckoo-api.ini文件里


plugins = python

virtualenv = /home/cuckoo/cuckoo

module = cuckoo.apps.api

callable = app

uid = cuckoo

gid = cuckoo

env = CUCKOO_APP=api

env = CUCKOO_CWD=/home/..somepath..

创建链接

$ sudo ln -s /etc/uwsgi/apps-available/cuckoo-api.ini /etc/uwsgi/apps-enabled/

启动uwsgi

$ sudo service uwsgi start cuckoo-api

nginx设置

在venv中运行$ cuckoo api --nginx,将结果保存到/etc/nginx/sites-available/cuckoo-api文件里


upstream _uwsgi_cuckoo_api {

server unix:/run/uwsgi/app/cuckoo-api/socket;

}

server {

listen localhost:8090;

# REST API app

location / {

client_max_body_size 1G;

uwsgi_pass _uwsgi_cuckoo_api;

include uwsgi_params;

}

}

创建链接

$ sudo ln -s /etc/nginx/sites-available/cuckoo-api /etc/nginx/sites-enabled/

启动nginx

$ sudo service nginx start

启动cuckoo api

$ cuckoo api -H 0.0.0.0 -p 8090

8090是默认端口,可以更改,但之前的配置都要与之一致。

启动方法

初次环境配置完成后,以后的启动过程只需三条命令。


$ sudo service uwsgi start cuckoo-api

$ sudo service nginx start

(venv)$ cuckoo api -H 0.0.0.0 -p 8090

API使用方法

资源 描述
POST /tasks/create/file 提交一个文件任务
POST /tasks/create/url 提交一个url任务
POST /tasks/create/submit 提交多个文件任务
GET /tasks/list 返回存储在内部Cuckoo数据库中的任务列表,可以选择指定要返回的条目的限制
GET /tasks/sample/ 返回存储在Cuckoo内部数据库中给定sampleID的任务列表
GET /tasks/view/ 返回分配给指定taskID的任务的详细信息
GET /tasks/reschedule/ 重新调度分配给指定taskID的任务
GET /tasks/delete/ 从数据库中删除给定taskID任务并删除结果
GET /tasks/report/ 返回与指定taskID关联的任务分析报告,可以选择指定要返回的报告格式,如果没有指定,则返回JSON报告
GET /tasks/screenshots/ 检索与给定taskID关联的屏幕截图
GET /tasks/rereport/ 重新运行与给定taskID关联的任务报告
GET /tasks/reboot/ 重新启动给定taskID的分析任务
GET /memory/list/ 返回与给定taskID关联的内存转储文件列表
GET /memory/get/ 检索与给定taskID关联的一个内存转储文件
GET /files/view 使用MD5、SHA256或internal ID搜索分析后的二进制文件
GET /files/get 返回具有指定SHA256散列的二进制文件的内容
GET /pcap/get/ 返回与给定taskID关联的PCAP的内容
GET /machines/list 返回Cuckoo可用的分析机器列表
GET /machines/view 返回与指定名称关联的分析机器的详细信息
GET /cuckoo/status 返回Cuckoo状态,包括版本和任务概述
GET /vpn/status 返回VPN状态
GET /exit 关闭API服务

具体python调用法见官方文档:
https://cuckoo.readthedocs.io/en/latest/usage/api/。

你可能感兴趣的:(Cuckoo_v2.0.6 REST API使用)