zoukankan      html  css  js  c++  java
  • Cowrie蜜罐部署教程

     

     

    0.蜜罐分类:

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

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

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

    Cowrie蜜罐部署教程

    1.cowrie简介

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

    Cowrie蜜罐部署教程

    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蜜罐部署教程

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

    cd /opt/cowrie-mastervi cowrie.cfg
    

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

    Cowrie蜜罐部署教程

    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蜜罐部署教程

    此处切换为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蜜罐部署教程

    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蜜罐部署教程

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

    ./start.sh
    

    cowrie库中的数据表如下:

    Cowrie蜜罐部署教程

    4. 配置文件说明

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

    Cowrie蜜罐部署教程

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

    Cowrie蜜罐部署教程

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

    Cowrie蜜罐部署教程

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

    Clipboard Image.png

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

    Cowrie蜜罐部署教程

    5. 阶段成果

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

    Cowrie蜜罐部署教程

    记录攻击者操作如下:

    Cowrie蜜罐部署教程

    Cowrie蜜罐部署教程

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

    Cowrie蜜罐部署教程Cowrie蜜罐部署教程

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

  • 相关阅读:
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机
    【原】机器学习公开课 目录(课程笔记、测验习题答案、编程作业源码)...持续更新...
    【原】Coursera—Andrew Ng机器学习—Week 11 习题—Photo OCR
    【原】Coursera—Andrew Ng机器学习—Week 10 习题—大规模机器学习
    【原】Coursera—Andrew Ng机器学习—Week 9 习题—异常检测
    【原】Coursera—Andrew Ng机器学习—Week 8 习题—聚类 和 降维
    【原】Coursera—Andrew Ng机器学习—Week 7 习题—支持向量机SVM
  • 原文地址:https://www.cnblogs.com/HacTF/p/8094516.html
Copyright © 2011-2022 走看看