在RHEL8部署ssh蜜罐

艺帆风顺 发布于 2025-04-03 16 次阅读


蜜罐cowrie简介

项目地址:https://github.com/cowrie/cowrie

Cowrie是一款中度交互的sshTelnet蜜罐,它可以获取攻击者用于暴力破解的字典,输入的命令以及上传或下载的恶意文件
特性:

  1. 伪装的文件系统增加/移除文件,完整的文件系统搭配有Debian 5.0

  2. 可增加文件内容,攻击者就能用cat命令查看如/etc/passwd等文件;系统中进包含最少的文件内容

  3. 会话日志记录在UML兼容格式中,便于重演

  4. cowroe保存文件,下载用wget/curl,或者为后续检查—上传采用sftpscp

安装运行cowrie

http://localnetwork.cn/project-3/doc-47/

安装依赖包

# 安装依赖包
yum install -y git gcc bzip2-devel libffi-devel vim net-tools

创建cowrie用户

# 创建cowrie用户
useradd cowrie

下载cowrie源码

# 进入/opt目录
cd /opt

# 下载cowrie源码
git clone https://github.com/cowrie/cowrie.git

# 进入cowrie源码目录
cd /opt/cowrie/


创建Python3虚拟环境

需要python3.7及以上

# RHEL安装virtualenv包
yum install -y python3-virtualenv

# pip安装virtualenv
pip3 install virtualenv

# 进入cowrie目录
cd /opt/cowrie/

# 创建虚拟环境
python3 -m venv cowrie-env

# 激活虚拟python环境
source cowrie-env/bin/activate


pip安装依赖包

(cowrie-env)Python3.7+以上虚拟环境执行

# 进入cowrie源码目录
cd /opt/cowrie/

# 升级pip包管理器
pip3 install -U setuptools
pip3 install -U pip

# pip安装依赖包
pip3 install six packaging appdirs

# 安装项目python依赖
pip3 install -U -r requirements.txt


修改配置文件

# 进入配置模板目录
cd /opt/cowrie/etc/

# 复制配置文件
cp cowrie.cfg.dist cowrie.cfg

# 修改目录的属主
chown -R cowrie /opt/cowrie/


创建模拟SSH账号密码泄露文件

# 编辑模拟SSH账号密码泄露文件
vim etc/userdb.txt

把自己怀疑泄密的root密码写上去,只有这些root密码才能登录上我们的SSH蜜罐。

root:x:怀疑泄露密码1
root:x:怀疑泄露密码2
admin:x:怀疑泄露密码3


配置文件

修改配置文件
vim cowrie.cfg

Cowrie 会监听 SSH 的 port 2222、Telnet 的 port 2223。
所以这里将连接至 port 22 、23 的请求重定向到 2222、2223

[telnet]
enabled = true

listen_port = 2223
listen_endpoints = tcp:2223:interface=0.0.0.0


配置防火墙


firewalld防火墙配置

# 放行ssh蜜罐的2222端口和2223端口
firewall-cmd --add-port=2222/tcp --permanent
firewall-cmd --add-port=2223/tcp --permanent

# 允许SNAT(源地址转换)
firewall-cmd --zone=public --add-masquerade --permanent

# 将22端口转发到2222端口
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=2222 --permanent

# 将23端口转发到2223端口
firewall-cmd --zone=public --add-forward-port=port=23:proto=tcp:toport=2223 --permanent

# 更新防火墙规则
firewall-cmd --reload

# 重启sshd服务
systemctl restart sshd
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18


iptables防火墙配置

# 允许从客户端发起的新TCP连接请求通过端口80进入系统
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

# 允许从客户端发起的新TCP连接请求通过端口22进入系统
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# 将tcp的22端口重定向到2222蜜罐端口
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

# 将tcp的23端口重定向到2223蜜罐端口
iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223


将Cowrie输出发送到MySQL数据库–非必需

https://cowrie.readthedocs.io/en/latest/sql/README.html
前置条件:已有Mysql服务器

安装mysql客户端

安装MariaDB
安装mysql服务器

# 安装mysql客户端
yum install -y mysql-devel

(cowrie-env)Python虚拟环境下执行

# 安装mysql-python依赖
pip install -y mysql-python


创建数据库

-- 创建cowrie库
create database cowrie;

-- 授权"cowrie"从"localhost"访问"cowrie"数据库,可执行所有权限,同时设置改用户的密码为"123"。
grant all on cowrie.* to cowrie@localhost identified by '123';

导入到数据库

# 进入cowrie的sql目录
cd /opt/cowrie/docs/sql

导入到数据库

-- 登录数据库
mysql -ucowrie -p

-- 进入到cowrie库
use cowrie;

-- 导入sql
source mysql.sql


配置蜜罐数据库连接

vim /opt/cowrie/etc/cowrie.cfg

[output_mysql]
enabled = true
host = localhost
database = cowrie
username = cowrie
password = 123
port = 3306


启动蜜罐

# 切换到cowrie用户
su - cowrie

# 激活虚拟python环境
source cowrie-env/bin/activate

# 切换目录
cd /opt/cowrie/bin

# 启动蜜罐
/opt/cowrie/bin/cowrie start

# 查看蜜罐状态
/opt/cowrie/bin/cowrie status

# 停止蜜罐服务
/opt/cowrie/bin/cowrie stop
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17


查看攻击者信息和攻击方式

# 查看攻击者的攻击信息和攻击方式
mysql -ucowrie -p


查看日志

tail ./var/log/cowrie/cowrie.log

# 查看json日志
tail ./var/log/cowrie/cowrie.json

# 登录失败
cat ./var/log/cowrie/cowrie.json | grep cowrie.login.failed

# 登录成功
cat ./var/log/cowrie/cowrie.json | grep cowrie.login.success

# 登陆蜜罐后.命令.输入
cat ./var/log/cowrie/cowrie.json | grep cowrie.command.input
    版权声明:本文内容来自CSDN:识途老码,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://blog.csdn.net/omaidb/article/details/132063792如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。