DEFCON-Konferenz 27. Profitieren Sie von Hacker-Produkten für macOS. Teil 1

Briefing-Reden . Immer wenn ein neues Beispiel für Malware für macOS entdeckt wird, haben wir die Möglichkeit, neue Hacking-Möglichkeiten zu evaluieren, die wir zu unserem eigenen Vorteil nutzen können. Ich meine, das Leben ist kurz, warum sollte man es damit verbringen, eigene Malware zu schreiben?

Wir beginnen diese Diskussion mit der Erörterung einer Methode zur Anpassung an den „persönlichen Gebrauch“ vorhandener Malware, wobei sowohl die Nachteile als auch die Vorteile dieses Ansatzes hervorgehoben werden. Anschließend werden verschiedene Malware-Beispiele für macOS bewaffnet, darunter eine interaktive Hintertür, ein Implantat zur Exfiltration von Dateien, Ransomware und sogar Adware. Unsere Einstellungen umfassen verschiedene binäre Änderungen der Laufzeit, die diese Schadprogramme dazu zwingen, Aufgaben von unseren eigenen C & C-Servern anzunehmen und / oder automatisch Aktionen in unserem Namen auszuführen.



Natürlich werden diese Proben jetzt in ihrem ursprünglichen Zustand von Antivirenprodukten nachgewiesen. Daher werden wir Änderungen in Betracht ziehen, die die Unsichtbarkeit unserer "Hacker" -Tools für herkömmliche Antivirenprogramme sicherstellen.

Zusammenfassend betrachten wir neue heuristische Methoden, die solche Bedrohungen weiterhin erkennen können, um Mac-Benutzer auch vor solchen modifizierten Bedrohungen zu schützen. Warum wird das benötigt? Weil dies ein normaler Zyklus menschlicher Entwicklung ist und wir einfach nicht erkennen, dass die Zerstörung, die wir sehen, die Einführung neuer Technologien bedeutet, die vor der Schaffung neuer Arbeitsplätze alte zerstören.
Grüße an alle, heute werden wir das Thema der Schaffung von "Massenvernichtungswaffen" auf der Basis von MacOS-Hacking-Produkten diskutieren. Mein Name ist Patrick, ich bin ein Synack-Analyst bei Digital Security und ich bin auch der Schöpfer der Mac-Sicherheitswebsite und der kostenlosen Objective-See-Sicherheitssuite für macOS.

Wir werden darüber sprechen, die Malware anderer Leute für ihre eigenen geheimen Zwecke neu zu erstellen, und ich werde erklären, warum dies eine großartige Idee ist. Dann werde ich zeigen, wie genau verschiedene Beispiele von Malware für Mac neu erstellt werden, und da wir möchten, dass unsere Exploits sowohl für die integrierten Antiviren-Dienste von Apple als auch für Antivirensoftware von Drittanbietern unsichtbar bleiben. Am Ende werden wir uns mit verschiedenen gängigen Techniken zur Erkennung dieses überarbeiteten Softwareprodukts befassen, da unser oberstes Ziel darin besteht, sicherzustellen, dass Mac-Benutzer vor solchen Bedrohungen geschützt sind.

Beginnen wir mit einem Schema, das den Prozess der Wiederverwendung von Malware für Ihre eigenen Anforderungen konzeptionell erklärt.



Stellen Sie sich vor, Hacker A hat sorgfältig hochentwickelte Malware mit vollem Funktionsumfang entwickelt und sie mit verschiedenen Computersystemen auf der ganzen Welt infiziert. Hacker B hat es geschafft, diese Malware versehentlich zu erreichen oder sie aus einem infizierten System zu extrahieren. Dieser Hacker legt eine Probe dieses Produkts in sein Labor und legt die Unterlagen ab. Wenn wir über das Neuprofilieren sprechen, meinen wir, einige der vorhandenen Malware entsprechend Ihren Anforderungen neu zu gestalten oder zu konfigurieren.

Die Folie zeigt, dass Hacker B diese Software nach der Änderung gegen neue Ziele einsetzen kann, gegen eine andere Infrastruktur als die, für die sie von Hacker A entwickelt wurde. Dies ist eine ziemlich vernünftige Idee. Sie fragen sich vielleicht, warum dies notwendig ist, aber wir können mindestens zwei Gründe nennen, warum sich dies lohnt.



Erstens gibt es gut finanzierte Organisationen, hochmotivierte und technisch bewaffnete Gruppen, Hacker, die für Regierungsbehörden wie die CIA arbeiten, und ganze wissenschaftliche Labors, die unglaublich bösartige Software entwickeln. Darüber hinaus wurde diese voll ausgestattete Software vor Ort wiederholt getestet.

Da ich ziemlich faul bin und anstatt zu programmieren, mich lieber am Strand suhlen, surfen oder Yoga machen möchte, dachte ich: Da diese Leute eine so effektive Hacker-Software erstellen, warum sie nicht verwenden und für Ihre Bedürfnisse neu erstellen? Lassen Sie diejenigen, die mehr Zeit und Geld haben, die ganze harte Arbeit für mich tun.

Zweitens, wenn jemand unsere konvertierten Programme findet, wird seine Urheberschaft immer noch den ursprünglichen Entwicklern und nicht uns zugeschrieben, und das ist sehr gut. Sie könnten fragen: "OK, Patrick, wenn dies eine so coole Idee ist, warum haben die Leute das noch nicht getan?" Ich werde antworten: "Sie machen das!" Ich kann nichts speziell kommentieren, aber die öffentlich zugänglichen Folien zeigen, dass die NSA das Neuprofilieren von Malware verwendet hat, um die Schwachstellen beliebter Antivirenprogramme zu testen. Die New York Times berichtete, dass chinesische Hacker ebenfalls eine ähnliche Technik anwenden.

Die Verwendung einer überarbeiteten Hacker-Software verschafft diesen wohlhabenden Agenturen einen doppelten Vorteil. Erstens verwenden sie in anderen Ländern entwickelte Spyware gegen die Ziele, dass eine andere Agentur, ein anderes Land oder eine Cyberspionage-APT-Gruppe bereits mit geringem Risiko arbeitet. Wenn Sie beispielsweise in der NSA arbeiten und in ein Objekt hacken, das andere Hacker bereits ausführen, aber dort keinen eigenen Code einfügen möchten, können Sie sicher überarbeitete Software von Drittanbietern verwenden. Gleichzeitig bleibt Ihre Aktivität geheim, da es bereits diejenigen gibt, die dies überhaupt verdächtigen.



Da solche Agenturen es vorziehen, heimlich zu arbeiten, sind sie nicht daran interessiert, dass jemand etwas über ihre Beteiligung an solchen Angelegenheiten erfährt, und überarbeitete Software trägt dazu bei. Natürlich treten Probleme bei der Änderung von Hacker-Programmen auf, über die wir heute sprechen werden.



Aber wir werden sehen, dass diese Probleme nicht unüberwindbar sind. Angenommen, wir haben ein Stück Malware eines anderen zum Remake übernommen. Erstens haben wir keinen Quellcode, es gibt nur ein Beispiel für Binärcode, daher müssen wir Reverse Engineering verwenden. Ich nenne dies die Phase der Analyse, in der wir versuchen zu verstehen, was diese Software tut, wie sie implementiert ist, wie sie installiert ist, welche Funktionen sie hat und natürlich herausfinden, mit welchem ​​C & C-Server sie kommuniziert.

Nachdem wir uns mit all dem befasst haben, beginnt die zweite Phase - herauszufinden, wie Sie diese Malware patchen können. Da wir keine Quelle haben, entwickeln wir einen Patch auf Binärebene.

Da diese Software in den meisten Fällen mit ihrem eigenen C & C-Server interagiert, erfahren wir, wie sie herausfindet, woher die Adresse dieses Servers stammt und welches Protokoll für den Datenaustausch verwendet wird. Erst danach können Sie Ihren eigenen C & C-Server erstellen, auf dem die überarbeitete Software bereitgestellt wird, um von dort aus mit dem neuen infizierten System zu interagieren.

Da wir bekannte Malware verwenden, weisen Apple oder andere Antivirensicherheitssysteme höchstwahrscheinlich Signaturen für diese Bedrohung auf. Daher müssen wir in der letzten Phase der Neuprofilierung herausfinden, wie die Erkennung von überarbeiteter Software verhindert werden kann.

Das Re-Profiling muss sehr verantwortungsbewusst angegangen werden, wenn nicht wirklich schlimme Dinge passieren sollen.



Lassen Sie mich Ihnen ein Beispiel geben, wie wir versucht haben, eine Malware für macOS neu zu erstellen. Während des Patch-Vorgangs haben wir vergessen, die Sicherungsadresse in den Hacker-C & C-Server zu ändern. Wir waren uns sicher, dass wir einen vollständig überarbeiteten Teil der Malware verwenden, aber irgendwann haben wir ein Backup an den ursprünglichen Hacker-Server gesendet, um ihm Zugriff auf die von uns angegriffene Infrastruktur zu gewähren. Daher muss die Veränderung der Software anderer Personen sehr sorgfältig angegangen werden.

