当前位置: 首页 > 工具软件 > Cowrie > 使用案例 >

Cowrie蜜罐:在Docker Ubuntu环境下的搭建

谭思博
2023-12-01

目录

修改服务器ssh端口

安装Docker

安装Cowrie

安装并输出Cowrie日志到MySQL(可选)

启动Cowrie


修改服务器ssh端口

  • 为了将22端口留给Cowrie,需更改服务器的真实SSH端口:
vim /etc/ssh/sshd_config

        注:修改文件是 sshd_config 而不是 ssh_config !

  • 找到以下注释,并把 # 号删除,将22改为另一个自定义端口:
#Port 22
Port 61234
  • 重启ssh服务,并重启服务器:
systemctl restart sshd
shutdown -r now

        注:若使用云服务器,需要在控制台修改防火墙规则,允许自定义端口连接。

  • 重启后即可以61234端口进行ssh连接。

安装Docker

  • 参考Docker安装教程:

https://blog.csdn.net/qq_40379977/article/details/129976637?spm=1001.2014.3001.5501

安装Cowrie

  • Docker拉取ubuntu镜像:
sudo docker pull ubuntu:latest
  • 根据该镜像生成容器:
sudo docker run -it -p 22:2222 -p 23:2223 --name cowrie ubuntu /bin/bash

# -p 22:2222 指服务器的22端口转发至容器的2222端口
# -p 23:2223 指服务器的23端口转发至容器的2223端口
# --name cowrie 指容器名自定义为cowrie
  • 安装环境:
apt update
apt install vim git python3-virtualenv libssl-dev libffi-dev build-essential libpython3-dev python3-minimal authbind 
  • 添加用户,密码和其余信息可自定义填写:
adduser cowrie
  • 切换cowrie用户,下载cowrie:
su cowrie
cd ~
git clone http://github.com/cowrie/cowriesu cowrie
  • 创建python虚拟环境,并安装cowrie的依赖:
virtualenv --python=python3 cowrie_env
source cowrie_env/bin/activate
pip3 install --upgrade -r cowrie/requirements.txt

安装并输出Cowrie日志到MySQL(可选)

参考官方文档:How to Send Cowrie output to a MySQL Database — cowrie 2.5.0 documentation

  • 在cowrie用户下安装mysql-connector-python:
su cowrie
source cowrie_env/bin/activate
pip install mysql-connector-python
  • 切换到root,安装mysql-server:
su root
apt install mysql-server
  • 启动mysql服务:
/etc/init.d/mysql start
  • 验证安装,能输出版本信息即可:
mysql --version
  • 补充:

        若登录报以下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)

        则可能是var/run/mysqld目录未创建,则只需:

mkdir -p /var/run/mysqld
chown mysql /var/run/mysqld/
chmod 777 /var/run/mysqld/
service mysql restart
  • 登录mysql,创建cowrie数据库:
mysql -u root -p
CREATE DATABASE cowrie;
  • 创建cowrie用户,将下述PASSWORD修改为自己的密码:
CREATE USER 'cowrie'@'localhost' IDENTIFIED BY 'PASSWORD';
grant all privileges on cowrie.* to cowrie@'localhost' with grant option;
  • 刷新设置并退出:
FLUSH PRIVILEGES;
exit
  • 创建cowrie数据库所需要的表:
su cowrie
cd ~/cowrie/docs/sql/
mysql -u cowrie -p
use cowrie;
source mysql.sql;
exit
  • 修改cowrie配置,将输出定位到mysql:
vim etc/cowrie.cfg

        找到并修改以下字段:

[output_mysql]
host = localhost
database = cowrie
username = cowrie
password = PASSWORD HERE
port = 3306
debug = false
enabled = true
  • 启动或重启cowrie,参考 “启动Cowrie”。

  • 补充:

        若想清空mysql表中所有数据,可执行:

mysql -u cowrie -p
use cowrie;
set foreign_key_checks=0;
truncate table auth;
truncate table clients;
truncate table doanloads;
truncate table input;
truncate table ipforwards;
truncate table ipforwardsdata;
truncate table keyfingerprints;
truncate table params;
truncate table sensors;
truncate table sessions;
truncate table ttylog;
set foreign_key_checks=1;

        

启动Cowrie

  • 配置文件路径在./cowrie/etc中,包含cowrie.cfg.distuserdb.example两个文件。

cowrie.cfg.dist:cowrie默认配置文件,可直接修改后重启cowrie生效。

cowrie.cfg:该配置文件需手动创建,具有最高优先级,内容可由cowrie.cfg.dist复制过来修改。

userdb.example:改配置文件设置能登录到cowrie蜜罐的用户名和密码。

  • 启动指令:
# 每次启动前,需要切换到cowrie_env
source cowrie_env/bin/activate
# 控制指令包括:start、restart、stop
./cowrie/bin/cowrie start

 类似资料: