zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    js实现两种实用的排序算法——冒泡、快速排序
    node端代理浏览器路由 解决浏览器跨域问题
    HTTP Request header
    移动H5前端性能优化指南
    express下使用ES6
    Nginx Location配置总结
    NODE_ENV=production 环境变量设置
    css3逐帧动画
    js scheme 打开手机app的方法
    jQuery hashchange监听浏览器url变化
  • 原文地址:https://www.cnblogs.com/bmjoker/p/10156220.html
Copyright © 2011-2022 走看看