ANAVEM
Languageen
Windows Services management console displaying service configurations and Event Viewer on multiple monitors
Event ID 7040InformationService Control ManagerWindows

ID d'événement Windows 7040 – Gestionnaire de contrôle des services : Type de démarrage du service modifié

L'ID d'événement 7040 se déclenche lorsqu'un type de démarrage de service Windows est modifié via le Gestionnaire de contrôle des services, la stratégie de groupe ou des modifications programmatiques. Critique pour l'audit de sécurité et le suivi des modifications.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 7040Service Control Manager 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 7040 représente l'un des événements les plus importants liés aux services dans la journalisation de Windows. Lorsque le Gestionnaire de contrôle des services traite une demande de modification du type de démarrage d'un service, il génère immédiatement cet événement avant d'appliquer le changement. L'événement contient des détails complets, y compris le nom du service, la valeur précédente du type de démarrage, la nouvelle valeur du type de démarrage et le contexte de sécurité du compte qui a initié le changement.

Les valeurs de type de démarrage enregistrées dans cet événement correspondent à des comportements spécifiques de démarrage de service Windows : Automatique (2), Automatique différé (2), Manuel (3) et Désactivé (4). Comprendre ces valeurs est essentiel pour interpréter correctement les données de l'événement. L'événement inclut également l'ID de processus et l'ID de thread du processus demandeur, ce qui peut être précieux pour l'analyse judiciaire.

D'un point de vue sécurité, l'ID d'événement 7040 sert de piste d'audit critique pour les modifications de service. Les attaquants tentent souvent de désactiver des services de sécurité comme Windows Defender, le Pare-feu Windows ou les services de journalisation d'audit pour échapper à la détection. Surveiller cet événement aide les équipes de sécurité à identifier de telles tentatives et à réagir de manière appropriée. Dans les environnements d'entreprise, cet événement est fréquemment transmis aux systèmes de gestion des informations et des événements de sécurité (SIEM) pour une surveillance centralisée et des alertes.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Administrateur modifiant manuellement le type de démarrage du service via la console MMC des services
  • Commandes PowerShell comme Set-Service modifiant la configuration de démarrage du service
  • Application de la stratégie de groupe modifiant les types de démarrage des services sur les ordinateurs du domaine
  • Processus d'installation ou de désinstallation de logiciels modifiant les services dépendants
  • Modifications de l'utilitaire de configuration système (msconfig) des services de démarrage
  • Outils de gestion de système tiers modifiant les configurations de service
  • Mise à jour Windows ou mises à jour de fonctionnalités modifiant les paramètres de service par défaut
  • Logiciel malveillant tentant de désactiver les services liés à la sécurité
  • Modifications du registre changeant directement les valeurs de type de démarrage du service
  • Scripts automatisés ou tâches planifiées gérant les configurations de service
Méthodes de résolution

Étapes de dépannage

01

Examiner les détails de l'événement dans le Visualiseur d'événements

Commencez par examiner les détails spécifiques de l'ID d'événement 7040 pour comprendre quel service a été modifié et par qui.

  1. Ouvrez Observateur d'événements en appuyant sur Win + R, en tapant eventvwr.msc, et en appuyant sur Entrée
  2. Accédez à Journaux WindowsSystème
  3. Filtrez le journal en cliquant sur Filtrer le journal actuel dans le volet Actions
  4. Entrez 7040 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur les entrées récentes de l'ID d'événement 7040 pour voir les détails
  6. Dans les détails de l'événement, notez le nom du service, l'ancien type de démarrage, le nouveau type de démarrage, et le compte utilisateur
  7. Vérifiez l'onglet Détails pour des informations supplémentaires, y compris l'ID de processus et l'identifiant de sécurité

Utilisez PowerShell pour interroger plusieurs événements efficacement :

Get-WinEvent -FilterHashtable @{LogName='System'; Id=7040} -MaxEvents 50 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Astuce pro : Le champ message contient le nom du service et les changements de type de démarrage dans un format lisible, ce qui facilite l'identification des services modifiés.
02

Corréler les changements de service avec l'activité des utilisateurs

