zoukankan      html  css  js  c++  java
  • T-Pot平台cowrie蜜罐暴力破解探测及实现自动化邮件告警

    前言:Cowrie是基于kippo更改的中交互ssh蜜罐, 可以对暴力攻击账号密码等记录,并提供伪造的文件系统环境记录黑客操作行为, 并保存通过wget/curl下载的文件以及通过SFTP、SCP上传的文件。而此文主要对该蜜罐的监控效果做个简单的测试,并在受到暴力破解攻击的时候实现自动化邮件告警。
     
    一、T-Pot平台cowrie 蜜罐ssh暴力破解探测
    由下图可知,cowrie的地址为172.17.0.4 (该地址可能会变动,测试时以实际分配IP为准)
    首页-》UI-For-Docker-》Containers
    因T-Pot仅部署在测试虚拟机里而并未部署在网络流量出入口,所以本地测试时远程ssh连接cowrie的2222端口,使用以下命令尝试登陆发现Dashboard里的Cowrie-Event Counter成功捕获到了异常连接信息。
    [tsec@ptarmiganantelope:~]$ ssh -p 2222 172.17.0.4
     
     另外,将DashBoard设置为cowrie专用模板后展示的信息将会更加全面,将屏幕刷新时间设置为5s后即可配置SSH恶意连接状况的实时动态展现。
     
    二、cowrie配置实现自动化邮件告警
    有报警信息就肯定有日志,cowrie的报警日志保存在了以下路径。
    /data/cowrie/log/cowrie.log

    接下来就是制作监控脚本,所实现的功能是检测该日志是否有新的登录记录产生,如果发现了新的登录记录立刻向管理员发送出告警邮件。 而该告警邮件中应包含攻击者暴力破解时所使用的用户名、密码及攻击者IP地址。另外,脚本最好不要保存在/data/cowrie/log目录下,我这里放在了/root目录下了。

    脚本内容:/root/diff.sh
    
    
    #! /bin/bash
     
    grep 'login attempt' /data/cowrie/log/cowrie.log > /data/cowrie/log/cowrieSSH.log.new
    diff /data/cowrie/log/cowrieSSH.log.new /data/cowrie/log/cowrieSSH.log.old > /data/cowrie/log/diff.txt
     
    if [ $? == "0" ] ; then
    echo "未探测到SSH异常连接!"
    else
    echo "SSH异常连接,正在发送确认邮件...!"
    mail -s '[T-POT] cowrie monitor warnning!!!' pentest@163.com < /data/cowrie/log/diff.txt
    cp /data/cowrie/log/cowrieSSH.log.new /data/cowrie/log/cowrieSSH.log.old
    echo "邮件发送成功!"
    fi
    给监控脚本添加可执行权限
    chmod u+x /root/diff.sh

    给监控脚本添加计划任务,要求每分钟执行一次(执行频率可根据需要自行设置)。

    # vim /etc/crontab  添加以下内容到crontab里
    # Check cowrie HoneyPot
    * * * * * root /root/diff.sh

    重启cron服务,使得修改过的cron服务立刻生效

    /etc/init.d/cron restart 
    最后,SSH连接cowrie的IP(ssh -p 2222 172.17.0.4),尝试输入错误密码888888后发现收到了异常告警邮件!
     
     
     
    ps:
    (1)整个流程实现略显复杂,待后续研究优化。
    (2)测试所用邮件服务是在ubuntu系统上安装的sendmail。
    (3)查看T-Pot平台各蜜罐服务状态及设置开机自启动
      》systemctl status conpot/dionaea/elasticpot/emobility/glastopf/honeytrap
      》systemcel enable conpot/dionaea/elasticpot/emobility/glastopf/honeytrap
    (4)发送邮件到163或QQ邮箱的时候可能会被当作垃圾邮件处理,可以尝试在hosts文件里添加发送源邮箱的域名(如以下红体字部分)
    [root@ptarmiganantelope:/data/cowrie/log]# vim /etc/hosts
    
    127.0.0.1       localhost
    127.0.1.1       ptarmiganantelope hbmapentest.ips.com

       同时,观察是否存在以下进程以确认sendmail是否正常工作

    [root@ptarmiganantelope:/data/cowrie/log]# ps aux | grep sendmail
    root        975  0.0  0.1 106900  5436 ?        Ss   10:16   0:00 sendmail: MTA: accepting connections
    root      11916  0.0  0.0  14224  1016 pts/0    S+   10:36   0:00 grep --color=auto sendmail
  • 相关阅读:
    云时代架构读后感
    余额宝技术架构读后感
    shiyan
    11111
    编写hdfs文件遇到的问题
    123
    啦啦啦
    Hadoop安装
    js根据银行卡号进行判断属于哪个银行并返回银行卡类型
    git 使用
  • 原文地址:https://www.cnblogs.com/tdcqma/p/6932481.html
Copyright © 2011-2022 走看看