Die Geographie der Angriffe der TA505-Gruppe für 2019Unser Team von Threat Intelligence-Analysten vom
PT Expert Security Center überwacht seit sechs Monaten Cyberkriminelle von TA505. Das Interessengebiet der Angreifer ist finanziell und die Ziele befinden sich in Dutzenden von Ländern auf verschiedenen Kontinenten.
Für welche Gruppe ist TA505 bekannt?
Diese Gruppe von Angreifern hat eine
reiche Geschichte : Seit 2014 haben sie den Banking-Trojaner Dridex, das Neutrino-Botnetz sowie eine ganze Reihe von Kryptographen aufgelistet - Locky, Jaff, GlobeImposter usw.
Die Aktivitäten der Gruppe wurden weltweit aufgezeichnet - von Nordamerika bis Zentralasien. Hinweis: Wir haben vereinzelte Fälle von böswilligen TA505-Gruppierungen in Russland registriert, aber es gibt allen Grund zu der Annahme, dass die Angreifer keine Ziele in unserem Land hatten und die Mailings zufälliger Natur waren.
Trotz der vorwiegend finanziellen Motivation des Konzerns gab es in den letzten sechs Monaten unter seinen Zielen Forschungsinstitute, Organisationen der Energiewirtschaft, des Gesundheitswesens, Luftfahrtunternehmen und sogar des öffentlichen Sektors.
Verteilung der TA505-Angriffe nach Branchen für 2019Im Folgenden finden Sie ein Beispiel für eine Phishing-E-Mail mit schädlicher Software, die von der Gruppe entwickelt und anhand der E-Mail-Adresse an das britische Auswärtige Amt gerichtet wurde.

