前言: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 [ $? == "" ] ; then
echo "未探测到SSH异常连接!"
else
echo "SSH异常连接,正在发送确认邮件...!"
mail -s '[T-POT] cowrie monitor warnning!!!' pentest@.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 0.0 0.1 ? Ss : : sendmail: MTA: accepting connections
root 0.0 0.0 pts/ S+ : : grep --color=auto sendmail

T-Pot平台cowrie蜜罐暴力破解探测及实现自动化邮件告警的更多相关文章

  1. T-Pot平台Honeytrap蜜罐TCP/UDP服务攻击探测及实现自动化邮件告警

    T-pot平台的Honeytrap可观察针对TCP或UDP服务的攻击,作为一个守护程序模拟一些知名的服务,并能够分析攻击字符串,执行相应的下载文件指令,当不产生TCP或者UDP协议的时候Honeytr ...

  2. web攻击与防御技术-平台搭建与暴力破解

    平台搭建是首先安装xampp并把pikachu的压缩文件解压在HTdocs下 然后 点击后显示 安装成功 首先随便输入一些东西 然后用burpsuite抓包 对username和password字段进 ...

  3. Pikachu漏洞练习平台实验——暴力破解(一)

    概述 一个有效的字典可以大大提高暴力破解的效率 比如常用的用户名/密码TOP500 脱裤后的账号密码(社工库) 根据特定的对象(比如手机.生日和银行卡号等)按照指定的规则来生成密码 暴力破解流程 确认 ...

  4. 搭建pikachu平台及暴力破解

    一.先将Pikachu文件放在网站根目录下 二.修改pikachu网站的配置文件  inc/config.inc.php define('DBUSER', 'user'); define('DBPW' ...

  5. Pikachu练习平台(暴力破解)

    Pikachu练习平台(暴力破解) 因为下面要用到burp suite,这里先简单介绍一下intruder模块的东西 Target选项:        设置攻击目标,可以通过proxy发送 Pasit ...

  6. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全

    几十万人使用的系统.覆盖全国.每天营业额上好几个亿的.若信息安全方面太薄弱了.那将会是致命的打击.甚至威胁到企业的正常运转.从国家层面到企业级别大家都在重视信息的安全.可控. 运行速度慢一点点可以忍受 ...

  7. 暴力破解unix/linux平台上采用crypt加密的口令

    # coding=utf-8 ''' 暴力破解crypt模块加密的密码 ''' import crypt import optparse usage = 'Usage: %prog [optinos] ...

  8. Cowrie蜜罐部署教程【转载】

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

  9. Web攻防之暴力破解(何足道版)

    原创文章 原文首发我实验室公众号 猎户安全实验室 然后发在先知平台备份了一份 1 @序 攻防之初,大多为绕过既有逻辑和认证,以Getshell为节点,不管是SQL注入获得管理员数据还是XSS 获得后台 ...

随机推荐

  1. 学习go语言一篇就够了(持续更新)

    前言:写博客也写了差不多一年了,我更多的时候是记录自己学习的情况,有时也有自己工作上遇到的bug,自己有时候也比较迷茫,不知道怎么去写博文,我也很想别人跟我提提建议,但是有时候觉得写写博客还是很有成就 ...

  2. [漏洞分析]thinkphp 5.x全版本任意代码执行分析全记录

    0x00 简介 2018年12月10日中午,thinkphp官方公众号发布了一个更新通知,包含了一个5.x系列所有版本存在被getshell的高风险漏洞. 吃完饭回来看到这个公告都傻眼了,整个tp5系 ...

  3. windows系统,添加网络位置向导。

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ============ 创建一个文件夹 共享. 共享位置 ,文件夹 图标 修改. 分组 ...

  4. 洛谷P1432 倒水问题(CODEVS.1226)

    To 洛谷.1432 倒水问题 题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were co ...

  5. Process多进程的创建方法

    '''方式一:函数的多进程''' from multiprocessing import Process import time def test(): ): print(i) time.sleep( ...

  6. angularJs中的checkboxs

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  7. C++ map<key , value> key值为指针

    STL中map的key能否用char *呢?当然可以! 在程序中需要用到一个map,本来是这样写的, map<string, int> mapStr; 为了追求效率,把string改成了c ...

  8. FT232H FT2232H FT4232H

    The FT232H is the single channel version, the FT2232H is the dual-channel, and there is also anFT423 ...

  9. 绘图 Painter转接口封装的方式

        记录下思想 适用于业务逻辑相对单纯的一些画法,比如画背景(颜色,背景,边框等) 一个Draw方法中如果绘制比较复杂的话,就会导致代码混乱,而不灵活,每次需求更改就得重新画过,可重用性差. 以接 ...

  10. http://blog.csdn.net/wzzvictory/article/details/16994913

      原文地址:http://blog.csdn.net/wzzvictory/article/details/16994913   一.什么是instancetype instancetype是cla ...