
Sites falsos do Google Chrome distribuem malware ValleyRAT por meio de sequestro de DLL
Recentemente, sites falsos que se passam por páginas de download do Google Chrome têm sido usados para distribuir instaladores maliciosos de um RAT (Remote Access Trojan) chamado ValleyRAT. Esse malware, detectado pela primeira vez em 2023, é atribuído a um grupo de ameaças conhecido como Silver Fox, que tem como alvo principal regiões de língua chinesa, como Hong Kong, Taiwan e a China continental. O ValleyRAT é capaz de monitorar o conteúdo da tela, registrar pressionamentos de teclas e estabelecer persistência no sistema infectado.
Neste artigo, vamos explorar como o ValleyRAT é distribuído, como ele funciona e, principalmente, como você pode usar scripts em Python para mitigar esse tipo de ameaça. Vamos fornecer exemplos práticos de como detectar e bloquear atividades suspeitas relacionadas a DLL hijacking e outros comportamentos maliciosos.
Como o ValleyRAT é distribuído?
O ValleyRAT é distribuído por meio de sites falsos que se passam por páginas de download do Google Chrome. O processo de infecção envolve as seguintes etapas:
-
Engenharia Social: Os usuários são enganados para acessar um site falso e baixar um arquivo ZIP contendo um instalador malicioso (“Setup.exe”).
-
Execução do Instalador: O instalador verifica se tem privilégios de administrador e, em seguida, baixa quatro cargas úteis adicionais.
-
DLL Hijacking: Uma DLL maliciosa (“tier0.dll”) é carregada por meio de um executável legítimo (“Douyin.exe”, a versão chinesa do TikTok).
-
Execução do ValleyRAT: A DLL maliciosa inicia o ValleyRAT, que se comunica com um servidor remoto para receber comandos adicionais.
Comportamento do ValleyRAT
O ValleyRAT é escrito em C++ e possui as seguintes capacidades:
-
Monitoramento de tela: Captura o conteúdo da tela do usuário.
-
Keylogging: Registra pressionamentos de teclas.
-
Persistência: Garante que o malware permaneça ativo após reinicializações.
-
Comunicação Remota: Conecta-se a um servidor C2 (Command and Control) para receber instruções.
Mitigação com Python
Abaixo, vamos criar scripts em Python para detectar e mitigar atividades suspeitas relacionadas ao ValleyRAT, como DLL hijacking e comunicação com servidores remotos.
1. Detecção de DLL Hijacking
O ValleyRAT usa DLL hijacking para carregar uma DLL maliciosa. Podemos criar um script para monitorar a carga de DLLs em processos suspeitos.
Script de Monitoramento de DLLs
import os import psutil # Lista de DLLs legítimas associadas a processos conhecidos dlls_legitimas = { "chrome.exe": ["chrome_elf.dll", "v8.dll"], "douyin.exe": ["tier0.dll", "sscronet.dll"], # Exemplo de DLLs legítimas } def monitorar_dlls(): for processo in psutil.process_iter(['pid', 'name']): try: nome_processo = processo.info['name'].lower() if nome_processo in dlls_legitimas: dlls_carregadas = processo.memory_maps() for dll in dlls_carregadas: if dll.path.lower() not in dlls_legitimas[nome_processo]: print(f"[ALERTA] DLL suspeita carregada por
{nome_processo}: {dll.path}") except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): continue if __name__ == "__main__": print("[*] Iniciando monitoramento de DLLs...") while True: monitorar_dlls()
Como funciona?
-
O script monitora os processos em execução e verifica se DLLs suspeitas estão sendo carregadas.
-
Se uma DLL não estiver na lista de DLLs legítimas para um processo específico, um alerta é gerado.
2. Bloqueio de comunicação com servidores remotos
O ValleyRAT se comunica com um servidor remoto para receber comandos. Podemos criar um script para bloquear conexões suspeitas.
Script de bloqueio de conexões
import psutil import socket # Lista de IPs suspeitos (exemplo) ips_suspeitos = ["192.168.1.100", "10.0.0.1"] def bloquear_conexoes_suspeitas(): for conexao in psutil.net_connections(kind='inet'): if conexao.status == 'ESTABLISHED': ip_remoto = conexao.raddr.ip if ip_remoto in ips_suspeitos: print(f"[ALERTA] Conexão suspeita detectada com {ip_remoto}") # Bloqueia a conexão (exemplo usando iptables no Linux) os.system(f"iptables -A INPUT -s {ip_remoto} -j DROP") print(f"[INFO] Conexão com {ip_remoto} bloqueada.") if __name__ == "__main__": print("[*] Iniciando monitoramento de conexões...") while True: bloquear_conexoes_suspeitas()
Como funciona?
-
O script monitora conexões de rede ativas.
-
Se uma conexão for detectada com um IP suspeito, ele bloqueia a conexão usando
iptables
(no Linux).
3. Detecção de keyloggers
O ValleyRAT inclui funcionalidades de keylogging. Podemos criar um script para detectar processos suspeitos que acessam o teclado.
Script de detecção de keyloggers
import psutil def detectar_keyloggers(): for processo in psutil.process_iter(['pid', 'name']): try: nome_processo = processo.info['name'].lower() if "keylogger" in nome_processo or "rat" in nome_processo: print(f"[ALERTA] Processo suspeito detectado:
{nome_processo} (PID: {processo.info['pid']})") except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): continue if __name__ == "__main__": print("[*] Iniciando detecção de keyloggers...") while True: detectar_keyloggers()
Como Funciona?
-
O script verifica se há processos com nomes suspeitos, como “keylogger” ou “rat”.
-
Se um processo suspeito for detectado, um alerta é gerado.
Conclusão
O ValleyRAT é uma ameaça sofisticada que usa técnicas como DLL hijacking e comunicação remota para comprometer sistemas. No entanto, com scripts de monitoramento e mitigação em Python, é possível detectar e bloquear atividades suspeitas antes que causem danos.
Lembre-se de que a segurança cibernética é um processo contínuo. Mantenha seus sistemas atualizados, eduque os usuários sobre os riscos de engenharia social e use ferramentas de detecção e resposta para proteger sua infraestrutura.
Fonte e imagens: https://thehackernews.com/2025/02/fake-google-chrome-sites-distribute.html