Über das Threat Intelligence Processing Cycle-Modell
Der Begriff „Threat Intelligence Processing Cycle“ (F3EAD) stammt aus dem Militär. Es handelt sich um eine Methode zur Organisation von Ressourcen und zum Einsatz von Streitkräften, die von der US-Armee für Kommandeure auf allen Ebenen entwickelt wurde die wichtigsten Kampfwaffen. Das Cyber Emergency Response Center greift auf diese Methode zurück und verarbeitet Threat Intelligence-Informationen in den folgenden sechs Phasen:
Threat Intelligence Processing Cycle F3EAD
An einem bestimmten Tag eines bestimmten Monats alarmierte das auf dem öffentlichen Cloud-Server des Partners bereitgestellte „Onion“-System ein mutmaßliches Trojaner-Programm und fand es, sodass das Notfallteam schnell mit dem Notfallreaktionsprozess begann:
Beteiligte und Mit einem Klick versammelten sich andere in der Gruppe und nahmen Anrufe entgegen.
Das Opfersystem wird zur Untersuchung isoliert.
Das Sicherheitssystem und die Auditprotokolle werden zur Rückverfolgbarkeitsanalyse exportiert.
Informationen zur Geschäftssystemarchitektur und zum Code werden vorbereitet und die Einbruchsverletzungen und betroffenen Bereiche werden analysiert.
Trojaner-Workflow
2.3 Hauptfunktionen jedes Teils des Trojaners1. rmgr.ko
rootkit verwendet das gemeinsame LKM-Kernelmodul. Die wichtigsten Vorgänge nach dem Laden dieses Rootkits sind unten aufgeführt. ?? ase die Operation am Trojaner-Prozess;
3) Die von der oben genannten KP-Struktur registrierte Verarbeitungsfunktion, fake_seq_path, wird verwendet, um die verknüpfte Liste des Kernel-Prozesses zu entfernen;
4) Wenn das System „/proc/net“ liest /tcp“-Datei wird sie von fake_seq_show verarbeitet, um die Trojaner-Netzwerkverbindung zu löschen;
5) vfs_readdir in fake_sys_getdents patchen, um alle Informationen im Zusammenhang mit dem Trojaner zu löschen;
6) Wenn das System mit dem Trojaner in Zusammenhang steht Auf Dateien wird zugegriffen, sie werden von fake_filldir verarbeitet und das korrekte Ergebnis wird basierend darauf bestimmt, ob der Aufrufer ein Trojanisches Pferd betreibt
7) Löschen Sie sich selbst in der verknüpften Liste des Kernelmoduls und kobject_del löscht seinen eigenen Kernel Objekt;8) kthread_create erstellt Kernel-Thread dot_thread
Kernel-Modul-Selbststart erstellen /etc/sysconfig/modules/ati_remote3.modules
Kernel-Moduldatei schreiben /lib/modules/%s/ kernel/drivers/input/misc/ati_remote3.koGeben Sie die Datei rmgr_fake_libc.so auf der Festplatte freiGeben Sie die rmgr_daemon-Datei auf der Festplatte frei und führen Sie sie über call_usermodehelper_exec mit dem Prozessnamen „[khelper]“ aus.
2. rmgr__fake_libc.so
Diese gemeinsam genutzte Bibliotheksdatei wird vom Kernel-Rootkit freigegeben und auf die Festplatte geschrieben. Der Pfad lautet /tmp/.tmp_{21 zufällige alphanumerische Zeichen} und wird für den Benutzer verwendet -Mode-Prozess des Trojaner-Verhaltens wird ausgeblendet.
Die Funktion mit dem Präfix „Subhook“ ist ein Auszug aus dem Open-Source-Code (Anhang 2). Weitere Informationen zu den Funktionen finden Sie in diesem Artikel.
Gefälschte Funktionen mit Präfix werden hauptsächlich zur Bekämpfung allgemeiner HIDS-Prozesse verwendet, und Befehlsdatensätze werden direkt über Syscall aufgerufen, ohne die Glibc-Kapselung zu verwenden, wodurch ein Einhängen von Glibc-HIDS vermieden wird.
fake_bash_add_history deaktiviert die Bash-Befehlsüberwachungsfunktion.
3. rmgr_daemon
Dieser Prozess wird von rmgr.ko freigegeben und auf die Festplatte geschrieben, und der Pfad ist /tmp/.tmp_{21 zufällige alphanumerische Zeichen}. upx wurde in C++ entwickelt und wird nach der Kompilierung gepackt und komprimiert. Sie können die Open-Source-Software upx -d rmgr_daemon direkt zum Entpacken verwenden, ohne dass eine spezielle Verarbeitung erforderlich ist.
Seine Hauptfunktionen sind:
1) Überwachung des Kernel-Modulstatus und Interaktion mit Kernel-Rootkit-Informationen;
2) Aktualisierung;
3) Generieren von rmgr_fake_sshd, patchELF und Ändern abhängiger dynamischer Bibliotheken, d. h. Hinzufügen von rmgr_fake_libc. die Funktion ist also wie oben erwähnt;
Den Pfad vom Kernel abrufen
patch ELF
4) Mit C2 verbinden hm2.yrnykx.com;5) rmgr_fake_sshd verwalten;
wo patchELF Der Code ist ein Auszug aus GitHub - NixOS/patchelf (Anhang 3)
4. rmgr_fake_sshd
Die Datei wird von rmgr_daemon auf die Festplatte geschrieben, der Pfad ist /tmp/.tmp_{21 zufällige alphanumerische Zeichen}, und sein Betrieb wird von rmgr_daemon verwaltet.
Als Hintertür verfügt es über einen fest codierten PRIVATEN SCHLÜSSEL, wie unten gezeigt:Da einige Funktionen über patchELF eingebunden sind, sind die Befehlsausführung und andere Verhaltensweisen nach der SSH-Anmeldung verborgen. Der rmgr_fake_sshd selbst sowie die vom SSH-Login abgeleiteten untergeordneten Prozesse werden durch Patch-Kernel-Aufrufe, die auf der oben genannten Analyse basieren, durch rmgr.ko ausgeblendet.
rmgr_fake_sshd lädt beim Start die fest codierte sshd_config. Bitte achten Sie auf mehrere Schlüsselkonfigurationen.Überwachen Sie den lokalen Port 26657, und rmgr_daemon stellt eine Verbindung zu diesem Port her, um den SSH-Befehl von C2 weiterzuleiten. Hier werden gängige Netzwerkprotokolle zur Anpassung an Geschäftsumgebungen implementiert, sodass die Erkennungslogik herkömmlicher NIDS umgangen wird.
Schritt 3: Eliminieren
Durchbruchsverstärkung, Patch-Update und ACL-Verstärkung.
Betriebs- und Wartungskanal, altes Konto deaktivieren, Serverkonto im Angriffslink ändern und Zwei-Faktor-Authentifizierung aktivieren. Beschränken Sie den zugänglichen Systembereich basierend auf Benutzerrollen. Das System des Opfers erstellt einen Dump, um das Image der virtuellen Maschine für weitere Untersuchungen zu speichern. Installieren Sie das Opfersystem neu und stellen Sie die Geschäftsumgebung erneut bereit. Das Laden eines neuen Systemkernelmoduls erfordert eine Signaturüberprüfung. Schritt 4: Verwenden Sie
1. iocs
1) md5:
7d859a22f38f0bcd55a46bc8b67c40df
fa73b2fd914a0cfd5e7d3161af903b6c
2) c2:
hm2.yrnykx.com
2. ttps
Wie aus den TTPs im vorherigen Abschnitt hervorgeht, kann die Angriffsmatrix nicht alle Verschleierungsmethoden vollständig abdecken, die dieser Trojaner zur Bekämpfung des Sicherheitssystems verwendet.
Eine grobe Klassifizierung seiner Verschleierungsmethoden (Prozess, Netzwerk, Datei) umfasst:
Die Dimension der Konfrontation zwischen Trojanern und SicherheitssystemenC2 vermeidet die NIDS-Erkennung durch fake_sshd;
umgeht Hook-Libc-Befehlsprüfung HIDS durch patchELF;
Modify Die Rückgabe von Dateiinformationen durch das System unter /proc durch den Patch seq_show, um Trojaner-bezogene Dateien, Prozesse und Netzwerkverbindungsinformationen zu verbergen.
Verstecken Sie Trojaner-Dateien durch den Patch vfs_readdir Rookit-Erkennungstools verhindern, dass Spuren von Trojanern im Kernel entdeckt werden.
Es ist ersichtlich, dass dieses Trojaner-Paket viele technische Details zur Bekämpfung des Sicherheitssystems enthält, es jedoch hauptsächlich auf einige alte HIDS abzielt, die auf dem Markt und nach dem Vorfall bekannt sind Umfragetools zur Beweiserhebung. Es kann weiterhin durch vom Kernel-Modus-Prozess abgeleitete Systemaufruf-Hooks und inotify+Cloud-Scans entdeckt werden.
Ein vollständiges Trojaner-System kann nicht nur aufgrund eines Eindringens entwickelt werden und wird unweigerlich auf viele Open-Source- oder Familiencodes zurückgreifen. Unter dem Gesichtspunkt der Rückverfolgbarkeit können wir daher Code-„Archäologie“-Arbeiten durchführen und gleichzeitig relevante Codestile und Trojaner-Verhalten in die Funktionsbibliothek des Sicherheitssystems integrieren. Aus Platzgründen werden wir hier nicht näher darauf eingehen.
Schritt 6: VerbreitenVon der kalten Intelligenz über die Implementierung bis hin zur Verbesserung der Sicherheitsfähigkeiten unserer Sicherheitssysteme ist dies der wahre Wert der Bedrohungsintelligenz.
Das obige ist der detaillierte Inhalt vonSo analysieren Sie APT-Trojaner anhand des Threat-Intelligence-Cycle-Modells. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!