
Armor ist ein einfaches Bash-Skript, das entwickelt wurde, um verschlüsselte macOS-Payloads zu erstellen, die in der Lage sind, Antiviren-Scanner zu umgehen.
Armor ist ein einfaches Bash-Skript, das dazu dient, verschlüsselte macOS-Payloads zu erstellen, die Antiviren-Scanner umgehen können. Nachfolgend ein Beispiel-GIF von Armor, das mit einem einfachen Netcat-Payload verwendet wird.

Ein Netcat-Listener wird auf Port 4444 gestartet. Die Datei „payload.txt“ wird gelesen und zeigt einen einfachen Bash-One-Liner, der bei Ausführung eine TCP-Verbindung zwischen dem Ziel-MacBook und dem Netcat-Listener des Angreifers herstellt. Armor wird verwendet, um den Bash-One-Liner zu verschlüsseln. Ncat wird genutzt, um den Entschlüsselungsschlüssel auf dem Server des Angreifers zu hosten. Wenn der Stager auf dem Ziel-MacBook ausgeführt wird (im GIF nicht gezeigt), wird der Bash-One-Liner entschlüsselt und ausgeführt, ohne Daten auf die Festplatte zu schreiben. Ncat beendet den Listener sofort, nachdem der Schlüssel verwendet wurde. Sobald die Netcat-Verbindung hergestellt ist, hat der Angreifer Fernzugriff auf das Ziel-MacBook.
Zugegeben, die Verschlüsselung der meisten macOS-spezifischen Payloads ist übertrieben. Dieser spezielle Bash-One-Liner kann Antiviren-Scanner auch ohne Armor umgehen. Dies ist jedoch nur ein Beispiel. Das gleiche Maß an Verschleierung kann auf komplexe Python-, Ruby- und Shell-Skripte angewendet werden, die eine Vielzahl von fortgeschrittenen Angriffen ausführen sollen.
Armor benötigt LibreSSL, um die Eingabedatei zu verschlüsseln und das SSL-Zertifikat zu erstellen. Falls LibreSSL nicht auf Ihrem System gefunden wird, versucht Armor, es zu installieren. Die Funktion dafür befindet sich in der Datei armor.sh. Ncat ist ebenfalls eine Abhängigkeit und kann in Kali mit $ apt-get update && apt-get install nmap installiert werden.
Armor kann mit den folgenden Befehlen geklont und ausgeführt werden.
git clone https://github.com/tokyoneon/Armor
cd Armor/
chmod +x armor.sh
./armor.sh /path/to/payload.txt 1.2.3.4 443
Die Adresse 1.2.3.4 ist die IP-Adresse des Angreifers, auf der der Entschlüsselungsschlüssel gehostet wird. Dies kann eine lokale IP-Adresse oder ein VPS sein. Die Portnummer (443) ist frei wählbar und kann nach Bedarf geändert werden.
Fragen und Anregungen: