10.Ubuntu16搭建蜜罐Cowrie
一直都想尝试搭建一个蜜罐,因为蜜罐是一款可以对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的更多相关文章
- 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版
本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...
- Ubuntu16 搭建Git 服务器
刚入职一个月左右,昨晚公司给培训了SVN和Git的使用.之前在研究生期间,和导师做项目就一直使用git做版本管理.想起研究生有一段时间,git总出错(秘钥都不好使了,只有某个机器生成的rsa key ...
- 如何在 Windows 10 中搭建 Node.js 环境?
[编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中 ...
- 10分钟搭建一个小型网页(python django)(hello world!)
10分钟搭建一个小型网页(python django)(hello world!) 1.安装django pip install django 安装成功后,在Scripts目录下存在django-ad ...
- 使用 Windows 10 WSL 搭建 ESP8266 编译环境并使用 VSCODE 编程(一)(2019-08-23)
目录 使用 Windows 10 WSL 搭建 ESP8266 编译环境并使用 VSCODE 编程 安装前准备 安装 ESP8266 工具链 下载 ESP8266 SDK 编译 花絮 使用 Windo ...
- 用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器
用开源软件TrinityCore在Debian 10上搭建魔兽世界8.3.0.34220的服务器 TrinityCore是魔兽世界(World of Warcraft)的开源的服务端.目前支持魔兽的3 ...
- 基于Ubuntu16搭建Hadoop大数据完全分布式环境
[目的]:学习大数据 在此记录搭建大数据的过程. [系统环境] 宿主机操作系统:Win7 64位 虚拟机软件:Vmware workstation 12 虚拟机:Ubuntu 16 64位桌面版 [步 ...
- 在macOS Sierra 10.12搭建PHP开发环境
macOS Sierra 11.12 已经帮我们预装了 Ruby.PHP(5.6).Perl.Python 等常用的脚本语言,以及 Apache HTTP 服务器.由于 nginx 既能作为 HTTP ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
随机推荐
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp7 网络欺诈防范
目录 20165101刘天野 2018-2019-2<网络对抗技术>Exp7 网络欺诈防范 1.实验内容 1.1 简单应用SET工具建立冒名网站 1.2 ettercap DNS spoo ...
- TCP相关知识总结
参考: http://coolshell.cn/articles/11564.html http://coolshell.cn/articles/11609.html TCP头格式 接下来,我们来看一 ...
- FOJ 2232 匈牙利算法找二分图最大匹配
题目链接 简单理解匈牙利算法 简单理解二分图 尽量让每一个随从击败一个对手且随从全部存活,关键是为每一个随从找对手(递归过程),"腾". #include<iostream& ...
- MAC下ssh免密码登录远程服务器
生成密钥.在终端下执行命令: ssh-keygen -t rsa 一路回车,各种提示按默认不要改,等待执行完毕.然后执行: ls ~/.ssh #可以看到两个密钥文件:id_rsa(私钥) id_rs ...
- Python 模块EasyGui
1.msgBox msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None) ms ...
- adobe flash player 下载地址
1. https://www.adobe.com/cn/products/flashplayer/distribution3.html
- 属性 visibility
http://www.w3school.com.cn/cssref/pr_class_visibility.asp 可能的值 值 描述 visible 默认值.元素是可见的. hidden 元素是不可 ...
- 分享知识-快乐自己:反射机制Demo解析
Java-Reflect专题 基本反射简介: 1):JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象能够调用它的任意方法和属性;这种动态获取信息以及动 ...
- SpringBoot_03_依赖本地jar
一.方法一 1.说明 用Maven打到本地仓库,然后直接引入 2.参考资料 Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 3.执行maven ...
- poj3630 Phone List (trie树模板题)
Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26328 Accepted: 7938 Descr ...