GNU/Linux >> Tutoriels Linux >  >> Linux

WAZUH Détecter et supprimer les logiciels malveillants – Virus Intégration totale

VirusTotal est un portail en ligne, propriété de Google, qui utilise de nombreux moteurs antivirus pour rechercher les virus et les logiciels malveillants. Il fournit un service API que Wazuh utilise pour analyser les hachages de fichiers, les noms de domaine, les adresses IP ou les URL. Pour cette intégration, nous utilisons le wazuh-integratord composant qui s'exécute sur le gestionnaire Wazuh. Consultez notre documentation VirusTotal pour plus d'informations sur cette intégration.

Dans ce cas d'utilisation, nous surveillons un répertoire en temps réel et effectuons une analyse VirusTotal sur chaque fichier nouveau ou récemment modifié. Si un fichier est classé comme malveillant, une réponse active est déclenchée et le fichier est supprimé.

Configuration de l'intégration de VirusTotal

Insérez votre clé API et activez l'intégration de VirusTotal sur le manager Wazuh en ajoutant la configuration suivante dans /var/ossec/etc/ossec.conf .

<ossec_config>
  <integration>
    <name>virustotal</name>
    <api_key>${your_virustotal_api_key}</api_key>
    <rule_id>100200,100201</rule_id>
    <alert_format>json</alert_format>
  </integration>
</ossec_config

Dans cet exemple, nous limitons l'analyse aux fichiers nouveaux ou récemment modifiés dans /root répertoire en raison des limitations du nombre de requêtes par minute lors de l'utilisation d'un compte d'application gratuite. Pour ce faire, nous créons des règles personnalisées pour surveiller le /root répertoire et utilisez-les pour déclencher l'intégration de VirusTotal.

Ajoutez les règles personnalisées suivantes à /var/ossec/etc/rules/local_rules.xml .

<group name="syscheck,pci_dss_11.5,nist_800_53_SI.7,">
    <!-- Rules for Linux systems -->
    <rule id="100200" level="7">
        <if_sid>550</if_sid>
        <field name="file">/root</field>
        <description>File modified in /root directory.</description>
    </rule>
        <rule id="100201" level="7">
        <if_sid>554</if_sid>
        <field name="file">/root</field>
        <description>File added to /root directory.</description>
    </rule>
</group>

Configuration d'Active Response pour supprimer les fichiers malveillants

Une fois que VirusTotal identifie un fichier comme une menace, Wazuh déclenchera une réponse active pour supprimer le fichier du système

Configuration du gestionnaire Wazuh

Ajoutez les blocs suivants au gestionnaire Wazuh /var/ossec/etc/ossec.conf fichier.

<ossec_config>

    <command>
        <name>remove-threat</name>
        <executable>remove-threat.sh</executable>
        <timeout_allowed>no</timeout_allowed>
    </command>

    <active-response>
        <disabled>no</disabled>
        <command>remove-threat</command>
        <location>local</location>
        <rules_id>87105</rules_id>
    </active-response>

</ossec_config>

La réponse active est déclenchée par la règle 87105 qui est déclenchée lorsque VirusTotal identifie un fichier comme malveillant.

Ajoutez les règles personnalisées suivantes dans /var/ossec/etc/rules/local_rules.xml .

<group name="virustotal,">
  <rule id="100092" level="12">
    <if_sid>657</if_sid>
    <match>Successfully removed threat</match>
    <description>$(parameters.program) removed threat located at $(parameters.alert.data.virustotal.source.file)</description>
  </rule>

  <rule id="100093" level="12">
    <if_sid>657</if_sid>
    <match>Error removing threat</match>
    <description>Error removing threat located at $(parameters.alert.data.virustotal.source.file)</description>
  </rule>
</group>

Ces règles se déclenchent lorsqu'un fichier malveillant est supprimé par une réponse active ou si une erreur s'est produite lors de la suppression du fichier.

Redémarrez le gestionnaire Wazuh pour appliquer les modifications de configuration.

systemctl restart wazuh-manager

Configuration de l'agent Wazuh pour VirusTotal

Modifiez les paramètres de surveillance de l'intégrité des fichiers dans /var/ossec/etc/ossec.conf pour surveiller /root en temps réel.

<syscheck>
  <directories whodata="yes">/root</directories>
</syscheck>

Ajoutez le script de réponse active suivant à /var/ossec/active-response/bin/remove-threat.sh .

#!/bin/bash

LOCAL=`dirname $0`;
cd $LOCAL
cd ../

PWD=`pwd`

read INPUT_JSON
FILENAME=$(echo $INPUT_JSON | jq -r .parameters.alert.data.virustotal.source.file)
COMMAND=$(echo $INPUT_JSON | jq -r .command)
LOG_FILE="${PWD}/../logs/active-responses.log"

#------------------------ Analyze command -------------------------#
if [ ${COMMAND} = "add" ]
then
 # Send control message to execd
 printf '{"version":1,"origin":{"name":"remove-threat","module":"active-response"},"command":"check_keys", "parameters":{"keys":[]}}\n'

 read RESPONSE
 COMMAND2=$(echo $RESPONSE | jq -r .command)
 if [ ${COMMAND2} != "continue" ]
 then
   echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Remove threat active response aborted" >> ${LOG_FILE}
   exit 0;
 fi
fi

# Removing file
rm -f $FILENAME
if [ $? -eq 0 ]; then
 echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Successfully removed threat" >> ${LOG_FILE}
else
 echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Error removing threat" >> ${LOG_FILE}
fi

exit 0;

Ce script reçoit les informations sur le fichier malveillant de l'alerte générée par VirusTotal (87105), supprime le fichier et écrit le journal de réponse actif.

Modifier /var/ossec/active-response/bin/remove-threat.sh propriétaire et autorisations.

chmod 750 /var/ossec/active-response/bin/remove-threat.sh
chown root:ossec /var/ossec/active-response/bin/remove-threat.sh

Redémarrez l'agent Wazuh pour appliquer les modifications de configuration.

systemctl restart wazuh-agent

Générer une alerte

Lorsqu'un fichier est modifié sous le répertoire surveillé /root , il déclenche une analyse VirusTotal et génère une alerte s'il est détecté comme malveillant. La réponse active est configurée pour supprimer automatiquement la menace.

Pour tester que tout fonctionne correctement, générez une alerte à l'aide du test EICAR. Le résultat attendu est que le fichier est détecté comme malveillant et supprimé automatiquement par une réponse active

cd /root
curl -LO http://www.eicar.org/download/eicar.com


Linux
  1. `^m` et comment s'en débarrasser ?

  2. Un superbloc, un inode, un dentry et un fichier ?

  3. Substitution de processus et tuyau ?

  4. Autorisations de fichiers et sauvegarde ?

  5. Rediriger et canaliser la sortie ?

Fichiers d'inventaire et de configuration Ansible

Détecter Log4Shell avec Wazuh

Comment analyser votre machine Linux à la recherche de chevaux de Troie, de logiciels malveillants et de virus à l'aide de ClamAV

AWK et les noms de fichiers contenant de l'espace.

horodatage, heure de modification et heure de création d'un fichier

Supprimer et ajouter une autorisation en utilisant la notation numérique sur la même ligne