1 pontos por GN⁺ 2025-01-13 | 1 comentários | Compartilhar no WhatsApp
  • A watchTowr Labs voltou a registrar domínios expirados e abandonados para interceptar callbacks de backdoor dentro de web shells, observando o tráfego reportado por mais de 4.000 backdoors ativos e únicos
  • Quando um web shell tem uma função oculta que envia a localização de implantação ou a senha para o domínio do autor original, o novo dono do domínio pode receber os logs de callback após a expiração do domínio
  • Entre os alvos observados estavam sistemas governamentais de Bangladesh, China e Nigéria, além de universidades e instituições de ensino superior da Tailândia, China e Coreia do Sul; os logs acumulados passaram de 300 MB
  • Após registrar mais de 40 domínios, os pesquisadores configuraram AWS Route53, certificados TLS curinga e um servidor Apache de logging, registrando as requisições e retornando apenas respostas 404
  • Infraestruturas abandonadas podem se tornar caminhos reais de acesso não só na validação de CA TLS/SSL, mas também no ecossistema de web shells usado por invasores; os domínios relacionados serão assumidos pela The Shadowserver Foundation para sinkhole

Infraestrutura expirada vira caminho de acesso ao backdoor

  • A watchTowr Labs mostrou, em uma pesquisa de 2024 sobre .MOBI, que domínios não registrados podiam afetar a validação de propriedade de domínio por CAs TLS/SSL; depois disso, o Google pediu ao CAB Forum o fim da validação de propriedade baseada em WHOIS
  • Este estudo aplica o mesmo grupo de problemas — infraestrutura expirada e abandonada — ao ecossistema de web shells e backdoors
  • Os pesquisadores registraram novamente domínios expirados dos quais dependia outro backdoor embutido dentro do próprio backdoor, e observaram o tráfego enviado por hosts infectados
  • Em teoria, esse método cria uma posição a partir da qual seria possível tomar e controlar hosts comprometidos, mas os pesquisadores ofuscaram a maior parte dos nomes de host para não criar risco adicional aos sistemas
  • Até agora, mais de 4.000 backdoors ativos e únicos foram observados, e o número continua crescendo

Web shell é o meio de controle remoto deixado após a invasão

  • Um web shell é um código implantado após a invasão de um servidor web, funcionando como backdoor para que o invasor realize ações posteriores
  • A forma mais simples é um código em PHP como <?php system($_GET['exec']);?>, que executa comandos
  • Formas mais complexas incluem web shells como c99shell, r57shell e China Chopper, que podem ter funções como:
    • execução de comandos
    • exclusão, modificação, upload, movimentação e renomeação de arquivos
    • execução de código
    • autoexclusão
    • implantação de backdoors adicionais como connect-back e bindshell
    • brute force de FTP
    • cliente SQL
  • c99shell e r57shell são apresentados como web shells amplamente usados no passado

A localização vaza para o autor do web shell

  • O r57shell continha código para carregar uma imagem de tamanho 0 de rst.void.ru, aparentando apenas enviar informações sobre a versão atual do shell
  • Na prática, a localização do web shell recém-implantado era exposta ao dono de rst.void.ru por meio do cabeçalho Referer da requisição HTTP
  • Ou seja, mesmo que um invasor comprometesse um alvo e instalasse o web shell, o autor do web shell podia receber essa localização
  • No caso do c99shell, as credenciais estão hardcoded, mas a chamada @extract($_REQUEST["c99shcook"]) pode sobrescrever variáveis do escopo atual
  • extract não é seguro para dados não confiáveis, e um invasor pode inserir os valores md5_pass e login no parâmetro de requisição c99shcook, alterando as variáveis originais de autenticação e passando pela verificação

Mais de 40 domínios registrando apenas callbacks

  • Os pesquisadores reuniram web shells de vários idiomas, alvos e épocas, desfizeram ofuscações como base64 e extraíram domínios não registrados que pareciam ser usados nos callbacks
  • Depois, registraram em massa mais de 40 domínios usando a API do AWS Route53
  • Entre os domínios de exemplo estão aljazeera7.com, alturks.com, caspian-pirates.org, h0ld-up.info, w2img.com, odayexp.com e nettekiadres.com
  • Eles configuraram certificados TLS curinga e um servidor Apache, apontando os novos domínios para um servidor de logging
  • O servidor de logging apenas registrava as requisições recebidas e retornava 404; os pesquisadores não responderam de forma a fazer os sistemas executarem código, apenas receberam requisições enviadas espontaneamente

