← retour aux outils back to tools

# 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