Cowrie 部署 SSH 蜜罐_cowrie蜜罐

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

文件目录及解释:

在这里插入图片描述

etc / cowrie.cfg-Cowrie的配置文件。缺省值可以在etc / cowrie.cfg.dist中找到。
share / cowrie / fs.pickle-伪造的文件系统
etc / userdb.txt-访问蜜罐的凭据
honeyfs / -伪造文件系统的文件内容-随时在此处复制实际系统或使用bin / fsctl
honeyfs / etc / issue.net-登录前横幅
honeyfs / etc / motd-登录后横幅
var / log / cowrie / cowrie.json-JSON格式的交易输出
var / log / cowrie / cowrie.log-日志/调试输出
var / lib / cowrie / tty /-会话日志,可使用bin / playlog实用程序重播。
var / lib / cowrie / downloads /-从攻击者传输到蜜罐的文件存储在此处
share / cowrie / txtcmds / -简单伪造命令的文件内容
bin / createfs-用于创建伪造的文件系统
bin / playlog-重放会话日志的实用程序

蜜罐的一些主要构成模块

1、按实现逻辑划分

  • 控制:将入侵者牢牢控制在指定的网络范围中,使其不能再以此机器作为跳板来攻击其它的机器。
  • 捕获:把入侵者在入侵过程中所产生的各种流量捕获住。
  • 分析:将捕获到的各种数据存到数据库或者其它指定地方,便于后续还原其详细的入侵攻击过程。

2、按具体实现过程划分

  • 监控各种主机项,如:进程、文件、注册表、网络等。
  • 同时提交给入侵检测,以识别其更详细的入侵手段,并对整个入侵过程做详细记录。
  • 入侵数据汇总分析,其实就是把上述两步所得到的各种数据进行集中分析,最后勾勒出完整的入侵轨迹画像。

3、最容易理解的说法

  • 蜜罐环境隔离: 使用虚拟环境将物理环境和蜜罐隔绝开,防止某些敏感操作在其真实的系统环境中进行造成破坏。
  • 敏感操作记录:把蜜罐中所有的入侵操作都写进数据库。
  • 邮件报警系统:蜜罐被入侵后自动发送报警邮件通知相关安全应急人员。

蜜罐的分类

1. 低交互蜜罐

低交互蜜罐最大的特点是:蜜罐为攻击者展示的所有攻击弱点和攻击对象都不是真正的产品系统,而是对各种系统及其提供的服务的模拟。由于它的服务都是模拟的行为,所以蜜罐可以获得的信息非常有限,只能对攻击者进行简单的应答。不过,它也是最安全的蜜罐类型。

2. 中交互蜜罐

中交互蜜罐是对真正的操作系统的各种行为的模拟,它提供了更多的交互信息,同时也可以从攻击者的行为中获得更多的信息。在这个模拟行为的系统中,蜜罐此时看起来和一个真正的操作系统没有区别,它们甚至是比真正系统还诱人的攻击目标。

3. 高交互蜜罐

高交互蜜罐具有一个真实的操作系统,它的优点体现在对攻击者提供完全真实的系统。当攻击者获得 ROOT 权限后,受系统、数据真实性的迷惑,他的更多活动和行为将被记录下来。缺点是被入侵的可能性很高,如果整个高交互蜜罐被入侵,那么它就会成为攻击者下一步攻击的跳板,不太安全。
简化版

蜜罐分类:
低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互;

中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部分交互;

高交互:攻击者可以几乎自由的访问系统资源直至系统重新清除恢复。

什么是 Cowrie

Cowrie 是一个具有中等交互的 SSH 蜜罐,它可以获取攻击者用于暴力破解的字典、输入的命令以及上传或下载的恶意文件。所有这些攻击记录都会被记载到日志中,以便日后分析。

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

Cowrie 安装部署

使用源码部署

本次搭建使用的基础环境是 Ubuntu ,以下步骤除切换到虚拟环境中的操作,其它均为 root 权限执行。

安装必要的支持软件

# Python 3
$ sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython3-dev python3-minimal authbind virtualenv

# Python 2
$ sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind

添加一个普通用户

对外提供服务的程序均以普通用户身份运行,能更好的保证服务器安全性。

$ sudo adduser --disabled-password cowrie
Adding user 'cowrie' ...
Adding new group 'cowrie' (1002) ...
Adding new user 'cowrie' (1002) with group 'cowrie' ...
Changing the user information for cowrie
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]

$ sudo su - cowrie

安装 Cowire

由于 Cowire 是采用 Python 开发,为了方便管理和安全,我们就直接将 Cowire 部署到 Python 的虚拟环境中。

下载 Cowire

$ cd /home/cowrie/
$ git clone https://github.com/cowrie/cowrie.git

在这里插入图片描述
在 Python 虚拟环境中安装 Cowire

  • 进入 Cowrie 所在目录,并安装虚拟环境
    $ cd /home/cowrie/cowrie
  • 使用 Python 3 创建虚拟环境
