0.蜜罐分类:

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

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

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

1.cowrie简介

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

2.cowrie安装部署

以下步骤均为root权限执行

l 添加非root用户

adduser cowrie –p *******(设置密码,一路回车即可)

l 安装各种python相关包

apt-get install python-twistedpython-crypto python-pyasn1 python-gmpy2 python-mysqldb python-zope.interface

l 安装virtualenv

apt-get install virtualenv

l 下载cowire

cd /optgit clone http://github.com/micheloosterhof/cowrie

l 配置python虚拟环境

cd /opt/cowrie-master(cowrie-master就是我cowrie蜜罐的目录,如果目录不一致,重命名即可)virtualenv cowrie-envsource cowrie-env/bin/activate(cowrie-env) $ pip install twistedcryptography pyopenssl gmpy2

l 改变/opt/cowrie-master的拥有者

chown -R cowrie:cowrie /opt/cowrie-master

l 建立cowrie配置文件

cp cowrie.cfg.dist cowrie.cfg

l 修改日志的umask为0022(默认为0077)

cd /opt/cowrie-mastervi start.sh

l 修改蜜罐的SSH端口(默认为2222)

cd /opt/cowrie-mastervi cowrie.cfg

将linsten_port改为62223即可(最好大于60000,以防止被nmap默认扫描到)

l 将公网访问服务器22端口的请求做端口转发,转发到蜜罐的端口中

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

l 将真正的(非蜜罐)SSH管理端口改为65522

vi /etc/ssh/sshd_config

(备注:在第一次改SSH端口时,在前期测试时强烈建议同时保留22与65522,以防止修改保存后出现故障无法连接65522)

此处切换为cowrie用户操作

启动蜜罐

cd /opt/cowrie-master./start.sh

3. 数据库安装部署

cowrie中产生的日志杂乱无章,即使放到日志分析工具中也很难制定规则去筛选。然而cowrie具备将攻击IP、时间、历史执行命令等记录直接存在数据库中,下面将说明如何配置数据库。

需要root权限或者sudo

l 安装mysql基础环境

apt-get install libmysqlclient-devpython-dev pip install mysql-python apt-get install mysql-server python-mysqldb

l 配置数据库与表

使用root用户建立名为cowrie的数据库并将该库中的所有表授权给cowrie

mysql -u root -pEnter password: ******* mysql>CREATE DATABASE cowrie;mysql> GRANT ALL ON cowrie.* TOcowrie@localhost IDENTIFIED BY 'your_password';mysql>exit

此时进入cowrie安装目录中,使用cowrie用户登录数据库,进入cowrie库中,将/opt/cowrie/ doc/sql/mysql.sql作为数据源即可制成多个表。

cd /opt/cowrie-master mysql -u cowrie –pEnter password: ******* mysql>USE cowrie;mysql>source ./doc/sql/mysql.sqlmysql>exit

停止cowrie,修改配置文件中的数据库配置,使配置文件中的密码与cowrie数据库用户密码一致。

./stop.shvi cowrie.cfg

保存后退出,并su到cowrie用户重启蜜罐

./start.sh

cowrie库中的数据表如下:

4. 配置文件说明

data/userdb.txt——设置外部连接蜜罐时的密码,可以设置稍微复杂但是在攻击字典里,诱使攻击者进行暴力破解并获取其行为。

log/cowrie.json与 log/cowrie.log——均为日志

