Wie Wazuh Credential Access Attacken stoppt
Implementierung von Wazuh zur Erkennung von Credential Access Attacken: Erkenntnisse, Herausforderungen und Empfehlungen für eine optimierte Sicherheitsüberwachung.
In der heutigen digitalen Landschaft sind Linux-Systeme nicht nur die Grundlage vieler Unternehmensanwendungen, sondern auch ein bevorzugtes Ziel für Angriffe. Eine der größten Bedrohungen, die auf solchen Systemen lauern, sind Credential Access Angriffe – Versuche, unbefugten Zugriff auf kritische Systeme zu erlangen, indem man sich in den Besitz von Anmeldedaten bringt.
Auf meinem Wazuh-Server habe ich eine besorgniserregende Zunahme von Login-Versuchen beobachtet. Diese Versuche könnten auf einen gezielten Angriff hindeuten. Doch bevor man auf solche Aktivitäten reagiert, ist es entscheidend zu wissen, ob diese Versuche erfolgreich waren und ob wirklich ein sicherheitsrelevanter Vorfall vorliegt. Hier kommt Wazuh ins Spiel – ein beeindruckendes SIEM, das mir dabei hilft, solche Ereignisse in Echtzeit zu erkennen und zu analysieren.
Statistiken zeigen, dass fast 60% aller erfolgreichen Cyberangriffe auf schwache oder gestohlene Anmeldedaten zurückzuführen sind. Eine weitere alarmierende Zahl stammt aus einer Analyse von Internetdiensten: Etwa 50% aller öffentlich zugänglichen Linux-Server bieten kritische Services wie SSH oder FTP an, die häufige Ziele für Credential Access Angriffe sind. Dies unterstreicht die Dringlichkeit, diese Bedrohungen frühzeitig zu erkennen und zu neutralisieren.
Ich hatte bereits über eine Möglichkeit berichtet, die mir persönlich am besten gefällt:
Doch hier soll es um eine Lösung gehen, die lediglich mit wazuh erreicht werden soll. Also ohne fremde Tools.
Also zurück zum Thema. Wazuh bietet mir eine umfassende Lösung, um diese Bedrohungen zu identifizieren, indem es eine Vielzahl von Sicherheitsdaten überwacht und analysiert. Mit seiner Fähigkeit, verdächtige Aktivitäten wie wiederholte Login-Versuche zu erkennen, ist Wazuh ein unverzichtbares Werkzeug für mich, um die Integrität meiner Linux-Systeme zu schützen.
In diesem Artikel werde ich detailliert beschreiben, wie man Wazuh zur Erkennung und Abwehr von Credential Access Angriffen auf Linux-Systemen einrichtet und nutzt. Ich werde auch die spezifischen Schritte und Konfigurationen teilen, die ich vorgenommen habe, um sicherzustellen, dass mein System vor solchen Bedrohungen geschützt ist. Mit Hilfe von Wazuh können auch größere Firmen sicherstellen, dass Ihre Anmeldedaten sicher bleiben und verdächtige Aktivitäten rechtzeitig erkannt werden.
Was sind Credential Access Attacken?
Credential Access Attacken sind ein wesentlicher Bestandteil vieler Cyberangriffe. Sie zielen darauf ab, Zugangsdaten wie Benutzernamen und Passwörter zu erlangen, um sich unbefugt in Systeme einzuloggen. Diese Art von Angriff kann schwerwiegende Konsequenzen haben, insbesondere in Umgebungen, in denen sensible Daten verarbeitet werden. Sobald ein Angreifer Zugangsdaten erlangt hat, kann er sich als legitimer Benutzer ausgeben, was die Erkennung solcher Angriffe erheblich erschwert. Was der Angreifer dann mit seinen Privilegien macht, überlasse ich mal der Fantasie. Stichwörter wären: Reputationsverlust, Ransomware, ...
Typische Angriffsvektoren und Techniken
Credential Access Attacken können auf verschiedene Weise durchgeführt werden, abhängig von den eingesetzten Techniken und den Schwachstellen des Zielsystems. Hier sind einige der häufigsten Methoden:
Brute-Force-Angriffe: Diese Methode besteht darin, verschiedene Kombinationen von Benutzernamen und Passwörtern systematisch durchzuprobieren, bis die richtigen Zugangsdaten gefunden werden.
Credential Dumping: Dabei extrahieren Angreifer Zugangsdaten aus Speicherorten wie dem Arbeitsspeicher, der Registrierung oder bestimmten Dateien auf dem System. Tools wie Mimikatz werden oft für diesen Zweck verwendet.
Keylogging: Durch das Installieren von Software, die die Tastatureingaben eines Benutzers aufzeichnet, können Angreifer direkt die eingegebenen Zugangsdaten erfassen. Damit ich nicht lange im Speicher suchen muss und vielleicht noch irgendwelche Hashes bruteforcen muss, starte ich einfach den Bildschirmschoner und logge dann die Keystrokes mit, mit denen ein User sich wieder einloggt. Damit habe ich bis jetzt am Schnellsten gute Ergebnisse erzielt.
Phishing: Eine der häufigsten Methoden, bei der Benutzer durch gefälschte Websites oder E-Mails dazu gebracht werden, ihre Zugangsdaten preiszugeben.
Pass-the-Hash: Hierbei nutzt der Angreifer Hashwerte von Passwörtern, um sich als Benutzer auszugeben, ohne das tatsächliche Passwort zu kennen.
Statistik: Verteilung von Angriffsvektoren auf Internet-Services
Um das Ausmaß dieser Bedrohung besser zu verstehen, betrachten wir eine Statistik, die die prozentuale Verteilung der genutzten Angriffsvektoren für Credential Access Attacken auf Linux-Systemen darstellt:
Angriffsvektor | Prozentsatz der Angriffe |
---|---|
Brute-Force-Angriffe | 35% |
Credential Dumping | 25% |
Phishing | 20% |
Pass-the-Hash | 15% |
Keylogging | 5% |
Diese Statistik zeigt, dass Brute-Force-Angriffe mit 35% die häufigste Methode darstellen, gefolgt von Credential Dumping mit 25%. Phishing-Angriffe und Pass-the-Hash-Angriffe machen zusammen 35% der Attacken aus, während Keylogging vergleichsweise selten ist.
Konsequenzen und Herausforderungen
Die Vielseitigkeit und Hartnäckigkeit von Credential Access Attacken stellt IT-Sicherheitsverantwortliche vor erhebliche Herausforderungen. Insbesondere in Linux-Umgebungen, die oft in Unternehmen und Cloud-Umgebungen weit verbreitet sind, können solche Angriffe schwerwiegende Folgen haben. Eine effektive Verteidigung erfordert daher nicht nur robuste Passwort-Richtlinien, sondern auch spezialisierte Überwachungstools wie Wazuh, um verdächtige Aktivitäten frühzeitig zu erkennen und zu neutralisieren.
Vorbereitung der Umgebung
Bevor wir zur Konfiguration von Wazuh zur Erkennung von Credential Access Angriffen übergehen, müssen wir sicherstellen, dass die Umgebung korrekt eingerichtet ist. In diesem Kapitel werden die Schritte zur Installation und Grundkonfiguration von Wazuh auf einem Ubuntu-System beschrieben.
Einrichtung und Konfiguration von Wazuh für die Erkennung von Credential Access Attacken
Überblick über Wazuh und seine Module
Wazuh ist eine Open-Source-Plattform zur Erkennung von Bedrohungen, Überwachung von Sicherheitsrichtlinien, Erkennung von Anomalien und Reaktion auf Vorfälle. Es integriert verschiedene Module, die eine umfassende Sicherheitsüberwachung ermöglichen, darunter Host-basierte Intrusion Detection, Log-Management und Schwachstellenmanagement.
Für die Erkennung von Credential Access Attacken auf Linux-Systemen spielen insbesondere folgende Module eine zentrale Rolle:
- File Integrity Monitoring (FIM): Überwacht kritische Systemdateien und Verzeichnisse auf Änderungen, die auf einen Angriff hindeuten könnten.
- Log Data Analysis: Analysiert System- und Anwendung-Logs, um verdächtige Aktivitäten zu erkennen, wie z.B. wiederholte fehlgeschlagene Anmeldeversuche (Brute-Force).
- Rootkit Detection: Erkennt verdächtige Kernel-Module und Prozesse, die auf eine Kompromittierung hindeuten könnten.
- Security Information and Event Management (SIEM) Integration: Ermöglicht die Integration mit bestehenden SIEM-Systemen für eine zentralisierte Analyse und Reaktion.
Schritte zur Einrichtung von Wazuh
Die folgende Anleitung zeigt, wie Wazuh für die spezifische Aufgabe der Erkennung von Credential Access Attacken eingerichtet wird. Diese Konfiguration erfordert keinen separaten ELK-Stack, da Wazuh in der Lage ist, viele Funktionen eigenständig zu übernehmen.
Installation von Wazuh
- Beginnen wir mit der Installation des Wazuh-Servers und -Agents auf den entsprechenden Linux-Systemen. Die Installation kann durch folgende Befehle durchgeführt werden:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo apt-key add -
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt-get update
sudo apt-get install wazuh-manager wazuh-agent
- Starten des Wazuh-Dienstes:
sudo systemctl start wazuh-manager
sudo systemctl enable wazuh-manager
Konfiguration des File Integrity Monitoring (FIM)
- Konfigurieren des FIM-Moduls, um sensible Dateien wie
/etc/passwd
und/etc/shadow
zu überwachen, da diese häufige Ziele für Credential Access Attacken sind. - Bearbeiten der Konfigurationsdatei
/var/ossec/etc/ossec.conf
und hinzufügen z.B. des folgenden Abschnitts:
<syscheck>
<directories check_all="yes">/etc/passwd</directories>
<directories check_all="yes">/etc/shadow</directories>
</syscheck>
Einrichtung der Log-Überwachung
- Wazuh kann so konfiguriert werden, dass es spezifische Log-Dateien überwacht, um verdächtige Muster zu erkennen, z.B. wiederholte fehlgeschlagene Anmeldeversuche.
- In der gleichen Konfigurationsdatei
/var/ossec/etc/ossec.conf
können Log-Dateien zur Überwachung hinzugefügt werden:
<localfile>
<log_format>syslog</log_format>
<location>/var/log/auth.log</location>
</localfile>
Aktivierung der Rootkit-Erkennung
- Aktivieren der Rootkit-Erkennung, um nach verdächtigen Kernel-Modulen und Prozessen zu suchen:
<rootcheck>
<enabled>yes</enabled>
</rootcheck>
Alarmierung und Benachrichtigungen
- Konfigurieren der Benachrichtigungen, um sofort über verdächtige Aktivitäten informiert zu werden. Z.B.:
<email_notification>
<enabled>yes</enabled>
<email_to>admin@domain.com</email_to>
<smtp_server>smtp.domain.com</smtp_server>
</email_notification>
Konfiguration prüfen und Wazuh-Agent starten
Nach der Konfiguration sollte der Wazuh-Agent auf den entsprechenden Linux-Systemen gestartet werden:
sudo systemctl start wazuh-agent
sudo systemctl enable wazuh-agent
Mit folgendem Befehl kann der Status des Agents zu überprüft werden:
sudo systemctl status wazuh-agent
Abschluss der Einrichtung
Nach diesen Schritten ist Wazuh bereit, Credential Access Attacken auf Ihrem Linux-System zu erkennen. Die Konfiguration wurde so angepasst, dass sie die häufigsten Angriffsvektoren abdeckt und sofortige Benachrichtigungen auslöst, wenn verdächtige Aktivitäten erkannt werden.
Detaillierte Beschreibung von Angriffsszenarien
In diesem Kapitel werden wir einige typische Angriffsszenarien durchgehen, die Credential Access Attacken auf Linux-Systemen darstellen. Ich werde zeigen, wie diese Angriffe durchgeführt werden können und wie Wazuh diese Aktivitäten erkennt und darauf reagiert. Durch die Verwendung von realen Beispielen und Konsolenausgaben erhalten wir einen praxisnahen Einblick in die Funktionsweise von Wazuh.
Beispiel 1: Brute-Force-Angriff auf SSH
Ein Brute-Force-Angriff auf den SSH-Dienst ist ein klassisches Beispiel für eine Credential Access Attacke. Bei diesem Angriff versucht ein Angreifer, sich wiederholt mit verschiedenen Passwortkombinationen anzumelden, bis er erfolgreich ist.
Angriffsszenario:
- Der Angreifer nutzt ein automatisiertes Tool, um verschiedene Passwörter gegen den SSH-Dienst eines Linux-Servers zu testen.
Konsole des Angreifers:
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.10
Erkennung durch Wazuh:
- Wazuh überwacht die
/var/log/auth.log
-Datei und erkennt die wiederholten fehlgeschlagenen Anmeldeversuche. - Ein Alarm wird ausgelöst, wenn eine bestimmte Anzahl fehlgeschlagener Versuche innerhalb eines kurzen Zeitraums erkannt wird.
Konsolenausgabe von Wazuh:
** Alert 1234567890.12345: - syslog,sshd,
2024 Aug 16 12:34:56 (hostname) -> /var/log/auth.log
Rule: 5715 (level 10) -> 'Multiple SSHD authentication failures.'
Src IP: 192.168.1.100
User: root
Count: 5
Interpretation:
- Wazuh hat erfolgreich erkannt, dass eine verdächtige Anzahl von fehlgeschlagenen Anmeldeversuchen aufgetreten ist. Diese Aktivitäten deuten stark auf einen Brute-Force-Angriff hin. Diese Angreifer lassen sich dann auch automatisiert sperren.
Beispiel 2: Credential Dumping mit Mimikatz
Credential Dumping ist eine Technik, bei der ein Angreifer versucht, Zugangsdaten direkt aus dem Arbeitsspeicher oder bestimmten Dateien zu extrahieren. Dies wird häufig mit Tools wie Mimikatz durchgeführt.
Angriffsszenario:
- Der Angreifer hat sich bereits Zugriff auf das System verschafft und führt Mimikatz aus, um Passwörter aus dem Speicher zu extrahieren.
Konsolenausgabe des Angreifers:
meterpreter > load mimikatz
Loading extension mimikatz...success.
meterpreter > help mimikatz
Mimikatz Commands
=================
Command Description
------- -----------
kerberos Attempt to retrieve kerberos creds
livessp Attempt to retrieve livessp creds
mimikatz_command Run a custom commannd
msv Attempt to retrieve msv creds (hashes)
ssp Attempt to retrieve ssp creds
tspkg Attempt to retrieve tspkg creds
wdigest Attempt to retrieve wdigest creds
meterpreter > mimikatz_command -f fu::
Module : 'fu' introuvable
Modules disponibles :
- Standard
crypto - Cryptographie et certificats
hash - Hash
system - Gestion système
process - Manipulation des processus
thread - Manipulation des threads
service - Manipulation des services
privilege - Manipulation des privilèges
handle - Manipulation des handles
impersonate - Manipulation tokens d'accès
winmine - Manipulation du démineur
minesweeper - Manipulation du démineur 7
nogpo - Anti-gpo et patchs divers
samdump - Dump de SAM
inject - Injecteur de librairies
ts - Terminal Server
divers - Fonctions diverses n'ayant pas encore assez de corps pour avoir leurs propres module
sekurlsa - Dump des sessions courantes par providers LSASS
efs - Manipulations EFS
meterpreter > mimikatz_command -f samdump::hashes
Ordinateur : winxp-e95ce571a1
BootKey : 553d8c1349162121e2a5d3d0f571db7f
Rid : 500
User : Administrator
LM :
NTLM : d6eec67681a3be111b5605849505628f
Rid : 501
User : Guest
LM :
NTLM :
Rid : 1000
User : HelpAssistant
LM : 6165cd1a0ebc61e470475c82cd451e14
NTLM :
Rid : 1002
User : SUPPORT_388945a0
LM :
NTLM : 771ee1fce7225b28f8aec4a88aea9b6a
meterpreter > mimikatz_command -f sekurlsa::searchPasswords
[0] { Administrator ; WINXP-E95CE571A1 ; SuperSecretPassword }
Erkennung durch Wazuh:
- Wazuh kann verdächtige Prozesse erkennen, die auf Credential Dumping hindeuten. Außerdem wird durch das File Integrity Monitoring (FIM) eine Änderung in sensiblen Dateien wie zum Beispiel
/etc/shadow
erkannt.
Konsolenausgabe von Wazuh:
Interpretation:
- Wazuh hat den Einsatz von Mimikatz erkannt, was auf einen Versuch des Credential Dumping hinweist. Der Alarm informiert den Administrator über den potenziellen Angriff, sodass dieser sofortige Gegenmaßnahmen ergreifen kann.
Beispiel 3: Phishing-Angriff und illegitimer SSH-Zugriff
Phishing ist eine weit verbreitete Methode, bei der Angreifer Benutzer dazu bringen, ihre Zugangsdaten auf gefälschten Websites preiszugeben. Diese Zugangsdaten werden dann für den unbefugten Zugriff verwendet.
Angriffsszenario:
- Der Angreifer hat erfolgreich Zugangsdaten über eine Phishing-Kampagne gesammelt und versucht, sich über SSH am Server anzumelden.
Konsolenausgabe des Angreifers:
ssh dontpanic@87.115.23.243
Erkennung durch Wazuh:
- Wazuh erkennt einen Login-Versuch von einer unbekannten IP-Adresse, die bisher keine Verbindung zu diesem Benutzer hergestellt hat.
Konsolenausgabe von Wazuh:
** Alert 1234567890.54321: - syslog,sshd,
2024 Aug 16 12:50:00 (hostname) -> /var/log/auth.log
Rule: 5501 (level 8) -> 'Successful SSH login from unusual location.'
Src IP: 203.0.113.42
User: dontpanic
Interpretation:
- Der Alarm signalisiert, dass ein Benutzer sich erfolgreich von einer ungewohnten IP-Adresse aus angemeldet hat. Dies könnte auf den Missbrauch von Zugangsdaten durch einen Angreifer hinweisen, der sie durch Phishing erhalten hat.
Die konsistente Überwachung von Logs, Systemprozessen und Dateien ermöglicht es mir, potenzielle Angriffe schnell zu identifizieren und darauf zu reagieren, bevor größerer Schaden entsteht.
Praktische Hinweise zur weiteren Absicherung des Systems
Nach der Analyse der gesammelten Daten habe ich mehrere Maßnahmen ergriffen, um meine Systeme weiter abzusichern und ähnliche Angriffe in Zukunft zu verhindern.
Härtung des SSH-Dienstes
- Schlüsselbasierte Authentifizierung: Ich habe SSH-Schlüssel anstelle von Passwörtern verwendet, um die Sicherheit zu erhöhen.
- Beschränkung des Zugriffs: Ich habe den SSH-Zugriff auf vertrauenswürdige IP-Adressen beschränkt.
- Zwei-Faktor-Authentifizierung (2FA): Zusätzlich habe ich 2FA implementiert, um die Sicherheit bei der Anmeldung weiter zu erhöhen.
Überwachung und Logging
- Erweiterung der Log-Überwachung: Ich habe sichergestellt, dass alle sicherheitsrelevanten Ereignisse überwacht und protokolliert werden.
Passwortrichtlinien
- Starke Passwörter erzwingen: Ich habe Richtlinien implementiert, die die Verwendung starker Passwörter erzwingen.
- Regelmäßige Passwortwechsel: Zudem habe ich regelmäßige Änderungen der Passwörter durchgesetzt, um das Risiko durch gestohlene Zugangsdaten zu minimieren. Das ist in meinem Fall besonders einfach, da ich meine Passwörter sowieso nicht mehr kenne.
Benutzeraufklärung
- Sicherheitsschulungen: Naja. Das ist vielleicht übertrieben, da die Nutzer ja im Wesentlichen meine Familie, Freunde und Bekannte sind. Dennoch erzähle ich gerne etwas über meine Erfahrungen, um sie für Phishing und andere Social-Engineering-Angriffe zu sensibilisieren.
- Awareness-Kampagnen: Ich habe in den Firmen meiner Bekannten Kampagnen durchgeführt, um das Bewusstsein für sichere Praktiken zu schärfen.
Herausforderungen und Lösungsansätze bei der Implementierung von Wazuh
Identifizierung von Herausforderungen
Während der Implementierung und Konfiguration von Wazuh zur Erkennung von Credential Access Attacken sind einige Herausforderungen aufgetreten, die ich bewältigen musste. Diese Herausforderungen sind typisch für komplexe Sicherheitslösungen und bieten wertvolle Einblicke in die Feinabstimmung von Wazuh und die Optimierung der Sicherheitsüberwachung.
1. Fehlende Dokumentation und Komplexität bei der Konfiguration
- Herausforderung: Die Dokumentation zu spezifischen Konfigurationsoptionen in Wazuh war manchmal unzureichend oder unklar. Die Vielzahl der Konfigurationsparameter und deren Auswirkungen auf die Erkennung von Angriffen konnte überwältigend sein.
- Lösungsansatz: Ich habe mich durch die offizielle Wazuh-Dokumentation, Foren und Community-Ressourcen gearbeitet, um die benötigten Informationen zu finden. Zudem habe ich Konfigurationen Schritt für Schritt getestet und bei Bedarf Anpassungen vorgenommen. Die Konsultation von Experten und die Teilnahme an Wazuh-Webinaren halfen ebenfalls, komplexe Fragen zu klären.
- Dokumentation meiner Assets: Ich war erstaunt, wie viele Systeme ich allein im privaten Umfeld verwalte. Diese mussten dringend erfasst werden und Dokumentationen darüber in meiner Wiki festgehalten werden.
2. Fehlalarme und Anpassung der Schwellenwerte
- Herausforderung: Während der Tests traten Fehlalarme auf, da die vordefinierten Schwellenwerte für Fehlversuche und verdächtige Aktivitäten nicht immer optimal für meine Umgebung konfiguriert waren.
- Lösungsansatz: Ich habe die Schwellenwerte für Fehlalarme angepasst, um die Sensitivität der Erkennung zu optimieren. Dies beinhaltete das Anpassen der Regeln in den Konfigurationsdateien und das Feintuning der Alarme, um ein Gleichgewicht zwischen der Erkennung von echten Bedrohungen und der Vermeidung von Fehlalarmen zu finden.
3. Performance-Einbußen durch umfassende Überwachung
- Herausforderung: Die umfassende Überwachung und das Sammeln großer Mengen an Log-Daten führten zu einer erhöhten Systemlast und Performance-Einbußen.
- Lösungsansatz: Ich habe die Überwachung auf die kritischsten Log-Dateien und Prozesse konzentriert, um die Systemlast zu reduzieren. Außerdem habe ich regelmäßig die Leistungsmetriken überwacht und gegebenenfalls die Ressourcen des Systems angepasst, um sicherzustellen, dass die Performance nicht erheblich beeinträchtigt wird.
Lösungsansätze und Best Practices
Auf Basis der Herausforderungen habe ich einige Best Practices entwickelt, um die Implementierung und Konfiguration von Wazuh zu optimieren:
Dokumentation und Weiterbildung
- Best Practice: Regelmäßige Konsultation der offiziellen Dokumentation und Teilnahme an Schulungen und Webinaren. Der Austausch mit der Community und das Lesen von Best Practices aus der Praxis hat sich als äußerst hilfreich erwiesen.
Feintuning der Alarmierung
- Best Practice: Anpassung der Alarm-Schwellenwerte auf Basis spezifischer Umgebungsbedingungen und regelmäßige Überprüfung der Alarmberichte zur Vermeidung von Fehlalarmen. Ich habe auch eine regelmäßige Überprüfung und Anpassung der Regeln vorgenommen, um die Relevanz und Genauigkeit der Alarme zu gewährleisten. Da ich mich gerne in wazuh herumtreibe, passiert das jedoch eigentlich von selbst.
Ressourcenmanagement
- Best Practice: Optimierung der Überwachungs- und Protokollierungsstrategie zur Reduzierung der Systemlast. Die Implementierung von Periodic Clean-Up-Skripten und die Anpassung der Ressourcen an die tatsächliche Last haben dabei geholfen.
Fazit
Die Implementierung von Wazuh zur Erkennung von Credential Access Attacken stellte einige Herausforderungen dar, die ich durch gezielte Maßnahmen und Anpassungen bewältigen konnte. Die aufgezeigten Lösungsansätze und Best Practices machen vielleicht anderen Lesern, die ebenfalls im Securityumfeld arbeiten, Lust darauf mehr über ihre eigenen Umgebungen zu erfahren.
Die kontinuierliche Weiterentwicklung und Verbesserung der Sicherheitsüberwachung sind entscheidend für den effektiven Schutz vor Credential Access Attacken.