Lernen Sie kontroverse Taktiken, Techniken und allgemeines Wissen (ATT @ CK). Unternehmenstaktik. Teil 11

Befehl und Kontrolle


Links zu allen Teilen:
Teil 1. Erstzugriff erhalten (Erstzugriff)
Teil 2. Ausführung
Teil 3. Befestigung (Persistenz)
Teil 4. Eskalation von Berechtigungen
Teil 5. Verteidigungshinterziehung
Teil 6. Abrufen von Anmeldeinformationen (Zugriff auf Anmeldeinformationen)
Teil 7. Entdeckung
Teil 8. Seitliche Bewegung
Teil 9. Datenerfassung (Erfassung)
Teil 10. Exfiltration
Teil 11. Befehl und Kontrolle

Der Abschnitt „Befehl und Kontrolle“ ( Abkürzung - C2, C & C ) ist die letzte Stufe der in ATT & CK Matrix for Enterprise eingeführten Angriffskette.

Befehl und Kontrolle umfassen Techniken, mit denen der Gegner mit Systemen kommuniziert, die mit dem angegriffenen Netzwerk verbunden sind und von diesem kontrolliert werden. Abhängig von der Konfiguration der Systeme und der Topologie des Zielnetzwerks gibt es viele Möglichkeiten, den verdeckten Kanal C2 zu organisieren. Die gebräuchlichsten Techniken sind unter Katze beschrieben. Allgemeine Empfehlungen zur Organisation von Maßnahmen zur Verhinderung und Erkennung von C2 werden in einem separaten Block hervorgehoben und am Ende des Abschnitts platziert.


Der Autor ist nicht verantwortlich für die möglichen Konsequenzen der Anwendung der im Artikel enthaltenen 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 .

Gemeinsame Ports


System: Windows, Linux, MacOS
Beschreibung: Um Firewalls zu umgehen und böswilligen Datenverkehr mit normaler Netzwerkaktivität zu mischen, kann ein Gegner über Standardports, die üblicherweise von regulären Anwendungen verwendet werden, mit dem angegriffenen System kommunizieren:
TCP: 80 (HTTP)
TCP: 443 (HTTPS)
TCP: 25 (SMTP)
TCP/UDP: 53 (DNS)


Beispiele für Ports zum Organisieren von Netzwerkverbindungen innerhalb einer feindlichen Enklave (z. B. zwischen einem Proxyserver und anderen Knoten) sind:
TCP/UDP: 135 (RPC)
TCP/UDP: 22
TCP/UDP: 3389


Kommunikation über Wechselmedien


System: Windows, Linux, MacOS
Beschreibung: Ein Gegner kann die C2-Infrastruktur zwischen physisch isolierten Knoten organisieren und Wechselmedien verwenden, um Befehle von System zu System zu übertragen. Beide Systeme müssen kompromittiert werden. Ein System mit einer Internetverbindung wird am wahrscheinlichsten durch das erste System beeinträchtigt, und das zweite System wird während der seitlichen Bewegung durch Replikation von Malware über Wechselmedien gefährdet (siehe Teil 8 ). Befehle und Dateien werden von einem isolierten System an ein System mit Internetverbindung weitergeleitet, auf das der Gegner direkten Zugriff hat.

Schutzempfehlungen : Deaktivieren Sie die automatische Ausführung von Wechseldatenträgern. Verbieten oder beschränken Sie die Verwendung von Wechselmedien auf der Ebene der Organisationsrichtlinien. Organisieren Sie eine Prüfung der Prozesse, die beim Anschließen von Wechselmedien ausgeführt werden.

Verbindung über einen Proxy (Verbindungsproxy)


System: Windows, Linux, MacOS
Beschreibung: Ein Proxyserver kann von einem Angreifer verwendet werden, um den Netzwerkverkehr zwischen Systemen umzuleiten, oder als Vermittler für die Netzwerkkommunikation. Mit vielen Tools (wie HTRAN, ZXProxy und ZXPortMap) können Sie Datenverkehr umleiten oder Ports weiterleiten.

Das Konzept der Proxys kann auch Vertrauensstellungen in Peer-to-Peer (p2p), Mesh-Netzwerken oder vertrauenswürdigen Verbindungen zwischen Netzwerken umfassen. Ein Netzwerk kann sich innerhalb einer Organisation oder zwischen Organisationen mit Vertrauensstellungen befinden. Ein Gegner kann Netzwerkvertrauensstellungen verwenden, um C2 zu steuern, die Anzahl der gleichzeitig ausgehenden Netzwerkverbindungen zu verringern, Fehlertoleranz bereitzustellen oder vertrauenswürdige Verbindungen zu verwenden, um Verdacht zu vermeiden.

Benutzerdefiniertes Befehls- und Steuerprotokoll


System: Windows, Linux, MacOS
Beschreibung: Ein Angreifer kann einen C2-Kanal mithilfe seines eigenen Netzwerkprotokolls organisieren, anstatt Befehle / Daten in einem vorhandenen Standardprotokoll der Anwendungsschicht zu kapseln. Eine feindliche C2-Protokollimplementierung kann bekannte Protokolle oder Benutzerprotokolle (einschließlich Raw-Sockets) zusätzlich zu den zugrunde liegenden Protokollen imitieren, die in TCP / IP oder einem anderen Standardnetzwerkstapel dargestellt sind.

Benutzerdefiniertes kryptografisches Protokoll


System: Windows, Linux, MacOS
Beschreibung: Um den über den C2-Kanal übertragenen Verkehr zu verbergen, kann der Gegner sein eigenes kryptografisches Protokoll oder seinen eigenen Verschlüsselungsalgorithmus verwenden. Ein einfaches Schema, wie die XOR-Verschlüsselung von einfachem Text mit einem festen Schlüssel, liefert Chiffretext (wenn auch sehr schwach).

Proprietäre Verschlüsselungsschemata können in ihrer Komplexität variieren. Die Analyse und das Reverse Engineering von Malware-Beispielen kann verwendet werden, um den verwendeten Algorithmus und den Verschlüsselungsschlüssel erfolgreich zu erkennen. Einige Angreifer versuchen möglicherweise, ihre eigene Version eines bekannten kryptografischen Algorithmus zu implementieren, anstatt eine bekannte Bibliothek zu verwenden, was zu unbeabsichtigten Fehlern beim Betrieb feindlicher Software führen kann.

Schutzempfehlungen: Wenn Malware eine eigene Verschlüsselung mit symmetrischen Schlüsseln verwendet, können aus Softwarebeispielen ein Algorithmus und ein Schlüssel abgerufen werden, um den Netzwerkverkehr zu dekodieren und Malware-Signaturen zu identifizieren.

Datencodierung


System: Windows, Linux, MacOS
Beschreibung: Über den C2-Kanal übertragene Informationen werden mit Standard-Datencodierungssystemen codiert. Die Verwendung der Datencodierung muss den vorhandenen Protokollspezifikationen entsprechen und umfasst die Verwendung von ASCII-, Unicode-, Base64-, MIME-, UTF-8- oder anderen binären Text- und Zeichencodierungen. Einige Codierungssysteme wie gzip können zusätzlich Daten komprimieren.

Datenverschleierung


System: Windows, Linux, MacOS
Beschreibung: Daten in Kanal C2 können ausgeblendet werden (jedoch nicht unbedingt mit Verschlüsselung), um das Erkennen und Entschlüsseln des übertragenen Inhalts zu erschweren, den Kommunikationsprozess weniger auffällig zu machen und die übertragenen Befehle auszublenden. Es gibt viele Verschleierungsmethoden, z. B. das Hinzufügen unnötiger Daten zum Protokollverkehr, die Verwendung von Steganographie, die Kombination von legitimem Verkehr mit C2-Verkehr oder die Verwendung eines nicht standardmäßigen Datencodierungssystems, z. B. eines modifizierten Base64 im Hauptteil einer HTTP-Anforderungsnachricht.

Ausblenden der Endadresse einer Verbindung (Domain Fronting)


