前言
2025HW在即,及时获取高危漏洞信息对于安全从业者至关重要。然而,每天手动检查各大安全平台既费时又容易遗漏。所以写了个基于微信的高危漏洞推送机器人,第一时间掌握最新安全威胁。
功能介绍
高危漏洞监控微信机器人的漏洞采集来自于开源项目watchvuln。
基于实时采集到的漏洞信息实现了以下核心功能:
- 实时监控:自动监控最新高危漏洞信息
- 智能推送:将漏洞信息定向推送至微信群或个人
- 关键词查询:支持按关键词快速检索相关漏洞
- 日期查询:可按日期查询特定时间段的漏洞信息
- 微步情报智能开关:可选是否接收微步(XVE)漏洞推送
【为什么单独有个微步的开关?因为它每天推送太多了,觉得消息多的可以关闭微步推送】
使用指南
实时监控
可以配置为多个群聊/好友同时推送
实时推送:
基本查询命令
任何用户都可以使用以下命令查询漏洞信息:
按日期查询:漏洞查询 2024-02-26
按关键词查询:漏洞查询 Jumpserver
获取帮助:漏洞监控 帮助
每次查询最多返回最新的3条漏洞记录,包含漏洞ID、标题、严重性等级、CVE编号、披露时间等关键信息。
管理员命令
管理员可以配置推送目标和机器人行为:
添加监控目标:添加监控 群ID/好友ID 备注说明
删除监控目标:删除监控 群ID/好友ID
查看监控列表:监控列表
微步情报控制:启动微步监控
/ 关闭微步监控
部署指南
压缩包一共包含三个文件,微信安装包、漏洞采集程序、微信机器人程序。
第一步: 安装特定版本微信3.9.2.23
,这个文章末尾可直接下载,安装好以后,需要关闭自动更新。
第二步: 运行魔改编译的watchvuln漏洞采集程序,使用-np参数实时入库。同时生成漏洞数据库文件
第三步: 运行wcfhttp客户端以及微信机器人程序
运行wcfhttp客户端,这里注意:需要使用–cb参数指定回调地址,使用–port参数指定端口
wcfhttp.exe --port 10013 --cb http://127.0.0.1:19001/WeChatCallBack
然后运行微信机器人程序,第一次运行会生成配置文件
首先填写API配置,和wcfhttp客户端保持一致。
再次运行微信机器人程序,可以在控制台看到机器人的ID值,填入配置文件
向机器人发送任意消息,可以获取到发送者的ID,然后填入管理员列表即可
退出再次运行微信机器人程序【重新加载配置文件】,大公告成!
微信安装包+漏洞采集+微信机器人下载地址
微信安装包+漏洞采集+微信机器人下载地址
链接:https://pan.quark.cn/s/9cb899c209cb
如果嫌自己搭建麻烦,可以加入小编新建的漏洞推送群,每天都会实时推送漏洞信息,如果介意每天消息多的话,勿加
如果群二维码过期,可以添加小助手微信,发送【漏洞推送】 自动拉群。
可能存在的问题
提示低版本无法登录
运行下面脚本【脚本来源互联网】,再次尝试登录
from pymem import Pymem
ADDRS = [0x2FFEAF8, 0x3020E1C, 0x3021AEC, 0x303C4D8, 0x303FEF4, 0x3040FA4, 0x30416EC]
def fix_version(pm: Pymem):
WeChatWindll_base = 0
for m in list(pm.list_modules()):
path = m.filename
if path.endswith("WeChatWin.dll"):
WeChatWindll_base = m.lpBaseOfDll
break
for offset in ADDRS:
addr = WeChatWindll_base + offset
v = pm.read_uint(addr)
if v == 0x63090A13: # 已经修复过了
continue
elif v != 0x63090217: # 不是 3.9.2.23 修复也没用
raise Exception("别修了,版本不对,修了也没啥用。")
pm.write_uint(addr, 0x63090A13)
print("好了,可以扫码登录了")
if __name__ == "__main__":
try:
pm = Pymem("WeChat.exe")
fix_version(pm)
except Exception as e:
print(f"{e},请确认微信程序已经打开!")