目录
修改服务器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.dist、userdb.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