Callback de web shell que parece ferramenta do Lazarus

  • Foram observadas milhares de requisições buscando imagens .gif em domínios da família w2img.com
  • Os pesquisadores encontraram uma amostra de backdoor que gerava essas requisições e concluíram que ela era semelhante a uma versão atribuída ao Lazarus em 2020
  • Ao remover a ofuscação, aparece um código no formato background:url(...) de CSS carregando um arquivo .gif de img2.w2img.com
  • Quando o navegador solicita a imagem, o log do servidor registra a requisição junto com o Referer, permitindo descobrir onde o web shell foi implantado
  • Só esse backdoor levou à observação de mais de 3.900 domínios comprometidos e únicos
  • Navegadores recentes passaram a expor apenas o domínio no Referer, mas houve casos de invasores com navegadores antigos enviando a URL completa do web shell

Também há domínios governamentais e instituições de ensino superior

  • Ao procurar domínios .gov nos Referers dos logs, apareceram vários domínios ligados a governos
  • Os exemplos confirmados incluem:
    • fhc.gov.ng: Nigeria Federal High Court
    • domínios da família gov.cn
    • domínios da família gov.bd
    • domínios da família court.gov.cn
  • No caso da Nigeria Federal High Court, quatro backdoors diferentes enviaram informações, e cada um reportava para um domínio distinto
  • Os pesquisadores resumem que, entre os mais de 4.000 sistemas comprometidos, quatro eram sistemas .gov
  • Universidades e instituições de ensino superior da Tailândia, China e Coreia do Sul também apareceram entre os alvos comprometidos observados

Web shell que envia a senha em texto puro

  • Outro tipo de backdoor não depende do carregamento de imagem nem do Referer, e envia diretamente a URL e informações específicas como parâmetros
  • Requisições dirigidas a odayexp.com incluíam um parâmetro url junto com o parâmetro p
  • No código do web shell ASP, o valor de p era a variável UserPass, ou seja, a senha necessária para login no web shell
  • O invasor protegia o web shell com senha, mas essa senha era enviada em texto puro para odayexp.com
  • Quando a watchTowr passou a ser dona desse domínio, a localização do web shell e a senha passaram a ser entregues ao servidor de logging dos pesquisadores
  • Os logs também continham requisições com localhost, IPs privados e caminhos de teste, sugerindo que alguém modificou ou testou essa funcionalidade

Limites da interpretação e próximos passos

  • Os shells observados estavam mais concentrados em alvos chineses, mas os pesquisadores consideram que isso pode refletir os dados de amostra
  • Os IPs de origem são pouco confiáveis como evidência porque proxies são fáceis de usar, mas as requisições que pareciam tráfego de invasor ou tráfego de administração incomum se concentravam fortemente em faixas de IP de Hong Kong e China
  • Web shells abertos, domínios expirados e software com backdoor mostram que invasores também cometem erros, assim como defensores
  • Assim como no estudo anterior sobre .MOBI, se os domínios expirarem novamente, o mesmo problema pode se repetir, mantendo uma questão de responsabilidade em aberto
  • A The Shadowserver Foundation vai assumir os domínios relacionados a esta pesquisa e tratá-los como sinkhole

