Este experimento foca na análise de códigos maliciosos, com ênfase no monitoramento do sistema e na análise de software malicioso utilizando ferramentas nativas e do Sysinternals.
- Conhecimentos Fundamentais
- Monitorar o estado de execução do seu sistema para identificar processos suspeitos.
- Analisar um software malicioso gerado em experimentos anteriores (Exp2 ou Exp3).
- Utilizar ferramentas como comandos nativos, Sysinternals e SysTracer para a análise.
- Aplicar as metodologias aprendidas em um ambiente de trabalho para diagnosticar e analisar potenciais ameaças em um host comprometido.
- Registro do Processo Experimental
2.1. Monitoramento da Execução do Sistema (2 pontos)
2.1.1. Tarefa Agendada com Netstat para Monitoramento de Rede
Configurar uma tarefa agendada para registrar periodicamente os programas que estabelecem conexões de rede, os IPs externos e, de forma inferida, suas atividades. O objetivo é identificar todos os programas que se conectam à rede, para onde se conectam e qual sua provável função.
- Criar uma tarefa agendada chamada
netstat_monitorpara executar a cada 5 minutos. O comando a ser executado é um script batch (netstatlog.bat) que registra a data, hora e a saída do comandonetstat -bnem um arquivo de log (netstatlog.txt).
schtasks /create /TN netstat_monitor /sc MINUTE /MO 5 /TR "c:\netstatlog.bat"
- O script
netstatlog.batno diretório C:\ deve conter:
@echo off
echo Data: %date% >> c:\netstatlog.txt
echo Hora: %time% >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
echo. >> c:\netstatlog.txt
- Modificar a tarefa agendada
netstat_monitorpara executar o scriptnetstatlog.bat. - Analisar o arquivo
netstatlog.txt. - Importar os dados para o Excel.
- Gerar tabelas dinâmicas e gráficos de barras para visualização e análise dos dados.
- Analisar os dados estatísticos para identificar os programas mais ativos em conexões de rede.
Análise dos dados:
| Programa | Resumo | Contagem |
|---|---|---|
| [msedge.exe] | Microsoft Edge | 2111 |
| [ECAgent.exe] | Agente de Segurança | 1038 |
| [nvcontainer.exe] | Painel de Controle NVIDIA | 1009 |
| [firefox.exe] | Mozilla Firefox | 809 |
| [AppleMobileDeviceProcess.exe] | Driver Apple Mobile | 696 |
| [mDNSResponder.exe] | Bonjour Service | 694 |
| [Lsf.exe] | Lenovo Account | 636 |
| [svchost.exe] | Serviço de Host do Windows | 443 |
| [NutstoreClient.exe] | Nutstore Client | 364 |
| [SangforPromoteService.exe] | Sangfor VPN Service | 346 |
| WpnService | Windows Push Notification Service | 345 |
| [Video.UI.exe] | Filmes e TV | 344 |
| [...-dotnet4.0.exe] | SSR | 205 |
| [WeChat.exe] | 187 | |
| [SearchApp.exe] | Microsoft Search | 138 |
| [LenovoPcManagerService.exe] | Lenovo PC Manager Service | 64 |
| [AlibabaProtect.exe] | Alibaba Security Control | 61 |
| [backgroundTaskHost.exe] | Background Task Host | 36 |
| [Spotify.exe] | Spotify Player | 33 |
| [Code.exe] | VS Code | 27 |
| [Microsoft.Photos.exe] | Microsoft Photos | 26 |
| WpnUserService_6729924 | Windows Push Notification Service | 24 |
| CryptSvc | Cryptographic Services | 24 |
| wlidsvc | Office Online Storage Service | 22 |
| [EXCEL.EXE] | Microsoft Excel | 22 |
| [BackgroundDownload.exe] | Desktop Wallpaper Downloader | 21 |
| [FenbiZhiboke.exe] | Fenbi Live Class | 20 |
| [Typora.exe] | Typora Editor | 18 |
| [iTunes.exe] | iTunes Player | 14 |
| WpnUserService_eaabf4 | Windows Push Notification Service | 12 |
| [OfficeClickToRun.exe] | Office Click-to-Run | 9 |
| [ctfmon.exe] | Language Bar Fix Tool | 8 |
| [ServiceHub.SettingsHost.exe] | Service Hub Settings Host | 8 |
| [devenv.exe] | Visual Studio Development | 7 |
| [igfxEM.exe] | Intel Graphics Driver | 5 |
| [WINWORD.EXE] | Microsoft Word | 5 |
| [java.exe] | Java Runtime | 5 |
| [PerfWatson2.exe] | Performance Diagnostic Tool | 4 |
| OneSyncSvc_eaabf4 | OneSync Service | 4 |
| [SettingSyncHost.exe] | Settings Synchronization Host | 3 |
| [ServiceHub.IdentityHost.exe] | VS Identity Host | 3 |
| DiagTrack | Diagnostic Tracking Service | 3 |
| [Lenovo.Modern.ImController.exe] | Lenovo Modern ImController | 3 |
| WpnUserService_7ba117b | Windows Push Notification Service | 3 |
| BITS | Background Intelligent Transfer Service | 2 |
| [ServiceHub.VSDetouredHost.exe] | Service Hub VS Detoured Host | 2 |
| [System] | System Proceses | 2 |
| [VirtualBoxVM.exe] | VirtualBox VM | 2 |
| WpnUserService_d935e | Windows Push Notification Service | 2 |
| [WhiteboardWRT.exe] | Microsoft Whiteboard | 1 |
| [cleanmgr.exe] | Disk Cleanup | 1 |
| [Explorer.EXE] | Windows Explorer | 1 |
| CDPUserSvc_d935e | Connected Devices Platform Service | 1 |
| [GfxDownloadWrapper.exe] | Intel Graphics Control Panel Downloader | 1 |
| [Snipaste.exe] | Snipaste Screenshot Tool | 1 |
| [OneDriveStandaloneUpdater.exe] | OneDrive Standalone Updater | 1 |
| wuauserv | Windows Udpate Service | 1 |
| [taskhostw.exe] | Task Host Window | 1 |
| [processlasso.exe] | Process Lasso | 1 |
| Total | 9879 |
O msedge.exe foi o programa com maior número de conexões de rede registradas, seguido por outros softwares comuns como Firefox e WeChat. Alguns softwares como o Alibaba Security Control levantaram suspeitas devido a relatos de monitoramento extensivo de disco, mesmo sem a execução explícita de aplicativos da Alibaba.
2.1.2. Sysmon para Monitoramento de Host
Instalar e configurar o Sysmon (System Monitor) da Sysinternals com um arquivo de configuração XML para monitorar atividades suspeitas no host.
- Instalação do Sysmon: Executar
Sysmon.exe -accepteula -i -nem modo administrador. - Criação do arquivo de configuração (
sysmon.xml): Configurar regras de inclusão (whitelist) e exclusão (blacklist) para eventos de rede, criação de processos, etc. O schemaversion deve corresponder à versão do Sysmon.
<Sysmon schemaversion="3.10">
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
- Carregar a configuração: Executar
.\Sysmon.exe -i sysmon.xml. Para atualizações, usar.\Sysmon.exe -c nome_arquivo_config.xml. - Visualizar logs: Abrir o Visualizador de Eventos em
Logs de Aplicativos e Serviços -> Microsoft -> Windows -> Sysmon -> Operational. - Simular reconexão com o backdoor: Executar o programa backdoor e configurar um listener no Kali. Verificar os logs do Sysmon para registrar a atividade. Os logs detalham o protocolo, IPs, portas e outras informações relevantes.
2.2. Análise de Malware (1.5 pontos)
Analisar o comportamento de um software malicioso em diferentes cenários: inicialização e reconexão, instalação em máquina alvo e outras ações arbitrárias (ex: migração de processos, captura de tela). Foco em registros modificados, arquivos acessados e comunicação de rede.
2.2.1. Análise Estática
- Verificação de Vírus: Utilizar o VirusTotal para obter informações sobre o arquivo, incluindo MD5, SHA1, SHA256 e possíveis detecções por antivírus.
- Identificação de Empacotamento/Ofuscação: Utilizar ferramentas como PEiD e UPX para verificar se o executável está empacotado ou ofuscado. O exemplo mostra um executável que foi empacotado com UPX e possivelmente criptografado com Hyperion.
- Desmontagem e Descompilação: Utilizar ferramentas como PE Explorer para inspecionar as DLLs importadas e a estrutura do executável.
2.2.2. Análise Dinâmica
-
Comparação de Snapshots (SysTracer): Tirar snapshots do sistema antes e depois da execução do malware para identificar alterações em registros, arquivos e aplicativos. O SysTracer pode revelar a criação de entradsa de execução e conexões de rede estabelecidas pelo malware.
-
Análise de Tráfego de Rede (Wireshark): Capturar o tráfego de rede durante a execução do malware em um listener (ex: no Kali Linux) para analisar os pacotes TCP/IP, identificando IPs de destino, portas e dados transmitidos. Configurar filtros no Wireshark (ex:
ip.addr == IP_DO_HOST and tcp.port == PORTA_DO_BACKDOOR). -
Monitoramento de Comportamento (Process Monitor): Utilizar o Process Monitor (ProcMon) da Sysinternals para registrar detalhadamente as operações de processo, arquivo e registro realizadas pelo malware. Filtrar o ProcMon pelo nome do processo do malware para analisar seu comportamento.
-
Problemas Encontrados
- Criação de arquivos em C:\: A falta de permissão para criar arquivos diretamente em C:\ impediu a gravação do
netstatlog.txtenetstatlog.bat. Solução: Executar a tarefa agendada com privilégios elevados ou criar os arquivos em um local com permissão de escrita. - Wireshark com USBPcap1: A instalação do Wireshark pode ter vindo com a captura de pacotes USB por padrão. Solução: Executar o Wireshark como administrador para garantir o acesso correto às interfaces de rede.
- Respostas às Perguntas
- Monitoramento de um host suspeito: Para monitorar um host com suspeita de código malicioso, utilizaria o
schtaskspara agendar a execução donetstate registrar conexões de rede. Paralelamente, o Sysmon seria configurado com regras específicas para capturar eventos de processos, rede e alterações de sistema, permitindo uma análise detalhada posterior. - Ferramentas para análise de um processo comprometido: Uma vez identificado um processo suspeito, utilizaria o SysTracer para criar snapshots comparativos e identificar alterações detalhadas em arquivos e registros. O Process Monitor (ProcMon) forneceria um log detalhado das atividades do processo em tempo real. Para análise de comunicação de rede, o Wireshark seria essencial para capturar e analisar pacotes.
- Conclusão e Reflexões
Este experimento marcou a transição do foco em ataques para a detecção e análise de ameaças. A técnica de comparação de snapshots (SysTracer) é particularmente poderosa, embora a análise de grandes volumes de dados possa ser desafiadora. O monitoramento contínuo do tráfego de rede revelou processos desconhecidos e comportamentos inesperados, como os associados a controles de segurança e serviços de atualização do Windows, levantando questões sobre a necessidade de monitoramento constante e a compreensão do comportamento normal do sistema para identificar desvios.