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

目录

修改服务器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

### 安装和配置 Cowrie 蜜罐Ubuntu #### 准备工作 为了确保顺利安装并运行Cowrie蜜罐,在Ubuntu环境中需先更新系统软件包列表,并安装必要的依赖项。 ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装必备组件 对于Python开发环境以及其他工具的支持,执行以下命令来安装所需的基础库: ```bash sudo apt install python3-pip git build-essential libffi-dev libssl-dev python3-dev python3-setuptools python3-virtualenv -y ``` #### 获取Cowrie源码 通过Git克隆官方仓库获取最新版本的Cowrie代码至本地机器: ```bash git clone https://github.com/cowrie/cowrie.git ~/cowrie cd ~/cowrie/ ``` #### 创建虚拟环境 建议创建独立的Python虚拟环境用于隔离项目依赖关系: ```bash virtualenv --python=python3 venv source venv/bin/activate ``` #### 安装Python依赖 激活虚拟环境后,利用Pip工具安装`requirements.txt`文件里指定的所有Python库: ```bash pip install --upgrade pip setuptools wheel pip install -r requirements.txt ``` #### 配置Cowrie服务 编辑位于`~/cowrie/etc/`目录下的`cowrie.cfg.dist`文件完成初步设置;如果打算长期稳定运行,则可复制此模板作为正式配置文件使用: ```bash cp etc/cowrie.cfg.dist etc/cowrie.cfg nano etc/cowrie.cfg ``` 在此过程中可根据实际需求调整监听端口、日志记录方式等参数。保存更改退出编辑器之后继续下一步骤。 #### 启动Cowrie服务 返回到项目的根目录下并通过Twistd启动守护进程模式的服务实例: ```bash twistd -n -l log/cowrie.log -u nobody cowrie ``` 此时应该可以看到终端输出有关服务器状态的信息提示符,表示Cowrie已经开始正常运作了。 #### 设置开机自启(可选) 为了让Cowrie能够在每次重启操作系统时自动加载,可以将其注册成SystemD服务单元管理对象之一。具体操作如下所示: 1. 编辑一个新的Unit文件 `/etc/systemd/system/cowrie.service`: ```ini [Unit] Description=Cowrie SSH/Telnet Honeypot [Service] ExecStart=/home/user/cowrie/twistd -n -l /var/log/cowrie/cowrie.log -u nobody cowrie WorkingDirectory=/home/user/cowrie User=root Group=root Restart=always [Install] WantedBy=multi-user.target ``` 2. 刷新Daemon缓存并将该服务设为默认开启状态: ```bash systemctl daemon-reload systemctl enable cowrie.service ``` 现在即使重新引导主机也不必担心Cowrie会停止工作了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值