ToRat ist ein RAT (Remote Administration Tool), das Open Source ist und in Goentwickelt wurde. Es ist auf GitHubzu finden. Diese Malware ist in der Hacker-Szene weit verbreitet , da sie den enormen Vorteil bietet, über einen TOR-Onion-Servicezu kommunizieren. Es ist daher nicht erforderlich, einen Server zu installieren (oder zu hacken), um ein C2-System einzurichten, da man von den Funktionen des NAT-Traversals und der Anonymität profitiert, die TOR bietet (T1090.003). Mit nur einer einzigen Befehlszeile ist das Implantat bereit für die Installation und der Server dank der Verwendung von Docker -Containern bereits empfangsbereit!

Diese Art von RAT bietet daher enorme Vorteile in Bezug auf Einfachheit und Sicherheit. Die Funktionen umfassen: Persistenz, Datenzerstörung, Befehlsausführung, Dateiübertragung (Senden/Empfangen), Internetverbindungstest, Screenshots, Dateianzeige, Abruf von Betriebssysteminformationen sowie Netzwerk-Scans.

Was unternimmt TEHTRIS konkret gegen diese dringende Bedrohung?

Deobfuskierung: Das auf dem Zielrechner installierte Implantat ist obfuskiert mithilfe des Dienstprogramms Go Garbleund anschließend gepackt T1027.002 mit dem Dienstprogramm UPX. Dadurch bleibt es für viele Sicherheitssysteme unbemerkt, und das statische Auslesen der Konfiguration ist äußerst mühsam. Hierbei ermöglichen die Speicher-Introspektionsfunktionen der TEHTRIS Sandbox das Abfangen der Malware-Konfiguration direkt im Prozessspeicher, sobald diese entschlüsselt wird. Diese Technik macht manuelles Entpacken und Deobfuskieren überflüssig, indem die Mechanismen der TEHTRIS Sandbox voll ausgeschöpft werden.

Welchen Nutzen hat dies für den Analysten?: Analysten in SOCs können so auf die Konfiguration zugreifen, die es ihnen ermöglicht, spezifische Informationen über den laufenden Angriff effizient abzurufen: Zertifikate, öffentliche Schlüssel, Onion-Adresse , Domain. Das Extrahieren der Konfiguration schafft Gewissheit über die vorliegende Bedrohung und hilft, Fehlalarme zu vermeiden.

Technische Beschreibung (für Fachpublikum)

Die Malware wird zunächst mit go garble obfuskiert und anschließend wie im folgenden Schema gepackt:

DasCode, der für die Konfiguration im Implantat verantwortlich ist ist wie folgt; wir versuchen, den Inhalt der Server-Struktur abzurufen:

package client

import (
"crypto/rsa"
"crypto/x509"
_ "embed" // used for embedding the cert
"encoding/pem"
"log"
)

const (
serverPort string = ":1337"
)

type server struct {
cert *x509.Certificate
pubKey *rsa.PublicKey
addr string
domain string
}

var s server

//go:embed cert.pem
var serverCert []byte

// initServer gibt eine Struktur mit Zertifikat, Domain, öffentlichem Schlüssel und Adresse zurück
// zum Anwählen der Tor-Adresse des Quellservers
func initServer() {
serverBlock, _ := pem.Decode(serverCert)

cert, err := x509.ParseCertificate(serverBlock.Bytes)
if err != nil {
panic(err)
}

domain := cert.DNSNames[0]
log.Println("[initServer] Serverzertifikat initialisiert")

s = server{
cert: cert,
addr: domain + serverPort,
pubKey: cert.PublicKey.(*rsa.PublicKey),
domain: domain,
}
}

Strings in Go entsprechen den folgenden C-Strukturen:

Garble verschleiert den Kontrollstruktur jedoch nicht die Strukturen. Die Verwendung von Docker zum Kompilieren des Codes bietet dem Angreifer viele Vorteile, führt aber im Gegenzug zu einem sehr deterministischen Ergebnis. Da die erwartete Architektur x86_64 ist, lassen sich die Go-String-Strukturen, wie sie für diese Architektur typisch sind – mit dem Zeiger auf den String und dessen Länge –, grün markiert erkennen.

structstring{
const char *buffer;
size_t length;
}

Struktur im Arbeitsspeicher

Die Zeiger verweisen auf einen anderen Speicherbereich. Dieses Muster ist sehr charakteristisch und ermöglicht es, die Konfiguration mithilfe einiger Optimierungen, insbesondere durch Heuristiken zu den Eigenschaften der Speicherbereiche, schnell wiederzufinden.

Continue reading
Kontakt
Kontaktieren Sie Tehtris
Unser Team meldet sich schnellstmöglich bei Ihnen, um Ihre Herausforderungen in der Cybersicherheit zu besprechen und zu prüfen, wie wir Sie dabei unterstützen können.
Tehtris EDR : in Europa konzipiert, entwickelt und betrieben
Unsere Nachweise ansehen