【cuckoo】Ubuntu安装布谷鸟沙箱docker镜像

0. 布谷鸟沙箱介绍

布谷鸟沙箱是一款自动化恶意软件分析工具。可以分析许多恶意文件,包括可执行文件、pdf文档、邮件、恶意网站等。

1.安装过程

1.1 下载cuckoo2.0 docker镜像

docker pull blacktop/cuckoo:2.0

1.2 下载mongo5.0镜像,由于cuckoo2.0的docker镜像已经不维护了,github仓代码显示是在2017年,如果下载最新的mongo6.0,会导致后续web界面服务起不起来。web界面的数据是从mongodb数据库中读取的,最新的mongodb语法已经不适应docker-cuckoo2.0了。

docker pull mongo:5.0

1.3 下载elasticsearch:5.6镜像,web界面服务会用到。

docker pull blacktop/elasticsearch:5.6

1.4 下载postgres:14镜像,cuckoo的API服务会使用到。

docker pull postgres:14

1.5 使用mango docker镜像起一个容器。

docker run -d --name mongo mongo:5.0

1.6 使用elasticsearch:5.6镜像起一个容器。

docker run -d --name elasticsearch blacktop/elasticsearch:5.6

1.7 使用postgres:14镜像起一个容器。

docker run -d --name postgres -e POSTGRES_PASSWORD=cuckoo postgres

1.8 启动cuckoo的api服务,方便代码中调用沙箱接口。

–link postgres表明api这个服务依赖容器postgres.

-p 8000:1337 表示把容器中api服务的端口1337映射到本地的8000端口,这样我们在浏览器里或代码中对http://{ip}:8000发送请求就可以查看api返回值了。

如果本地的8000端口被其他应用程序占用了,可以更换其他空闲端口。

docker run -d --name cuckoo-api  --link postgres  -p 8000:1337  blacktop/cuckoo:2.0 api

1.9 启动cuckoo的web服务,方便在浏览器中直接观察沙箱中运行了哪些任务,也可以直接上传文件或者url进行恶意行为检测。

–link mongo --link elasticsearch表明web服务依赖mongo和elasticsearch两个容器。

-p 80:31337表示将容器中的web服务端口31337映射到本地80端口。我们在浏览器里输入http://{ip}:80直接就可以进行界面操作了。

如果本地80端口被其他应用程序占用了,可以更换其他空闲端口。

docker run -d --name cuckoo-web  --link mongo  --link elasticsearch -p 80:31337  blacktop/cuckoo:2.0 web

1.10 镜像下载之后如下:
在这里插入图片描述
1.11 容器启动之后如下:
在这里插入图片描述
1.12 检测web页面是否正常

浏览器中输入:http://127.0.0.1:80或者http://{本机IP}:80就可以访问,效果如下图所示:
在这里插入图片描述
1.13 检测api服务是否正常

浏览器中输入:http://127.0.0.1:8000/cuckoo/status,如果API服务正常,效果如下图所示,会把系统信息打印出来。cuckoo其他api自行调测。
在这里插入图片描述

2. 安装过程中遇到的问题

2.1 elasticsearch容器启动失败
在这里插入图片描述
问题定位:

查看容器启动日志:

# 方法一:查看容器最近30分钟的日志
docker logs --since 30m bb5fcde7b723
# 方法二:找到容器日志文件查看
docker inspect --format '{{.LogPath}}' 容器id

报错情况如下:
在这里插入图片描述
根据报错描述可知:虚拟机最大内存区域设置的是65530,太小了,期望最小存储为262144。把虚拟机最大内存区域设置到262144就可以了。这一步是在宿主机上做的操作。

# 设置虚拟机内存区域为262144
sudo sysctl -w vm.max_map_count=262144
# 查看是否设置成功
sudo sysctl -a|grep vm.max_map_count

在这里插入图片描述
在这里插入图片描述
重新启动elasticsearch容器:
在这里插入图片描述

3. 参考资料

docker仓库cuckoo镜像:https://hub.docker.com/r/blacktop/cuckoo#installation

cuckoo官方文档:https://docs.cuckoosandbox.org/en/latest/faq/#can-i-analyze-urls-with-cuckoo

cuckoo官网主页:https://cuckoosandbox.org/about

git仓库docker-cuckoo: https://github.com/blacktop/docker-cuckoo

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值