LAZARUS : Isoler sous Windows un ordinateur par une déconnexion du réseau

Christophe PIQUER

Ces dernières années, les cyberattaques sont devenues de plus en plus courantes. Elles ciblent nombre de secteurs professionnels et leur pouvoir de nuisance est conséquent du fait des dommages financiers, matériels et même humains qu'elles peuvent générer. Dans le contexte d'une cyberattaque, il convient d'isoler un matériel qui a pu être compromis.

Commentez

- Titre : LAZARUS : Isoler sous Windows un ordinateur par une déconnexion du réseau

- Auteur : Christophe PIQUER

- Parution : 1 novembre 2025

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2025 Christophe PIQUER. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 1. Introduction

- 2. Les scripts

- 3. Les tâches planifiées

- 4. L'application

- 4-1. Les composants et leurs propriétés

- 4-2. Le code

- 4-2-1. Les clauses uses

- 4-2-2. Déclaration des variables et des procédures privées

- 4-2-3. Les procédures de déconnexion et de reconnexion au réseau

- 4-2-4. Les commandes d'utilisation de l'application

- 4-2-5. Masquer la forme au démarrage de l'application

- 5. Pour le déploiement

- 6. Conclusion

- 7. Remerciements

1 - Introduction

Ce tutoriel a pour objectif de montrer comment réaliser et mettre en place une application sous Windows qui permettra à l'utilisateur d'un PC de l'isoler rapidement du réseau s'il le perçoit comme compromis par une éventuelle cyberattaque.

Lors d’une cyberattaque, on recommande généralement d’isoler l’ordinateur du réseau (coupure du Wi-Fi, du câble Ethernet, etc.) plutôt que de l’éteindre immédiatement, pour plusieurs raisons cruciales liées à la cyberinvestigation, à la préservation des preuves et à la compréhension de l’attaque.

Donc en résumé, l’isolation permet de stopper l’attaque tout en préservant l’environnement d’analyse. Éteindre l’ordinateur risque de faire perdre des preuves essentielles, nuisant à l’enquête et à la compréhension de l’incident.

Le principe de fonctionnement de la solution d'isolation proposée dans ce tutoriel s'appuie sur la création de tâches planifiées qui seront lancées depuis l'application. Ces mêmes tâches sont mises en œuvre grâce à des scripts.

2 - Les scripts

Les tâches planifiées fonctionnent sur la base de scripts sous la forme de fichiers de commande qui agissent sur l’Ethernet, le Wi-Fi et le réseau local.

Il est intéressant de créer deux tâches.

- Une pour couper le réseau :

@echo off
netsh interface set interface "Ethernet" admin=disable
netsh interface set interface "Wi-Fi" admin=disable
netsh interface set interface "Connexion au réseau local" admin=disable

Pour le tutoriel, ce premier fichier est nommé : coupe_reseau.bat.

- Une autre pour éventuellement reconnecter au réseau :

@echo off
netsh interface set interface "Ethernet" admin=enable
netsh interface set interface "Wi-Fi" admin=enable
netsh interface set interface "Connexion au réseau local" admin=enable

Ce deuxième fichier est nommé : active_reseau.bat.

Ces fichiers sont à stocker dans un dossier sur le disque de chacun des ordinateurs à équiper.

Les cartes réseau ne doivent pas avoir été renommées, sinon il faudra adapter les commandes netsh.

3 - Les tâches planifiées

Les tâches doivent être paramétrées sur le PC par un administrateur.

Sous Windows 10, se rendre dans le Planificateur de tâches.

Ensuite :

- Cliquez dans les actions sur Créer une tâche…

Dans l'onglet Général :

- Nommez la tâche ;

- Décrivez sommairement la tâche ;

- Cochez : Exécuter avec les autorisations maximales.

Dans l'onglet Actions :

- Cliquez sur Nouveau… pour ouvrir le formulaire Nouvelle action ;

- Sélectionnez l'Action : Démarrer un programme ;

- Renseignez dans Programme/script le chemin du fichier de commande de la tâche ;

- Cliquez sur OK.

Pour finir :

- Validez la tâche en cliquant sur OK du formulaire de création de tâches.

4 - L'application

Tout d'abord, il faut deux icônes qui viendront se loger dans la zone de notification pendant le fonctionnement de l'application.

PC connecté au réseau

PC déconnecté du réseau

Mettez ces deux icônes dans le dossier de l'application.

Il faut aussi un fichier texte dans lequel sera simplement saisi le mot de passe qui permettra à un administrateur soit de reconnecter l'ordinateur au réseau, soit d'arrêter l'application. Ce fichier ne doit pas être stocké dans le dossier de l'application, mais dissimulé autant que possible sur le disque dur de la machine. Dans le tutoriel, ce fichier se nomme : mdpstop.txt.

4-1 - Les composants et leurs propriétés

Mode création

Mode production

Composants

Propriétés

TForm

BorderIcons : []
BorderStyle : bsNone
Caption : STOP RESEAU
Color : clGreen
Name : F_StopRes
Position : poScreenCenter
ShowInTaskBar : stNever
Visible : False

TBitBtn (QUITTER)

Caption : QUITTER
Kind : bkAbort
ModalResult : mrAbort
Name : BBtnQuit

TBitBtn (CONNEXION)

Caption : CONNEXION
Kind : bkOk
ModalResult : mrOk
Name : BBtnStop

TLabel

Caption : Mot de passe
Font : Color : clWhite

TEdit

EchoMode : emPassword
Name : EdMdp
PasswordChar : *

TEdit

Name : EdMdps
Visible : False

TRichMemo

Alignment : taCenter
Color : clYellow
Lines : ⚠ INFORMATION IMPORTANTE
Vous avez isolé votre ordinateur suite à une suspicion de cyberattaque. Maintenant, appliquez les consignes suivantes :
- n'éteignez pas votre ordinateur ;
- alertez le service informatique ;
- n'utilisez plus votre ordinateur ;
- prévenez vos collègues de l’éventuelle attaque en cours.
Name : RMem

TTrayIcon

Hint : Double-clic sur cette icône pour isoler l'ordinateur en cas de cyberattaque.
Name : TIconSt

4-2 - Le code

4-2-1 - Les clauses uses

Dans Lazarus, en passant par Paquet → Online Package Manager, installez le paquet RichMemo.

Voici les clauses uses :

uses
Classes, SysUtils, process, Forms, Controls, Graphics,
Dialogs, Buttons, ExtCtrls, StdCtrls, RichMemo;

4-2-2 - Déclaration des variables et des procédures privées

Voici les déclarations à réaliser :

private
F: TextFile;
Stg: String;
AProcess: TProcess;
procedure TCoupeReseau;
procedure TConnexReseau;
procedure TMdpass;

4-2-3 - Les procédures de déconnexion et de reconnexion au réseau

Ces procédures lancent les tâches planifiées vues auparavant.

- Procédure de déconnexion TCoupeReseau :

procedure TF_StopRes.TCoupeReseau; // Procédure de déconnexion du réseau
begin
AProcess := TProcess.Create(nil);
try
AProcess.Executable := 'schtasks';
AProcess.Parameters.Add('/run');
AProcess.Parameters.Add('/tn');
AProcess.Parameters.Add('CoupeReseau'); // Nom de la tâche planifiée
AProcess.Options := [poNoConsole, poWaitOnExit];
AProcess.Execute;
F_StopRes.Color:= clRed; // La forme passe au rouge
TIconSt.Icon.LoadFromFile('IcoResNOK.ico'); // Affichage icône PC  déconnecté du réseau
ShowMessage('La coupure réseau a été déclenchée. Votre ordinateur est isolé du réseau.');
F_StopRes.Show; // Montre la forme de l'application
finally
AProcess.Free;
end;
end;

- Procédure de connexion TActiveReseau :

procedure TF_StopRes.TConnexReseau; // procédure de connexion au réseau
begin
If EdMdp.Text <> EdMdps.Text Then
begin
ShowMessage('Vous devez posséder le mot de passe pour vous reconnecter, sinon veuillez contacter votre administrateur.');
EdMdp.Text:= '';
end
Else
begin
AProcess := TProcess.Create(nil);
try
AProcess.Executable := 'schtasks';
AProcess.Parameters.Add('/run');
AProcess.Parameters.Add('/tn');
AProcess.Parameters.Add('ConnexReseau'); // Nom de la tâche planifiée
AProcess.Options := [poNoConsole, poWaitOnExit];
AProcess.Execute;
F_StopRes.Color:= clGreen; // La forme passe au vert
TIconSt.Icon.LoadFromFile('IcoResOK.ico'); // Affichage icône PC connecté au réseau
ShowMessage('La connexion réseau a été enclenchée. Votre ordinateur est connecté au réseau.');
F_StopRes.Hide; // Cache la forme de l'application
finally
EdMdp.Text:= ''; // Le mot de passe saisi est effacé
AProcess.Free;
end;
end;
end;

Pour reconnecter le PC au réseau ou stopper l'application, il est nécessaire d'avoir un mot de passe. Celui-ci sera inscrit dans un fichier texte qui sera caché sur le disque de la machine.

Dans ce tutoriel, le fichier est nommé : mdpstop.txt.

La procédure nécessaire à créer est la suivante :

procedure TF_StopRes.TMdpass; //Procédure d'association du mot de passe du fichier prévu à cet effet.
begin
AssignFile(F,'C:\Chemin du fichier\mdpstop.txt'); // Associe la variable F au fichier texte
Reset(F); // Ouvre le fichier sans le modifier
Readln(F,Stg); // Lit le mot de passe dans le fichier texte
EdMdps.Text:= Stg; // Affiche dans EdMdps le contenu de la variable Stg
CloseFile(F); // Ferme l'association entre la variable F et le fichier texte
end;

4-2-4 - Les commandes d'utilisation de l'application

Au démarrage de l'application sur la création de la forme, le mot de passe de reconnexion au réseau est associé et l'icône apparaît dans la zone de notification.

procedure TF_StopRes.FormCreate(Sender: TObject);
begin
Tmdpass; // Association au fichier du mot de passe
TIconSt.Icon.LoadFromFile('IcoResOK.ico'); // Chargement de l'icône PC connecté au réseau
TIconSt.Visible:= True;
end;

Pour isoler son PC du réseau, l'utilisateur doit double-cliquer sur l'icône dans la zone de notification.

Procédure associée au double-clic :

procedure TF_StopRes.TIconStDblClick(Sender: TObject); // Isoler le PC du réseau
begin
if F_StopRes.Color = clGreen then
TCoupeReseau
else
Exit;
end;

Le double-clic sur l'icône a un effet seulement si la forme de l'application est verte.

Quand l'utilisateur a double-cliqué, il est informé de l'isolement de son PC du réseau par un message.

La forme de l'application passe au rouge et elle donne à l'utilisateur les consignes à suivre.

L'icône dans la zone notification est alors celle-ci : . Elle indique la déconnexion du réseau.

La personne qui souhaite reconnecter la machine au réseau doit posséder le mot de passe.

Lors du clic sur le bouton CONNEXION, la procédure TActiveReseau est lancée.

procedure TF_StopRes.BBtnConnClick(Sender: TObject); // Connecter le PC au réseau
begin
TConnexReseau;
end;

Si le clic est réalisé avant ou après avoir saisi un mot de passe erroné, un message d'information apparaît :

Si au contraire le mot de passe saisi est valide, alors que la forme de l’application repasse au vert, le message suivant apparaît :

Pour arrêter l'application, il faut saisir le mot de passe et cliquer sur le bouton QUITTER.

procedure TF_StopRes.BBtnQuitClick(Sender: TObject);
begin
if EdMdp.Text <> EdMdps.Text then
begin
ShowMessage('Vous devez posséder le mot de passe pour arrêter l''application, sinon veuillez contacter votre administrateur.');
EdMdp.Text:= '';
end
else
Application.Terminate;
end;

Quand on veut stopper l'application en utilisant le bouton QUITTER sans avoir le mot de passe valide, on voit le message suivant :

Quand on arrête l'application avec le bouton QUITTER, l'icône dans la zone de notification disparaît et l'ordinateur reste déconnecté du réseau.

4-2-5 - Masquer la forme au démarrage de l'application

Au démarrage, il est nécessaire que la forme de l'application reste invisible pour l'utilisateur de l'ordinateur. Il faut alors l'inscrire au niveau du code source :

begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
{$PUSH}{$WARN 5044 OFF}
Application.MainFormOnTaskbar:=True;
{$POP}
Application.Initialize;
Application.CreateForm(TF_StopRes, F_StopRes);
Application.ShowMainForm := False; // Ne montre pas le formulaire principal
Application.Run;
end.

5 - Pour le déploiement

Comme vu précédemment, c'est un administrateur qui paramètre les tâches planifiées.

Ensuite, pour un utilisateur spécifique, celui-ci doit installer le raccourci de l'application dans le dossier :

C:\Users\Nom de session de l'utilisateur\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Ainsi, l'application est lancée au démarrage et de manière transparente pour l'utilisateur.

Pour un déploiement pour tous les utilisateurs du PC, l'administrateur doit installer le raccourci de l'application dans le dossier :

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Faites apparaître l'icône dans la zone de notification.

Pour aller plus loin : il serait intéressant d'automatiser la mise en place des tâches planifiées lors de la mise en service de l'application.

6 - Conclusion

Voici le terme de ce tutoriel qui vous a amené à créer et mettre en place une application qui permet à un utilisateur d'isoler son ordinateur en cas notamment de cyberattaque.

Pensez à bien dissimuler les fichiers de commande des tâches planifiées ainsi que celui du mot de passe.

Vous pouvez apporter à cette application des modifications que je vous invite d'ailleurs à partager.

7 - Remerciements

Ici, je tiens à remercier Alcatîz pour l’intérêt qu’il a porté au tutoriel proposé ainsi que pour sa relecture technique.

Je remercie ici aussi laurent_ott et Christophe pour leurs remarques constructives.

Je remercie également f-leb pour la relecture orthographique sans quoi un tutoriel peut s'avérer difficile à lire et par la même perdre de sa qualité.