A descoberta de uma vulnerabilidade de dia zero no MOVEit Transfer chamou a atenção para os riscos potenciais de acesso não autorizado e exploração de privilégios elevados no sistema. O MOVEit Transfer é amplamente reconhecido como um programa de transferência de arquivos gerenciado, seguro e popular, utilizado por empresas para transferir dados com segurança usando protocolos como SFTP, SCP e uploads baseados em HTTP. Essa vulnerabilidade específica, denominada CVE-2023-34362, traz implicações significativas.
É importante observar que a vulnerabilidade afeta versões anteriores do MOVEit Transfer, especificamente aquelas lançadas antes de 2021.0.6 (13.0.6), 2021.1.4 (13.1.4), 2022.0.4 (14.0.4), 2022.1.5 (14.1.5) e 2023.0.1 (15.0.1). Ela decorre de uma vulnerabilidade de injeção de SQL, que poderia conceder acesso ao banco de dados do MOVEit Transfer se explorada por pessoas não autorizadas. Essa vulnerabilidade é alvo ativo, com invasores utilizando canais HTTP ou HTTPS para explorar sistemas sem patches.
A Progress, fornecedora do software, desenvolveu rapidamente um patch para corrigir a vulnerabilidade identificada, garantindo que os usuários possam atualizar suas instalações do MOVEit Transfer e proteger seus sistemas contra possíveis explorações. Recomendamos fortemente que os usuários atualizem suas instalações do MOVEit Transfer para as versões corrigidas, pois isso mitigará efetivamente os riscos associados e aumentará a segurança e a estabilidade geral de seus sistemas.
CVE-2023-34362:
Após explorar a vulnerabilidade com sucesso, o invasor implanta um shell web (human.aspx), um ponto de entrada oculto para acesso futuro. Por meio desse shell web implantado, o invasor obtém acesso backdoor contínuo ao sistema comprometido, estabelecendo um meio de controle contínuo. Em seguida, ele inicia atividades de exfiltração de dados, extraindo secretamente informações confidenciais sem autorização.
É importante observar que certos padrões de solicitações são frequentemente observados ao tentar implantar shells web maliciosos. Esses padrões costumam servir como indicadores de comprometimento e incluem:

Fig.1 Padrões observados de solicitações
- /api/v1/token: um ponto de extremidade usado para verificar um token de sessão.
- /api/v1/folders: um ponto de extremidade usado para “ações de pasta e suas propriedades”.
- dll: é usado para executar injeção de SQL quando solicitado com cabeçalhos específicos.
- aspx:é usado para preparar uma sessão e extrair tokens CSRF.
O shell da web human2.aspx:
No shell web human2.aspx, podemos observar a inclusão de classes MOVEit DMZ genuínas, indicando uma tentativa de se misturar com componentes legítimos. O shell web estabelece uma conexão e recupera o estado da conexão, determinando se ela foi bem-sucedida ou não.
O shell web utiliza cabeçalhos de solicitação HTTP adicionais para se comunicar com o backdoor. Notavelmente, o cabeçalho "X-siLock-Comment" é usado para verificar a identidade do invasor e conceder acesso ao backdoor por meio de senha. Em caso de senha incorreta, o backdoor estrategicamente disfarça sua existência retornando um código de status HTTP 404, evitando suspeitas.
A utilização dessas técnicas ilustra os esforços do shell da web para manter a discrição e estabelecer um canal seguro para o invasor operar dentro do sistema comprometido.

Fig.2 Código de verificação de senha
Em seguida, ele se livra da conta de serviço. Se "-2" for transmitido com um cabeçalho "X-siLock-Step1", o backdoor exclui todos os usuários da tabela "user" do banco de dados, cujo nome real é "Health Check Service".
Após as ações anteriores, o shell da web elimina a conta de serviço. Se uma solicitação for feita com um cabeçalho "X-siLock-Step1" contendo o valor "-2", o backdoor executa um comando para excluir todos os usuários da tabela "user" do banco de dados que tenham o nome específico "Health Check Service". Essa etapa remove quaisquer vestígios da conta de serviço associados a verificações de integridade ou monitoramento, o que pode dificultar os esforços de detecção e investigação.

Fig.3 Código para excluir conta de usuário
Se um cabeçalho "X-siLock-Step1" com valor "-1" for fornecido, o backdoor executa um comando para recuperar uma lista de arquivos armazenados no banco de dados. Essa listagem de arquivos inclui metadados relevantes, como a localização do arquivo ou o caminho da pasta, juntamente com informações sobre o usuário que o enviou. Ao fornecer visibilidade da estrutura do arquivo e dos detalhes de upload associados, essa funcionalidade auxilia o invasor a obter insights sobre os dados armazenados e, potencialmente, identificar alvos valiosos para exploração posterior.

Fig.4 Código para recuperar arquivos do banco de dados
Na etapa subsequente, o backdoor o interpreta como um ID de instituição quando um valor diferente de -1 ou -2 é fornecido com o cabeçalho "X-siLock-Step1". Nesse ponto, o invasor visa estabelecer uma nova conta de serviço MovEit.
O backdoor cria um novo nome de usuário composto por 16 caracteres alfanuméricos gerados aleatoriamente. Se uma conta chamada "Serviço de Verificação de Saúde" ainda não existir, o backdoor adiciona sessões ativas com o endereço IP local 127.0.0.1 à conta recém-criada. Esse processo permite que o invasor configure uma nova conta de serviço no MovEit, potencialmente concedendo-lhe privilégios e acesso adicionais ao sistema.