Seit dem Frühjahr 2018 verwendet die Gruppe das Remote Access Tool FlawedAmmyy und seit Ende des Jahres die neue ServHelper-Hintertür. TA505 - einer der wenigen, der sich lange Zeit einer kräftigen Aktivität rühmen kann. Darüber hinaus bringen sie mit jeder neuen Angriffswelle interessante Änderungen an ihren Werkzeugen mit sich.
TA505 Group Discovery Dynamics nach Monaten für 2019Natürlich bleibt eine solch ausgelassene Aktivität nicht unbemerkt: Es gibt viele Veröffentlichungen unserer Kollegen von
Proofpoint ,
Trend Micro ,
Yoroi und nicht nur über bösartige Techniken und Malware. Viele interessante Details werden jedoch ignoriert:
- Gruppenkennung PE-Packer;
- eine Variante der ServHelper-Hintertür, bei der der Schwerpunkt nicht auf der eigenen Funktionalität liegt, sondern auf der vorgefertigten und bekannten Implementierung von NetsupportManager;
- Netzwerkinfrastruktur: charakteristische Registrare, Hoster, einschließlich Schnittstellen mit der Infrastruktur der Buhtrap-Gruppe;
- andere VPO-Gruppen, die zuvor nicht beschrieben wurden.
Dieser Artikel ist der erste in einer Reihe unserer Beiträge zu TA505.
Teil Eins Treffen Sie sich per Paket
Mitte Juni 2019 stellten wir fest, dass sich die nächsten FlawedAmmy-Malware-Downloader erheblich von früheren Versionen unterscheiden: Beispielsweise änderte sich die visuelle Darstellung des Programmcodes im Hexadezimal-Editor und wurde sogar zu einem Merkmal mehrerer entnommener Beispiele:
ASCII-Darstellung des ProgrammcodesEine schnelle Analyse des Codes ergab, dass wir einen unbekannten Packer ausführbarer Dateien vor uns haben. Später stellte sich heraus, dass dieser Packer nicht nur die oben genannten Lader abdeckte, sondern auch andere Proben der HPE-Gruppe, einschließlich der Nutzlast. Dann haben wir uns entschlossen, die Dekomprimierungslogik im Detail zu untersuchen, um das Zielobjekt automatisch zu extrahieren.
Schicht 1. Twisted XOR
Dem Schlüsselteil des Auspackers geht eine Fülle nutzloser Anweisungen voraus. Virenschreiber greifen häufig auf eine solche Technik zurück, um Emulatoren von Antivirenprodukten zu verwirren. Alle interessanten Dinge beginnen mit der Zuweisung von Speicher für einen Puffer der Größe 0xD20 mit der WinAPI-Funktion VirtualAllocEx. Der Speicher wird mit den Berechtigungen PAGE_EXECUTE_READWRITE zugewiesen, mit denen Sie Code schreiben und ausführen können.
Start des Unpacker-InhaltsDer Datenabschnitt der untersuchten Datei enthält ein Array von Daten, die die Entschlüsselungsprozedur durchlaufen, und das Ergebnis wird in den zugewiesenen Speicher geschrieben. Entschlüsselungsalgorithmus:
- 4 Bytes als Ganzzahl interpretieren,
- subtrahieren Sie die Seriennummer
- Führen Sie eine XOR-Operation mit einer bestimmten Konstante aus.
- Führen Sie eine zyklische bitweise Verschiebung nach links um 7 Einheiten durch.
- Führen Sie die XOR-Operation erneut mit der angegebenen Konstante aus.
Dekodierung der ersten SchichtWir bezeichnen diesen Algorithmus mit der Abkürzung
SUB-XOR-ROL7-XOR , um später darauf Bezug zu nehmen.
Nach dem Entschlüsselungsvorgang werden die Variablen nacheinander initialisiert. Dies kann als Ausfüllen einer Struktur in C im folgenden Format dargestellt werden:
struct ZOZ { HMODULE hkernel32; void *aEncodedBlob; unsigned int nEncodedBlobSize; unsigned int nBlobMagic; unsigned int nBlobSize; };
wo:
- hkernel32 - Bibliotheksdeskriptor kernel32.dll;
- aEncodedBlob - Zeiger auf den codierten Datenblock, den wir erwähnt haben, als wir auf die visuelle Ähnlichkeit der obigen Beispiele verwiesen haben;
Codierter Datenblock- nEncodedBlobSize - 4-Byte-Größe des codierten Datenblocks;
- nBlobMagic - 4-Byte-Konstante vor dem Datenblock, auf die wir später zurückkommen werden;
- nBlobSize - 4-Byte-Größe des decodierten Datenblocks;
Wir haben die
ZOZ- Struktur genannt (dies ist "505" auf
leetspeak ).
Füllen Sie die ZOZ-StrukturInfolge der beschriebenen Aktionen wird die Codeausführung in den entschlüsselten Puffer umgeleitet (jetzt besteht kein Zweifel mehr, dass die entschlüsselten Daten ausführbarer Code sind), und der Zeiger auf die gefüllte Struktur wird als Funktionsparameter übergeben:
Aufrufen des entschlüsselten Codes mit der als Argument übergebenen " ZOZ " -Struktur
Zerlegter entschlüsselter CodeSchicht 2. Je kleiner desto besser
Nach der Übertragung der Steuerung auf den entschlüsselten Code müssen zunächst die Adressen der WinAPI-Funktionen GetProcAddress, VirtualQuery, VirtualAlloc, VirtualProtect, VirtualFree und LoadLibraryA ermittelt werden. Diese Liste findet sich häufig in der Arbeit von Shell-Codes: Schließlich müssen sie den Speicher für den anschließenden Start der Nutzdaten vorbereiten und korrekt füllen.
Nach Abschluss der vorbereitenden Prozeduren wird der übertragene codierte Datenblock abgeschnitten: Von fünf Bytes werden die ersten beiden verworfen und die verbleibenden drei werden gespeichert:
Reduzierung codierter DatenblöckeDann wird die Entschlüsselungsprozedur durchgeführt, die wir
SUB-XOR-ROL7-XOR genannt haben . In diesem Fall wird als Konstante für die XOR-Operation ein anderer nBlobMagic-Wert verwendet, der in der
ZOZ- Struktur übergeben wurde.
Wiederverwendung von SUB-XOR-ROL7-XORDanach wird das resultierende Array an eine Funktion übertragen, in der eine Reihe komplexerer Transformationen stattfindet. Anhand der charakteristischen Werte der Konstanten lässt sich leicht feststellen, dass dies die
Implementierung des beliebten PE-Wrappers FSG (Fast Small Good) ist. Es ist merkwürdig, dass die Originalversion des FSG-Packers PE in Abschnitte komprimiert und die Implementierung des Algorithmus in unserem Fall mit PE als Ganzes funktioniert.
FSG Packer-ImplementierungZu diesem Zeitpunkt ist die entpackte PE-Zieldatei zur weiteren Analyse bereit. Der Rest des Shellcodes überschreibt das ursprüngliche PE im Adressraum mit der entpackten Version und führt es korrekt aus. Es ist interessant festzustellen, dass beim Anpassen des Einstiegspunkts eines geladenen Moduls Strukturen in PEB manipuliert werden. Warum Angreifer beschlossen haben, den Kernel32-Deskriptor aus der Logik der ersten Schicht weiterzuleiten, anstatt ihn mit denselben PEB-Strukturen abzurufen, ist unbekannt.
Überschreiben des Werts des Einstiegspunkts des geladenen Moduls in PEBFazit
Also, der Algorithmus zum Entpacken der Nutzlast:
- Shell-Code-Decodierung mit SUB-XOR-ROL7-XOR,
- Ausfüllen der ZOZ-Struktur und Aufrufen des Shellcodes,
- Reduzierung der Nutzlast um fünf bis drei,
- Nutzlastdecodierung mit SUB-XOR-ROL7-XOR,
- Dekompressionspacker FSG.
Während der Entwicklung der Malware änderte sich die Logik: Beispielsweise wurde die Anzahl der zyklischen Verschiebungen des SUB-XOR-ROL7-XOR-Algorithmus (im betrachteten Fall sieben) um fünf, neun geändert, die Packer-Version für die x64-Plattform wurde veröffentlicht usw. Der einzigartige Cybercriminal Packer ist ausgezeichnet Epigraph zu zukünftigen Erzählungen über die Werkzeuge und Funktionen des TA505.
In den folgenden Artikeln werden wir darüber sprechen, wie sich die TA505-Tools im Verlauf der letzten Angriffe entwickelt und verändert haben, über die Interaktion der Teilnehmer mit anderen Cybergruppen und die zuvor nicht berücksichtigten Malware-Modelle untersuchen.
Autoren : Alexey Vishnyakov und Stanislav Rakovsky, Positive Technologies
IOCs
b635c11efdf4dc2119fa002f73a9df7b
-
b635c11efdf4dc2119fa002f73a9df7b
Loader
b635c11efdf4dc2119fa002f73a9df7b
71b183a44f755ca170fc2e29b05b64d5
-
71b183a44f755ca170fc2e29b05b64d5
entpackter Bootloader