
Armor è un semplice script Bash progettato per creare payload macOS crittografati in grado di eludere gli scanner antivirus.
Armor è un semplice script Bash progettato per creare payload macOS crittografati in grado di eludere gli scanner antivirus. Di seguito è riportato un esempio gif di Armor utilizzato con un semplice payload Netcat.

Un listener Netcat viene avviato sulla porta 4444. Il file "payload.txt" viene letto e mostrato contenere un semplice one-liner Bash che, quando eseguito, creerà una connessione TCP tra il MacBook di destinazione e il listener Netcat dell'attaccante. Armor viene utilizzato per crittografare l'one-liner Bash. Ncat viene utilizzato per ospitare la chiave di decrittazione sul server dell'attaccante. Quando lo stager viene eseguito nel MacBook di destinazione (non mostrato nella gif), l'one-liner Bash viene decrittato ed eseguito senza scrivere alcun dato sul disco rigido. Ncat termina immediatamente il listener dopo che la chiave è stata utilizzata. Quando la connessione Netcat viene stabilita, l'attaccante ha accesso remoto al MacBook di destinazione.
In effetti, crittografare la maggior parte dei payload specifici per macOS è eccessivo. Questo specifico one-liner Bash è in grado di bypassare l'antivirus senza l'aiuto di Armor. Ma questo è solo un esempio. Lo stesso grado di offuscamento può essere applicato a script Python, Ruby e Shell sofisticati progettati per eseguire una varietà di attacchi avanzati.
Armor si basa su LibreSSL per crittografare il file di input e creare il certificato SSL. Se LibreSSL non viene trovato nel sistema, Armor tenterà di installarlo. La funzione per questo può essere trovata nel file armor.sh. Ncat è anche una dipendenza e può essere installato in Kali usando $ apt-get update && apt-get install nmap.
Armor può essere clonato ed eseguito usando i comandi seguenti.
git clone https://github.com/tokyoneon/Armor
cd Armor/
chmod +x armor.sh
./armor.sh /path/to/payload.txt 1.2.3.4 443
L'indirizzo 1.2.3.4 è l'indirizzo IP dell'attaccante dove verrà ospitata la chiave di decrittazione. Può essere un indirizzo IP locale o un VPS. Il numero di porta (443) è arbitrario e può essere modificato secondo necessità.
Domande e dubbi: