sn0int

Framework OSINT semi-automatique et gestionnaire de paquets. Exécute des modules scriptables pour collecter et corréler des données depuis des domaines, IP, e-mails, réseaux sociaux, certificats, et plus encore. Semi-automatic OSINT framework and package manager. Runs scriptable modules to collect and correlate data from domains, IPs, emails, social media, certificates, and more.

↗ https://github.com/kpcyrd/sn0int

Overview

sn0int is a semi-automatic OSINT framework with a built-in package manager for community-contributed modules. It stores collected data in a SQLite database and correlates findings across modules — running subdomain discovery automatically feeds into HTTP probing, which feeds into technology detection, etc.

Installation

Kali Linux

sudo apt install sn0int

Arch Linux

yay -S sn0int

Basic Usage

Start sn0int interactive mode

sn0int

Or run a specific module directly

sn0int run -v kpcyrd/subdomains -- --domain example.com

Add a target workspace

sn0int workspace myengagement

Module Management

pkg search subdomains       # search for modules
pkg install kpcyrd/subdomains  # install module
pkg list                    # list installed modules
pkg update                  # update all modules

Common Modules

# Subdomain discovery
use kpcyrd/subdomains
run                         # runs against current domain scope

# Certificate transparency
use kpcyrd/ctlogs
run

# Port scanning
use kpcyrd/portscan
run

# HTTP probing
use kpcyrd/http-probe
run

# Technology detection (Wappalyzer-like)
use kpcyrd/detect-tech
run

# Email discovery
use kpcyrd/harvester
run

# Twitter/social media
use kpcyrd/twitter
run

# DNS enumeration
use kpcyrd/dns
run

Adding Scope

# Inside sn0int:
add domain example.com
add network 192.168.1.0/24
add email user@example.com

Import from file

scope add domains.txt

Viewing Results

# Show collected data
select domains
select subdomains
select urls
select networks
select emails

# Export results
export json output.json
export csv output.csv

Scripting with sn0int

-- sn0int modules are written in Lua
-- Example simple module:
function run()
    local domain = target['value']
    local result = dns_lookup({
        name=domain,
        record_type='A'
    })
    if result['answer'] ~= nil then
        for _, record in ipairs(result['answer']) do
            db_add('ipaddr', {value=record['value']})
        end
    end
end

Tips

  • sn0int’s main strength is correlating findings across modules automatically
  • Use workspaces to organize different engagements/clients
  • The package manager means community keeps adding new sources and techniques
  • Results persist in SQLite — you can query the database with raw SQL
Help / Man page
sn0int [subcommand] [options]

Subcommands:
  run         Run a module
  pkg         Package management
  workspace   Manage workspaces
  sandbox     Test a module safely
  completions Generate shell completions

run options:
  -v          Verbose
  -t TARGET   Specify target
  --workers N Number of workers

pkg options:
  search TERM     Search registry
  install USER/PKG Install package
  update          Update packages
  list            List installed

Vue d’ensemble

sn0int est un framework OSINT semi-automatique avec un gestionnaire de paquets intégré pour des modules contribués par la communauté. Il stocke les données collectées dans une base SQLite et corrèle les résultats entre modules : lancer une découverte de sous-domaines alimente automatiquement le probing HTTP, qui alimente la détection de technologies, etc.

Installation

# Kali Linux
sudo apt install sn0int

# Arch Linux
yay -S sn0int

Utilisation de base

# Démarrer le mode interactif de sn0int
sn0int

# Ou lancer un module spécifique directement
sn0int run -v kpcyrd/subdomains -- --domain example.com

# Ajouter un espace de travail cible
sn0int workspace myengagement

Gestion des modules

pkg search subdomains       # rechercher des modules
pkg install kpcyrd/subdomains  # installer un module
pkg list                    # lister les modules installés
pkg update                  # mettre à jour tous les modules

Modules courants

# Découverte de sous-domaines
use kpcyrd/subdomains
run                         # s'exécute contre le périmètre de domaine actuel

# Certificate transparency
use kpcyrd/ctlogs
run

# Scan de ports
use kpcyrd/portscan
run

# Probing HTTP
use kpcyrd/http-probe
run

# Détection de technologies (façon Wappalyzer)
use kpcyrd/detect-tech
run

# Découverte d'e-mails
use kpcyrd/harvester
run

# Twitter/réseaux sociaux
use kpcyrd/twitter
run

# Énumération DNS
use kpcyrd/dns
run

Ajouter du périmètre

# Dans sn0int :
add domain example.com
add network 192.168.1.0/24
add email user@example.com
# Importer depuis un fichier
scope add domains.txt

Consulter les résultats

# Afficher les données collectées
select domains
select subdomains
select urls
select networks
select emails

# Exporter les résultats
export json output.json
export csv output.csv

Scripter avec sn0int

-- Les modules sn0int sont écrits en Lua
-- Exemple de module simple :
function run()
    local domain = target['value']
    local result = dns_lookup({
        name=domain,
        record_type='A'
    })
    if result['answer'] ~= nil then
        for _, record in ipairs(result['answer']) do
            db_add('ipaddr', {value=record['value']})
        end
    end
end

Conseils

  • La principale force de sn0int est de corréler automatiquement les résultats entre modules
  • Utiliser des espaces de travail pour organiser différentes missions/clients
  • Le gestionnaire de paquets signifie que la communauté ajoute continuellement de nouvelles sources et techniques
  • Les résultats persistent en SQLite : possibilité d’interroger la base directement en SQL
Aide / Page de manuel
sn0int [subcommand] [options]

Subcommands:
  run         Run a module
  pkg         Package management
  workspace   Manage workspaces
  sandbox     Test a module safely
  completions Generate shell completions

run options:
  -v          Verbose
  -t TARGET   Specify target
  --workers N Number of workers

pkg options:
  search TERM     Search registry
  install USER/PKG Install package
  update          Update packages
  list            List installed