Cowrie蜜罐部署教程

0.蜜罐分类:

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

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

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

Cowrie蜜罐部署教程_第1张图片

1.cowrie简介

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

Cowrie蜜罐部署教程_第2张图片

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

Cowrie蜜罐部署教程_第3张图片

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

cd /opt/cowrie-mastervi cowrie.cfg

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

Cowrie蜜罐部署教程_第4张图片

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蜜罐部署教程_第5张图片

此处切换为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

Cowrie蜜罐部署教程_第6张图片

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

Cowrie蜜罐部署教程_第7张图片

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

./start.sh

cowrie库中的数据表如下:

Cowrie蜜罐部署教程_第8张图片

4. 配置文件说明

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

Clipboard Image.png

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

Clipboard Image.png

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

Cowrie蜜罐部署教程_第9张图片

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

Clipboard Image.png

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

Cowrie蜜罐部署教程_第10张图片

5. 阶段成果

如果想查询蜜罐中是否有攻击者的痕迹,SSH登录服务器后进入数据库,使用cowrie库,查询auth、sessions、input等表即可。
公网恶意IP可以从sessions表中去重获取,算是少量的威胁情报了,部分恶意IP如下。

Cowrie蜜罐部署教程_第11张图片

记录攻击者操作如下:

Cowrie蜜罐部署教程_第12张图片

Cowrie蜜罐部署教程_第13张图片

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

Cowrie蜜罐部署教程_第14张图片Cowrie蜜罐部署教程_第15张图片

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

*本文作者:RipZ,转载须注明来自FreeBuf.COM

收藏该文
RipZ

RipZ1篇文章等级:2

这家伙太懒,还未填写个人描述!

个人主页  发私信
发表评论

已有 12 条评论

  • chenglei  (2级)  2016-08-24 回复 1楼

    这个6啊!

    亮了( 0)
  • tonybreak  (3级)  2016-08-24 回复 2楼

    很不错~

    亮了( 0)
  • ztencmcp  (1级)  2016-08-24 回复 3楼

    学习了!

    亮了( 0)
  • 午夜灰狼哥  (4级)  2016-08-24 回复 4楼

    路过

    亮了( 0)
  • just4role  (1级) '>alert(123);  2016-08-24 回复 5楼

    学习了

    亮了( 1)
  • 任务易  2016-08-24 回复 6楼

    谢谢博主分享,乐享自由职业,任务易助力自由职业者成长,欢迎大家来参与
    http://www.renwuyi.com/huodong/lxzy.html

    亮了( 0)
  • 岩枳  2016-08-24 回复 7楼

    之前在黑客军团里就看到过用蜜罐陷阱

    亮了( 0)
  • range  (1级)  2016-08-24 回复 8楼

    这个不错

    亮了( 0)
  • dawner  (9级) 黎明已经过去,黑暗就在眼前!  2016-08-24 回复 9楼

    矮油,RipZ牛转行搞蜜罐了。

    亮了( 1)
    • RipZ  (2级)  2016-08-24 回复

      @ dawner  主要是挖洞拼不过大牛们=、=

      亮了( 0)
  • jimmyczm  (1级)  2016-08-24 回复 10楼

    楼主的很多命令没有空格和换行。。

    亮了( 0)
  • swper007  (1级)  2016-08-24 回复 11楼

    :oops: 这个用得上啊。

    亮了( 0)

你可能感兴趣的:(安全应急)