T-pot平台的Honeytrap可观察针对TCP或UDP服务的攻击,作为一个守护程序模拟一些知名的服务,并能够分析攻击字符串,执行相应的下载文件指令,当不产生TCP或者UDP协议的时候Honeytrap捕获不到任何信息,但有攻击者试图使用一些安全工具进行扫描的时候,Honeytrap即可捕获到连接信息。将Dashboard更换到Honeytrap模式,如下图所示

Honeytrap的日志记录保存在/data/honeytrap/log/attacker.log中

[root@ptarmiganantelope:/data/honeytrap/log]# ll
total 384
-rw-r--r-- 1 root root  31748 Jun 26 15:59 attacker.log-rw-r--r-- 1 root root 203810 Jun 26 15:59 attackers.json
-rw-r--r-- 1 root root 106442 Jun 26 15:59 honeytrap.log

在编写自动告警邮件的脚本前需要注意一个事,因为attacker.log中会产生很多从127.0.0.1到127.0.0.1的流量,此类流量推测是虚拟出来伪装流量,如果要探测是否存在攻击应该过滤到此类流量。如:

[2017-06-26 07:44:17:458433 GMT] tcp 127.0.0.1:43102 -> 127.0.0.1:8888 e61f0d10f73c114cc88d551b1ef5c83f 2a45a0b18df52f8d446d0ad5329d3f71a05debf7298a133ba6b593806928ca9c8a1c1d7606557d6ba938579ee3e1576a89c17a2976b7115fbe6bc8b1423241bd (127 bytes)

自动告警邮件的脚本内容:

[root@ptarmiganantelope:~]# cat /root/honeytrapScri.sh
#!/bin/bashgrep -v "127.0.0.1" /data/honeytrap/log/attacker.log > /data/honeytrap/log/attacker.newlog.txt  #过滤掉127.0.0.1的流量
if [ ! -e /data/honeytrap/log/attacker.oldlog.txt ] ; thentouch /data/honeytrap/log/attacker.oldlog.txt
fidiff /data/honeytrap/log/attacker.newlog.txt /data/honeytrap/log/attacker.oldlog.txt > /data/honeytrap/log/honeytrap.sendmail.txt
if [ $? == "0" ] ; thenecho ‘safety!’
else if [ -s /data/honeytrap/log/honeytrap.sendmail.txt ] ; thenmail -s '[T-POT] Honeytrap monitor warnning!!!' pentest@163.com < /data/honeytrap/log/honeytrap.sendmail.txtecho 'mail send success.'cp /data/honeytrap/log/attacker.newlog.txt /data/honeytrap/log/attacker.oldlog.txtelse echo 'mail is empyt! no propleam'fi
fi

给脚本添加可执行权限,chmod a+x /root/honeytrapScri.sh

以上触发自动告警邮件的脚本就已经编写好了,但是考虑到攻击者如果使用安全工具进行扫描的话,短时间内就会收到大量的流量信息而使用计划任务则会稍有延迟,所以使用while循环设置脚本执行间隔为几秒钟效果会更好一些。以下实例设置为7s,具体情况可根据实际需要而定。

[root@ptarmiganantelope:/etc/init.d]# cat honeytrapWhile.sh
#!/bin/sh
### BEGIN INIT INFO
# Provides: OSSEC HIDS
# Required-Start: $network $remote_fs $syslog $time
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OSSEC HIDS
### END INIT INFOwhile [ 10 ]
do
sleep 7s
/root/honeytrapScri.sh
done

需要注意的是,该脚本的执行最好配置开机自启动,否则下次开机仍然要手动启动脚本然后进入后台去执行,实在是麻烦。所以,将该脚本honeytrapWhile.sh放置在/etc/init.d目录下面,然后配置启动优先级。

mv honeytrapWhile.sh /etc/init.d/
cd /etc/init.d/
update-rc.d new_honeytrapWhile.sh defaults 90

接下来,重新启动机器后确认该脚本进程是否存在

[root@ptarmiganantelope:~]# ps aux | grep honeytrapWhile.sh
root        766  0.0  0.0   6556  1776 ?        Ss   16:17   0:00 /bin/sh /etc/init.d/honeytrapWhile.sh start
root        915  0.0  0.0   6556  1716 ?        S    16:17   0:00 /bin/sh /root/honeytrapWhile.sh
root       3577  0.0  0.0  16404  1088 pts/0    S+   16:18   0:00 grep --color=auto honeytrapWhile.sh

