一直都想尝试搭建一个蜜罐,因为蜜罐是一款可以对ssh,telnet,http等等协议攻击进行记录,对于输入命令和上传文件均有记录的一款软件。

记录可以设置在日志文件中或者通过配置数据库,导入数据库中方便查询。今天闲了下来就尝试搭建蜜罐Cowrie,先来简单说一下蜜罐:

蜜罐分类:

低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互;
中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部分交互;
高交互:攻击者可以几乎自由的访问系统资源直至系统重新清除恢复。

为什么选择Cowrie:

它是一个具有中等交互的SSH蜜罐,安装在Linux中,它可以获取攻击者用于暴力破解的字典、输入的命令以及
上传或下载的恶意文件。攻击者在上传恶意文件后,执行恶意文件的操作均会失败,所以对蜜罐本身来说比较安全。

本次搭建使用的基础环境是 Ubuntu 16.04

蜜罐所用资料来自外国友人的github:https://github.com/cowrie/cowrie

在Ubuntu下安装必要的支持软件:

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

创建一个非root的cowrie的新用户:

adduser cowrie

不过此时cowrie没有sudo权限,root用户下修改文件/etc/sudoers:

chmod 777 /etc/sudoers
vim /etc/sudoers
在文件中添加如下内容:
cowrie ALL=(ALL)ALL

pkexec chmod 0440 /etc/sudoers

切换到新账户cowrie,并从github下载cowrie:

git clone http://github.com/micheloosterhof/cowrie

打开cowrie文件夹,安装虚拟环境:

virtualenv cowrie-env

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

source cowrie-env/bin/activate
(以下的操作全部在cowrie-env环境下运行)
(cowrie-env) $ pip install --upgrade pip
(cowrie-env) $ pip install --upgrade -r requirements.txt

修改cowrie蜜罐的有关配置文件:

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

修改cowrie.cfg配置文件,打开ssh服务,并且修改监听端口:

配置输出文件output:

配置mysql数据库进行数据记录:

不过首先要安装数据库:

sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

安装成功后可以通过下面的命令测试是否安装成功:

sudo netstat -tap | grep mysql

创建名为cowrie的数据库:

create database cowrie;

创建完成后,虚拟环境下进入cowrie安装目录中,使用cowrie用户登录数据库,进入cowrie库中,将/home/cowrie/honely-cowrie/cowrie/docs/sql作为数据源即可制成多个表:

(cowrie-env) $ pwd
(cowrie-env) $ mysql -u root –p
(输入root密码)
(cowrie-env) $ use cowrie
(cowrie-env) $ source /home/cowrie/honely-cowrie/cowrie/docs/sql/mysql.sql

完成后生成DSA密钥,避免有的版本的Twisted不兼容:

(cowrie-env) $ cd data
(cowrie-env) $ ssh-keygen -t dsa -b 1024 -f ssh_host_dsa_key

明确 cowrie的路径:

(cowrie-env) $ export PYTHONPATH=/home/cowrie/honely-cowrie/cowrie

在root用户下将Ubuntu自身的ssh监听端口更改,并修改iptables规则,首先检查是否安装sshd

# ps -ef|grep sshd

如上图证明已经安装,没有的话安装:

# apt-get install openssh-server

安装完成后,修改sshd_config文件将端口改为60000

注:不要与cowrie.cfg文件中监听的端口一致 62223,否则进入22端口的流量就转发到新的ssh端口,蜜罐被屏蔽掉了。

# vim /etc/ssh/sshd_config

# sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 62223

# iptables-save

虚拟环境下启动蜜罐并测试:

(cowrie-env) $ bin/cowrie start

emmmm...还要安装MySQLdb数据库

# pip install mysql-python 

虚拟环境下再次启动蜜罐并测试:

可以看到没有爆错信息了。

(cowrie-env)$ ps -ef | grep cowrie

有上图的信息即是安装成功。

查看端口使用情况:

lsof -i

可以看到62223端口正在监听。

看一下cowrie基本配置,这是所有口令:

攻击者可以轻易破解。

这只介绍了cowrie蜜罐的搭建,任何可登陆的服务都可以用来搭建蜜罐:

