41
1 Usa Linux decían ... ... En Linux no hay virus decían MALWARE EN LINUX

Malware en linux

  • Upload
    tensor

  • View
    246

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Malware en linux

1

Usa Linux decían ...... En Linux no hay virus decían

MALWARE EN LINUX

Page 2: Malware en linux

Contenido

2

¿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)

Conclusión

Page 3: Malware en linux

¿Por qué usar Linux (*NIX)?

3

Porque es “GRATIS”

PORQUE NO HAY VIRUS … DECÍAN

Porque es para expertos y hackers

Porque si…

Page 5: Malware en linux

¿Por qué usar Linux (*NIX)?

5

Page 7: Malware en linux

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.

Page 8: Malware en linux

8

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

Tipos de Malware en Linux

Page 9: Malware en linux

Motivadores para la creación de malware

9

Mayormente financiera

Espionaje

Recientemente cuestiones geopolíticas entran en juego

(Stalking)

Page 10: Malware en linux

10

Similitudes y Diferencias con sistemas Windows

Page 11: Malware en linux

11

Market share

Similitudes y Diferencias con sistemas Windows

Page 12: Malware en linux

12

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

Menor factor de exposición

Similitudes y Diferencias con sistemas Windows

Page 13: Malware en linux

Técnicas de Infección / Propagación

13

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

Page 14: Malware en linux

Técnicas de Infección / Propagación

14

Executable and Linking Format Formato de archivo mayormente utilizado en sistemas

tipo UNIX como Linux, BSD, Solaris, Irix, etc.

Page 15: Malware en linux

15

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

.text

.data

.bss

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

Técnicas de Infección / Propagación

Page 16: Malware en linux

16

.text

.data

.bss

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

Técnicas de Infección / Propagación

Page 17: Malware en linux

17

nitr0us@linux:~$ ./binario_infectado

Técnicas de Infección / Propagación

Page 18: Malware en linux

18

DEMOINFECCIÓN ESTÁTICA

INYECCIÓN DE UN PARÁSITO EN EL SEGMENTO DE DATOS

ELF_data_infector.chttp://www.brainoverflow.org/code/ELF_data_infector.c

Técnicas de Infección / Propagación

Page 20: Malware en linux

20

“Hand of Thief” Trojan

Técnicas de Infección / Propagación

Page 21: Malware en linux

21

“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/

Técnicas de Infección / Propagación

Page 22: Malware en linux

22

Otro de los últimos detectado es

http://www.symantec.com/security_response/writeup.jsp?docid=2013-111815-1359-99

Técnicas de Infección / Propagación

Page 23: Malware en linux

23

A diferencia de Windows, el malware en Linux no se ejecuta y propaga tan fácilmente

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 de Infección / Propagación

Page 24: Malware en linux

24

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

Técnicas de Infección / Propagación

Page 25: Malware en linux

25

Error de capa 8 (PEBKAC)

Técnicas de Infección / Propagación

Page 26: Malware en linux

Técnicas de Anti Detección/ Reversing / Debugging

26

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)

Page 27: Malware en linux

27

Hasta más avanzadas como las presentadas por aczid

Linux debugging & anti-debugging Hack In The Random 2600 Netherlands September 8, 2012 http://www.hackintherandom2600nldatabox.nl/archive/slides/2012/aczid.pdf http://

www.hackintherandom2600nldatabox.nl/archive/slides/2012/antidebugging.tgz

Técnicas de Anti Detección/ Reversing / Debugging

Page 28: Malware en linux

28

DEMOSAPROVECHÁNDOSE DE FALLOS EN

DEBUGGERS PARA “MATARLOS”http://blog.ioactive.com/2012/12/striking-back-gdb-and-ida-debuggers.html

gdb_elf_shield.chttp://www.exploit-db.com/exploits/23523/

Técnicas de Anti Detección/ Reversing / Debugging

Page 29: Malware en linux

29

Técnicas de Anti Detección/ Reversing / Debugging

Page 30: Malware en linux

Técnicas de Detección / Eliminación

30

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 Carpetas como “. “ o “.. “ o que inician con “.” no salen

con un listado normal $ls –l

Page 31: Malware en linux

31

Ejecución periódica de herramientas de detección chkrootkit rkhunter otras

Técnicas de Detección / Eliminación

Page 32: Malware en linux

32

DEMODETECCIÓN DE ROOTKITS

rkhunterhttp://rkhunter.sourceforge.net

Técnicas de Detección / Eliminación

Page 33: Malware en linux

33

Ejecución periódica de integridad de archivos Hashes

MD5 SHA-1 Etc.

Herramientas como Tripwire ($) AIDE (Advanced Intrusion Detection Environment)

Técnicas de Detección / Eliminación

Page 34: Malware en linux

34

Antivirus Detectan la existencia de código

malicioso Heurística Sandboxes Sensores de Red Reverse Engineering Etc.

Técnicas de Detección / Eliminación

Page 35: Malware en linux

35

Y se ve así…

Técnicas de Detección / Eliminación

Page 36: Malware en linux

36

Antivirus Mayormente detección basada en firmas de virus, por ejemplo,

una pequeña lista de malware conocido http://en.wikipedia.org/wiki/Linux_malware

Técnicas de Detección / Eliminación

Page 37: Malware en linux

37

Los engines analizadores no son suficientemente buenos aún

Research de Tavis Ormandy vs Sophos Antivirus [SOPHAIL] http://lock.cmpxchg8b.com/sophail.pdf

Técnicas de Detección / Eliminación

Page 38: Malware en linux

38

Los engines analizadores no son suficientemente buenos aún

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 de Detección / Eliminación

Page 39: Malware en linux

39

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)

Técnicas de Detección / Eliminación

Page 40: Malware en linux

40

DEMOEJECUCIÓN DE ANTIVIRUS

ClamAVhttp://www.clamav.net

Técnicas de Detección / Eliminación

Page 41: Malware en linux

Conclusión

41

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