JSMon:一款针对JavaScript脚本的监控工具

JSMon:一款针对JavaScript脚本的监控工具

JSMon

JSMon是一款针对JavaScript脚本的监控工具,该工具专为漏洞Hunter设计。在该脚本的帮助下,我们可以轻松配置网站上需要监控的JavaScript脚本文件以及数量。每当我们运行该脚本时,这些文件都将被JSMon所捕获,并与之前捕捉到的版本进行分析比对。如果文件状态发生了改变,JSMon将会通过Telegram发送信息来通知我们,其中包含指向该脚本的链接地址、修改后的文件大小以及最新的脚本文件,以此来帮助广大研究人员更加方便地进行文件分析和比对。

该工具基于Python开发,因此具备良好的跨平台特性。

功能介绍

  • 持续追踪目标节点:使用从cron定期检测目标状态;
  • 节点变化:通过Telegram或Slack发送通知消息;

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地,并运行安装脚本:

git clone https://github.com/robre/jsmon.git

cd jsmon

python setup.py install

别忘了,我们还需要在设备环境中配置好Slack或Telegram令牌,比如说创建一个.env文件,并包含下列内容:

touch .env
JSMON_NOTIFY_TELEGRAM=True

JSMON_TELEGRAM_TOKEN=YOUR TELEGRAM TOKEN

JSMON_TELEGRAM_CHAT_ID=YOUR TELEGRAM CHAT ID

#JSMON_NOTIFY_SLACK=True

#JSMON_SLACK_TOKEN=sometoken

#JSMON_SLACK_CHANNEL_ID=somechannel

如需启用Slack,请注释掉环境变量中关于Slack的配置行,然后添加我们自己的访问令牌。

如需创建一个cron脚本来定期运行JSMon的话,可以运行下列命令:

crontab -e

创建一个如下所示的入口点:

@daily /path/to/jsmon.sh

需要注意的是,我们要运行的是.sh文件,否则我们的设备环境将会出现问题。

该命令将每天在午夜时间执行一次JSMon,我们可以根据自己的需要去修改@daily参数。

在配置Telegram通知得时候,我们还需要在配置代码jsmon.py的开头部分中添加我们自己的Telegram API密钥以及chat_id。【参考文档

针对Slack支持,我们还需要正确配置我们的Slack应用程序,然后使用自己的Slack oAuth认证令牌。Slack应用程序需要拥有文件上传权限,并配置好相应的通信信道。最后,我们害需要配置一个需要监控的目标对象,下面给出的是创建样例:

echo "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js" >> targets/cdnjs-example

配置完成后,我们就可以运行下列命令来下载指定的文件了:

python jsmon.py

工具使用

通过项目目录中的targets/文件夹下的文件来提供节点信息(每一行配置一个节点):

  • 支持配置任意数量的脚本文件,每一个文件占一行;
  • 比如说,每个网站一个文件,或每个程序一个文件等等;

每一个节点都会被下载,并存储在downloads/文件夹中,存储的文件以对应哈希作为文件名,即md5哈希的前10个字符:

  • 如果文件已存在,则没有发生任何变化;
  • 如果文件发生变化,用户则会收到通知消息;

jsmon.json会根据文件哈希持续跟踪绑定的节点。

JSMon能够持续跟踪目标站点中的JavaScript脚本文件,但是同时也支持对目标节点中的任意文件类型进行跟踪,这一点就很Nice!

工具使用截图

项目地址

JSMon:【GitHub传送门


回复列表



回复操作

正在加载验证码......

请先拖动验证码到相应位置

发布时间:2021-01-28 09:01:57

修改时间:2021-01-28 09:01:57

查看次数:54

评论次数:0