Nos últimos quatro anos, a parte de ataques baseados em script O número de crimes de malware em todo o mundo cresceu tão drasticamente que gerou alertas entre especialistas em segurança e usuários comuns. Nesta postagem, consideraremos malware baseado em script, avaliar seus pontos fortes e fracos, explique como os ataques acontecem, e sugerir medidas para manter a segurança em seu grupo de trabalho.
O que é malware baseado em script?
Para entender como alguém pode executar um ataque baseado em script em um computador, devemos saber o que são scripts. Eles são conjuntos de comandos para um sistema executar. Os usuários os empregam para automatizar processos que, de outra forma, executariam manualmente. Programadores e usuários avançados criam scripts em linguagens de script. Esses podem ser, a grosso modo, propósito geral (como JavaScript, Pitão, e PHP), Orientado para sistema operacional (como PowerShell e AppleScript), e também existem linguagens de script especiais para aplicações e ambientes específicos.
Os scripts não são arquivos maliciosos nem o conteúdo principal dos arquivos que eles habitam. Em vez de, eles são os documentos’ componentes permitidos, legal e, em teoria, benéfico para o usuário. Os scripts não são compilados. Isso significa que eles são interpretados e executados pelo ambiente de software ad hoc, sem tradução prévia em código de máquina.. Para AppleScript, por exemplo, tal ambiente é um sistema operacional Apple. E para JavaScript entre sistemas (se for sobre construção de site), qualquer navegador moderno pode servir como um ambiente de interpretação.
Os ataques de hackers baseados em scripts são crimes cibernéticos que usam scripts como ferramenta principal.
Exemplos de scripts de malware
Script entre sites (XSS) Ataques
XSS (Script entre sites) ataques podem resultar em roubo de dados, sequestro de sessão, e acesso não autorizado a informações confidenciais. Eles também colocam em risco a confiança do usuário, prejudicar a reputação de aplicativos da web, e pode levar a repercussões legais sob regulamentações de privacidade de dados como o GDPR (Regulamento Geral de Proteção de Dados) e CCPA (Lei de Privacidade do Consumidor da Califórnia).
<p>User's comment: <script>alert('Malicious Script')</script></p>
<!-- This user input is not properly sanitized -->
<p>User's comment: <?php echo $_GET['comment']; ?></p>
Considere um site que permita aos usuários enviar seu próprio conteúdo ou postar comentários. Neste cenário, um invasor postou um comentário contendo um script marcado como “Script malicioso”. Este script foi exibido diretamente sem saneamento ou codificação adequada, levando-o a ser executado em outros usuários’ navegadores quando visualizados. Como resultado, qualquer usuário lendo o comentário verá um pop-up dizendo Script malicioso, ilustrando como os invasores podem executar scripts nos navegadores de usuários desavisados. Isso destaca uma vulnerabilidade séria: o script usado no ataque poderia ser modificado para executar comandos mais complexos que poderiam roubar dados do usuário diretamente de seu navegador.
Entidade externa XML (XXE) Vulnerabilidade
XXE, ou ataque de entidade externa XML, explora vulnerabilidades em aplicativos que analisam arquivos XML. Esse problema surge quando o analisador XML de um aplicativo configura incorretamente as configurações de segurança, permitindo desreferenciar entidades externas dentro do arquivo XML. Durante a análise, se o aplicativo processar essas entidades, poderia vazar involuntariamente dados confidenciais, interromper serviços, realizar ações não autorizadas no servidor, ou acessar outras partes do sistema.
import xml.etree.ElementTree as ET
xml_data = """
<!DOCTYPE data [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<data>&xxe;</data>
"""
root = ET.fromstring(xml_data)
Quando o script Python executa e processa o documento XML com a biblioteca ElementTree, ele tenta acessar o arquivo /etc/passwd.
Injeção SQL
A injeção de SQL é um risco predominante de segurança cibernética, onde os invasores podem alterar o banco de dados de um aplicativo da Web inserindo código SQL prejudicial em seus campos de entrada. Esses campos podem incluir qualquer área de entrada de dados em um site, como formulários da web ou URLs. Quando bem sucedido, Ataques de injeção de SQL permitem que invasores acessem e manipulem bancos de dados, o que pode levar à exposição de informações confidenciais.
user_input = input("Enter your username: ")
sql_query = "SELECT * FROM users WHERE username = '" + user_input + "'"
cursor.execute(sql_query)
Neste cenário, a entrada do usuário é incorporada diretamente na string de consulta SQL. Se um invasor fornecer informações prejudiciais, eles podem alterar a consulta SQL, potencialmente obter acesso não autorizado ao banco de dados.
O que há de tão preocupante nos ataques baseados em scripts?
Em primeiro lugar, scripts não são arquivos, como já mencionamos. Os programas antivírus têm dificuldade em detectá-los, ou melhor dizer: eles são inúteis contra scripts. Isso ocorre porque o software de segurança moderno se concentra na detecção e remoção malicioso arquivos. Por isso, no caso de ataques baseados em script, estamos lidando com malware fantasma, invisível para programas antivírus.
Outra coisa importante é que os scripts geralmente são difíceis de detectar. Eles existem na memória primária, em breve será substituído ou apagado. É possível encontrar a origem de um script se criminosos deixarem rastros de maneira imprecisa, mas por que eles fariam isso?
Como um invasor pode executar malware por meio de um script?
Vamos deixar isso claro: não estamos falando de scripts maliciosos vinculados a sites (Script entre sites), que são mais ou menos estudados e cobertos por sistemas de segurança de navegadores e antivírus. Arquivos equipados com scripts simples, mas traiçoeiros, constituem um novo problema. Estes são os arquivos cujos formatos o software antivírus permite passar por padrão, não é considerado perigoso: PDF, Palavra, e-books, Aplicativos HTML, e outros.
Código JavaScript simples geralmente empregado em arquivos como esses pode adicionar várias funções práticas, como tornar documentos PDF assináveis ou apresentar um questionário preenchível. Mas o script também pode ter um propósito malicioso. No caso de um ataque baseado em script, provavelmente será um conjunto de comandos para baixar qualquer outro malware que prejudique de verdade. Ransomware, por exemplo, é o tipo de ataque mais lucrativo para hackers. Os bandidos só esperam que um usuário abrir um arquivo para executar o script ou, em alguns casos, para permitir macros portanto.
Arquivos cheios de script também podem ser baixados como itens nos quais você confia, pois eles atualizam programas que você já possui. Pelo menos, você acredita que sim. Estes podem ser plug-ins, complementos, e assim por diante. Sim, o UAC perguntará se você deseja baixar este arquivo, mas isso sempre acontece, e tendemos a ignorar tais avisos. Se os criminosos conseguirem enganá-lo – considere que eles também enganaram seu software de segurança. Por falar nisso, vários não confiáveis Leitores de PDF e seus plug-ins são alguns dos programas mais perigosos em termos de ameaça de ataque baseado em script.
Os ataques baseados em scripts colocam principalmente em risco os sistemas Windows, explorando vulnerabilidades do Prompt de Comando e do PowerShell, as ferramentas de automação integradas. No entanto, nem Android, iOS nem mesmo Linux são seguros.
Como proteger você e seu grupo de trabalho?
O ponto fraco do malware baseado em script é que tem que ser executado pelo usuário. Portanto, a melhor proteção é ser cauteloso e evitar downloads desconhecidos. Lembre-se daquele PDF, Palavra, e outros arquivos de dados podem conter um script malicioso. É mais provável que esses arquivos falsos cheguem por e-mail ou mensageiros em cartas enviadas aparentemente por alguém em quem você confia – geralmente organizações prestadoras de serviços. Seja especialmente cauteloso com relatórios de empresas de entrega como FedEx. Já que uma entrega postal é bastante crível para ser inesperada, os hackers costumam usar esse disfarce para seus e-mails de phishing. Antes de baixar qualquer anexo de remetentes suspeitos, verifique três vezes a fonte e a própria mensagem. Se você estiver atento o suficiente, você encontrará um erro na linha de endereço, seu nome, ou o próprio texto.
Em grupos de trabalho, faz sentido separar os computadores que precisam executar scripts daqueles que podem viver sem eles. Os primeiros devem manter extrema vigilância e, de forma aconselhável, implantar política de confiança zero software antivírus, que no momento é apresentado pelo Windows 11 Defensor. Tem muitos problemas, mas compromete seriamente os planos dos malfeitores que praticam ataques baseados em scripts.
Arquivos ajustados em script podem se espalhar rapidamente pela rede danificada usando as mesmas vulnerabilidades dos elementos do Windows que eles usam para entregar sua carga maliciosa. Medidas gerais de segurança, como backup de arquivo e separação de rede, também são essenciais para minimizar o efeito destrutivo de qualquer ataque cibernético bem-sucedido.