基于python Twisted库的Ftp简单蜜罐:http://blackwolfsec.cc/2016/05/17/python_twisted_ftp_honeypot/

基于python Twisted库的Telnet简单蜜罐:http://blackwolfsec.cc/2016/06/03/telnet_honeypot/

github上面蜜罐搭建教程:https://github.com/cowrie/cowrie/blob/master/INSTALL.md#step-1-install-dependencies

参考链接:

https://blog.csdn.net/xujing19920814/article/details/78599604

https://blog.csdn.net/pygain/article/details/65658990

https://www.freebuf.com/articles/network/112065.html

https://blog.csdn.net/gobitan/article/details/50696641

10.Ubuntu16搭建蜜罐Cowrie的更多相关文章

  1. 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版

    本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...

  2. Ubuntu16 搭建Git 服务器

    刚入职一个月左右,昨晚公司给培训了SVN和Git的使用.之前在研究生期间,和导师做项目就一直使用git做版本管理.想起研究生有一段时间,git总出错(秘钥都不好使了,只有某个机器生成的rsa key ...

  3. 如何在 Windows 10 中搭建 Node.js 环境?

    [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中 ...

  4. 10分钟搭建一个小型网页(python django)(hello world!)

    10分钟搭建一个小型网页(python django)(hello world!) 1.安装django pip install django 安装成功后,在Scripts目录下存在django-ad ...

  5. 使用 Windows 10 WSL 搭建 ESP8266 编译环境并使用 VSCODE 编程(一)(2019-08-23)

    目录 使用 Windows 10 WSL 搭建 ESP8266 编译环境并使用 VSCODE 编程 安装前准备 安装 ESP8266 工具链 下载 ESP8266 SDK 编译 花絮 使用 Windo ...

  6. 用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器

    用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器 TrinityCore是魔兽世界(World of Warcraft)的开源的服务端.目前支持魔兽的3 ...

  7. 基于Ubuntu16搭建Hadoop大数据完全分布式环境

    [目的]:学习大数据 在此记录搭建大数据的过程. [系统环境] 宿主机操作系统:Win7 64位 虚拟机软件:Vmware workstation 12 虚拟机:Ubuntu 16 64位桌面版 [步 ...

  8. 在macOS Sierra 10.12搭建PHP开发环境

    macOS Sierra 11.12 已经帮我们预装了 Ruby.PHP(5.6).Perl.Python 等常用的脚本语言,以及 Apache HTTP 服务器.由于 nginx 既能作为 HTTP ...

  9. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

随机推荐

  1. 20165101刘天野 2018-2019-2《网络对抗技术》Exp7 网络欺诈防范

    目录 20165101刘天野 2018-2019-2<网络对抗技术>Exp7 网络欺诈防范 1.实验内容 1.1 简单应用SET工具建立冒名网站 1.2 ettercap DNS spoo ...

  2. TCP相关知识总结

    参考: http://coolshell.cn/articles/11564.html http://coolshell.cn/articles/11609.html TCP头格式 接下来,我们来看一 ...

  3. FOJ 2232 匈牙利算法找二分图最大匹配

    题目链接 简单理解匈牙利算法 简单理解二分图 尽量让每一个随从击败一个对手且随从全部存活,关键是为每一个随从找对手(递归过程),"腾". #include<iostream& ...

  4. MAC下ssh免密码登录远程服务器

    生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rs ...

  5. Python 模块EasyGui

    1.msgBox msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) ms ...

  6. adobe flash player 下载地址

    1. https://www.adobe.com/cn/products/flashplayer/distribution3.html

  7. 属性 visibility

    http://www.w3school.com.cn/cssref/pr_class_visibility.asp 可能的值 值 描述 visible 默认值.元素是可见的. hidden 元素是不可 ...

  8. 分享知识-快乐自己:反射机制Demo解析

    Java-Reflect专题 基本反射简介: 1):JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象能够调用它的任意方法和属性;这种动态获取信息以及动 ...

  9. SpringBoot_03_依赖本地jar

    一.方法一 1.说明 用Maven打到本地仓库,然后直接引入 2.参考资料 Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 3.执行maven ...

  10. poj3630 Phone List (trie树模板题)

    Phone List Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26328   Accepted: 7938 Descr ...