System: Windows, Linux, MacOS
Beschreibung: Das Wesentliche bei Domain Fronting ist die Möglichkeit, die tatsächliche Zieladresse des HTTP-Pakets in CDN-Netzwerken (Content Delivery Netwoks) auszublenden.

Beispiel: Es gibt Domäne X und Domäne Y, die Clients derselben CDNs sind. Ein Paket mit der Domäne X-Adresse im TLS-Header und der Domäne Y-Adresse im HTTP-Header wird höchstwahrscheinlich an die Domäne Y-Adresse übermittelt, selbst wenn die Netzwerkkommunikation zwischen Quell- und Zieladresse verboten ist.

Ein HTTP-Paket enthält zwei Sätze von Headern: Der erste, TLS, befindet sich im offenen Teil des Pakets, der zweite, HTTP - bezieht sich auf den verschlüsselten Teil des Pakets. Darüber hinaus verfügt jeder Header über ein eigenes Feld zur Angabe der Ziel-IP-Adresse. Die Essenz von Domain Fronting ist die absichtliche Verwendung verschiedener Domainnamen im Feld "SNI" des TLS-Headers und im Feld "Host" des HTTP-Headers. Somit wird die zulässige Zieladresse im Feld "SNI" und die Lieferzieladresse im Feld "Host" angezeigt. Wenn beide Adressen zu denselben CDNs gehören, kann der Routing-Knoten nach Empfang eines solchen Pakets die Anforderung an die Zieladresse weiterleiten.

Es gibt eine andere Variante dieser Technik, die als domänenloses Fronting bezeichnet wird. In diesem Fall wird das Feld "SNI" (TLS-Header) absichtlich leer gelassen, wodurch das Paket sein Ziel erreichen kann, selbst wenn das CDN auf Übereinstimmung der Felder "SNI" und "HOST" prüft (wenn leere SNI-Felder ignoriert werden).

Schutzempfehlungen : Wenn es möglich ist, den HTTPS-Verkehr zu überprüfen, können Verbindungen ähnlich wie bei Domain Fronting erfasst und analysiert werden. Wenn eine SSL-Überprüfung durchgeführt wird oder der Datenverkehr nicht verschlüsselt ist, kann das Feld "HOST" auf Übereinstimmung mit dem Feld "SNI" oder auf das Vorhandensein der angegebenen Adresse in weißen oder schwarzen Listen überprüft werden. Um Domain Fronting zu implementieren, muss ein Gegner wahrscheinlich zusätzliche Tools in einem gefährdeten System bereitstellen, dessen Installation durch die Installation lokaler Host-Schutz-Tools verhindert werden kann.

Fallback-Kanäle


System: Windows, Linux, MacOS
Beschreibung: Um die Zuverlässigkeit des Steuerkanals zu gewährleisten und ein Überschreiten der Schwellenwerte der übertragenen Daten zu vermeiden, können Angreifer Sicherungs- oder alternative Kommunikationskanäle verwenden, wenn der Hauptkanal C2 kompromittiert oder nicht verfügbar ist.

Mehrstufige Kanäle


System: Windows, Linux, MacOS
Beschreibung: Angreifer können mehrstufige C2-Kanäle erstellen, die unter verschiedenen Bedingungen oder für bestimmte Funktionen verwendet werden. Die Verwendung mehrerer Schritte kann den C2-Kanal verwirren und verschleiern, wodurch es schwierig wird, ihn zu erkennen.

Auf dem Zielhost ausgeführte RATs initiieren eine Verbindung zum First-Tier-Server C2. Der erste Schritt verfügt möglicherweise über automatisierte Funktionen zum Sammeln grundlegender Informationen zum Host, zum Ausführen von Aktualisierungstools und zum Herunterladen zusätzlicher Dateien. Als nächstes kann ein zweites RAT-Tool gestartet werden, um den Host auf den Server C2 der zweiten Ebene umzuleiten. Die zweite Stufe von C2 wird höchstwahrscheinlich voll funktionsfähig sein und es dem Feind ermöglichen, mit dem Zielsystem über die Umkehrschale und zusätzliche RAT-Funktionen zu interagieren.

Die Schritte C2 werden höchstwahrscheinlich getrennt voneinander platziert, ohne ihre Infrastruktur zu überschreiten. Der Bootloader kann auch redundantes Feedback der ersten Stufe oder Ersatzkanäle haben, falls der ursprüngliche Kanal der ersten Stufe erkannt und blockiert wird.

Schutzempfehlungen: Die zur Organisation mehrstufiger Kanäle verwendete C2-Infrastruktur kann blockiert werden, wenn dies im Voraus bekannt ist. Wenn im C2-Verkehr eindeutige Signaturen vorhanden sind, können diese zum Identifizieren und Blockieren des Kanals verwendet werden.

Mehrfachproxy (Multi-Hop-Proxy)


System: Windows, Linux, MacOS
Beschreibung: Um die Quelle des böswilligen Datenverkehrs zu verschleiern, kann ein Gegner eine Kette von mehreren Proxyservern verwenden. In der Regel kann der Verteidiger nur den letzten Proxy bestimmen. Die Verwendung von Multiproxing erschwert die Identifizierung der Quelle für böswilligen Datenverkehr, sodass die verteidigende Partei den böswilligen Datenverkehr über mehrere Proxyserver überwachen muss.

Schutzempfehlungen: Der Datenverkehr zu bekannten anonymen Netzwerken (z. B. Tor) und C2-Infrastrukturen kann durch die Organisation von Schwarzweißlisten blockiert werden. Sie sollten jedoch darauf achten, dass diese Blockierungsmethode mit ähnlichen Techniken wie Domain Fronting umgangen werden kann.

Multiband-Kommunikation


System: Windows, Linux, MacOS
Beschreibung: Einige Gegner teilen den C2-Datenkanal möglicherweise auf verschiedene Protokolle auf. Eingehende Befehle können über ein Protokoll und ausgehende Daten auf andere Weise übertragen werden, sodass Sie bestimmte Firewall-Einschränkungen umgehen können. Die Trennung kann auch versehentlich erfolgen, um Warnungen vor dem Überschreiten von Schwellenwerten für eine einzelne Nachricht zu vermeiden.

Schutzempfehlungen: Analysieren Sie den Inhalt der Pakete, um Verbindungen zu finden, die nicht dem erwarteten Protokollverhalten für den verwendeten Port entsprechen. Übereinstimmende Warnungen zwischen mehreren Kommunikationskanälen können auch bei der Erkennung von C2 hilfreich sein.

Mehrschichtverschlüsselung


System: Windows, Linux, MacOS
Beschreibung: Ein Gegner kann mehrere Ebenen der C2-Verkehrsverschlüsselung anwenden. In der Regel (aber andere Optionen sind nicht ausgeschlossen) wird zusätzliches Tunneln unter Verwendung eines eigenen Verschlüsselungsschemas als Teil der HTTPS- oder SMTPS-Verschlüsselung verwendet.

Sicherheitstipps: Die Verwendung von Verschlüsselungsprotokollen kann die typische C2-Erkennung auf der Grundlage einer signaturbasierten Verkehrsanalyse erschweren. Wenn die Malware ein standardmäßiges kryptografisches Protokoll verwendet, kann die SSL / TLS-Überprüfung verwendet werden, um den C2-Verkehr auf einigen verschlüsselten Kanälen zu erkennen. Die SSL / TLS-Überprüfung birgt bestimmte Risiken, die vor der Implementierung berücksichtigt werden müssen, um potenzielle Sicherheitsprobleme wie unvollständige Zertifikatsüberprüfung zu vermeiden. Nach der SSL / TLS-Überprüfung ist möglicherweise eine zusätzliche kryptografische Analyse für die Verschlüsselung der zweiten Ebene erforderlich.

Port klopfen


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.

RAS-Tools


System: Windows, Linux, MacOS
Beschreibung: Um einen interaktiven Befehls- und Kontrollmodus einzurichten, kann ein Angreifer legitime Software verwenden, die für diese entwickelt wurde. Workstation-Support und Software für den Remotezugriff, z. B. TeamViewer, Go2Assist, LogMain, AmmyAdmin usw., die normalerweise von technischen Supportdiensten verwendet werden und auf die Whitelist gesetzt werden können. Fernzugriffstools wie VNC, Ammy und Teamview werden am häufigsten von Ingenieuren des technischen Supports und häufig von Cyberkriminellen verwendet.

RAS-Tools können installiert werden, nachdem das System für die Verwendung als alternativer C2-Kanal kompromittiert wurde. Sie können auch als Bestandteil von Malware verwendet werden, um eine umgekehrte Verbindung mit einem Server oder System herzustellen, das von einem Gegner gesteuert wird.

Verwaltungstools wie TeamViewer wurden von mehreren Gruppen verwendet, die sich auf Regierungsbehörden in Ländern konzentrierten, die für russische staatliche und kriminelle Unternehmen von Interesse sind.

Schutzempfehlungen: RAS-Tools können in Verbindung mit Domain Fronting-Techniken verwendet werden. Es ist daher ratsam, zu verhindern, dass der Gegner RAT-Tools mithilfe von Host-Sicherheitstools installiert.

Remote-Dateikopie


System: Windows, Linux, MacOS
Beschreibung: Dateien können von einem System auf ein anderes kopiert werden, um feindliche Tools oder andere Dateien bereitzustellen. Dateien können von einem externen System, das von einem Angreifer gesteuert wird, über den C & C-Kanal oder mithilfe anderer Tools unter Verwendung alternativer Protokolle wie FTP kopiert werden. Dateien können auch mit integrierten Tools wie scp, rsync, sftp auf Mac und Linux kopiert werden.

Feinde können Dateien auch seitlich zwischen internen Opfersystemen kopieren, um die Netzwerkbewegung und die Ausführung von Remotebefehlen zu unterstützen. Dies kann mithilfe von Dateifreigabeprotokollen erfolgen, indem Netzwerkressourcen über SMB verbunden werden oder authentifizierte Verbindungen zu Windows Admin Shares oder RDP verwendet werden.

Schutzempfehlungen: Zur Erkennung wird empfohlen , die Erstellung und Übertragung von Dateien über das Netzwerk über das SMB-Protokoll zu überwachen. Ungewöhnliche Prozesse mit externen Netzwerkverbindungen, die Dateien im System erstellen, sollten ebenfalls verdächtig sein. Die atypische Verwendung von Dienstprogrammen wie FTP kann ebenfalls verdächtig sein.

Standard Application Layer Protocol


System: Windows, Linux, MacOS
Beschreibung: Um zu vermeiden, dass C2-Verkehr erkannt und mit vorhandenem Netzwerkverkehr gemischt wird, können Angreifer Standardprotokolle auf Anwendungsebene wie HTTP, HTTPS, SMTP oder DNS verwenden. Für Verbindungen innerhalb des C2-Kanals (Enklave), beispielsweise zwischen dem Proxyserver und dem Masterknoten und anderen Knoten, werden normalerweise die RPC-, SSH- oder RDP-Protokolle verwendet.

Standard-Kryptographieprotokoll


System: Windows, Linux, MacOS
Beschreibung: Gegner können bekannte Verschlüsselungsalgorithmen verwenden, um den C2-Verkehr zu verbergen. Trotz der Verwendung eines robusten Algorithmus kann der C2-Verkehr mithilfe von Reverse Engineering aufgedeckt werden, wenn geheime Schlüssel von Malware verschlüsselt und generiert und / oder in Konfigurationsdateien gespeichert werden.

Standardprotokoll ohne Anwendungsschicht


System: Windows, Linux, MacOS
Beschreibung: Protokolle auf Nichtanwendungsschicht des OSI-Modells können für die Kommunikation zwischen dem infizierten Host und dem Server oder für die Interaktion infizierter Hosts im Netzwerk verwendet werden. In bekannten Implementierungen wurden das Netzwerkschichtprotokoll - ICMP, die Transportschicht - UDP, die Sitzungsschicht - SOCKS und Protokolle wie umgeleitet / getunnelt wie Serial over LAN (SOL) verwendet.

