VirusTotal je online portál vlastněný společností Google, který používá mnoho antivirových modulů ke kontrole virů a malwaru. Poskytuje službu API, kterou Wazuh používá ke skenování hash souborů, názvů domén, IP adres nebo URL. Pro tuto integraci používáme wazuh-integratord
komponenta, která běží na správci Wazuh. Další informace o této integraci naleznete v naší dokumentaci VirusTotal.
V tomto případě použití sledujeme adresář v reálném čase a provádíme skenování VirusTotal u každého nového nebo nedávno upraveného souboru. Pokud je soubor klasifikován jako škodlivý, spustí se aktivní odpověď a soubor bude odstraněn.
Konfigurace integrace VirusTotal
Vložte svůj klíč API a povolte integraci VirusTotal ve správci Wazuh přidáním následující konfigurace do /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
V tomto příkladu omezíme skenování na nové nebo nedávno upravené soubory v /root
adresář z důvodu omezení počtu dotazů za minutu při použití účtu bezplatné aplikace. Za tímto účelem vytváříme vlastní pravidla pro sledování /root
a použít je ke spuštění integrace VirusTotal.
Přidejte následující vlastní pravidla do /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>
Konfigurace aktivní odezvy k odstranění škodlivých souborů
Jakmile VirusTotal identifikuje soubor jako hrozbu, Wazuh spustí aktivní reakci k odstranění souboru ze systému
Konfigurace správce Wazuh
Připojte následující bloky do správce Wazuh /var/ossec/etc/ossec.conf
soubor.
<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>
Aktivní odpověď je spuštěna pravidlem 87105, které se vypne, když VirusTotal identifikuje soubor jako škodlivý.
Přidejte následující vlastní pravidla do /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>
Tato pravidla se spouštějí, když je škodlivý soubor odstraněn aktivní odpovědí nebo pokud při odstraňování souboru došlo k chybě.
Chcete-li použít změny konfigurace, restartujte správce Wazuh.
systemctl restart wazuh-manager
Konfigurace agenta Wazuh pro VirusTotal
Změňte nastavení monitorování integrity souborů v /var/ossec/etc/ossec.conf
sledovat /root
v reálném čase.
<syscheck>
<directories whodata="yes">/root</directories>
</syscheck>
Přidejte následující skript aktivní odpovědi na /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;
Tento skript obdrží informace o škodlivém souboru z výstrahy generované VirusTotal (87105), odstraní soubor a zapíše aktivní protokol odpovědí.
Změnit /var/ossec/active-response/bin/remove-threat.sh
vlastníka a oprávnění.
chmod 750 /var/ossec/active-response/bin/remove-threat.sh
chown root:ossec /var/ossec/active-response/bin/remove-threat.sh
Chcete-li použít změny konfigurace, restartujte agenta Wazuh.
systemctl restart wazuh-agent
Vygenerujte upozornění
Když je soubor upraven pod sledovaným adresářem /root
, spustí kontrolu VirusTotal a vygeneruje výstrahu, pokud je detekována jako škodlivá. Aktivní odezva je nakonfigurována tak, aby hrozbu odstranila automaticky.
Chcete-li otestovat, že vše funguje správně, vygenerujte výstrahu pomocí testu EICAR. Očekávaným výsledkem je, že soubor bude detekován jako škodlivý a aktivní reakcí automaticky odstraněn
cd /root
curl -LO http://www.eicar.org/download/eicar.com