GNU/Linux >> LINUX-Kenntnisse >  >> Linux

WAZUH Erkennen und Entfernen von Malware – Virus Total-Integration

VirusTotal ist ein Online-Portal von Google, das viele Antivirus-Engines verwendet, um nach Viren und Malware zu suchen. Es bietet einen API-Dienst, den Wazuh verwendet, um Datei-Hashes, Domänennamen, IP-Adressen oder URLs zu scannen. Für diese Integration verwenden wir den wazuh-integratord Komponente, die auf dem Wazuh-Manager ausgeführt wird. Weitere Informationen zu dieser Integration finden Sie in unserer VirusTotal-Dokumentation.

In diesem Anwendungsfall überwachen wir ein Verzeichnis in Echtzeit und führen einen VirusTotal-Scan für jede neue oder kürzlich geänderte Datei durch. Wenn eine Datei als bösartig eingestuft wird, wird eine aktive Reaktion ausgelöst und die Datei entfernt.

Konfigurieren der VirusTotal-Integration

Fügen Sie Ihren API-Schlüssel ein und aktivieren Sie die VirusTotal-Integration auf dem Wazuh-Manager, indem Sie die folgende Konfiguration in /var/ossec/etc/ossec.conf hinzufügen .

<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

In diesem Beispiel beschränken wir das Scannen auf neue oder kürzlich geänderte Dateien in /root Verzeichnis aufgrund von Einschränkungen bei Abfragen pro Minute bei Verwendung eines kostenlosen App-Kontos. Dazu erstellen wir benutzerdefinierte Regeln zur Überwachung von /root Verzeichnis und verwenden Sie sie, um die VirusTotal-Integration auszulösen.

Fügen Sie die folgenden benutzerdefinierten Regeln zu /var/ossec/etc/rules/local_rules.xml hinzu .

<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>

Konfigurieren von Active Response zum Entfernen bösartiger Dateien

Sobald VirusTotal eine Datei als Bedrohung identifiziert, löst Wazuh eine aktive Reaktion aus, um die Datei aus dem System zu entfernen

Konfigurieren des Wazuh-Managers

Fügen Sie die folgenden Blöcke an den Wazuh-Manager /var/ossec/etc/ossec.conf an Datei.

<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>

Die aktive Reaktion wird durch Regel 87105 ausgelöst, die ausgelöst wird, wenn VirusTotal eine Datei als bösartig identifiziert.

Fügen Sie die folgenden benutzerdefinierten Regeln in /var/ossec/etc/rules/local_rules.xml hinzu .

<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>

Diese Regeln werden ausgelöst, wenn eine schädliche Datei durch eine aktive Antwort entfernt wird oder wenn beim Entfernen der Datei ein Fehler aufgetreten ist.

Starten Sie den Wazuh-Manager neu, um die Konfigurationsänderungen zu übernehmen.

systemctl restart wazuh-manager

Konfigurieren des Wazuh-Agenten für VirusTotal

Ändern Sie die Einstellungen für die Überwachung der Dateiintegrität in /var/ossec/etc/ossec.conf um /root zu überwachen in Echtzeit.

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

Fügen Sie das folgende aktive Antwortskript unter /var/ossec/active-response/bin/remove-threat.sh hinzu .

#!/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;

Dieses Skript empfängt die bösartigen Dateiinformationen aus der von VirusTotal generierten Warnung (87105), entfernt die Datei und schreibt das aktive Antwortprotokoll.

Ändern Sie /var/ossec/active-response/bin/remove-threat.sh Eigentümer und Berechtigungen.

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

Starten Sie den Wazuh-Agenten neu, um die Konfigurationsänderungen zu übernehmen.

systemctl restart wazuh-agent

Generieren Sie eine Warnung

Wenn eine Datei im überwachten Verzeichnis /root geändert wird , löst es einen VirusTotal-Scan aus und generiert eine Warnung, wenn es als bösartig erkannt wird. Active Response ist so konfiguriert, dass die Bedrohung automatisch entfernt wird.

Um zu testen, ob alles richtig funktioniert, generieren Sie mit dem EICAR-Test eine Warnung. Das erwartete Ergebnis ist, dass die Datei als bösartig erkannt und automatisch durch aktive Reaktion entfernt wird

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


Linux
  1. So scannen Sie Ihre Linux-Box mit ClamAV auf Trojaner, Malware und Viren

  2. Schnelle und langsame Symlinks?

  3. Installation und Konfiguration von vsFTPD

  4. Linux .htaccess Tipps und Tricks

  5. Unterstützte und empfohlene Dateisysteme unter Linux

Ansible Inventar- und Konfigurationsdateien

Erkennung von Log4Shell mit Wazuh

Ausgabe umleiten und leiten?

Threads und Dateideskriptoren

Unix - Kopf UND Ende der Datei

AWK und Dateinamen mit Leerzeichen darin.