Enquêter sur qui a effectué les modifications de service et les corréler avec d'autres événements de sécurité pour déterminer si les modifications étaient autorisées.

  1. À partir des détails de l'ID d'événement 7040, notez le champ Utilisateur indiquant qui a effectué la modification
  2. Accédez à Journaux WindowsSécurité dans le Visualiseur d'événements
  3. Filtrez pour l'ID d'événement 4656 (poignée d'objet demandée) autour de la même heure
  4. Cherchez les événements de connexion correspondants (ID d'événements 4624, 4625) pour le compte utilisateur
  5. Vérifiez si les modifications ont eu lieu pendant les heures de bureau normales ou les fenêtres de maintenance

Utilisez PowerShell pour corréler les événements par heure et utilisateur :

# Obtenir les modifications de service des dernières 24 heures
$ServiceChanges = Get-WinEvent -FilterHashtable @{LogName='System'; Id=7040; StartTime=(Get-Date).AddDays(-1)}

# Extraire les informations utilisateur de chaque événement
$ServiceChanges | ForEach-Object {
    $Event = [xml]$_.ToXml()
    $ServiceName = $Event.Event.EventData.Data | Where-Object {$_.Name -eq 'param1'} | Select-Object -ExpandProperty '#text'
    $User = $Event.Event.EventData.Data | Where-Object {$_.Name -eq 'param5'} | Select-Object -ExpandProperty '#text'
    [PSCustomObject]@{
        Time = $_.TimeCreated
        Service = $ServiceName
        User = $User
        Message = $_.Message
    }
}
Avertissement : Les modifications de service par le compte SYSTEM lors du démarrage sont normales, mais les modifications par des comptes utilisateurs en dehors des fenêtres de maintenance peuvent indiquer une activité non autorisée.
03

Vérifier la configuration actuelle du service

Confirmez l'état actuel des services qui ont été modifiés et assurez-vous qu'ils sont conformes aux politiques de sécurité de l'organisation.

  1. Ouvrez Services en appuyant sur Win + R, en tapant services.msc, et en appuyant sur Entrée
  2. Localisez le service mentionné dans l'entrée de journal de l'ID d'événement 7040
  3. Cliquez avec le bouton droit sur le service et sélectionnez Propriétés
  4. Vérifiez le paramètre actuel de Type de démarrage dans l'onglet Général
  5. Vérifiez si le paramètre actuel correspond à la base de sécurité de votre organisation
  6. Documentez tous les services qui ne sont pas configurés selon la politique

Utilisez PowerShell pour auditer tous les types de démarrage des services :

# Obtenez tous les services et leurs types de démarrage
Get-Service | Select-Object Name, Status, StartType | Sort-Object Name

# Vérifiez les services spécifiques liés à la sécurité
$SecurityServices = @('Windefend', 'MpsSvc', 'Eventlog', 'Audiosrv')
Get-Service $SecurityServices | Select-Object Name, Status, StartType, DisplayName

Comparez avec votre base de sécurité en utilisant les valeurs du registre :

# Vérifiez le type de démarrage du service dans le registre
$ServiceName = 'YourServiceName'
$RegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$ServiceName"
Get-ItemProperty -Path $RegPath -Name Start -ErrorAction SilentlyContinue
Astuce pro : Les valeurs de type de démarrage dans le registre sont : 2=Automatique, 3=Manuel, 4=Désactivé. Comparez-les avec vos politiques de sécurité pour identifier les écarts.
04

Mettre en œuvre la surveillance des changements de service

Configurez une surveillance proactive pour détecter les changements de service non autorisés en temps réel et créer des alertes pour les services critiques.

  1. Ouvrez Planificateur de tâches en appuyant sur Win + R, en tapant taskschd.msc, et en appuyant sur Entrée
  2. Cliquez sur Créer une tâche dans le volet Actions
  3. Nommer la tâche "Service Change Monitor" et la configurer pour s'exécuter avec les privilèges les plus élevés
  4. Dans l'onglet Déclencheurs, cliquez sur Nouveau et sélectionnez Sur un événement
  5. Définissez le journal sur Système, la source sur Service Control Manager, et l'ID d'événement sur 7040
  6. Dans l'onglet Actions, créez une action de script PowerShell pour envoyer des alertes

Créez un script de surveillance PowerShell :

# Script de surveillance des changements de service
$CriticalServices = @('Windefend', 'MpsSvc', 'Eventlog', 'WinRM', 'BITS')

# Enregistrer pour l'ID d'événement 7040
Register-WmiEvent -Query "SELECT * FROM Win32_NTLogEvent WHERE LogFile='System' AND EventCode=7040" -Action {
    $Event = $Event.SourceEventArgs.NewEvent
    $Message = $Event.Message
    
    # Vérifiez si un service critique a été modifié
    foreach ($Service in $CriticalServices) {
        if ($Message -like "*$Service*") {
            # Envoyer une alerte (email, SIEM, etc.)
            Write-EventLog -LogName Application -Source "ServiceMonitor" -EventId 1001 -EntryType Warning -Message "Le service critique $Service a été modifié : $Message"
        }
    }
}

Configurez le transfert d'événements Windows pour une surveillance centralisée :

# Activer WinRM pour le transfert d'événements
Enable-PSRemoting -Force
winrm quickconfig -force

# Créer un abonnement de transfert d'événements personnalisé
wecutil cs ServiceChangeSubscription.xml
Astuce pro : Utilisez la stratégie de groupe pour déployer des abonnements de transfert d'événements à travers votre domaine afin de centraliser la surveillance de l'ID d'événement 7040 sur un serveur collecteur.
05

Analyse Forensique et Remédiation

Effectuer une analyse médico-légale détaillée lorsque des modifications de service non autorisées sont détectées et mettre en œuvre des procédures de remédiation.

  1. Exporter les événements pertinents pour l'analyse médico-légale à l'aide de l'Observateur d'événements
  2. Naviguer vers Journaux WindowsSystème
  3. Cliquez avec le bouton droit et sélectionnez Enregistrer tous les événements sous
  4. Enregistrer au format EVTX pour une analyse détaillée
  5. Utiliser des outils supplémentaires pour corréler avec d'autres événements de sécurité

Analyse médico-légale avancée avec PowerShell :

# Analyse complète des modifications de service
$StartTime = (Get-Date).AddDays(-7)
$Events = Get-WinEvent -FilterHashtable @{LogName='System'; Id=7040; StartTime=$StartTime}

# Analyser et analyser les événements
$Analysis = $Events | ForEach-Object {
    $EventXML = [xml]$_.ToXml()
    $Data = $EventXML.Event.EventData.Data
    
    [PSCustomObject]@{
        TimeCreated = $_.TimeCreated
        ServiceName = ($Data | Where-Object {$_.Name -eq 'param1'}).'#text'
        OldStartType = ($Data | Where-Object {$_.Name -eq 'param2'}).'#text'
        NewStartType = ($Data | Where-Object {$_.Name -eq 'param3'}).'#text'
        ProcessName = ($Data | Where-Object {$_.Name -eq 'param4'}).'#text'
        UserAccount = ($Data | Where-Object {$_.Name -eq 'param5'}).'#text'
        ProcessId = $_.ProcessId
        ThreadId = $_.ThreadId
    }
}

# Regrouper par utilisateur pour identifier les modèles
$Analysis | Group-Object UserAccount | Sort-Object Count -Descending

Remédier aux modifications non autorisées :

# Restaurer le service à une configuration sécurisée
$ServiceName = "YourCompromisedService"
Set-Service -Name $ServiceName -StartupType Automatic
Start-Service -Name $ServiceName

# Vérifier le changement
Get-Service $ServiceName | Select-Object Name, Status, StartType
Avertissement : Avant de restaurer les services, assurez-vous de comprendre l'impact sur l'entreprise. Certaines modifications de service peuvent être légitimes et les annuler pourrait causer une instabilité du système.

Aperçu

L'ID d'événement 7040 est généré par le Gestionnaire de contrôle des services chaque fois que le type de démarrage d'un service Windows est modifié. Cet événement se déclenche lorsque des services sont changés de automatique à manuel, de désactivé à automatique, ou toute autre combinaison de type de démarrage. L'événement capture le nom du service, l'ancien type de démarrage, le nouveau type de démarrage, et le compte utilisateur qui a effectué le changement.

Cet événement est particulièrement précieux pour l'audit de sécurité et la gestion des changements dans les environnements d'entreprise. Il aide les administrateurs à suivre les modifications non autorisées des services, à résoudre les problèmes de démarrage des services, et à maintenir la conformité avec les politiques de sécurité. L'événement apparaît dans le journal Système et inclut des informations détaillées sur ce qui a changé et qui a initié le changement.

Les changements de type de démarrage de service peuvent se produire par plusieurs vecteurs : le composant logiciel enfichable MMC Services, les commandes PowerShell, l'application des stratégies de groupe, les outils de gestion tiers, ou les logiciels malveillants tentant de désactiver les services de sécurité. Comprendre cet événement est crucial pour maintenir la sécurité du système et la stabilité opérationnelle dans les environnements Windows.

Questions Fréquentes

Que signifie l'ID d'événement 7040 et pourquoi est-il important ?+
L'ID d'événement 7040 indique qu'un type de démarrage d'un service Windows a été modifié. Cet événement est crucial pour la surveillance de la sécurité car les attaquants désactivent souvent des services de sécurité comme Windows Defender ou le Pare-feu Windows pour échapper à la détection. L'événement enregistre le nom du service, l'ancien type de démarrage, le nouveau type de démarrage et l'utilisateur qui a effectué la modification, fournissant une piste d'audit complète pour les modifications de service.
Comment puis-je savoir si l'ID d'événement 7040 représente une menace pour la sécurité ?+
Recherchez plusieurs indicateurs : modifications des services de sécurité critiques (Windefend, MpsSvc, Eventlog), modifications par des comptes utilisateurs inattendus, changements se produisant en dehors des fenêtres de maintenance, ou services désactivés plutôt que reconfigurés. Vérifiez également si les modifications correspondent à d'autres activités suspectes comme des tentatives de connexion échouées ou une exécution de processus inhabituelle. Les modifications effectuées par SYSTEM lors du démarrage sont généralement normales, tandis que les changements initiés par l'utilisateur nécessitent une enquête.
Quels services devrais-je surveiller de plus près pour les changements d'ID d'événement 7040 ?+
Concentrez-vous sur les services critiques pour la sécurité : Windows Defender Antivirus Service (Windefend), Windows Firewall (MpsSvc), Windows Event Log (Eventlog), Windows Remote Management (WinRM), Background Intelligent Transfer Service (BITS) et Windows Update (wuauserv). Surveillez également tous les services de sécurité personnalisés, les services de sauvegarde et les agents de surveillance. Ces services sont couramment ciblés par les logiciels malveillants et les attaquants cherchant à désactiver les contrôles de sécurité.
Puis-je empêcher les modifications de service non autorisées qui déclenchent l'ID d'événement 7040 ?+
Oui, utilisez plusieurs approches : implémentez la stratégie de groupe pour contrôler les configurations de service et empêcher les modifications non autorisées, utilisez les autorisations du gestionnaire de contrôle des services pour restreindre qui peut modifier les services, déployez des solutions de gestion des accès privilégiés (PAM) pour contrôler l'accès administratif, et configurez Windows Defender Application Control ou AppLocker pour empêcher l'exécution d'outils non autorisés. De plus, utilisez l'accès administratif juste-à-temps et auditez régulièrement les autorisations de service.
Comment configurer des alertes automatisées pour les occurrences critiques de l'ID d'événement 7040 ?+
Créer une tâche du Planificateur de tâches Windows déclenchée par l'ID d'événement 7040, utiliser PowerShell avec Register-WmiEvent pour surveiller les changements de service en temps réel, configurer le transfert d'événements Windows pour envoyer les événements à un collecteur central, ou déployer des solutions SIEM capables d'analyser et d'alerter sur des changements de service spécifiques. Vous pouvez également utiliser des scripts PowerShell qui vérifient les changements des services critiques et envoient des notifications par email ou écrivent dans des journaux d'événements personnalisés pour un traitement ultérieur.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Événements Windows associés

Windows Services management console and Event Viewer displaying service monitoring information on server room monitors
Event 7023
Service Control Manager
Windows EventError

ID d'événement Windows 7023 – Gestionnaire de contrôle des services : Service terminé avec erreur

L'ID d'événement 7023 indique qu'un service Windows s'est terminé de manière inattendue avec un code d'erreur. Cet événement critique nécessite une enquête immédiate pour identifier les services défaillants et prévenir l'instabilité du système.

18 mars12 min
Windows Services management console displaying service status and error indicators on server monitoring dashboard
Event 7023
Service Control Manager
Windows EventError

ID d'événement Windows 7023 – Gestionnaire de contrôle des services : Service terminé avec erreur

L'ID d'événement 7023 indique qu'un service Windows s'est terminé de manière inattendue avec un code d'erreur. Cet événement critique nécessite une enquête immédiate pour identifier les services défaillants et prévenir l'instabilité du système.

18 mars12 min
Windows Services console and Event Viewer displaying service monitoring and system event logs
Event 7031
Service Control Manager
Windows EventError

ID d'événement Windows 7031 – Gestionnaire de contrôle des services : Service terminé de manière inattendue

L'ID d'événement 7031 indique qu'un service Windows s'est terminé de manière inattendue et sera redémarré. Cet événement critique aide à identifier les problèmes de stabilité du service et les problèmes potentiels du système.

18 mars12 min
Windows Services management console displayed on professional monitoring setup in server control room
Event 7000
Service Control Manager
Windows EventError

ID d'événement Windows 7000 – Gestionnaire de contrôle des services : Échec du démarrage du service

L'ID d'événement 7000 indique qu'un service Windows n'a pas pu démarrer lors du démarrage du système ou des tentatives de démarrage manuel. Cette erreur critique nécessite une enquête immédiate pour identifier le service défaillant et la cause sous-jacente.

18 mars12 min

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...