ICMP wird häufig von Cyberkriminellen verwendet, um die Kommunikation zwischen Hosts zu verbergen. Da ICMP Teil der Internet Protocol Suite ist und von allen IP-kompatiblen Geräten implementiert werden muss, wird es nicht so häufig überwacht wie andere Protokolle wie TCP oder UDP.

Ausgefallene Ports (ungewöhnlich genutzter Port)


System: Windows, Linux, MacOS
Beschreibung: Gegner können über C2 über einen nicht standardmäßigen Port kommunizieren, um Proxyserver und Firewalls zu umgehen, die nicht korrekt konfiguriert wurden.

Webdienst


System: Windows
Rechte: Benutzer
Beschreibung: Angreifer können einen laufenden, legitimen externen Webdienst verwenden, um Befehle zur Steuerung eines infizierten Systems zu senden. 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: Mit Firewalls und Webproxys können Richtlinien implementiert werden, um die externe Netzwerkkommunikation einzuschränken.

Allgemeine Empfehlungen zur Organisation von Maßnahmen zur Prävention und Erkennung von C2



• IDS / DLP-Systeme, die eine signaturbasierte Verkehrsanalyse verwenden, können verwendet werden, um bekannte spezifische C2-Tools und Schadprogramme zu erkennen und zu blockieren. Daher wird der Gegner höchstwahrscheinlich die im Laufe der Zeit verwendeten Tools ändern oder das Datenübertragungsprotokoll so konfigurieren, dass eine Erkennung durch ihm bekannte Mittel vermieden wird Schutz;

• Verwenden Sie Tools zum Schutz vor Virenendpunkten, um bekannte spezifische C2-Tools und Malware zu blockieren.

• Stellen Sie sicher, dass Hosts im internen Netzwerk nur über autorisierte Schnittstellen zugänglich sind.

• Begrenzen Sie den ausgehenden Datenverkehr, indem Sie nur die erforderlichen Ports an den Firewalls und Proxys über die entsprechenden Netzwerk-Gateways zulassen.

• Blockieren Sie Domänen und IP-Adressen bekannter C2-Infrastrukturen. Es ist jedoch zu beachten, dass dies keine wirksame und langfristige Lösung istGegner können oft die Infrastruktur von C2 ändern;

• Verwenden Sie Whitelist-Tools für Anwendungen, um die Installation und Ausführung von Software von Drittanbietern zu erschweren.

• Beschränken Sie mithilfe von Firewall, Anwendungsfirewalls und Proxys den ausgehenden Datenverkehr auf Websites und Dienste, die von bekannten RAS-Tools (TeamViewer, Go2Assist, LogMain, AmmyAdmin usw.) verwendet werden.

• Wenn Malware eine eigene Verschlüsselung mit symmetrischen Schlüsseln verwendet, können mithilfe des Reverse Engineering von Softwarebeispielen ein Algorithmus und ein Schlüssel zum Dekodieren des Netzwerkverkehrs und zum Identifizieren von Malware-Signaturen abgerufen werden.

• Überwachen Sie Aufrufe von API-Funktionen im Zusammenhang mit der Aufnahme oder Verwendung alternativer Kommunikationskanäle.

• Analysieren Sie den Netzwerkverkehr auf ICMP-Nachrichten oder andere Protokolle, die abnormale Daten enthalten oder im Netzwerk oder außerhalb des Netzwerks normalerweise nicht sichtbar sind.

• Analysieren Sie Netzwerkflüsse, um abnormale Flüsse zu identifizieren, z. B. wenn ein Client wesentlich mehr Daten sendet, als er von einem Server empfängt, oder wenn ein Prozess, der normalerweise kein Netzwerk verwendet, Netzwerkverbindungen öffnet.

• Analysieren Sie Netzwerkflüsse, um Pakete zu identifizieren, die nicht dem Protokollstandard für den verwendeten Port entsprechen.

Source: https://habr.com/ru/post/de449654/


All Articles