Prévia do material em texto
Engenharia Reversa e Análise de Malware Ronaldo Pinheiro de Lima crimesciberneticos.com@gmail.com Aula 01 Aula 012 Aula 01 Visão geral do curso 1. Introdução 1.1. Tipos de códigos maliciosos 1.2. Engenharia Reversa de Malware 1.3. Análise Estática e Dinâmica (comportamental) 1.4. Ferramentas 1.5. Antireversing e anti-antivírus 1.5.1. Polimorfismo 1.5.2. Metamorfismo 1.5.3. Packers 1.5.4. Cryptors 1.5.5. Binders, Joiners e Wrapers 1.5.6. Strings Ofuscadas Aula 013 Visão geral do curso Introdução termo malware intenção atividades danos Aula 014 Tipos de código maliciosos características comuns difícil definição Vírus mais antigo termo genérico cópias para infectar arquivos depende de ação do usuário Aula 015 Worm auto-replicam exploram vulnerabilidades Spyware coleta dados de navegação/computador Trojan horse presente de grego funções ocultas Trojan-Downloader instalados no primeiro acesso Trojan-Dropper códigos maliciosos embutidos no próprio trojan Aula 016 Trojan-Banker 95% no Brasil Backdoor acesso remoto Bot/Botnet acesso remoto para enviar comandos ataques Ransomware criptografa dados e solicita “resgate” Scareware assustar o usuário, rogue ou fake security software Rootkit ocultar presença, técnicas avançadas Aula 017 Nation-Sponsored Malware Cyberweapons / CyberWar Inutilizar computador da vítima Utilizada frequentemente em sistemas industriais: nuclear, energia, abastecimento (SCADA) Cyber Espionage / Cyber Surveillance Coletar todos os tipos de dados Ex.: Stuxnet, DuQu, Flame, FinFisher, [next here] http://www.finfisher.com http://www.finfisher.com/ Aula 018 Fraudes Pharming redirecionamento do usuário para páginas falsas DNS falso Phishing Scam spam assuntos do momento Spear Phishing pesca com arpão Aula 019 Engenharia Reversa extrair conhecimento algo que foi perdido ou sem acesso descobrir segredos dos concorrentes Engenharia Reversa de Malware dissecar o malware olhar internamente entender suas funcionalidades habilidades específicas (curiosidade) Aula 0110 Análise Estática e Dinâmica estática sem execução * conhecimentos mais avançados dinâmica execução, comportamento monitoramento do SO automatização métodos complementares Aula 0111 Ferramentas poucas próprias gratuitas Identificadores de arquivos perfil do arquivo compiladores e proteções Ex.: PEiD, Exeinfo PE, RDG, file Aula 0112 Monitoramento do sistema análise dinâmica rede, arquivos, registro, processos, objetos Exemplos: Autoruns, Process Explorer Process Hacker, Process Monitor, Regshot TCP View, Wireshark Aula 0113 Disassemblers gera textos com código assembly baseado em arquitetura (processador) Ex.: IDA Pro Free Debuggers observar programas e ambiente breakpoints e navegar no código assembler level debugger Aula 0114 Debuggers (cont.) assistir a CPU user-mode e kernel-mode debuggers Ex.: OllyDbg, Immunity Debugger, WinDbg Descompiladores produzir código de alto-nível compilação perde informações Ex.: DeDe, VB Decompiler Pro, Hex-Rays * Aula 0115 Memory Forensics memória física (RAM) retirada de proteções captura e análise Exemplos: LordPE MoonSols Windows Memory Tookit Memoryze Volatility Framework Aula 0116 Ferramentas diversas CFF Explorer Dependency Walker Editores hexadecimais (HxD) Import REC PEview Resource Hacker Strings FakeNet Aula 0117 Antireversing e anti-antivírus evitar ER, detecção e “fogo amigo” camadas sempre realizam o processo inverso Polimorfismo criptografa o malware cada cópia uma chave diferente evitar detecção por assinaturas falhas: memória e algoritmo de criptografia Aula 0118 Metamorfismo criptografia do malware código todo é modificado a cada cópia inclusive o algoritmo criptográfico difícil detecção Packers comprime e criptografa o malware adiciona rotina de descompressão (EP) unpacking na memória Aula 0119 Crypters algoritmo criptográfico no código não faz compressão FUD (Fully Undetectable) Anti-TUDO (VM, Debugger, Sandbox...) Comercializados com “garantias” FUD Brazil! http://thebestfudcrypters.blogspot.com/ http://crypters.net/ http://thebestfudcrypters.blogspot.com/ http://crypters.net/ Aula 0120 Binders, Joiners ou Wrappers junta dois arquivos (malicioso e legítimo) determina execução oculta Strings Ofuscadas strings permanecem no código compilado criptografia de informações importantes descriptografia em run-time Aula 0121 Obrigado! A explicação detalhada de todos os tópicos está na apostila. Ronaldo Pinheiro de Lima crimesciberneticos.com@gmail.com http://www.crimesciberneticos.com @crimescibernet mailto:crimesciberneticos.com@gmail.com mailto:crimesciberneticos.com@gmail.com mailto:crimesciberneticos.com@gmail.com mailto:crimesciberneticos.com@gmail.com mailto:crimesciberneticos.com@gmail.com http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/ http://www.crimesciberneticos.com/