
Detecção de ataques de desfiguração de sites com aprendizado profundo
In0ri é um sistema automatizado de detecção de desfiguramento de sites baseado em IA.
In0ri atua como um guardião inteligente para suas aplicações web. Em vez de depender da monitoração tradicional de código-fonte, ele simula o comportamento de usuários reais ao tirar periodicamente capturas de tela dos seus sites alvo. Essas imagens são então analisadas por um modelo treinado para identificar anomalias visuais e padrões de desfiguramento. Ao detectar uma página comprometida, o In0ri alerta imediatamente os administradores via Email ou Telegram, permitindo uma resposta rápida a incidentes.
git clone https://github.com/J4FSec/In0ri.git
cd In0ri
Você também pode usar o In0ri através do contêiner Docker oficial aqui.
docker-compose up --build -d
Após executar o In0ri, abra um navegador de internet em https://<serverIP>:8080/ para acessar a WebUI.
Existem duas maneiras de implantar e usar o In0ri:
Acesse a aba Dashboard na WebUI, clique em "Add URLs", preencha o formulário e envie.
Na tabela listando todas as URLs registradas na WebUI, clique no botão "Create Key" na coluna Ações, a Chave da API será enviada para seu email ou clique no botão "Details" para exibi-la.
No servidor web que deseja monitorar com o In0ri, baixe a pasta Agent do repositório GitHub
Instale os pacotes necessários para o Agente Interno
python3 -m pip install -r requirements.txt
Edite o arquivo config.json na mesma pasta do agente
nano config.json
Uma key é enviada para seu email após registrar o Agente na WebUI
rootPath é o diretório raiz da aplicação web que deseja monitorar
exludePath são as subpastas que deseja excluir das varreduras
apiServer é a URL para o servidor da API do In0ri
serverIP é o IP do servidor da API do In0ri
{
"id":"01",
"key":"123123123",
"rootPath":"/var/www/html",
"excludePath":"",
"apiServer":"http://<serverIP>:8080/checkdeface"
}
E execute o Agente:
python3 agent.py
In0ri foi construído por Echidna com a ajuda de Cu64 e Klone.
Solicitações de pull são bem-vindas. Para mudanças importantes, por favor abra uma issue primeiro para discutir o que você gostaria de alterar.