


So analysieren Sie APT-Trojaner anhand des Threat-Intelligence-Cycle-Modells
Ü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
Anwendung des Threat Intelligence Processing Cycle Model
Schritt 1: Finden
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.
Schritt 2: Positionierung eine weitere *.ko-Datei im Schaddateiverzeichnis. Diese Datei wird von einem anderen Server über scp übertragen.
Es ist ersichtlich, dass der Angreifer zunächst die Berechtigungen eines anfälligen Servers einholt und dann die SCP-Trojanerdatei auf Maschinen überträgt, auf die über den gefährdeten Server zugegriffen werden kann, einschließlich des aktuellen Opfercomputers, und Steuerelemente installiert. Als Nächstes konzentrieren wir uns auf die Analyse dieses Satzes von Trojaner-Dateien (Anhang 1) und geben ihm vorübergehend den Namen „Backdoor:Linux/Rmgr!rookit“, wobei „rmgr“ von multiple kommt Funktionen im Trojaner-Code Das Präfix rmgr wird verwendet. 2.1 Trojanische Dateien Von der Implantation bis zur Operation, einschließlich möglicher Folgeschritte, nutzen Infiltrationsaktivitäten verschiedene Techniken, um sich zu verstecken, und sind ohne ein Sicherheitssystem schwer zu erkennen. Gleichzeitig hat dieser Trojaner auch viele Konfrontationen verursacht, und herkömmliche Sicherheitsüberwachungsfunktionen können ihn möglicherweise nicht erkennen. Eine kurze Beschreibung seines laufenden Prozesses lautet wie folgt: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;
Kernel-Modul-Selbststart erstellen /etc/sysconfig/modules/ati_remote3.modules
Geben 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
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.
Ü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
Dies bezieht sich hauptsächlich auf die Verstärkung, um zu vermeiden, dass man mit der gleichen Methode angegriffen wird. Die spezifischen Methoden sind wie folgt:
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
, um die Notfallreaktionsarbeit abzuschließen. Nach der Analyse des Vorfalls und der Dokumente werden die aus dem gesamten Vorfall extrahierten Schlüsselinformationen in Bedrohungsinformationen umgewandelt. In diesem Artikel wird der Inhalt des Threat-Intelligence-Pyramidenmodells auf zwei Teile reduziert: iocs und ttps werden mithilfe des att&ck-Matrixmodells zusammengefasst. Bedrohungsintelligenz-Pyramidenmodell
1. iocs
1) md5:
7d859a22f38f0bcd55a46bc8b67c40df
fa73b2fd914a0cfd5e7d3161af903b6c
2) c2:
hm2.yrnykx.com
2. ttps
Schritt 5: Analyse
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.
Spread ist der Artikel selbst.
ZusammenfassungTatsächlich kann die tatsächliche Reihenfolge der Reaktion auf Vorfälle und des Bearbeitungsprozesses nicht vollständig mit dem oben genannten Prozess übereinstimmen. Nach Abschluss des gesamten Prozesses ist der Autor jedoch der Ansicht, dass die Behandlung von Sicherheitsvorfällen als erfolgreicher Abschluss angesehen werden kann. Tatsächlich legt der F3EAD-Prozess mehr Wert auf die Analyse als auf die Anwendung von Informationen (Verbesserung der Fähigkeiten zur Sicherheitsabwehr), insbesondere auf die wiederholten Iterationen in der „Analyse“-Phase.
Die Analysephase (Iteration) des F3EAD-ZyklusVon 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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Online-Daten auf ZoomEye befinden sich im Überschreib- und Aktualisierungsmodus. Das heißt, wenn beim zweiten Scan keine Daten gescannt werden, werden die aktualisierten Daten nicht überschrieben. Die beim ersten Scan erhaltenen Daten auf ZoomEye bleiben erhalten Hier gibt es tatsächlich eine gute Szene in der Rückverfolgbarkeit dieser Art von böswilligen Angriffen: Die Download-Server, die von böswilligen Angriffen wie Botnet, APT und anderen Angriffen genutzt werden, werden in der Regel direkt deaktiviert und aufgegeben, nachdem sie entdeckt wurden. Natürlich werden einige gehackt Ziele, und sie sind auch sehr gewalttätig. Daher ist es wahrscheinlich, dass viele Angriffsseiten von ZoomEye online zwischengespeichert werden. Natürlich können Sie mit den in der ZoomEye-Verlaufs-API bereitgestellten Daten die Anzahl der Banner abfragen, die bei jedem Scan erhalten wurden, unabhängig davon, ob Sie ihn abdecken oder nicht.

Im Allgemeinen werden bekannte Linux-Systeme grundsätzlich in zwei Kategorien unterteilt: RedHat-Serie: Redhat, Centos, Fedora usw.; Debian-Serie: Debian, Ubuntu usw. yum (YellowdogUpdater, Modified) ist ein Shell-Front-End-Paketmanager in Fedora, RedHat und SUSE. apt (AdvancedPackagingTool) ist ein Shell-Front-End-Paketmanager in Debian und Ubuntu. Übersicht Im Allgemeinen werden die bekannten Linux-Systeme grundsätzlich in zwei Kategorien unterteilt: RedHat-Serie: Redhat, Cento

Ü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 Truppen, die von den Kommandeuren der US-Armee auf allen Ebenen der Hauptkampfwaffen entwickelt wurde. Das Network Emergency Response Center greift auf diese Methode zurück und verarbeitet Bedrohungsinformationen in den folgenden sechs Phasen: Verarbeitungszyklus für Bedrohungsinformationen Anwendung des F3EAD-Zyklusmodells für die Verarbeitung von Bedrohungsinformationen Schritt 1: Finden Sie das Datum eines bestimmten Monats und stellen Sie es auf der öffentlichen Seite des Partners bereit Cloud-Server Der Systemalarm „Onion“ fand ein mutmaßliches Trojaner-Programm, sodass das Notfallteam schnell mit dem Notfallreaktionsprozess begann: Stakeholder und andere versammelten die Gruppe mit einem Klick und riefen an. Das Opfersystem wird zur Untersuchung isoliert. Das Sicherheitssystem und die Auditprotokolle werden zur Rückverfolgbarkeitsanalyse exportiert. Vorbereitung der Geschäftssystemarchitektur und codebezogener Informationen zur Analyse von Einbruchsverletzungen und Opfern

Um PHP8 auf dem Deepin-System zu installieren, können Sie die folgenden Schritte ausführen: Aktualisieren Sie das System: Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um die Systempakete zu aktualisieren: sudoaptupdatesudoaptupgrade Ondřej SurýPPA-Quelle hinzufügen: PHP8 kann über die Ondřej SurýPPA-Quelle installiert werden. Führen Sie den folgenden Befehl aus, um die Quelle hinzuzufügen: sudoaptinstallsoftware-properties-commonsudoadd-apt-repositoryppa:ondrej/php Aktualisieren Sie die Paketliste: Führen Sie den folgenden Befehl aus, um die Paketliste zu aktualisieren, um PHP in die PPA-Quelle zu erhalten

Ändern Sie die apt-get-Quelle von Ubuntu manuell. 1. Verwenden Sie das SSH-Tool, um eine Verbindung zu Ubuntu herzustellen (ich verwende xshell). 2. Geben Sie cd/etc/apt/3 in die Befehlszeile ein und sichern Sie die Datei „source.list“ in diesem Verzeichnis (Sie müssen sudo-Berechtigungen haben), dann gibt es eine Datei „source.list.bak“ 4. Löschen Sie den Inhalt der Datei „source.list“ (Hinweis: Er kann nach dem Löschen nicht wiederhergestellt werden, daher müssen Sie den vorherigen Schritt ausführen, um die Datei zu sichern Verwenden Sie zu diesem Zeitpunkt sudo, um anzuzeigen, dass die Berechtigungen nicht ausreichen. Wechseln Sie direkt zum Root-Benutzer und führen Sie diesen Befehl aus. 5. Öffnen Sie source.list mit der Taste i, und fügen Sie die Datei ein Geben Sie die zu ändernde Quelladresse ein und drücken Sie dann

MySQL 5.7 kann über das offizielle MySQL APT-Repository installiert werden. Im Folgenden sind die Schritte aufgeführt, um MySQL5.7 über das offizielle APT-Repository auf dem Ubuntu20.04-System zu installieren: Fügen Sie das MySQLAPT-Repository hinzu: wgethttps://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.debsudodpkg- imysql -apt-config_0.8.17-1_all.deb Während des Installationsvorgangs sehen Sie eine Konfigurationsoberfläche. Wählen Sie die MySQLServer-Version 5.7 aus und schließen Sie dann die Konfiguration ab. Paketliste aktualisieren: sud

Das Folgende ist ein Tutorial zum Kompilieren und Installieren von Docker auf dem Ubuntu18.04-System: Deinstallieren Sie die alte Version von Docker (falls bereits installiert): sudoaptremovedockerdocker-enginedocker.iocontainerdrunc Systempakete aktualisieren: sudoaptupdatesudoaptupgrade Docker-Abhängigkeiten installieren: sudoaptinstallapt-transport-httpsca-certificatescurlsoftware- Properties-commonOffizieller Docker-GPG-Schlüssel hinzufügen: curl-

yum ist der Paketmanager in den Distributionen der RedHat-Serie (wie RHEL und CentOS), während Ubuntu einen anderen Paketmanager namens apt (AdvancedPackageTool) verwendet. In Ubuntu-Systemen können Sie den Befehl apt zum Verwalten von Softwarepaketen verwenden. Im Folgenden sind die grundlegenden Schritte zum Installieren von Paketen im Ubuntu-System aufgeführt: Paketindex aktualisieren Bevor Sie einen Installationsvorgang durchführen, führen Sie zunächst den folgenden Befehl aus, um den Paketindex zu aktualisieren: sudoaptupdate Installieren eines Pakets Verwenden Sie den folgenden Befehl, um ein bestimmtes Paket zu installieren: sudoaptinstallpackage_name wird „Paketname&“ #822
