Defacement detection with deep learning

Overview

GitHub

In0ri is a defacement detection system utilizing a image-classification convolutional neural network.

Introduction

When monitoring a website, In0ri will periodically take a screenshot of the website then put it through a preprocessor that will resize the image down to 250x250px and numericalize the image before passing it onto the classifier. The core of the classifier is a convolutional neural network that is trained to detect the defacement of a website. If the monitored website is indeed, defaced, In0ri will send out warnings via email to the user.

Requirement

  • Python3 (version >=3.6)
  • Docker
  • Docker-compose

Installation

Cloning the repository

git clone https://github.com/J4FSec/In0ri.git
cd In0ri

Configuring email credentials to send notifications and agent keys from

Edit the file Alert/sendEmail.py

EMAIL_SERVER = "mail.example.com"
EMAIL_ADDRESS = "[email protected]"
EMAIL_PASSWORD = "$uper$ecurePa$$word"

Configure Telegram notification

Edit the file Alert/chatbot.py

CHAT_ID= 'foo' # Channel ID to send notifications to
TOKEN = 'bar' # Bot token retrieved from @BotFather

Starting In0ri

docker-compose up -d

Usage

There's two ways to deploy and using In0ri:

  • Running off crontab by periodically visiting the url.
  • Internal agent running off the web server

First Method: URL Check

Visit the WebUI on https://<serverIP>:8080/ and click on "Register" then fill in the form and submit it.

Second Method: Internal Agent

Visit the WebUI on https://<serverIP>:8080/ and click on "Register" then fill in the form and submit it.

Click on "Create Agent" then fill in the form and check your email for the Agent's key.

On the web server that you wants to be monitored by In0ri, download the Agent folder from Github repository

Installing the required packages for the internal Agent

python3 -m pip install watchdog
python3 -m pip install requests

Edit the file config.json in the same folder as agent

nano config.json

A key is sent to your email after registering the Agent on the WebUI rootPath is the root directory of the web application that you want to be monitored exludePath are the subfolders that you wants excluded from the scans apiServer is the URL to the API server of In0ri serverIP is the IP of the API server of In0ri

{
    "id":"01",
    "key":"123123123",
    "rootPath":"/var/www/html",
    "excludePath":"",
    "apiServer":"http://<serverIP>:8088/checkdeface"
}

And run the Agent:

python3 agent.py

References

  • Model training is handled by Shu
  • Mentioned by Kitploit

Authors

In0ri is built by Echidna with the help of Cu64 and Klone.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GNU AGPLv3

You might also like...

An Anime Game launcher for Linux with automatic patching fixing detection of Linux/Wine and telemetry disabling

An Anime Game launcher for Linux with automatic patching fixing detection of Linux/Wine and telemetry disabling

An Anime Game launcher for Linux with automatic patching fixing detection of Linux/Wine and telemetry disabling

Jan 4, 2023

This is food detection WebApp, which will tell users about the nutrients value of particular food image which they upload

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Sep 8, 2022

๐ŸŒŠ Deep dive NextJS

Next 101 ๐ŸŒŠ Deep dive NextJS Contents Intro Intermediate Advanced Getting Started clone this repo # install dependencies npm i # or npm install

Dec 12, 2022

Create a deep copy of a set of matched elements with the dynamic state of all form elements copied to the cloned elements.

jq-deepest-copy FUNCTION: Create a deep copy of a set of matched elements while preserving the dynamic state of any matched form elements. Example Use

Oct 28, 2022

This Repository consist of Daily learning JS, Assignments, coding challenge, projects, references, tutorial

This Repository consist of Daily learning JS, Assignments, coding challenge, projects, references, tutorial

