
Cybersecurity-onderzoekers hebben kwaadaardige Packagist PHP-pakketten gemarkeerd die zich voordoen als Laravel-hulpprogramma’s en fungeren als kanaal voor een platformonafhankelijke trojan voor externe toegang (RAT) die functioneel is op Windows-, macOS- en Linux-systemen.
De namen van de pakketten staan hieronder vermeld –
- nhattuanbl/lara-helper (37 downloads)
- nhattuanbl/simple-queue (29 downloads)
- nhattuanbl/lara-swagger (49 downloads)
Volgens Socket sluit het pakket “nhattuanbl/lara-swagger” niet rechtstreeks kwaadaardige code in, maar vermeldt het “nhattuanbl/lara-helper” als een Composer-afhankelijkheid, waardoor het de RAT installeert. De pakketten kunnen nog steeds worden gedownload via het PHP-pakketregister.
Zowel lara-helper als simple-queue blijken een PHP-bestand te bevatten met de naam “src/helper.php”, dat een aantal trucs gebruikt om statische analyse te compliceren door gebruik te maken van technieken zoals verduistering van de controlestroom, het coderen van domeinnamen, opdrachtnamen en bestandspaden, en gerandomiseerde identificatiegegevens voor variabele- en functienamen.
“Eenmaal geladen, maakt de payload verbinding met een C2-server op helper.leuleu(.)net:2096, verzendt systeemverkenningsgegevens en wacht op opdrachten – waardoor de operator volledige externe toegang tot de host krijgt”, aldus beveiligingsonderzoeker Kush Pandya.
Dit omvat het verzenden van systeeminformatie en het parseren van opdrachten die zijn ontvangen van de C2-server voor daaropvolgende uitvoering op de gecompromitteerde host. De communicatie vindt plaats via TCP met behulp van PHP’s stream_socket_client(). De lijst met ondersteunde opdrachten vindt u hieronder:
- pingom elke 60 seconden automatisch een hartslag te verzenden
- informatieom systeemverkenningsgegevens naar de C2-server te verzenden
- cmdom een shell-opdracht uit te voeren
- krachtshellom een PowerShell-opdracht uit te voeren
- loopom een shell-opdracht op de achtergrond uit te voeren
- schermafdrukom het scherm vast te leggen met imagegrabscreen()
- downloadenom een bestand van schijf te lezen
- uploadennaar een bestand op schijf en geef het lees-, schrijf- en uitvoerrechten aan alle gebruikers
- stopnaar het stopcontact en sluit af
“Voor shell-uitvoering onderzoekt de RAT Disable_functions en kiest de eerste beschikbare methode uit: popen, proc_open, exec, shell_exec, system, passthru,” zei Pandya. ‘Dit maakt het bestand tegen veelgebruikte PHP-verhardingsconfiguraties.’
Hoewel de C2-server momenteel niet reageert, is de RAT zo geconfigureerd dat deze de verbinding elke 15 seconden opnieuw probeert te maken in een aanhoudende lus, waardoor dit een veiligheidsrisico vormt. Gebruikers die de pakketten hebben geïnstalleerd, wordt geadviseerd om compromissen te sluiten, deze te verwijderen, alle geheimen die toegankelijk zijn vanuit de applicatieomgeving te roteren en uitgaand verkeer naar de C2-server te controleren.
Naast de bovengenoemde drie pakketten heeft de bedreigingsacteur achter de operatie nog drie andere bibliotheken gepubliceerd (“nhattuanbl/lara-media”, “nhattuanbl/snooze” en “nhattuanbl/syslog”) die schoon zijn, waarschijnlijk in een poging om geloofwaardigheid op te bouwen en gebruikers te misleiden om de kwaadaardige te installeren.
“Elke Laravel-applicatie die lara-helper of simple-queue installeert, draait een persistente RAT. De bedreigingsactor heeft volledige externe shell-toegang, kan willekeurige bestanden lezen en schrijven, en ontvangt een doorlopend systeemprofiel voor elke verbonden host”, aldus Socket.
“Omdat activering plaatsvindt bij het opstarten van de applicatie (via een serviceprovider) of bij het automatisch laden van de klasse (via een eenvoudige wachtrij), draait de RAT in hetzelfde proces als de webapplicatie met dezelfde bestandssysteemrechten en omgevingsvariabelen, inclusief databasereferenties, API-sleutels en .env-inhoud.”