Fig.5 Código para criar um novo nome de usuário
Na etapa final do web shell, o backdoor tenta baixar um arquivo usando os seguintes cabeçalhos:
X-siLock-Step1: [id da instituição]
X-siLock-Step2: [id da pasta]
X-siLock-Step3: [id do arquivo]
O shell da web inicia o processo de download se todos os três cabeçalhos estiverem presentes. O cabeçalho "X-siLock-Step1" contém o ID da instituição, o cabeçalho "X-siLock-Step2" contém o ID da pasta e o cabeçalho "X-siLock-Step3" contém o ID do arquivo. Ao fornecer esses valores específicos, o backdoor pode identificar e recuperar o arquivo de destino para análise posterior ou uso não autorizado.
Ações recomendadas para resolver a vulnerabilidade de transferência do MOVEit:
Para evitar a exploração da vulnerabilidade identificada no MOVEit Transfer, é crucial aplicar medidas corretivas imediatas. A Progress forneceu as seguintes recomendações para mitigar o risco:
- Atualizar o MOVEit Transfer: certifique-se de atualizar sua instalação do MOVEit Transfer para uma das seguintes versões corrigidas:
- Transferência MOVEit 2023.0.1
- Transferência MOVEit 2022.1.5.
- Transferência MOVEit 2022.0.4
- Transferência MOVEit 2021.1.4.
- Transferência MOVEit 2021.0.6
- Desabilite o tráfego HTTP e HTTPS: modifique suas regras de firewall para bloquear todo o tráfego HTTP e HTTPS de entrada para os produtos MOVEit Transfer afetados. Especificamente, negue o tráfego nas portas 80 e 443. Esta etapa ajuda a prevenir possíveis ataques direcionados à vulnerabilidade.
- Remova arquivos e contas de usuário não autorizados: Exclua imediatamente quaisquer arquivos não autorizados, especialmente instâncias de "human2.aspx", do seu ambiente MOVEit Transfer. Além disso, revise cuidadosamente as contas de usuário associadas ao sistema e elimine quaisquer contas suspeitas ou não autorizadas para minimizar o risco de acesso não autorizado.
Ao seguir essas ações recomendadas, você pode efetivamente abordar a vulnerabilidade do MOVEit Transfer, reduzir o risco de exploração e aumentar a segurança do seu sistema.
Indicadores de Ataques (IOAs):
Arquivos:
- C:\MOVEitTransfer\wwwroot\human2.aspx
Endereço IP:
- 84 [.] 234 [.] 96 [.] 104
- 148 [.] 113 [.] 152 [.] 144
- 162 [.] 244 [.] 35 [.] 6
- 198 [.] 27 [.] 75 [.] 110
- 62 [.] 112 [.] 11 [.] 57
- 66 [.] 85 [.] 26 [.] 234
- 193 [.] 169 [.] 245 [.] 79
- 89 [.] 39 [.] 105 [.] 108
- 138 [.] 197 [.] 152 [.] 201
- 209 [.] 97 [.] 137 [.] 33
- 209 [.] 127 [.] 116 [.] 122
- 194 [.] 33 [.] 40 [.] 104
- 188 [.] 241 [.] 58 [.] 244
- 185 [.] 181 [.] 229 [.] 240
- 185 [.] 174 [.] 100 [.] 250
- 185 [.] 162 [.] 128 [.] 75
- 146 [.] 0 [.] 77 [.] 155
- 89 [.] 39 [.] 105 [.] 108
SHA256:
- 04b474e8db353d368e2d791ba5dee6d6
- 11eadcf3f1bc9b0ed6994c3ede299ce8
- 317552cac7035e35f7bdfc2162dfd29c
- 359a1141a79480555aa996fd6d9e4af1
- 44d8e68c7c4e04ed3adacb5a88450552
- 45685c190c91ebe0966e8a0aeca31280
- 538d6e172d18d4cebeac211873779ba5
- 67fca3e84490dfdddf72e9ba558b589a
- 7d5e5537c5346d764f067f66cca426ba
- 8cd6c75e6160b90de2a52c967b3d4846
- 8d88e451e39506ae258f3aa99da8db9a
- 911230b5dca1c43f6d22e65c66b0f6b1
- 96d467fd9663cf2e5572f8529e54f13e
- 9f3c306dabc3f349b343251f4443412c
- a85299f78ab5dd05e7f0f11ecea165ea
- b1bdad086567efd202babf56eac17e1d
- b52e56bfc03878cc5cb9eae9d3896808
- b69e23cd45c8ac71652737ef44e15a34
- bf7c1dd613101c0a95027249a5fcb759
- c2db1091eb7bac28461877f736d86d83
- d71a6b5ae3d89dc33cbbb6877e493d52
- ddd95f1c76a1d50b997b2e64274f386a
- e9a5f0c7656329ced63d4c8742da51b4
- eea4d43f9e3700ebcd61405776eb249a
- fbba113d1d121220fa43f90b3a20870a
Proteções de detecção:
Os clientes do Quick Heal estão protegidos contra esses ataques. As seguintes detecções foram feitas e divulgadas pelo Quick Heal.
- WebShell.39386
- HTTP/CVE-2023-34362_SQLInj!AW.39387
- HTTP/CVE-2023-34362_SQLInj!AW.47775
- HTTP/CVE-2023-34362_SQLInj!AW.47776
No entanto, é recomendável manter suas soluções de segurança de endpoint atualizadas para se manter seguro.
Autor:
Amruta Wagh
(Especialista no assunto)