$ virtualenv --python=python3 cowrie-env
New python executable in ./cowrie/cowrie-env/bin/python
Installing setuptools, pip, wheel...done.

  • 使用 Python 2 创建虚拟环境
$ virtualenv --python=python2 cowrie-env
New python executable in ./cowrie/cowrie-env/bin/python
Installing setuptools, pip, wheel...done.

激活 Cowrie 环境,并安装必要的软件包

$ source cowrie-env/bin/activate
(cowrie-env) $ pip install --upgrade pip
(cowrie-env) $ pip install --upgrade -r requirements.txt

常见报错
在这里插入图片描述
原因:Ubuntu升级pip后,使用时出现了问题
解决办法:
sudo gedit /usr/bin/pip
这时打开了pip文件,修改

from pip import main  
if __name__ == '__main__':  
    sys.exit(main()) 
为

from pip import __main__  //修改
if __name__ == '__main__':  
    sys.exit(__main__._main())//修改

创建并修改 Cowire 的配置文件

(cowrie-env) $ cd etc/
(cowrie-env) $ cp cowrie.cfg.dist cowrie.cfg
(cowrie-env) $ vi cowrie.cfg

在这里插入图片描述
打开 SSH 服务,并且修改监听端口
[ssh]

# Enable SSH support
# (default: true)
enabled = true

listen_endpoints = tcp:2222:interface=0.0.0.0

  • 配置日志文件输出

默认情况下,Cowire 支持将日志输出到多个接收终端中。比如:文件文件、Cuckoo、ELK Stack、Graylog、Kippo-Graph、Splunk、SQL (MySQL、SQLite3、RethinkDB) 等等中。这里我们就来说说最常用的文本文件和 MySQL 数据库:

# 保存在文本文件中,需要配置以下一些内容。
[output_textlog]
enabled = true
logfile = ${honeypot:log_path}/audit.log
format = text

# 保存在数据库中,需要配置以下一些内容。
[output_mysql]
host = localhost
database = cowrie
username = cowrie
password = 123456
port = 3306
debug = false
enabled = true

如果是需要保存在 MySQL 数据库中,当然只配置是不行的,你还得需要有一个对应的数据库。如果你没有,可以按下面的步骤进行安装。

  • 安装 MySQL
$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev python-mysqldb

设置数据库密码
在这里插入图片描述
在这里插入图片描述
安装成功后,你可以通过下面的命令测试是否安装成功。

$ sudo netstat -tap | grep mysql

在这里插入图片描述

  • 在 Python 虚拟环境中安装 MySQL 依赖包
$ source cowrie-env/bin/activate
$ pip install mysqlclient mysql-python

在这里插入图片描述
3、创建名为 cowrie 的数据库

$ mysql -u root -p
mysql> create database cowrie;

创建一个给 Cowrie 访问数据库的用户

mysql> GRANT INSERT, SELECT, UPDATE ON cowrie.* TO 'cowrie'@'localhost' IDENTIFIED BY 'PASSWORD HERE';
mysql>GRANT INSERT,SELECT,CREATE,UPDATE ON cowrie.* TO 'cowrie'@'localhost' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;
mysql> exit

在这里插入图片描述
常见报错 :
在这里插入图片描述
解决办法 :https://blog.csdn.net/github_38336924/article/details/82702017

数据库和对应的数据库用户创建完成后,在数据库中导入初始数据的 SQL 语句

$ cd ~/cowrie/docs/sql/
$ mysql -u cowrie -p
mysql> USE cowrie;
mysql> source mysql.sql;
mysql> exit

在这里插入图片描述
常见报错 :用户cowrie没有权限
在这里插入图片描述
解决办法 :切换到root用户下面,退出mysql,使用账号密码登录 mysql -u root -proot
在这里插入图片描述
4、在 Python 虚拟
环境下启动蜜罐

(cowrie-env) $ bin/cowrie start
Activating virtualenv "cowrie-env"
Starting cowrie with extra arguments [] ...

在这里插入图片描述
常见报错 :
在这里插入图片描述

5、修改 SSH 默认的监听端口
在 root 用户下将 Ubuntu 自身的 SSH 监听端口进行更改,并修改 Iptables 规则。

首先,我们验证下是否安装 SSH。

$ ps -ef|grep sshd
root      2720     1  0 Nov 02 ? 00:00:00 /usr/sbin/sshd

如果输出结果和以上类似就证明已经安装,没有安装的话可以使用以下命令安装。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

:00:00 /usr/sbin/sshd


如果输出结果和以上类似就证明已经安装,没有安装的话可以使用以下命令安装。




[外链图片转存中...(img-MmQJcr1F-1715736698602)]
[外链图片转存中...(img-tU45YRUe-1715736698602)]
[外链图片转存中...(img-fzzm2r5s-1715736698602)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值