Lassen Sie uns nun speziell über das Remake von Malware für Mac sprechen, deren Zweck darin besteht, die Hacker-Software eines anderen zu erstellen.



Der erste Schritt besteht darin, ein Beispiel für Malware für die Konvertierung anhand von zwei Kriterien auszuwählen. Das erste ist herauszufinden, dass diese Malware Ihnen eine Vorstellung davon geben sollte, ob Sie eine interaktive Hintertür oder einen Crypto Miner usw. benötigen.



Vielleicht ist Ihnen die Zuweisung von Spyware wichtig - ob sie der CIA oder russischen Hackern zugeschrieben wird. Auf objectiv-see.com haben wir eine beeindruckende Sammlung von Malware für macOS zusammengestellt. Alle Beispiele für überarbeitete Software, über die wir heute sprechen werden, können von dieser Website heruntergeladen werden.

Sobald Sie eine Probe zur Änderung ausgewählt haben, ist die Zeit für die Analyse gekommen. Sein Hauptzweck ist es, Dinge wie Fernzugriff herauszufinden. Wenn Malware auf einen Remote-C & C-Server zugreift, müssen Sie herausfinden, um welche Art von Server es sich handelt und ob es möglich ist, die Software so zu ändern, dass sie uns nicht kontaktieren kann.



Wenn die Malware nicht mit dem Remote-Server kommuniziert, müssen wir uns noch mit dem Protokoll befassen, um zu wissen, wie dieses Programm zu rätseln ist, wenn es erneut eine Verbindung zu uns herstellt. Und natürlich müssen Sie die Funktionen dieser Malware vollständig verstehen - wie sie funktioniert, wie sie mit dem System interagiert, auch aus der Ferne, um zu wissen, mit welchen Befehlen Sie Malware fernsteuern können.

Sobald Sie alles herausgefunden haben, ist es Zeit, neu zu konfigurieren oder neu zu profilieren. Dies bedeutet normalerweise, dass Sie Malware auf Binärebene patchen müssen.



Diese Folie zeigt, dass wir die Adresse des ursprünglichen C & C-Servers gefunden haben, der in den Code eingebettet ist, und diese durch die Adresse ersetzen können, die wir im HEX-Editor benötigen. Dies bedeutet, dass diese Software nach der Änderung mit unserem eigenen Server kommunizieren und Aufgaben von dort empfangen kann.

Wie gesagt, wenn die Malware eine Hintertür oder ein Implantat ist und vom ursprünglichen C & C-Server aus gesteuert wird, müssen wir unseren eigenen Verwaltungsserver schreiben und sicherstellen, dass das Programm angemeldet und mit ihm verbunden ist, damit wir alle seine Funktionen remote nutzen können.



Ein benutzerdefinierter C & C-Server sollte nicht zu kompliziert sein. Schreiben Sie einfach ein kompetentes Python-Skript. Wenn Sie jedoch vorhaben, Ihre Software gegen viele Ziele einzusetzen, benötigen Sie möglicherweise etwas Ernsthafteres. In der vorherigen DefCon wurde erläutert, wie einer dieser C & C-Server für die Analyse von Softwarebeispielen erstellt wird. Es ist wahrscheinlich, dass sich jedes der zu analysierenden Beispiele von den anderen unterscheidet, die ein anderes Protokoll verwenden. Daher benötigen Sie für jedes Beispiel der konvertierten Software einen separaten C & C-Server.

FruitFly Backdoor neu gestalten


Schauen wir uns ein echtes Beispiel für die Neugestaltung von Malware für Mac an. Diese Hintertür wurde vor etwa 15 Jahren von den Mac-Sicherheitsexperten erstellt und heißt FruitFly oder Fruit Fly.

Diese voll ausgestattete Backdoor, die Remote-Multitasking unterstützt, hat uns als idealen Kandidaten für die Neuprofilierung gedient. Es kann Dateien und Systemprozesse infizieren, eine Webcam und eine Befehlszeile steuern, als Keylogger dienen, Screenshots vom Desktop des Opfers aus der Ferne erstellen und Informationen über infizierte Computer unter macOS sammeln. Wir wollten all diese Funktionen nutzen, um unsere eigenen Probleme zu lösen.



Die FruitFly-Hintertür war ein sehr verwirrendes Perl-Skript, aber wenn Sie es sich genau ansehen, können Sie sehen, dass seine Logik Befehlszeilenargumente verarbeitet. Wir können sagen, dass dieses Skript prüft, ob bestimmte Befehlszeilenoptionen oder Flags dazu führen, dass es etwas unternimmt.



Es stellt sich heraus, dass er nach einem Port oder einer Kombination von Ports sucht, um Ihren Computer mit seinem C & C-Server zu verbinden. Dies bedeutet, dass wir das ursprüngliche Perl-Skript oder eine schädliche Binärdatei nicht wiederholen müssen, wenn wir über die Befehlszeile eine Richtung zu unserem eigenen Server erstellen können.

Wir begannen herauszufinden, ob es möglich ist, dieses FruitFly-Skript als Launcher zu speichern. Wie auf der Folie gezeigt, können wir die Adresse unseres eigenen C & C-Servers darin einbetten. Dies bedeutet, dass wir diese Hintertür einfach neu profilieren können, um eine Verbindung zu unserem Server herzustellen, wobei die Verbindung mit dem ursprünglichen Hacker-Server umgangen wird.



Um diese Backdoor zu verwenden, muss sie jedoch auf dem Computer des Benutzers installiert sein. Die gute Nachricht ist, dass ich bereits ein solches Installationsprogramm geschrieben habe, das auf pastebin.com verfügbar ist. Es sind ein paar Codezeilen, die Malware genauso installieren wie die ursprüngliche Hintertür. Da ich zuvor auch einen C & C-Server geschrieben habe, um dieses Beispiel zu analysieren, können wir beginnen, seine Funktionsweise zu demonstrieren.

Echtzeit-Demonstrationen wie diese sind immer ein Risiko, daher werde ich diese Malware auf meinem eigenen Forschungs-Laptop ausführen, nicht auf einer virtuellen Maschine. Ich wiederhole: Ich möchte Ihnen die volle Leistungsfähigkeit der konvertierten Malware zeigen, und die Demonstration unter realen Bedingungen ist glaubwürdiger. Schauen wir uns diese Software in Aktion auf einer echten Hardware an.

Als erstes müssen Sie den C & C-Server starten. Sie sehen, dass das System jetzt auf eine Verbindung wartet. Anschließend müssen Sie Malware über das Installationsprogramm ausführen und die IP-Adresse dieses Servers übergeben. Nach dem Start sehen wir auf der rechten Seite des Fensters, dass Malware erfolgreich eine Verbindung zu unserem C & C-Server hergestellt hat. Wir sehen auch eine ganze Reihe von Hacking-Aufgaben, die diese Malware für Prozesse verwenden kann, die auf meinem persönlichen Laptop ausgeführt werden.



Die Ausführung von Befehl Nr. 13 zeigt, wo diese Malware im Verzeichnis / Users / Patrick / fpsaud installiert ist. Mit Befehl Nr. 2 können Sie einen Screenshot erstellen, und mit Parameter 0 können Sie einen Vollbild-Screenshot erstellen.



Jetzt werde ich versuchen, einen Screenshot zu machen und ihn an unseren C & C-Server zu senden. Wie Sie sehen können, funktioniert alles so, wie es sollte. So funktioniert die neu gestaltete FruitFly-Hintertür.

Änderung des Miner CreativeUpdate


Als Nächstes werden wir darüber sprechen, CreativeUpdate Cryptocurrency Miner für unsere Zwecke neu zu erstellen. Dies ist nützlich, wenn Sie die Computer anderer Personen für das Crypto Mining verwenden möchten, aber gleichzeitig keine Zeit, Fähigkeiten und Ressourcen haben.



Dieser Crypto Miner ist in Trojaner integriert und wird über beliebte Anwendungen von Drittanbietern von MacUpdate.com vertrieben. Die Folie zeigt ein Beispiel für die Installation des Firefox Quantum-Browsers, der nicht über die Signatur des ursprünglichen Mozila-Entwicklers verfügt und einen Crypto Miner von einem der Adobe Creative Cloud-Server auf den Computer des Benutzers herunterlädt.



