Download malware en linux - brainoverflow.org
Document related concepts
no text concepts found
Transcript
MALWARE EN LINUX Usa Linux decían ... ... En Linux no hay virus decían Alejandro Hernández CISSP, GPEN @nitr0usmx http://www.brainoverflow.org http://chatsubo-labs.blogspot.mx 1 Contenido ¿Por qué usar Linux (u otros basados en UNIX)? Tipos de Malware Similitudes y Diferencias con sistemas Windows Motivadores para la creación de malware Técnicas de Infección / Propagación Demo(s) Técnicas Anti Detección / Reversing / Debugging Demo(s) Técnicas de Detección / Eliminación Demo(s) 2 Conclusión ¿Por Por qué qu usar Linux (*NIX)? (*NIX)? Porque es “GRATIS” PORQUE NO HAY VIRUS … DECÍAN Porque es para expertos y hackers Porque si… 3 ¿Por Por qué qu usar Linux (*NIX)? (*NIX)? http://www.dedoimedo.com/computers/linux-convert.html 4 ¿Por Por qué qu usar Linux (*NIX)? (*NIX)? 5 ¿Por Por qué qu usar Linux (*NIX)? (*NIX)? http://www.dedoimedo.com/computers/linux-convert.html 6 Tipos de Malware en Linux 7 Backdoors Plataformas de SPAM (Correo no deseado) Servidores de archivos (FTP, Torrents, etc.) Botnets Virus Bombas de tiempo Sniffers de información bancaria Etc. Tipos de Malware en Linux Rootkits Set de herramientas para esconder rastros de ataque y mantener accesos futuros Esconder archivos Esconder procesos Esconder conexiones de red Usuarios escondidos Y muchas otras capacidades 8 Motivadores para la creación creaci n de malware Mayormente financiera Espionaje Recientemente cuestiones geopolíticas entran en juego (Stalking) 9 Similitudes y Diferencias con sistemas Windows 10 Similitudes y Diferencias con sistemas Windows Market share 11 Similitudes y Diferencias con sistemas Windows Formato de archivo ejecutable Windows: PE (Portable Executable) Linux: ELF (Executable and Linking Format) Muchos usuarios de Windows utilizan la cuenta de Administrador Permisos de archivos en Linux por default 12 Menor factor de exposición Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Existen virus / gusanos en diversos lenguajes de programación como: Perl Bash scripts Python Etc. Los más comunes y sofisticados son en el formato de archivos ELF 13 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Executable and Linking Format Formato de archivo mayormente utilizado en sistemas tipo UNIX como Linux, BSD, Solaris, Irix, etc. 14 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Muchísimas técnicas de infección de binarios ELF Mayormente infección en los binarios estáticamente Ejemplo, inyección de un parásito en el segmento de datos Código malicioso: \x6a\x0b\x58\x99\x52 \x66\x68\x2d\x46\x89 \xe1\x52\x66\x68\x65 \x73\x68\x74\x61\x62 \x6c\x68\x6e\x2f\x69 \x70\x68\x2f\x73\x62 \x69\x89\xe3\x52\x51 \x53\x89\xe1\xcd\x80 15 .text .data .bss Técnicas cnicas de Infección Infecci n / Propagación Propagaci n nitr0us@linux:~$ ./binario_infectado Código malicioso: \x6a\x0b\x58\x99\x52 \x66\x68\x2d\x46\x89 \xe1\x52\x66\x68\x65 \x73\x68\x74\x61\x62 \x6c\x68\x6e\x2f\x69 \x70\x68\x2f\x73\x62 \x69\x89\xe3\x52\x51 \x53\x89\xe1\xcd\x80 16 .text .data .bss Técnicas cnicas de Infección Infecci n / Propagación Propagaci n nitr0us@linux:~$ ./binario_infectado 17 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n DEMO INFECCIÓN ESTÁTICA INYECCIÓN DE UN PARÁSITO EN EL SEGMENTO DE DATOS ELF_data_infector.c http://www.brainoverflow.org/code/ELF_data_infector.c 18 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n En tiempo de ejecución Uno de los últimos troyanos identificado para Linux con capacidades de captura de información bancaria de los formularios de exploradores. “Hand of Thief” Trojan 19 https://blog.avast.com/2013/08/27/linux-trojan-hand-of-thiefungloved/ https://blogs.rsa.com/thieves-reaching-for-linux-hand-of-thieftrojan-targets-linux-inth3wild/ http://ostatic.com/blog/hand-of-a-thief-linux-malware-goes-for-themoney Técnicas cnicas de Infección Infecci n / Propagación Propagaci n “Hand of Thief” Trojan 20 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n “Hand of Thief” Trojan Es importarte mencionar que un usuario no se infecta “automáticamente” al descargar este troyano (al igual que la mayoría de malware en Linux) El autor recomienda… “Hand of Thief’s developer did not offer a recommended infection method, other than sending the trojan via email and using some social engineering to have the user launch the malware on their machine.” www.infosecurity-magazine.com/view/34349/hand-of-thief-trojan-has-no-claws/ 21 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Otro de los últimos detectado es http://www.symantec.com/security_response/writeup.jsp?docid=2013-111815-1359-99 22 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n A diferencia de Windows, el malware en Linux no se ejecuta y propaga tan fácilmente 23 Mayormente se requiere de la interacción del usuario Ingeniería Social Otros vectores de ataque Cronjobs Modificación de archivos de configuración .bashrc Etc. Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Propagación a través de vulnerabilidades remotas Exploits embedidos Malas configuraciones FTP / NFS / SMB con permisos de escritura para todos Contraseñas por default en servicios de red 24 Técnicas cnicas de Infección Infecci n / Propagación Propagaci n Error de capa 8 (PEBKAC) 25 Técnicas cnicas de Anti Detección Detecci n / Reversing / Debugging Muchas técnicas conocidas Detección del entorno Dejar de funcionar si está corriendo bajo una Máquina Virtual Detección de ejecución a través de debuggers: http://xorl.wordpress.com/2009/01/01/quick-anti-debugging-trick-for-gdb/ ptrace(PTRACE_TRACEME, 0, 0, 0) 26 Técnicas cnicas de Anti Detección Detecci n / Reversing / Debugging Hasta más avanzadas como las presentadas por aczid Linux debugging & anti-debugging Hack In The Random 2600 Netherlands September 8, 2012 27 http://www.hackintherandom2600nldatabox.nl/archive/slides/2012/aczid.pdf http://www.hackintherandom2600nldatabox.nl/archive/slides/2012/antidebuggin g.tgz Técnicas cnicas de Anti Detección Detecci n / Reversing / Debugging DEMOS APROVECHÁNDOSE DE FALLOS EN DEBUGGERS PARA “MATARLOS” http://blog.ioactive.com/2012/12/striking-back-gdb-and-ida-debuggers.html gdb_elf_shield.c http://www.exploit-db.com/exploits/23523/ 28 Técnicas cnicas de Anti Detección Detecci n / Reversing / Debugging 29 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Presencia de elementos extraños y/o no identificados Procesos | Archivos | Conexiones | Puertos nitr0us@linux:~$ netstat -ant | grep LISTEN Cuentas de usuarios no identificados ‘h4ck3r::0:0::/:/bin/sh’ (/etc/passwd) Elementos ocultos 30 Carpetas como “. “ o “.. “ o que inician con “.” no salen con un listado normal $ls –l Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Ejecución periódica de herramientas de detección chkrootkit rkhunter otras 31 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n DEMO DETECCIÓN DE ROOTKITS rkhunter http://rkhunter.sourceforge.net 32 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Ejecución periódica de integridad de archivos Hashes MD5 SHA-1 Etc. Herramientas como Tripwire ($) AIDE (Advanced Intrusion Detection Environment) 33 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Antivirus 34 Detectan la existencia de código malicioso Heurística Sandboxes Sensores de Red Reverse Engineering Etc. Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Y se ve así… 35 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Antivirus Mayormente detección basada en firmas de virus, por ejemplo, una pequeña lista de malware conocido 36 http://en.wikipedia.org/wiki/Linux_malware Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Los engines analizadores no son suficientemente buenos aún 37 Research de Tavis Ormandy vs Sophos Antivirus [SOPHAIL] http://lock.cmpxchg8b.com/sophail.pdf Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Los engines analizadores no son suficientemente buenos aún 38 En Febrero de 2013 analicé el engine de ELFs de ClamAV En libclamav se encuentra elf.c, que es el engine analizador Todas las variables son de tipo unsigned Esto es bueno, sin embargo… Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n Existen validaciones muy básicas (bypasseables) como: if(file_hdr.e_phentsize == sizeof(struct elf_program_hdr64)) if(file_hdr.e_ident[5] == 1) /* endianess */ if(phnum > 128) ... for(i = 0; i < phnum; i++) { if(shnum > 2048) 39 Técnicas cnicas de Detección Detecci n / Eliminación Eliminaci n DEMO EJECUCIÓN DE ANTIVIRUS ClamAV http://www.clamav.net 40 Conclusión Conclusi n En Linux, SI hay virus y demás malware Sus mecanismos de seguridad por default no lo hacen tan vulnerable contra el malware El porcentaje de usuarios es mucho menor que Windows, así que el nivel de exposición también es menor Existen tendencias de atacar estaciones Linux de usuarios finales para obtención de información financiera y datos personales El software anti-malware para Linux necesita mejorar 41 42 42 G R A C I A S Alejandro Hernández CISSP, GPEN @nitr0usmx http://www.brainoverflow.org http://chatsubo-labs.blogspot.mx