๐Ÿ’› A Tour of JavaScript This Repository consist of Daily learning, Assignments, coding challenge, projects, references, tutorial. ๐Ÿ‘ฉโ€๐Ÿ’ป ๐Ÿ‘จโ€๐Ÿ’ป alert(

Sep 7, 2022

JavaScript package for predictive data analysis and machine learning

scikit.js JavaScript package for predictive data analysis and machine learning. Generic math operations are powered by Tensorflowjs core layer. We are

Jan 6, 2023

An ongoing curated list of frameworks, books, articles, talks, screencasts, recordings, libraries, learning tutorials and shiny resources about Javascript Development.

An ongoing curated list of frameworks, books, articles, talks, screencasts, recordings, libraries, learning tutorials and shiny resources about Javascript Development.

Javascript Frameworks Development Welcome to the world of Javascript Frameworks. An ongoing curated list of frameworks, books, articles, talks, screen

Jul 31, 2022

A learning guide for JavaScript programmers.

Table of Contents Awesome JavaScript ไธ“้ข˜ๅˆ—่กจ ๅŸบ็ก€ ๅผ€ๅ‘ๅ‡†ๅค‡ ๆŽจ่็š„ไนฆ ๆบไปฃ็ ้˜…่ฏป ๆ•ๆทๆ–นๆณ•ไธŽๅทฅๅ…ท JavaScript ES6 Node.js ๅ›พไนฆ ๆœ€ไฝณๅฎž่ทต ้ฃŽๆ ผๆŒ‡ๅ— ๅธธ็”จ็š„Node Webๆก†ๆžถ ๅธธ็”จNPMๅทฅๅ…ทๆจกๅ— ๅผ€ๅ‘ๅทฅๅ…ทๅ’Œๅบ“ Future Awesome

Dec 26, 2022

Reinforcement learning using Markov Decision Processes. For JS, written in C++.

Reinforcement learning using Markov Decision Processes. For JS, written in C++.

Pavlov.js About Pavlov.js uses Markov Decision Processes to implement reinforcement learning. It is written in C++ and compiled to JavaScript. For mor

Dec 14, 2022
Comments
  • can you help me?

    can you help me?

    i'm trying to make a change a defacement detection like you, can you tell me how to create a model like in your repos? thank you so much! my email: [email protected]

    opened by takechiushi 1
  • Cannot import name 'soft_unicode' from 'markupsafe'

    Cannot import name 'soft_unicode' from 'markupsafe'

    Hello,

    I just tried to deploy the project using docker. I got this error related to Flask.

    Traceback (most recent call last):
      File "/opt/In0ri/api.py", line 6, in <module>
        from flask import Flask, request
      File "/usr/lib/python3/dist-packages/flask/__init__.py", line 14, in <module>
        from jinja2 import escape
      File "/usr/lib/python3/dist-packages/jinja2/__init__.py", line 33, in <module>
        from jinja2.environment import Environment, Template
      File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 15, in <module>
        from jinja2 import nodes
      File "/usr/lib/python3/dist-packages/jinja2/nodes.py", line 23, in <module>
        from jinja2.utils import Markup
      File "/usr/lib/python3/dist-packages/jinja2/utils.py", line 656, in <module>
        from markupsafe import Markup, escape, soft_unicode
    ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)
    

    Linked to the end of support of soft_unicode by markupsafe tha removed `soft_unicode' https://github.com/pallets/markupsafe/issues/304 ; and https://github.com/pallets/markupsafe/issues/282

    Could you please patch the software (or downgrade to markupsafe==2.0.1) ? and rebuild the docker container on docker hub ?

    Thanks in advance

    opened by eladent 1
Owner
Just4Fun Security
Just4Fun Security
clubhouse + google deep voice + gpt3

Omega This repo is code for a machine learning social "turing" test run on Clubhouse. It's a conversational bot that leverages GPT-3 to reply contextu

Thomas Davis 37 Nov 17, 2022
Fast, deep, scalable object cloning for JavaScript

A new approach to deep cloning. A simple library with no external dependencies gives you the opportunity to customize the cloning strategy.

Egor Efimenko 3 Mar 10, 2022
Ethereum smart contract gas cost waste pattern detection and patching tool

Ethereum smart contract gas cost waste pattern detection and patching tool

ibelab 4 Mar 23, 2022
A command-line tool to convert Project Zomboid map data into Deep Zoom format

pzmap2dzi pzmap2dzi is a command-line tool running on Windows to convert Project Zomboid map data into Deep Zoom format. Features Supports both python

Min Xiang 14 Dec 31, 2022
A facial recognition/detection app with Angular using Microsoft's Face API

Deja-Vu Overview Deja-Vu is a client side application generated with Angular CLI version 13. The core function of this application is to detect, recog

Wali Ullah 3 Jul 30, 2022
API4AI Samples: Face Detection and Recognition

API4AI is cloud-native computer vision & AI platform for startups, enterprises and individual developers. This repository contains sample mini apps that utilizes Facial Image Analysis API provided by API4AI.

api4ai 11 May 24, 2022
Implement MTCNN with Tensorflow.js. A face detection framework with MTCNN and Tensorflow.js

mtcnn-tfjs Implement mtcnn with Tensorflow.js What is this? A face detection framework with MTCNN and Tensorflow.js Give me a โญ๏ธ , if you like it โค๏ธ (

Dat Le 10 Nov 23, 2022
jQuery Address - Deep linking for the masses

jQuery Address The jQuery Address plugin provides powerful deep linking capabilities and allows the creation of unique virtual addresses that can poin

Rostislav Hristov 820 Oct 20, 2022
Open Horizon service container demonstrating Node-RED Object Detection

service-node-red-object-detection Open Horizon service container demonstrating Node-RED Object Detection. This is an Open Horizon configuration to dep

null 4 Dec 25, 2022
With this script you can bypass both root detection and ssl pinning for your android app.

frida_rootansslbypas โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—

themalwarenews 14 Dec 24, 2022