Wenn wir ein infiziertes Disk-Image mit einem solchen Trojaner mounten und Reverse Engineering auf die Hauptbinärdatei anwenden, werden wir feststellen, dass es eine Methode namens "Skript mit Drucken ausführen" - "Skript mit Drucken ausführen" verwendet. Wenn Sie sich ansehen, was es mit einem Dekompiler oder Disassembler macht, können Sie sehen, dass es einfach eine Datei namens "Skript" außerhalb des Ressourcenverzeichnisses der Anwendung ausführt. Zunächst startet er ein Trojaner-Programm unter dem Deckmantel einer Kopie eines beliebten Produkts, das der Benutzer auf seinen Computer heruntergeladen hat, beispielsweise den Firefox-Browser, damit er nichts Schlimmes vermutet.



Als nächstes sehen wir in diesem Skript, dass es mit dem Angreifer-Server kommuniziert, von wo es das Archiv mdworker.zip herunterlädt. Während des Entpackens installiert dieses Archiv etwas namens mdworker auf dem System. Wenn Sie sich die aus dem Archiv extrahierte MacOS.plist-Datei ansehen, sehen Sie, dass diese sehr schädliche mdworker-Binärdatei auf dem Computer des Benutzers gespeichert wird.



Wir sehen auch Befehlszeilenargumente, die an diese Binärdatei übergeben werden. Wenn Sie diese binäre mdworker-Datei ausführen, können Sie sehen, dass es sich um einen vollständig legalen Cryptocurrency Miner handelt, der der Mining-Firma Miner Gate gehört.

Die Befehlszeilenargumente geben auch das Miner-Konto an, an das die Ergebnisse des Mining und die Art der Kryptowährung für das Mining gesendet werden.

Da die entsprechenden Parameter über die Befehlszeile übergeben und nicht in eine Binärdatei eingebettet werden, können wir wie im Fall von Fruit Fly Befehlszeilenargumente ersetzen, um diese Malware für unsere Zwecke wiederzuverwenden. Daher ändern wir zuerst die Datei der Eigenschaftsliste, die Eigenschaftsliste oder die .plist der Malware so, dass sie auf unser eigenes Miner-Konto verweist, und packen erneut alle Komponenten der Malware in das Archiv. Anstatt das Archiv vom Server herunterzuladen, fügen wir es einfach der Malware-Anwendung hinzu. Dies ist viel einfacher und autonomer, da wir keinen Remote-Server zum Booten konfigurieren müssen.

Als Nächstes konfigurieren wir das Skript neu, damit es mit dem von uns hinzugefügten Archiv funktioniert. Schließlich verpacken wir alles in ein Firefox.dmg-Image und können uns an die Arbeit machen.



Ich mache Sie auf die zweite Demo aufmerksam. Im Dateifenster sehen Sie Anwendungskomponenten, einschließlich eines schädlichen Skripts, des Archivs mdworker.zip, der Anwendungseinstellungsdatei AppSettings.plist und des ursprünglichen Firefox-Browsers.



Im Hauptfenster sehen wir, wie der vom Benutzer heruntergeladene Inhalt beim Start aussieht.



, . , Firefox .

, , macOS. , mdworker, , patrick@objective-see.com.

- ransomware


, , , - ransomware, .



, KeRanger. , macOS. Bit-Torrent, -. , , .

, General.rtf. , , macOS. , C&C- .



, , , «» . -.

. -, , .



, , HEX- , «», C&C-, 127.0.0.1. RSA , RSA- , NetCat.

. , , KeRanger. NetCat , .



, .



README_FOR_DECRIPT.txt. , : « wardle@objective-see.com!».



Windtall


Windtall. , , APT-. , .



malware. macOS, , URL-.

, . , , , macOS Custom URL, , .

, , , - URL, macOS .

Java . , URL, Mac. Java-, URL, .
, , , , .



, , . , , , , C&C- .

. SPF, , C&C-, , , C&C-.



24:00

DEFCON 27. macOS. Teil 2


Ein bisschen Werbung :)


Vielen Dank für Ihren Aufenthalt bei uns. Mögen Sie unsere Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden Cloud VPS für Entwickler ab 4,99 USD empfehlen. Dies ist ein 30% iger Rabatt für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s ab 20 US-Dollar oder wie man einen Server freigibt? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

Dell R730xd 2 mal günstiger? Nur wir haben 2 x Intel TetraDeca-Core Xeon 2 x E5-2697v3 2,6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbit / s 100 TV ab 199 US-Dollar in den Niederlanden! Dell R420 - 2x E5-2430 2,2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbit / s 100 TB - ab 99 US-Dollar! Lesen Sie mehr über das Erstellen von Infrastruktur-Bldg. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?

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


All Articles