最后尝试使用安全工具对honeytrap进行扫描(模拟TCP/UDP流量攻击)

经确认已收到告警邮件。

转载于:https://www.cnblogs.com/tdcqma/p/7080958.html

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

  1. 官方文档Linux自动发现:磁盘、进程、TCP/UDP服务

    下载地址 :https://share.zabbix.com/index.php?option=com_mtree&task=att_download&link_id=288& ...

  2. tcp/udp高并发和高吐吞性能测试工具

    在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已经是一件很花力气的事情,而还要去编写一个能够体现结果的测试工具就更加消耗工作时间. ...

  3. OSI七层模型以及TCP/UDP客户端/服务端程序实例

    OSI七层模型以及TCP/UDP客户端/服务端程序实例 一.前言 二.OSI简介 2.1 OSI概念 2.2 划分原则 2.3 OSI七层模型 2.4 模型举例 三.Linux下TCP/UDP程序开发 ...

  4. 高性能udp服务器架构,优秀的国产高性能TCP/UDP/HTTP开源网络通信框架——HP

    介绍 HP-Socket是国人开发的一套高性能的TCP/UDP/HTTP网络通信框架,包含了服务端.客户端以及Agent组件,可用于各种不同应用场景的通信系统,并且提供了C/C++.C#.Delphi ...

  5. 【Network】高性能 UDP 服务应该怎么搞?

    参考资料: Netty系列之Netty高性能之道C++高性能服务框架revover:rudp总体介绍(可靠UDP传输) - zerok的专栏 - 博客频道 - CSDN.NET高性能异步Socket服 ...

  6. 网络编程—网络基础概览、socket,TCP/UDP协议

    网络基础概览 socket概览 socket模块-TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...

  7. 高性能 TCP UDP 通信框架 HP-Socket v3.2.3

    HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...

  8. 一文入门网络编程:常见协议、通信过程、Socket、CS/BS、TCP/UDP

    网络编程三要素:ip地址.端口.协议,在网络通信协议下,不同计算机上运行的程序,可以进行数据传输 常见协议: 传输层 常见协议有TCP/UDP协议. 应用层 常见的协议有HTTP协议,FTP协议. 网 ...

  9. Python3之socket编程(TCP/UDP,粘包问题,数据传输、文件上传)

    一.socket的定义 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后 ...

最新文章

  1. Ubuntu 系统 查看代码的方法在那些地方使用
  2. Sql结果导出为excel文件
  3. 【Python3_基础系列_009】Python3-条件语句-If
  4. muduo之Thread
  5. C语言学习之输入一个大于三的值判断是否为素数
  6. abaqus分析用户手册单元卷_ABAQUS与你我的约定
  7. ubuntu16.04中安装MESA 17.3.3
  8. 【其他】Windows Media Services 无法启动
  9. python能用于机械设计吗_为什么人工智能首选Python?因为有很多适用于ML和DL的Python库!...
  10. 苹果airplay是什么 苹果手机投屏到电脑
  11. Android Studio开发中的各种开源API
  12. 富集分析:(一)概述
  13. 在c语言程序中添加背景音乐,怎么给你的C语言程序添加BGM背景音乐?
  14. css 属性 position:sticky (粘滞的) 制作导航吸顶效果
  15. Audified U73b 复古压缩器评测:带来复古温暖的色彩
  16. [Debug] 法语输入
  17. 四、转换成BCNF的保持无损连接的分解
  18. 【国信长天蓝桥杯】扩展板⑦ 光敏电阻的使用
  19. Eclipse中文语言包下载后怎么使用
  20. 强制类型转化(数组名以及数组名取地址)

热门文章

  1. VUE使用VLC插件播放RTSP流
  2. QRS波检测算法集锦(含源代码)
  3. (实战)用Python实现taobao某品牌杀虫剂评论的情感分析
  4. 矩阵加法减法乘法计算
  5. ios Safari浏览器页面取消快速双击放大
  6. 超详细!17 步全解四象限导图的使用方法
  7. 【安全知识分享】PPTX|中秋国庆节前安全教育培训(42页)(附下载)
  8. 史上最大DDoS攻击曝光,没想到还有这么多人拿“12345”当密码
  9. qt linux下自动检测U盘热插拔
  10. 既然醒着很累,为什么还要睁开眼睛