Analysis Information Leak framework
 
 
 
 
 
Go to file
Alexandre Dulaunoy bb8d4849d7 Basic feature list added 2016-02-08 11:49:33 +01:00
bin Merge branch 'pgp' of https://github.com/Rafiot/AIL-framework 2016-02-08 10:13:44 +01:00
configs Disable the sockets and the pid files from the redis config files. 2014-08-22 17:39:13 +02:00
doc CIRCL AIL logo added 2016-02-08 11:33:53 +01:00
docsphinx/source Initial import of AIL framework - Analysis Information Leak framework 2014-08-06 11:43:40 +02:00
files Big refactoring, make the queues more flexible 2014-08-29 19:37:56 +02:00
logs Travis, print logs 2016-01-19 12:01:45 +01:00
var/www web: basic search functionality added 2014-12-24 14:42:20 +00:00
.gitignore ajout d'un script d'installation pour archlinux via pacman et yaourt. 2016-02-05 13:14:52 +01:00
.travis.yml Travis, print logs 2016-01-19 12:01:45 +01:00
LICENSE Initial import of AIL framework - Analysis Information Leak framework 2014-08-06 11:43:40 +02:00
README.md Basic feature list added 2016-02-08 11:49:33 +01:00
installing_deps.sh Autre correction de installing_deps.sh 2016-02-05 13:20:23 +01:00
installing_deps_archlinux.sh ajout d'un script d'installation pour archlinux via pacman et yaourt. 2016-02-05 13:14:52 +01:00
pip_packages_requirement.txt Remove double requirement 2014-12-22 14:37:38 +00:00

README.md

Build Status

AIL

Logo

AIL framework - Framework for Analysis of Information Leaks

AIL is a modular framework to analyse potential information leaks from unstructured data sources like pastes from Pastebin or similar services. AIL framework is flexible and can be extended to support other functionalities to mine sensitive information.

Dashboard Trending

AIL framework screencast: https://www.youtube.com/watch?v=9idfHCIMzBY

Features

  • Modular architecture to handle stream of unstructured or structured information
  • Default support for external ZMQ feeds as provided by CIRCL or other providers
  • Each modules can process and reprocess the information already processed by AIL
  • Detecting and extracting URLs including their geographical location (e.g. IP addresses location)
  • Extracting and validating potential leak of credit cards numbers
  • Extracting and validating email addresses leaked including DNS MX validation
  • Module for extracting Tor .onion addresses (to be further processed for analysis)
  • Extracting and validating potential hostnames (e.g. to feed Passive DNS systems)
  • A full-text indexer module to index unstructured information
  • Many more modules for extracting phone numbers, credentials, ...

Installation

Type these command lines for a fully automated installation and start AIL framework

git clone https://github.com/CIRCL/AIL-framework.git
cd AIL-framework
./installing_deps.sh
cd var/www/
./update_thirdparty.sh
cd ~/AIL-framework/
. ./AILENV/bin/activate
cd bin/
./LAUNCH.sh

The default installing_deps.sh is for Debian and Ubuntu based distribution. For Arch linux based distribution, you can replace it with installing_deps_archlinux.sh.

There is also a Travis file used for automating the installation that can be used to build and install AIL on other systems.

Starting AIL web interface

To start with the web interface, you need to fetch the required Javascript/CSS files:

cd $AILENV
cd var/www/
bash update_thirdparty.sh

and then you can start the web interface:

cd $AILENV
cd var/www/
Flask_server.py

Eventually you can browse the status of the AIL framework at the following URL:

    ``http://localhost:7000/``

How to create a new module

If you want to add a new processing or analysis module in AIL, it's simple.

  1. Add your module name in ./bin/packages/modules.cfg and subscribe to the Redis_Global at minimum.

  2. Use ./bin/template.py as a sample module and create a new file in bin/ with the module name used in the modules.cfg configuration.

Redis and LevelDB overview

  • Redis on TCP port 6379 - DB 1 - Paste meta-data
  •                      DB 0 - Cache hostname/dns
    
  • Redis on TCP port 6380 - Redis Pub-Sub only
  • Redis on TCP port 6381 - DB 0 - Queue and Paste content LRU cache
  • LevelDB on TCP port - Lines duplicate

LICENSE

    Copyright (C) 2014 Jules Debra
    Copyright (C) 2014-2016 CIRCL - Computer Incident Response Center Luxembourg (c/o smile, security made in Lëtzebuerg, Groupement d'Intérêt Economique)
    Copyright (c) 2014-2016 Raphaël Vinot
    Copyright (c) 2014-2016 Alexandre Dulaunoy

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.