关于In0ri
In0ri是一个内容污染检测系统,该工具主要利用一个图像分类卷积神经网络实现其功能。
在监控网站时,In0ri会定期抓取网站的屏幕截图,然后将其放入预处理器,预处理器将图像大小调整为250x250px,并在将图像传递到分类器之前对图像进行数字化处理。分类器的核心是一个卷积神经网络,经过训练可以检测网站内容是否正常。如果被监控的网站确实被破坏,In0ri将通过电子邮件向用户发出警告。
工具要求
Python3 (版本 >=3.6)
Docker
Docker-compose
工具安装
广大研究人员可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/J4FSec/In0ri.git
cd In0ri
接下来,我们需要配置电子邮件凭证和代理密钥,以实现In0ri通过电子邮件向用户发出警告。编辑Alert/sendEmail.py文件:
代码语言:javascript复制EMAIL_SERVER = "mail.example.com"
EMAIL_ADDRESS = "foo@gmail.com"
EMAIL_PASSWORD = "$uper$ecurePa$$word"
配置Telegram通知
编辑Alert/chatbot.py文件:
代码语言:javascript复制CHAT_ID= 'foo' # Channel ID to send notifications to
TOKEN = 'bar' # Bot token retrieved from @BotFather
现在,我们就可以启动In0ri了:
代码语言:javascript复制docker-compose up -d
工具使用
我们有两种方式部署和使用In0ri
通过定期访问url来运行crontab;
在Web服务器上运行内部代理;
第一种方法:URL检测
通过访问https://<serverIP>:8080/进入到In0ri的WebUI,然后点击“注册”,填写并提交表单。
第二种方法:内部代理
通过访问https://<serverIP>:8080/进入到In0ri的WebUI,然后点击“注册”,填写并提交表单。
点击“创建代理”,然后填写表单,确认邮件的代理密钥是否正确。
在待监控的Web服务器上,从本项目的GitHub库下载“Agent”文件夹。
安装内部代理运行所需的依赖包:
代码语言:javascript复制python3 -m pip install watchdog
python3 -m pip install requests
编辑config.json文件:
代码语言:javascript复制nano config.json
按照下列格式填写相关参数:
代码语言:javascript复制{
"id":"01",
"key":"123123123",
"rootPath":"/var/www/html",
"excludePath":"",
"apiServer":"http://<serverIP>:8088/checkdeface"
}
然后,使用下列命令运行代理即可:
代码语言:javascript复制python3 agent.py
许可证协议
本项目的发开与发布遵循GNU AGPLv3开源许可证协议。
项目地址
https://choosealicense.com/licenses/agpl-3.0/