AI智能摘要
还在为红蓝攻防演练时错过关键攻击告警而烦恼?这款WAF监控脚本能在检测到红队IP攻击时立即发出声音警报,让你第一时间掌握攻击动态。通过实时解析WAF日志,自动识别攻击来源IP、目标服务器和安全事件类型,支持自定义告警声音和去重功能。专为安全工程师打造的轻量级工具,让攻防演练监控更高效直观。
— AI 生成的文章内容摘要
攻防演练时写的小脚本,挺管用的,记录一下。。。

#!coding:utf-8
from socket import *
import pygame,re
tmpSip = ''
tmpDip = ''
#!红队IP
Sip = ['210.72.243.18','114.242.71.226','114.242.71.227','114.242.71.228','114.242.71.229','114.242.71.230','114.242.71.231','114.242.71.232','114.242.71.233','114.242.71.234','114.242.71.235','114.242.71.236','114.242.71.237','114.242.71.238','114.242.71.239','114.242.71.240','114.242.71.241','114.242.71.242','114.242.71.243','114.242.71.244','114.242.71.245','114.242.71.246','114.242.71.247','114.242.71.248','114.242.71.249','114.242.71.250','114.242.71.251','114.242.71.252','114.242.71.253','114.242.71.254','1.50.104.62','14.135.74.35']
#接收WAF告警
revlog = socket(AF_INET,SOCK_DGRAM)
addr = ('172.16.26.122',515)
revlog.bind(addr)
while True:
receive_data = revlog.recvfrom(204800)
date = receive_data[0]#decode('gbk')# 存储接收的数据
addr = receive_data[1]
Dev_ip = addr[0]
port = addr[1]
#!匹配目标
try:
src_ip = str(re.findall("src_ip:+(d+S+)",date)[0])
dst_ip = str(re.findall("dst_ip:+(d+S+)",date)[0])
alertlevel = str(re.findall("alertlevel:+(S+)",date)[0])
event_type = str(re.findall("event_type:+(S+)",date)[0])
action = str(re.findall("action:+(S+)",date)[0])
except:
pass
print "=",#日志接收状态
#监测红队IP
#!去重
if tmpSip == src_ip:
if tmpDip == dst_ip:
continue
#!告警
if src_ip in Sip:
tmpSip = src_ip
tmpDip = dst_ip
pygame.mixer.init()
track = pygame.mixer.music.load(r"D:auto-toolstoollisteningMP3620.wav")
pygame.mixer.music.play()
#print "==="*10
print "===== This is WAF =====n"
print "检测到红队攻击IP: %s 目标服务器IP:%s 安全事件:%s 危险等级:%s 动作:%sn".decode('UTF-8').encode('GBK') %(src_ip,dst_ip,event_type,alertlevel,action)
print "==="*10

河南省开封市 1F
这个脚本思路不错,简单实用
北京市 2F
这脚本半夜响一声能吓出心脏病啊😂
内蒙古赤峰市 3F
红队IP这么多,是不是某次演练的固定出口?
北京市 4F
能不能加个阈值控制?别一有日志就播音
上海市 5F
我试过类似方案,最后改成了弹窗+钉钉通知
韩国 6F
alertlevel是按CVE评分来的还是自定义规则?
陕西省西安市 7F
缩进确实乱,但功能能跑就行,实战党不挑
山东省聊城市 8F
建议加个IP自动同步接口,手动维护太累了
湖北省武汉市 9F
linux下pygame有点坑,得装alsa那些依赖
日本 10F
要是能自定义告警音效就更好了
湖北省武汉市 11F
有人试过在linux环境跑吗?
山东省青岛市 B1
@ 遛狗达人 linux下pygame有点坑,装依赖折腾半天
海南省万宁市 12F
红队IP列表是手动维护的吗?
重庆市 13F
之前也写过类似的,不过没加声音提示
天津市 B1
@ Scarlet Serenade 我之前也踩过这坑,正则匹配日志格式不对直接崩
柬埔寨 14F
这代码缩进有点乱啊
陕西省西安市 15F
检测到攻击自动播放声音挺有意思的
黑龙江省佳木斯市 16F
对于企业内网部署有没有什么建议?
辽宁省锦州市 17F
WAF告警这块确实需要及时响应
台湾省 B1
@ 沉睡的幻想家 声音告警在值班室场景下真挺管用的
印度 18F
感觉可以再加个邮件通知功能
上海市金山区 19F
这脚本在实战里真能救命啊,声音一响全员警觉
巴基斯坦 20F
红队IP要是动态变的咋办?手动更新太累了
上海市 21F
alertlevel分级有标准吗?还是自己定的?
韩国 22F
缩进乱得看不下去,好歹用个编辑器格式化下
日本 23F
自动播音确实比盯着屏幕强,眼睛都快瞎了
浙江省杭州市 24F
能不能加个静音开关?半夜告警吓一跳hhh
山西省太原市 25F
企业内网一般不让外放声音吧,实用性存疑
江苏省无锡市 B1
@ 复古风铃 企业内网用耳机监听也行吧,总比漏告警强
印度 26F
检测到就播620.wav?这音效能换点刺激的不🤔
辽宁省大连市 B1
@ 二不愣 620.wav是啥音效?求分享链接hhh
日本 27F
这个脚本在实战中确实好用,声音告警比邮件及时多了
北京市 28F
红队IP列表需要手动维护有点麻烦,建议加个自动更新功能
北京市 29F
企业内网用这个得注意音量控制,别影响同事工作
新疆伊犁州 30F
要是能自定义告警音效就完美了,现在这个有点单调
陕西省 31F
之前做过类似的监控脚本,声音提示确实能提升响应速度
日本 32F
代码缩进看着有点难受,建议用IDE格式化一下
上海市 33F
在linux上测试过了吗?Windows依赖比较多
日本 34F
WAF告警分级标准能详细说说吗?不同等级对应什么风险
阿富汗 35F
半夜告警确实吓人,加个静音开关很必要
台湾省 36F
这种实时监控对攻防演练帮助很大,简单实用
日本 37F
要是能自定义告警音效就更好了,现在这个有点单调
湖北省武汉市 38F
这个IP列表是公开的还是内部的呀?
美国 B1
@ VanishingEcho 公开的,红队演练用的IP地址
泰国 39F
用pygame播声音告警挺有意思的