1 comentários

 
GN⁺ 2025-01-13
Comentários no Hacker News
  • Eu não tentaria fazer isso por conta própria por medo da CFAA, mas esse trabalho é realmente incrível. É especialmente engraçado que havia 4 backdoors parasitas pendurados em um domínio governamental
    Fico me perguntando se script kiddies, ao comprometerem um sistema, não apagam os backdoors de outros script kiddies para ficar com tudo só para eles
    Queria que todos parássemos de usar termos como “comprar” ou “possuir” quando falamos de domínios. “Alugar” ou “locar” é mais correto; se fosse algo que se pudesse realmente comprar, ele não voltaria a ficar disponível para uso como neste caso

    • Nesse contexto, também fica ambíguo o que exatamente “comprar” significa. Nem mesmo um país pode ser considerado “dono” de seu ccTLD, mas a ICANN trabalhou bastante para formular a política de que “ccTLDs devem ser tratados como se fossem propriedade do respectivo país”, a fim de evitar tensões no namespace da Internet
      Por isso, a maioria das regras de gTLDs não se aplica a ccTLDs. Um país pode ser visto como “dono” de seu ccTLD apenas no sentido de que poderia defender militarmente seu uso caso a ICANN ou os servidores root-servers.net deixassem de resolver corretamente o TLD
    • Olhando de um ângulo bem enviesado, toda propriedade física e digital também pode ser considerada alugada
    • É algo da natureza humana e da “função” do inglês. As pessoas dizem “meu carro” ou “meu número” mesmo para um carro em leasing ou um número de telefone, e chamam de “minha casa” mesmo quando ela está financiada com uma hipoteca quase sem entrada
      É uma abreviação conceitual em que a realidade bagunçada fica subentendida como senso comum, ou é considerada irrelevante para o ponto em discussão
  • O texto ficou muito bom. É uma leitura leve, mas consciente do impacto que a divulgação poderia ter, tudo é fundamentado, e ainda assim não tenta se apresentar de forma excessivamente séria
    Consegue ser divertido e, ao mesmo tempo, tratar bem de um problema de segurança grave

    • Tive a mesma impressão com este texto e com o texto anterior sobre .mobi. Há contexto suficiente, boas explicações, é leve e estiloso sem gírias da moda e sem tentar forçar um ar descolado
      O conteúdo é sólido e sem enrolação, o que é refrescante em comparação com muitos posts de blog e análises de segurança que frequentemente erram nesses pontos
    • Também gostei da aparição do WordArt, mas foi uma pena não terem usado o efeito arco-íris
  • Fico curioso para saber o que aconteceria se alguém usasse esse backdoor de webshell contra ele mesmo para apagar o webshell

  • Não sei se entendi corretamente esta parte. O texto explica que o CSS faz o navegador buscar uma imagem de fundo em uma URL específica, levando-o a solicitar um arquivo .gif de w2img.com, e que navegadores recentes só expõem o domínio no referer, mas invasores usando navegadores antigos enviavam a URL completa do shell
    Mas a frase “o invasor usa um navegador antigo” soa estranha. Originalmente, o invasor controlava o servidor que fornecia o CSS, e o navegador não seria o de um usuário inocente que visitou o servidor comprometido? Nesse caso, quem usa o navegador parece ser a vítima, não o invasor
    Não entendo em que situação o invasor estaria usando um navegador

    • Um webshell é uma página, normalmente um arquivo .php, que o invasor envia para o site depois de uma invasão como RCE; então ele abre essa página no próprio navegador para executar outras ações no servidor web comprometido
      Só que esses arquivos de webshell prontos foram criados por outro invasor e já são distribuídos com um backdoor embutido. Nesse caso, o CSS dentro do webshell faz o navegador do invasor vazar a localização do webshell para um domínio controlado pelo autor original
  • Mudando um pouco de assunto, não entendo por que a fonte da letra y neste texto aparece daquele jeito. Ela se destaca demais e incomoda

    • Esse tipo de coisa me incomoda com bastante frequência, então desativei downloadable_fonts. Penso na web como um lugar para ler textos, então não gosto de fontes personalizadas que prejudicam a legibilidade
      Entendo que designers queiram um estilo diferenciado, mas, como usuário final, raramente é isso que eu quero
    • O design da fonte é assim mesmo: https://abcdinamo.com/typefaces/favorit
    • Acho que algumas fontes incluem esses elementos de propósito para ter características distintivas. O mercado de fontes é extremamente saturado, então isso pode ajudar a se destacar entre cópias muito parecidas
      O detalhe chamativo talvez seja intencionalmente um pouco incômodo, mas, como uma declaração polêmica, ainda precisa fazer algum sentido. Parece uma estratégia parecida com a de certas personalidades online que conscientemente pronunciam mal certas palavras o tempo todo ou exageram no sotaque
      Voltando às fontes, lembro que o site de letras Genius usou algo parecido por um tempo. Na fase em que estava se firmando, usava as formas quadradas da fonte Programme, como dá para ver no link abaixo. Ainda usa Programme hoje, mas há algum tempo parece usar as formas normais, provavelmente porque aquilo era realmente irritante e prejudicava a legibilidade
      https://www.typewolf.com/programme
  • Há alguns erros de digitação no texto. Em “with the hopes of painting a paint a clear picture”, a paint é desnecessário, e em “we the following stood out”, we é desnecessário
    Além disso, “Atleast” em “Atleast there will be memes...” também é um erro

  • Ver h0no mencionado me trouxe uma onda de nostalgia. Parece uma volta aos tempos de darpanet/m00/#darknet/dikline

  • Fico me perguntando por que quase todos os domínios foram ocultados, mas o domínio da Federal High Court of Nigeria foi mantido
    Não está explícito, mas espero que tenham seguido um processo de divulgação responsável

  • Parece que 99% disso se baseia em obter domínios expirados; eles não disseram nada sobre como fizeram?

    • Não sei se você leu o texto de fato. Está explicado com bastante detalhe. Eles não “sequestraram” registros DNS; compraram um domínio que havia expirado e voltado a ficar disponível
      A única parte que não explicaram foi como encontraram os shells online, e isso por motivos óbvios, já que, nas palavras dos autores, eram coisas que “caíram da traseira de um caminhão”