FreeSOC - SOC basierend auf Open Source mitteln
FreeSOC ist ein full featured SOC welches auf Open Source mitteln beruht und dennoch nicht den Vergleich zu kommerziellen Produkten scheuen brauch.
Einleitung
Was ist überhaupt ein SOC
SOC ist die Abkürzung für Security Operation Center. Dies ist eine Zusammenfassung die aus mehreren Komponenten besteht:
Mitarbeiter die Umgang mit IT Sicherheit geübt oder besser noch geschult sind
Produkte für die IT Sicherheit
Einen Raum (mindestns) der für diesen Zweck vorgesehen ist und entsprechend eingerichtet ist (z.B. mit mehreren Monitoren zur Überwachung
Die üblichen Aufgaben der Mitarbeiter umfassen:
Überwachen der Infrastruktur
Betreuen der Infrastruktur
Updaten der Infrastruktur
Schulen der Kolleginnen und Kollegen
Überwachen und Betreuen der Clouddienste
Überwachen und Betreuen der Internetanbindung
Welche Produkte setzen wir in unserem FreeSOC ein
Das von mir zusammengefügte SOC nenne ich FreeSOC, da es auf freie Open Source Produkten beruht - die Projektseite ist https://freesoc.de und derzeit noch im Aufbau.
Dies sind die folgenden:
WAZUH
MISP
The Hive
Cortex
Shuffle
Die Zentrale Komponente ist dabei Wazuh - dies ist ein Open Source SIEM mit XDR Funktionalitäten. Alle Daten laufen erst in WAZUH zusammen, von dort werden diese ausgewertet und weiterverarbeitet. Angebunden werden, können dort:
Windows Clients/Server
MacOS Clients
Linux/Unix Clients/Server
Geräte wie Firewalls, Switches, Router, Telefonanlagen, VPN Gateway, Mailrelays und mehr mehr über Syslog
Weiterhin können auch folgende Zentrale Clouddienste überwacht werden, wie z.B.:
Github
Office/Microsoft 365 (und natürlich Azure)
Google
AWS
Die Agent überwacht folgendes:
Vulnarability
Compliance (PCI, GDPR usw.)
Status mit Berichtserstellung
Und noch vieles mehr
MISP ist eine zentrale Malware and Sharing Plattform, welche mehrere Feeds anbieten mit vielen interessanten Informationen wie z.B.:
Bad IP Adresses
Spam Adressen
Tor Exitnodes
IoC wie URL, IP, Hashes, Dateinamen usw.
Und vieles mehr
Hier werden die Datenbanken gepflegt, die uns unterstützen um z.B. IoC's zu finden.
The Hive ist ein SIRP, hier werden alle Informationen gemeldet und weiterverarbeitet. Mit Hilfe unserer automatisierungsplattform Shuffel sammeln wir alle IoCs ein und übergeben diese an Cortex, unserem Analyzer - der wieder rum nutzt mehrere Systeme wie MISP, Virustotal, AbuseIP usw. um dort Informationen zu sammeln und diese in dem Vorgang in The Hive anzureichern.
Nach der Bearbeitung können diese Vorgänge geschlossen und an MISP gegeben werden - um ggf. angebundenen Partnern zu Informieren.
Hier mal ein Beispiel vom gesamten Workflow:
Ein Beispiel wir unser SOC agiert seht ihr hier in dem Beispiel (leider erst mal nur in Englisch):
Möglicher Datenaustausch im FreeSOC
Der zentrale Datenbestand liegt im Wazuh - hier werden alle Daten hin geliefert. Hier benötigen Systemadministratoren und SOC Mitarbeiter Zugriffsrechte um ggf. Systeme hinzuzufügen oder zu entfernen.
Die Daten werden überwacht und zur weiteren Auswertung an MISP weitergegeben. MISP greift auf mehrere Datenquellen zu und kontrolliert ob diese bekannt sind. Wenn ja, dann wird ein IoC in Wazuh erstellt. Auf MISP benötigen Sicherheitsadministatoren und SOC Mitarbeiter Zugriff, damit diese MISP pflegen (Feeds/Quellen hinzufügen und ändern usw.).
Sollte ein IoC erstellt werden, wird Shuffle getriggert und ein Case in The Hive erstellt, Daten aus Wazuh geholt und mit in dem Case angereichert - mit diesen Daten werden diverse Analyzer in Cortex gestartet und alle Ergebnisse mit in den Case eingetragen. Auf The Hive und Cortex benötigen die SOC Mitarbeiter Zugriff.
Wurde das Ticket bearbeitet und abgeschlossen, kann dieses in MISP archiviert werden und ggf. mit anderen angebundenen Unternehmen geteilt werden.
SOC einrichten
Vorbereitungen
Artikel folgt noch ...
Basis VM einrichten
Installieren eines Ubuntu 22.04 LTS Server als Minimalversion mit angepassten LVM Setup und aktivierten SSH Server.
Anschließend aktualisieren:
sudo apt update
sudp apt upgrade
sudo init 6
Sollte dies nicht der Wazuh Server werden, anschließend Wazuh Agent installieren mit zuordnen der entsprechenden Gruppen.
Danach kann dann wie folgt AutoUpdate eingerichtet werden: https://www.lastbreach.de/blog/automatische-updates-fuer-linux-server
Hier ein Installationsvideo:
Solltet ihr noch einen Virtualisierer benötigen wie VMWare oder Proxmox, hilft euch dieses Installationsvideo zumindest bei VMWare weiter, Proxmox folgt noch:
Wazuh - SIEM
Wazuh ist ein SIEM mit XDR funktionalität und unsere zentrale Komponenten.
Wazuh installieren und einrichten, Agent installieren, Sysmon einrichten
Agent Update
Allgemeine Informationen:
https://wazuh.com/install/
https://documentation.wazuh.com/current/user-manual/agents/remote-upgrading/upgrading-agent.html
https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/index.html
Agentupdates zentral über den Wazuh Server:
Ich hatte hier jedoch massive Probleme, deshalb habe ich nachher die Agents selber auf dem entsprechenden Client selber.
Um die Befehle auf dem Server oder den Clients zu starten benötigen sie entweder einen User der Gruppe Wazuh oder Root Rechte - alternativ können sie diese auch mit sudo ausführen (vor dem jeweiligen Befehl). Damit sie dies nicht bei mehreren Befehlen jedes mal machen müssen - können sie mit sudo bash eine Shell starten. Denken Sie auf jeden Fall daran, diese wieder mit exit zu beenden.
Per SSH auf den Wazuh Server anmelden
Sudo bash (alternativ ansonsten die Befehle einzeln mit sudo starten)
/var/ossec/bin/agent_update -l
/var/ossec/bin/agent_update -a CLIENT_ID
Agentupdate auf dem Linux-client selber:
sudo bash curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list apt-get update apt-get upgrade systemctl restart wazuh-agent systemctl status wazuh-agent
Agentupdate auf dem Windows-client selber:
Download des aktuellen Agents (z.B. https://packages.wazuh.com/4.x/windows/wazuh-agent-4.3.10-1.msi ) und anschließend starten der Installationsdatei.
Aktuelle Datei ist hier zu finden: https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/windows.html
Agentupdate auf dem Mac-client selber:
Download des aktuellen Agents (z.B. https://packages.wazuh.com/4.x/macos/wazuh-agent-4.3.10-1.pkg ) und anschließend starten der Installationsdatei.
Aktuelle Datei ist hier zu finden: https://documentation.wazuh.com/current/upgrade-guide/wazuh-agent/macos.html
Syslog einrichten
Artikel folgt noch ...
Erstellen eines eigenen Decoders
Sollten Sie Systeme mit Syslog erfassen welche noch nicht unterstützt sind, dann sind diese zwar in den Archive Logs (wazuh-archive-*) können jedoch noch keine Alerts erzeugen.
Damit dies funktioniert, müssen sogenannte Decoder erstellt werden. Dies sind XML Dateien, welche die wazuh-archives-* Logs überwachen nach bestimmten Textmustern und dann diese in Alerts umwandeln, welche dann später sogar weiter interagieren können (z.B. Emailalerts, Integrations, Cases erstellen usw.).
Einen Decoder für die Sophos UTM erstelle ich gerade selber, da ich diesen benötige Die Dateien für erstelle ich später auf Github wenn dieser fertig ist.
Einen Beitrag von Wazuh selber, wie man Decoder selber erstellt findet ihr hier: https://wazuh.com/blog/creating-decoders-and-rules-from-scratch/
Hier ist der aktuelle Stand (Stand 21.12.2022):
^\d+:\d+:\d+-\d+:\d+:\d+\s\w+\s\w+[\d+]:\sid="\d+"
sophos-utm-custom
(\d+:\d+:\d+)-(\d+:\d+:\d+)\s(\w+)\s(\w+)
date, time, hostname, module
sophos-utm-custom
name=\p(\w+\s\w+)
status
sophos-utm-custom
severity=\p(\w+\s\w+)
severity
sophos-utm-custom
sub=\p(\w+\s\w+)
sub
sophos-utm-custom
sys=\p(\w+\s\w+)
sys
sophos-utm-custom
srcip=\p(\d+.\d+.\d+.\d+)\p
srcip
sophos-utm-custom
dstip=\p(\d+.\d+.\d+.\d+)\p
dstip
sophos-utm-custom
srcport=\p(\d+)\p
srcport
sophos-utm-custom
dsport=\p(\d+)\p
dstport
sophos-utm-custom
profile=\p(\w+)\p
profile
sophos-utm-custom
filteraction=\p(\w+)\p
filteraction
sophos-utm-custom
url=\p(\S+)\p
url
sophos-utm-custom
referer=\p(\S+)\p
referer
sophos-utm-custom
reputation=\p(\w+)\p
reputation
sophos-utm-custom
categoryname=\p(\w+)\p
categoryname
sophos-utm-custom
user=\p(\w+)\p
user
sophos-utm-custom
group=\p(\w+)\p
group
sophos-utm-custom
id=\p(\d+)\p
id
sophos-utm-custom
reason=\p(\w+)\p
action
Dazu ein paar Bilder, wie das in Wazuh aussieht:
Index Management
Wazuh pflegt seine Daten auf dem Server unter unter /var/ossec/logs
Die wichtigsten sind:
/var/ossec/logs/alerts
/var/ossec/logs/archives
Letzteren finden Sie, erst wenn die Sysog aktiviert haben und auch Gerät welche keine Agents nutzen können unterstützen wollen (z.B. VMWare, Switche, Firewalls, Gateway, VPNs usw.).
Die Indizies (Logs) finden Sie wie folgt:
Loggen Sie sich im Wazuh Dashboard ein
Gehen Sie oben Links auf die drei Balken
Wählen Sie unten Index Management
Dann unter Indicies finden sie die Indizies - besonders die unter wazuh-archives-* (für Syslogs) können sehr groß werden.
Damit nun die Festplatte nicht voll läuft, sollten das Index Management eingerichtet werden. Hierzu bietet Wazuh einen Blogartikel an: https://wazuh.com/blog/wazuh-index-management/
Dieser Artikel beruht auf einer älteren Version und sieht ein wenig anders aus - das ist jedoch nicht schlimm, wir benötigen nur den unteren Textteil.
Richten wir nun eine Index Management Policy ein:
Gehen Sie links auf dem Punkt Index Policies
Wählen Sie oben rechts Create Policy
Wählen sie bei Configuration Method den JSON Editor aus
Vergeben sie nun eine Policy ID wie z.B. cleanup-policy
Ersetzen Sie den Inhalt durch den unten und wählen Sie Create
{
"id": "cleanup-policy",
"seqNo": 3244,
"primaryTerm": 1,
"policy": {
"policy_id": "cleanup-policy",
"description": "Cleanup Indicies Rule. Set after 15 Days to cold (Read Only) and delte it after 60 Days.",
"last_updated_time": 1669980175085,
"schema_version": 12,
"error_notification": null,
"default_state": "hot",
"states": [
{
"name": "hot",
"actions": [
{
"replica_count": {
"number_of_replicas": 0
}
}
],
"transitions": [
{
"state_name": "cold",
"conditions": {
"min_index_age": "15d"
}
}
]
},
{
"name": "cold",
"actions": [
{
"read_only": {}
}
],
"transitions": [
{
"state_name": "delete",
"conditions": {
"min_index_age": "60d"
}
}
]
},
{
"name": "delete",
"actions": [
{
"delete": {}
}
],
"transitions": []
}
],
"ism_template": [
{
"index_patterns": [
"wazuh-*"
],
"priority": 100,
"last_updated_time": 1669967389155
}
]
}
}
Sollten Sie mehrere Wazuhserver bzw. Knoten haben - dann können Sie auch mehrere Replicas wählen - maximal die Anzahl der Knoten, die sie haben.
Die Indizies, die aktuell genutzt werden sind Hot . Cold hingegen sind nur noch zum lesen vorhanden und belegen so weniger Systemressourcen (Ram und CPU, nicht Festplattenplatz). Delete gibt hingegen an, ab wann die Indizies (also die Dateien!) gelöscht werden. Diese sind danach nicht mehr zu nutzen, sofern sie diese nicht ausgelagert oder gesichert haben.
Ab nun an, werden die Indicies auf die Zukunft gepflegt. Sollten Sie diese Regel zu Anfang einrichten - sind sie nun fertig.
Sollten Sie jedoch schon Indizies haben und möchten diese bereinigen (sehen Sie bitte davon ab, diese einfach von der Festplatte zu löschen - da sonst Wazuh nicht mitbekommt, das diese entfernt wurden), gehen sie einfach links auf Indicies und geben bei Search wazuh-alerts ein - wählen sie alle aus und klicken sie oben auf Apply Policy und wählen die eben erstellte Policy aus.
Sollte die Festplatte schon vollgelaufen sein und sie virtualisieren - dann können Sie in der Virtualisierung die Festplatte vergrößern und mit Tools wie Gparted booten und damit die virtuelle Festplatte vergrößern. Sollten sie ein physiches System benutzen könnten Sie eine weitere Platte einsetzen, diese formatieren und temporär mounten - die Dienste beenden, danach die Dateien rüberkopieren und anschließend den alten Ordner löschen. Nachdem sie die fstab angepasst haben und neugestartet haben, sollten wieder alles in Ordnung sein. Sie sollten jedoch unbedingt vorher Sicherungen erstellen!
Anpassen des Designs
Dieser Artikel folgt noch ...
Office 365 einrichten
Artikel folgt noch ...
Github einrichten
Artikel folgt noch ...
Wazuh Denoising
[Rule 510]: Trojaned version of file detected (/bin/diff)
Lösung:
Copy https://github.com/ossec/ossec-hids/blob/master/src/rootcheck/db/rootkit_trojans.txt to /var/ossec/etc/shared/ on your hub server.
upgrade from source out of master
Weitere Informationen: https://github.com/ossec/ossec-hids/issues/2020
[Rule 92213]: Executable file dropped in folder commonly used by malware (cleanmgr.exe)
Lösung:
Erstellen/erweitern der overwrites-custom-warnings.xml mit folgenden Inhalt (ggf. Rule ID anpassen):
92204
C:\\\\Windows\\\\system32\\\\sdiagnhost\.exe
no_full_log
CleanMGR - Downlevel Info
[Rule 510]: Host-based anomaly detection event (/var/lib/docker/overlay2 und /var/lib/docker/volume)
Anpassen der Konfigurationsdatei im Bereich Rootcheck, anschließend Manager neu starten:
/var/lib/docker/overlay2/
/var/lib/docker/volume/
Keine Vulnerability detects für Ubuntu 22.04
Hinzufügen zu der Konfiguration im Abschnitt Vulnerability-detector / Provider Canonical - anschließend speichern und Manager neustarten:
jammy
[Rule: 92201]: powershell.exe created a new scripting file under Windows Temp or User data folder (PSPolicyScript)
Lösung:
Erstellen/erweitern der overwrites-custom-warnings.xml mit folgenden Inhalt (ggf. Rule ID anpassen):
92213
C:\\\\Windows\\\\system32\\\\wsmprovhost.exe
AppData\\\\Local\\\\Temp\\\\__PSScriptPolicyTest_*
PSScript PolicyTest ignorieren
Quelle: https://www.reddit.com/r/Wazuh/comments/174enng/create_exclusion_for_false_positive/?rdt=50834
overwrites-custom-warnings.xml
60104
^577$|^4673$
no_full_log
Failed attempt to perform a privileged operation.
92213
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)cleanmgr\.exe
CleanMGR - Downlevel Info
510
/usr/sbin/apachectl
Ignoring the rootcheck alert for the file: $(data.file).
550
\/etc\/cups\/subscriptions\.conf|\/etc\/cups\/subscriptions\.conf\.O
Known file
533
Netstart Warnings move down
92151
C:\\\\Program Files\\\\Veeam\\\\\.+\\\\Veeam\.\w+\.\w+\.exe
Powershell started by Veeam
92152
C:\\\\(?i)Windows\\\\(?i)System32\\\\spool\\\\drivers\\\\x64\\\\3\\\\PrintConfig.dll
Printer Powershell commands
92204
C:\\\\Program Files|Program Files \(x86\)\\\\Google\\\\Chrome\\\\Application\\\\chrome\.exe
C:\\\\Users\\\\.+\\\\AppData\\\\Local\\\\Temp\\\\.+\\\\software_reporter_tool\.exe
Chrome Software Reporter
92204
C:\\\\Program Files|Program Files \(x86\)\\\\Google\\\\Update\\\\GoogleUpdate\.exe
C:\\\\Users\\\\.+\\\\AppData\\\\Local\\Temp\\\\.+\.exe
Chrome Update
5402
Successful sudo to ROOT executed (Higher leveled).
5501
PAM: Login session opened (Higher leveled).
5502
PAM: Login session closed (Higher leveled).
5403
First time user executed sudo (Higher leveled).
5715
sshd: authentication success (Higher leveled).
5104
Interface entered in promiscuous(sniffing) mode.
Interface entered in promiscuous(sniffing) mode - Cortex Analyzer working
110009
pihole
www-data
Successful sudo to ROOT executed (Higher leveled).
5502
pihole
www-data
PAM: Login session closed (Down leveled).
92151
C:\\\\Program Files\\\\Veeam\\\\Backup365\\\\Veeam\.Archiver\.Service\.exe/gm
Veeam starts Powershell commands
100651, 100653
C:\\\\Program Files|Program Files \(x86\)\\\\TeamViewer\\\\Update\\\\update\.exe
no_full_log
TeamViewer Update
550
/etc/pihole/\.+
Ignoring PIHOLE Updates config
92151
BITSYSTEMS-GMBH\\\\svc_monitoring|RESDOM\\\\svc_prtg
Powershell started by PRTG
92151
C:\\\\(?i)Windows\\\\(?i)System32\\\\(?i)ServerManager\.exe
Powershell started by Servermanager
92151
C:\\\\Program Files \(x86\)\\\\Trend Micro\\\\Security Agent\\\\utilCmdletWrapper\.exe
Powershell started by TrendMicro
92151
\w:\\\\Exchange Server\\\\Bin\\\\Microsoft.Exchange.Store.Worker.exe
Powershell started by Exchange Server
92204
C:\\\\Program Files (x86)\\\\Citrix\\\\ICA Client\\\\receiver\\\\Receiver.exe
C:\\\\Users\\\\\w+\\\\AppData\\\\Local\\\\Temp\\\\\d\\\.+\\\\CitrixReceiverUpdater.exe
Citrix Receiver Update
119003
127.0.0.1|aka.ms
Misp IoC's downgrade (false/positive)
9224
C:\\\\Users\\\\\w+\\\\Downloads\\\\MicrosoftEdgeSetup\.exe
C:\\\\Users\\\\\.+\\\\AppData\\\\Local\\\\Temp\\\\\.+\\\\\.+\\\\MicrosoftEdgeUpdate\w+\.exe
Edge Update
510
/var/tmp/tmccinstcheck\.dat
TrendMicro Mac Updatecheck
510
/tmp/ubuntu-advantage/candidate-version
Ubuntu Advantage File
92204
C:\\\\(?i)Windows\\\\(?i)system32\\\\sdiagnhost\.exe
no_full_log
CleanMGR - Downlevel Info
100652
C:\\\\(?i)Windows\\\\(?i)system32\\\\schtasks\.exe
C:\\\\Program Files\\\\Common Files\\\\Microsoft Shared\\\\ClickToRun
Office 365 Softwareupdate
92900
C:\\\\ProgramData\\\\Microsoft\\\\Windows Defender\\\\Platform\\\\.+\\\\MsMpEng\.exe
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)lsass\.exe
Defender Scan lsass.exe
92201
PSScriptPolicyTest
Powershell PSScriptPolicyTest
92213
C:\\\\(?i)Windows\\\\(?i)system32\\\\ServerManager\.exe
ServerManager - Downlevel Info
100652
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)schtasks\.exe
C:\\\\(?i)Program Files\\\\(?i)Common Files\\\\(?i)microsoft shared\\\\(?i)ClickToRun\\\\(?i)officesvcmgr\.exe
Office 365 Softwareupdate
92900
C:\\\\(?i)Windows\\\\(?i)system32\\\\svchost\.exe|C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)MRT\.exe
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)lsass\.exe
SVChost/Defender access lsass.exe
510
/tmp/filter.lock
Downlevel Anomalidetection
87702
192.168.33.240
OPNsense: $(agent.name) on $(hostname) - Source $(srcip) Destionation $(dstip)
510
/bin/diff
Ignoring the rootcheck alert for the file: $(data.file).
92213
C:\\\\(?i)Windows\\\\(?i)Application Compatibility Scripts\\\\(?i)acregl\.exe
ServerManager - Downlevel Info
92213
C:\\\\Windows\\\\system32\\\\wsmprovhost.exe
AppData\\\\Local\\\\Temp\\\\__PSScriptPolicyTest_*
Ignore PSScript PolicyTest
92213
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)wsmprovhost\.exe|C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)sdiagnhost\.exe
C:\\\\(?i)Users\\\\\w+\\\\(?i)AppData\\\\(?i)Local\\\\(?i)Temp\\\\__PSScriptPolicyTest_\w+\.\w+\.ps1
Ignore PSScript PolicyTest
92657
MGMT-SRV
MGMT-SRV RDP Logon downlevel
60602
C:\\\\(?i)Windows\\\\(?i)system32\\\\(?i)ntdsperf\.dll
Windows Perflib downlevel
100652
C:\\\\(?i)Program Files\\\\(?i)Common Files\\\\(?i)microsoft shared\\\\(?i)ClickToRun\\\\(?i)officesvcmgr\.exe
Schedular Officeupdate downlevel
overwrites-custom-misp.xml
119003
cdn.discordapp.com|discord.com|discord.gg
Ignoring MISP IoC for $(misp.value)
119003
google.com|www.google.com
Ignoring MISP IoC for $(misp.value)
119003
.+C:\\\\Program Files \(x86\)\\\\PRTG Network Monitor\\\\PRTG Probe\.exe
Ignoring MISP IoC for $(misp.value)
119003
dc
Ignoring MISP IoC for $(misp.value)
119003
sha256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Ignoring MISP IoC for $(misp.value)
119003
127\.0\.0\.1|0\.0\.0\.0|192\.168\.1\.\d
Ignoring MISP IoC for $(misp.value)
119003
php.net|www.php.net
Ignoring MISP IoC for $(misp.value)
overwrites-custom-o365.xml
91725
(?i).+\.prod\.outlook\.com\/Microsoft Exchange Hosted Organizations\/.+\.onmicrosoft\.com\/DiscoverySearchMailbox{.+-.+-.+-.+-.+}
Office 365: User got FullAccess permissions in Exchange (Downlevel DiscoverySearchMailbox)
office365
!Germany
Office 365 used in: $(GeoLocation.country_name).
overwrites-custom-sophos.xml
sophos-utm-custom
Sophos: log without rule
117001
Authentication successful|AFC Alert|strict TCP
Sophos: $(status) on $(hostname) - $(module): $(status)
117001
Authentication failed
Sophos: $(status) on $(location) - User $(dstuser) [$(srcip)]
117001
smtp
Sophos: $(status) on $(hostname) - User $(dstuser) [$(srcip)]
117001
Packet accepted
Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip)
117001
Packet dropped
Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip)
117001
Packet dropped (GEOIP)
Sophos: $(status) on $(hostname) - Source $(srcip) Destionation $(dstip)
117001
/var/chroot-httpd/var/webadmin/extra/httpd_session_cleanup
Sophos: httpdcleanup on $(hostname)
overwrites-unifi-udm-custom.xml
unifi-udm-custom
Unifi: log without rule
MISP - Malware Sharing Plattform
MISP installieren
Artikel folgt noch ...
MISP einrichten
Artikel folgt noch ...
Wazuh an MISP anbinden
Artikel folgt noch ...
The Hive - SIRP
The Hive installieren
Artikel folgt noch ...
The Hive einrichten
Artikel folgt noch ...
The Hive updaten
Bevor sie updaten, stellen sie bitte sicher das sie in aktuelles Backup haben oder ein Snapshot erstellt haben - sofern sie Virtualisierung nutzen.
Loggen sie sich auf dem The Hive Server ein per SSH oder Console.
Rest folgt noch ...
The Hive - bekannte Probleme
In der Version bis 5.0.23-1 hatte ich das Problem, das ich Cases und Alerts unter bestimmen Umständen nicht mehr löschen konnte. Dies wurde gemeldet und soll mit der Version 5.1.1. behoben sein.
Cortex - Analyzer
Cortex ist ein Analyzer, welchen wir an the Hive angebunden haben. Dieser kann jedoch auch alleinstehend genutzt werden oder gar dank der ResAPI auch in anderen Produkten wie Shuffle, Wazuh usw.
Cortex installieren
Artikel folgt noch ...
Cortex einrichten
Artikel folgt noch ...
Shuffle - Automation Plattform
Shuffle installieren
Artikel folgt noch ...
Shuffle einrichten
Artikel folgt noch ...
Workflow: Case in The Hive erstellen mit Daten aus Wazuh
Artikel folgt noch ...
Allgemeine Sicherheit
Datensicherung
Im Open Source Bereich sieht es im Thema Datensicherung nicht so gut aus. Jedoch bieten auch einige Hersteller abgespeckte Versionen ihrer Professionellen Produkte kostenlos an.
Ich bevorzuge die Produkte vom Hersteller Veeam - so bietet er z.B.die folgenden Produkte an:
Sicherung Windows / Linux Rechner
Sicherung VMWare / HyperV Hypervisor
Sicherung Office /Microsoft 365
Und noch vieles mehr ...
Die Downloads findet ihr hier.
BSI bietet auch kostenlos Unterstützung an
Das BSI bietet mehrere Mittel um zu Unterstützen.
So bietet es für Privatpersonen einen Newsletter an welcher über Software und Geschehnisse berichtet für den privaten Sektor.
Diese Newsletter bietet das BSI auch den Kommerziellen Bereich an, hier wird jedoch eher auf Firmenprodukte eingegangen.
Weiterhin bietet es ein Magazin an, welches viele Informationen rund um die IT - und Cyber - Sicherheit bietet: BSI - BSI-Magazin (bund.de) .
Auch eine interessanter Dienst, ist die Allianz für Cybersicherheit - hier kann man einen Bündnis beitreten, welches viele Informationen und auch eine Anlaufstelle bietet rund um das Thema Cybersicherheit. Hier gibt es jedoch nicht nur Hilfe zur Prävention, sondern auch wenn schon was vorgefallen ist.
Containersicherheit
Fast immer nutzt man Docker Container, die von anderen bereitgestellt werden. Dabei ist man darauf angewiesen, das diese sich um die Sicherheit kümmern.
So gibt es mehrere Punkte zum Thema Sicherheit die man beachten sollte:
Zum einen sollten die verwendeten Quellen keine Sicherheitslücke (CVE) aufweisen.
Viele Komponenten setzen Web- oder Datenbankkomponente ein, hier gibt es auch bestimmte Probleme mit SQL Injection, Cross Site Scripting usw.
Es könnten Keys oder fest eingerichtete User oder gar Backdoors eingerichtet sein.
Ein Open Source Tool, welches als CLI installiert werden kann direkt auf den Docker host selber ist z.B. Triny .
Installation
sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy
Befehle
# Beispiel
trivy image --ignore-unfixed --scanners vuln >
Scan:
trivy image --ignore-unfixed --scanners vuln vaultwarden/server:latest > /home/pleibling/240420_vaultwarden_report.txt
Formulare
Erstellen sie eine lokale Formatvorlage, als Beispiel könnte diese hier dienen: https://github.com/aquasecurity/trivy/blob/main/contrib/html.tpl
Passen sie diese Vorlage ihren wünschen entsprechend an und speichern sie diese ab.
Mit dem folgenden Befehl können Sie dann diese Vorlage verwenden:
# Vorlage:
trivy image --format template --template "@html.tpl" -o
# Beispiel:
trivy image --format template --template "@html.tpl" -o report.html phpmyadmin
Weitere Informationen
https://www.heise.de/hintergrund/Marktuebersicht-Sicherheitsscanner-fuer-Container-Images-9682078.html?seite=all
https://github.com/aquasecurity/trivy
https://medium.com/@maheshwar.ramkrushna/scanning-docker-images-for-vulnerabilities-using-trivy-for-effective-security-analysis-fa3e2844db22
https://aquasecurity.github.io/trivy/v0.48/docs/configuration/filtering/
https://www.youtube.com/watch?v=Em_DdKkPUR8
Agent Installationen
Wazuh Agent installieren
Meldet euch im Wazuh an und wählt dann unter den Agents > Deploy Agent.
Alternativ aber auch hier noch mal.
Windows Wazuh Agent installieren:
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.6.0-1.msi -OutFile ${env.tmp}\wazuh-agent; msiexec.exe /i ${env.tmp}\wazuh-agent /q WAZUH_MANAGER='192.168.50.10' WAZUH_AGENT_GROUP='default,SERVERS,WINDOWS' WAZUH_REGISTRATION_SERVER='192.168.50.10'
Windows Agent starten:
NET START WazuhSvc
Linux Agent installieren:
Folgt noch.
Proxmox Agent installieren:
Installation für Proxmox ist besser wenn man diese manuell ausführt, eine Anleitung findet ihr hier: https://wiki.leibling.de/books/freesoc-soc-basierend-auf-open-source-mitteln/page/wazuh-agent-installieren-auf-proxmox-pve-pbs-und-evtl-pmr.
Elastic Agent installieren
Elastic Agent installieren:
$ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.10.4-windows-x86_64.zip -OutFile elastic-agent-8.10.4-windows-x86_64.zip Expand-Archive .\elastic-agent-8.10.4-windows-x86_64.zip -DestinationPath . cd elastic-agent-8.10.4-windows-x86_64 .\elastic-agent.exe install --url=https://192.168.50.20:8220 --enrollment-token=bG9RUG9Zc0JnN1Q5NzctWExPZEI6MzVTaGpiR0pTd3VhTUN1aXdFVWZ6Zw== --insecure
Wazuh Agent installieren auf Proxmox (PVE, PBS und evtl. PMR)
Die aktuellen Proxmox Versionen nutzen Debian 12 (Stand 04/2024). Diese sollten normalerweise unterstützt werden - jedoch lassen sie diese nicht so einfach installieren, bzw. in Betrieb nehmen.
Ich hatte beispielsweise das Problem, das sich der Agent zwar installieren aber nicht starten ließ (z.B. fehlte der User Wazuh, was man in der /etc/passwd sehen konnte - aber es fehlen auch noch andere Dinge, die Wazuh benötigt.
Sollte eine zuvor versuchte Installation noch vorhanden sein, dann diese wieder entfernen:
apt remove --purge wazuh-agent
Danach müssen wir dann den Client erst mal runterladen (aktuelle Übersicht der Downloadadressen findet ihr hier: https://documentation.wazuh.com/current/installation-guide/packages-list.html - hier könnt ihr mit der rechten Maustaste auf den Link gehen und dann die Adresse kopieren), z.B.
wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.3-1_amd64.deb
Anschließend dann die Vorraussetzungen erfüllen und folgende Komponenten laden:
apt install lsb-base lsb-release
Danach dann die benötigen Variablen laden, die der Agent bei der Installation verwendet (bitte verwendet natürlich eure eigenen Daten:
WAZUH_MANAGER='192.168.1.1'
WAZUH_AGENT_GROUP='default,LINUX,SERVER,PROXMOX'
Danach könnt ihr dann auch schon den Agent installieren mit:
dpkg -i wazuh-agent_4.7.3-1_amd64.deb
Anschließend den Dienst registrieren und starten:
systemctl daemon-reload
systemctl enable wazuh-agent
systemctl start wazuh-agent
Sollte der Start einen Fehler ausgeben, dann könnt ihr den wie folgt kontrollieren:
systemctl status wazuh-agent
Sollte dort angegeben werden, das der Manager nicht gefunden wurde, dann hat das Setup die Daten die variablen nicht richtig übernommen, kontrolliert bitte ob in der Daten /var/ossec/etc/ossec.conf die Adresse verwendet wird und nicht der Name MANAGER_IP - ihr könnt auch direkt die Gruppen und das Debian Profil kontrollieren - es sollte ungefähr so aussehen:
192.168.1.1
1514
tcp
debian, debian12
10
60
yes
aes
yes
default,PROXMOX,LINUX,SERVERS
etc/authd.pass
Wenn ihr dies geändert habt, dann könnt ihr wieder den Agent erneut starten und kontrollieren ob er gestartet wurde:
systemctl start wazuh-agent
systemctl status wazuh-agent
Der Agent sollte nun nach kurzer Zeit in eurer Wazuh Agent Übersicht auftauchen.
Noch ein wenig schneller geht es, wenn ihr den Teil mit den Variablen laden überspringt - während das bei fast allen Linux Systemen funktioniert, scheint es bei den Proxmox Systemen nicht zu funktionieren) und auch bevor ihr den Dienst registriert/startetn schon vorher die ossec.conf kontrolliert und ggf. anpasst. So sollte dann jeder Agent in ca. 3 Minuten installiert sein.