← retour aux outils back to tools

# sniffjoke

Obfuscateur de trafic réseau pour l'évasion IDS/IPS. Injecte des paquets spécialement forgés dans les flux TCP pour tromper les systèmes de détection d'intrusion réseau tout en laissant le trafic légitime passer normalement. Network traffic obfuscator for IDS/IPS evasion. Injects specially crafted packets into TCP streams to confuse network intrusion detection systems while legitimate traffic passes normally.

↗ https://github.com/vecna/sniffjoke

## Overview

sniffjoke intercepts outgoing TCP traffic and injects crafted packets designed to confuse IDS/IPS engines. It exploits the fact that IDS systems must reassemble TCP streams — by injecting packets that will be discarded by the end host but confuse the IDS, network attacks can evade signature detection.

## Basic Usage

Start sniffjoke

    sudo sniffjoke start

Start with specific configuration

    sudo sniffjoke start --conf /etc/sniffjoke/sniffjoke.conf

Check status

    sudo sniffjoke info

Stop

    sudo sniffjoke stop

## Configuration

    # Config file: /etc/sniffjoke/sniffjoke.conf

    # Select evasion plugins
    # pluginsdir = /usr/share/sniffjoke/plugins/

    # Set TTL-based manipulation
    # Options for confusing IDS packet reassembly:
    # - injecting TTL-expired packets
    # - inserting RST packets
    # - fragmentation manipulation

    sudo sniffjoke start --plugin TTLchaos
    sudo sniffjoke start --plugin TCPopt

## Plugins

    # Available evasion plugins:
    # TTLchaos     — inject TTL-expired packets (IDS sees them, host drops them)
    # TCPopt       — manipulate TCP options to confuse reassembly
    # RST          — inject RST packets
    # FragRoute    — IP fragmentation attacks
    # SYN          — SYN-based confusion

List available plugins

    sniffjoke --list-plugins

## Testing IDS Evasion

Start sniffjoke

    sudo sniffjoke start

Run attack (Snort/Suricata won’t see it correctly)

    nmap -sV target

    # Monitor what IDS sees
    # If running Snort alongside: alerts should be reduced/confused

## Tips

- sniffjoke is primarily a research/educational tool for understanding IDS evasion
- Modern IDS systems have improved evasion resistance — results vary
- Requires root privileges and TCP traffic routing through the host
- Use in lab environments to understand why passive IDS can be fooled
- fragrouter is an alternative tool for IP fragmentation-based IDS evasion

Help / Man page

    sniffjoke [command] [options]

    Commands:
      start     Start the obfuscator
      stop      Stop the obfuscator
      info      Show current status
      stat      Show statistics

    Options:
      --conf FILE     Configuration file
      --plugin NAME   Load specific plugin
      --list-plugins  List available plugins
      --debug         Debug output

## Vue d’ensemble

sniffjoke intercepte le trafic TCP sortant et injecte des paquets forgés conçus pour tromper les moteurs IDS/IPS. Il exploite le fait que les systèmes IDS doivent réassembler les flux TCP : en injectant des paquets qui seront écartés par l’hôte final mais qui trompent l’IDS, les attaques réseau peuvent échapper à la détection par signature.

## Utilisation de base

    # Démarrer sniffjoke
    sudo sniffjoke start

    # Démarrer avec une configuration spécifique
    sudo sniffjoke start --conf /etc/sniffjoke/sniffjoke.conf

    # Vérifier le statut
    sudo sniffjoke info

    # Arrêter
    sudo sniffjoke stop

## Configuration

    # Fichier de configuration : /etc/sniffjoke/sniffjoke.conf

    # Sélectionner les plugins d'évasion
    # pluginsdir = /usr/share/sniffjoke/plugins/

    # Définir la manipulation basée sur le TTL
    # Options pour tromper le réassemblage de paquets de l'IDS :
    # - injection de paquets à TTL expiré
    # - insertion de paquets RST
    # - manipulation de la fragmentation

    sudo sniffjoke start --plugin TTLchaos
    sudo sniffjoke start --plugin TCPopt

## Plugins

    # Plugins d'évasion disponibles :
    # TTLchaos     : injecte des paquets à TTL expiré (l'IDS les voit, l'hôte les rejette)
    # TCPopt       : manipule les options TCP pour tromper le réassemblage
    # RST          : injecte des paquets RST
    # FragRoute    : attaques de fragmentation IP
    # SYN          : confusion basée sur SYN

    # Lister les plugins disponibles
    sniffjoke --list-plugins

## Tester l’évasion IDS

    # Démarrer sniffjoke
    sudo sniffjoke start

    # Lancer une attaque (Snort/Suricata ne la verra pas correctement)
    nmap -sV target

    # Surveiller ce que voit l'IDS
    # Si Snort tourne en parallèle : les alertes devraient être réduites/confuses

## Conseils

- sniffjoke est avant tout un outil de recherche/pédagogique pour comprendre l’évasion IDS
- Les systèmes IDS modernes ont une meilleure résistance à l’évasion : les résultats varient
- Nécessite des privilèges root et le routage du trafic TCP via l’hôte
- À utiliser en environnement de lab pour comprendre pourquoi un IDS passif peut être trompé
- fragrouter est un outil alternatif pour l’évasion IDS basée sur la fragmentation IP

Aide / Page de manuel

    sniffjoke [command] [options]

    Commands:
      start     Start the obfuscator
      stop      Stop the obfuscator
      info      Show current status
      stat      Show statistics

    Options:
      --conf FILE     Configuration file
      --plugin NAME   Load specific plugin
      --list-plugins  List available plugins
      --debug         Debug output