txtcmds/*——均为假的命令,其实打开就会发现完全就是txt

dl/*——攻击者上传的文件均会复制到这里

honeyfs/etc/motd——自定义欢迎/警告banner

5. 阶段成果

如果想查询蜜罐中是否有攻击者的痕迹,SSH登录服务器后进入数据库,使用cowrie库,查询auth、sessions、input等表即可。

公网恶意IP可以从sessions表中去重获取,算是少量的威胁情报了,部分恶意IP如下。

记录攻击者操作如下:

由上图可以看到攻击者在暴力破解成功后执行的命令,获取到这些恶意文件后进行分析,其大多数均为用于ddos的恶意程序,例如:

在长期收集蜜罐中的攻击者信息后,可以制定恶意IP列表直接在防火墙做阻断

转自:

Cowrie蜜罐部署教程 - 今日头条(TouTiao.org)
http://www.toutiao.com/i6322444837110940162/

Cowrie蜜罐部署教程【转载】的更多相关文章

  1. Cowrie蜜罐部署教程

      0.蜜罐分类: 低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互: 中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部分交互: 高交互:攻击者可以几乎自由 ...

  2. T-Pot平台cowrie蜜罐暴力破解探测及实现自动化邮件告警

    前言:Cowrie是基于kippo更改的中交互ssh蜜罐, 可以对暴力攻击账号密码等记录,并提供伪造的文件系统环境记录黑客操作行为, 并保存通过wget/curl下载的文件以及通过SFTP.SCP上传 ...

  3. NideShop项目的安装部署教程

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

  4. deepsooncms在Ubuntu 14.04上部署教程

    deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...

  5. GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]

    Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手  粘贴时有一个版权问题 本文原 ...

  6. 自动化部署教程(一) redhat安装jenkins

    自动化部署教程(一)  redhat安装jenkins 源配置: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.or ...

  7. iOS: 学习笔记, Swift与Objective-C混用简明教程(转载)

    Swift与Objective-C混用简明教程 转载自:https://github.com/lifedim/SwiftCasts/tree/master/000_mix_swift_objc 我想很 ...

  8. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  9. LAMP 搭建wordpress部署教程贴.

    LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...

随机推荐

  1. NewtonJson中转义的斜杠\和多余的引号处理

    使用newtonjson序列化的json串正常的,但通过网络传输后,会再包装一层引号和对原有定义引号的转义,最后结果就变成这种数据: “\"{\\\"State\":fa ...

  2. OBIEE 12C

    OBIEE 12C安装配置 oracle官网下载BIEE12C 在虚拟机上安装 linux 在SQLPLUS启动和停止Oracle数据库 重启oracle数据库 cmd->1.lsnrctl s ...

  3. Centos7安装Docker 基于Dockerfile 搭建httpd运行环境

    Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...

  4. 微信小程序入门——Mustache语法学习

    微信小程序中用到了大量Mustache语法,特发此文学习一下 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" ...

  5. win10下安装Django

    Django的核心(1.4+)可以运行在从2.5到2.7之间的任何Python版本. 我的电脑是操作系统是window10 ,内存是4G. 1.下载django 官网地址:https://www.dj ...

  6. iOS开发播放文本

    iOS7以后AVSpeechSynthesizer苹果开放了这个类   它可以将文本转化成声音并播放: 下面的是我的封装使用起来特别简单: // //  TTSSpeak.h //  SayLoveY ...

  7. iOS开发中怎么样使用激光推送

    1.注册激光推送的账号 ----> 创建应用 2.上传推送测试和发布的p12文件  注意密码的填写 3.下载sdk并拖进工程里 4.在build setting 搜索search   把路径改一 ...

  8. 专访Facebook HipHop作者/阿里研究员赵海平:生物与计算机交织的独特人生

    3 月 26 日,杭州的天阴沉沉,这是一种山色空蒙雨亦奇的美丽,还是雾霭笼罩下的怪异,对于来访阿里巴巴西溪园区的人们来说,没人关心这些.人们行色匆匆,兴奋地往各自目的地奔赴而去.我也来不及细思这些,因 ...

  9. mysql去重的最方便的两种方法

    参考资料:http://blog.csdn.net/guocuifang655/article/details/3993612 方法一: 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然m ...

  10. 【转载】Recycle机制

    首先要明白,Recycle机制并不是Java中的垃圾回收机制,而是相当于一种设计模式 思想:当一个对象不再使用时,储存起来,而不是让虚拟机回收,需要的时候再用,避免对象被回收之后重分配 适用范围:对于 ...