You are on page 1of 99

Parte 1

Caso de estudio: Ud. mismo


1. Suena

el telfono y es su jefe
indicando que los clientes no pueden
acceder. La red est siendo atacada.
2. Llegas
al
lugar
del
incidente.
Formateas
los
equipos,
instalas
nuevos antivirus, actualizas todo y
entras en operaciones otra vez en 3
das.
3. Pasan
2 semanas y los problemas
vuelven, esta vez ms intensos.
4. No sabes qu hacer y hay que llamar a
un especialista

Definicin de Malware
Malware
Abreviatura de malicious software
Es

cualquier software que cause


detrimento al usuario o a los equipos.

Es tambin cualquier software usado

para generar ganancias al atacante sin


autorizacin del propietario del equipo.

Historia del malware


Hace 27 aos apareci el primer virus de computadora

IBM (Brain.A). En 1986 los virus se hacan para


demostrar que eran posibles.
Desde finales de los aos 80 hasta el 2003, el propsito
fue destructivo. Ejemplos: LoveLetter, Melissa, etc.

Historia del malware


En el ao 2003, el malware empieza a convertirse en

una cuestin de dinero. Ejemplo: Fiddler.

Historia del malware


En el ao 2007, el malware empieza a ser tambin de

espionaje gubernamental. Ejemplo: FinFisher,


Bundestrojaner, Stuxnet, Flame, Red October, etc.

Fuente: AV-TEST.org

Estadsticas del malware


Muestras por mes (Fuente: Shadowserver Foundation)

Estadsticas del malware


Crecimiento del malware mvil (Fuente: F-Secure Labs)

Impacto en los individuos


Impacto psicolgico:
Scareware: Software diseado para asustar.

Impacto en los individuos


Impacto fsico:
No se descarta la posibilidad (Caso: Stuxnet).
Ataque MitM para espiar rebeldes (Caso: Diginotar).

Impacto en las compaas


En el negocio electrnico.
Causa mala reputacin: Cuando el AV captura un sitio
web corporativo infectado.

Impacto en las compaas


En el negocio electrnico.
Causa desvos de ganancias: Los atacantes infectan el
sitio web con banners que desvan los ingresos originales
hacia ellos.

Impacto en las compaas


En la estacin de trabajo:
Impide el funcionamiento normal del equipo y afecta su
productividad (Sabotaje).
Habilita el robo de informacin confidencial (Espionaje).

Tipos de malware s/alcance


Ataques masivos (mass malware).
Estos ataques estn diseados para infectar la mayor
cantidad de equipos posibles.
No suelen ser ataques sofisticados.
Generalmente son fciles de detectar.
Ataques dirigidos (targeted malware).
Estos ataques se disean especficamente para un grupo,
organizacin o persona.
Altamente sofisticados.
Son desconocidos y difciles de detectar.

Tipos de malware s/propsito


Malware con fines de lucro: Malware que se desarrolla

para generar dinero con los equipos infectados.

Rol del malware en la economa


Cmo los criminales hacen dinero con el malware?
Desvo de ganancias: Al insertar/reemplazar banners
publicitarios en sitios web.
Venta de estadsticas de uso: Elaboran reportes de uso

con informacin de los usuarios que se vende en el


mercado negro.

Venta de informacin confidencial: Extraen informacin

confidencial y la venden en el mercado negro.

Rol del malware en la economa


Cmo los criminales hacen dinero con el malware?
Minera bitcoin: Utilizan los computadores para minar
bitcoins, actividad muy rentable si se tienen muchos
equipos.
PPI: Pago por instalacin de software en los equipos

infectados.

Alquiler de botnets: Por un tiempo limitado, se concede

acceso al mejor postor a que haga uso de los equipos


infectados.

Ataque: Jackpotting
Consiste en infectar un ATM para extraer el dinero de

su bveda interna.

En BlackHat USA

2010, Barnaby Jack


demostr el ataque
en vivo infectando
un ATM.
Sirvi de inspiracin

para ataques actuales


a bancos.

Tipos de malware s/propsito


Malware con fines activistas: Malware que se desarrolla

para enviar propaganda poltica.

Tipos de malware s/propsito


Malware con fines gubernamentales: Malware que se

desarrolla para la ciberguerra y espionaje ciudadano.

Ataque: FinFisher en Mxico

Costo a la Procuradura General de la Repblica: 15.5 millones de dlares (2012)

Sntomas de un equipo infectado


Lentitud en el sistema.
Muchas aplicaciones de procedencia dudosa cargadas en
el sistema son un posible signo de infeccin.
Publicidad mientras navega, donde no debera estar.
Ejemplo: YouTube solamente tiene publicidad dentro de
los vdeos, no emplea banners o tcticas similares.
Cuando el navegador tiene barras de herramientas

extras (toolbars).

No necesariamente daan el equipo, pero es publicidad.

Prdida de informacin.

Vectores de infeccin
Vulnerabilidades en aplicaciones:
RCE (Remote Code Execution): Vulnerabilidad que permite
ejecutar cdigo arbitrario en aplicaciones. Tambin puede
suceder en sistemas operativos.

Vectores de infeccin
Medios extrables:
Contaminacin en el sistema de archivos: Malware que
detecta la insercin de un pendrive y lo infecta.

Ejemplo: Memoria infectada

Evadiendo las infecciones

Vectores de infeccin
Documentos descargados de Internet:
Algunos tipos de archivos pueden llevar algn tipo de
cdigo ejecutable, tales como las Macros en Excel, o el
JavaScript en el formato PDF.

Vectores de infeccin
Vulnerabilidades en el navegador (drive-by download):
Hay formas de infectarse simplemente navegando la web, ya
sea infectando el navegador o sus plugins (Flash, Java, ).

Vectores de infeccin
Ingeniera social:
A travs de dark patterns, se puede
llevar a las vctimas a cometer acciones
indebidas.
Dark patterns: Es un tipo de interfaz de
usuario que est diseada para engaar
al usuario.
Los dark patterns ms comunes son:

Bait-and-switch: Haces click y llegas a


donde no es.
Disguised-ads: Publicidad disfrazada.

Domain Generation Algorithm


Algoritmo de generacin de dominios: Se encarga de

generar dominios web para establecer puntos de


conexin con sus servidores de control.
Los dominios parecen aleatorios, pero realmente
estn calculados.
Usualmente basndose en la fecha y hora actual.

Ejemplo de DGA
def generate_domain(year, month, day):
domain = ""
for i in range(16):
year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17)
month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8)
day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12)
domain += chr(((year ^ month ^ day) % 25) + 97)
return domain + ".com"

Resultado:
7-Enero-2014 = intgmxdeadnxuyla.com
8-Enero-2014 = axwscwsslmiagfah.com

Parte 2

Taxonoma del malware


Virus

Gusanos

Infecta varios archivos en el

Infecta los dispositivos de

disco duro, para valerse de la


propagacin.
Se propaga empleando el
mejor esfuerzo.
Muchas veces su propagacin
empieza porque una persona
lo activa accidentalmente.
Principalmente se basa en
archivos.

comunicacin, para valerse


de la propagacin.
Se propaga enumerando los
dispositivos de la red.
Sus
mecanismos
de
propagacin
pueden
no
necesitar de intervencin
humana.
Principalmente se basa en
cdigo auto-contenido.

Taxonoma del malware


Caballos de Troya (Trojan Horses)
Software aparentemente benvolo/til,

que oculta otro en s mismo.

Ejemplo: Programa de antivirus que al


abrirlo instala publicidad en el sistema.

No hay que confundirlos con los

Remote Administration Tools (RATs).

App binder + RAT

Distintos tipos de troyanos


Backdoor Trojans

Banking Trojans

Su propsito es mantener el

Su propsito es interceptar la

acceso en el sistema por parte


del
criminal/atacante,
a
travs de una herramienta de
administracin
remota
(RAT).

comunicacin entre el cliente


y el banco, para robar las
credenciales de acceso y
eventualmente, vaciar la
cuenta del cliente.

Trojan Downloader
Su propsito es mantener los troyanos actualizados en el sistema.

Taxonoma del malware


Botnets
Software que convierte a tu equipo

en miembro de una red zombie.

Los botmasters controlan los bots

en masa y tambin al detal.

El acceso a las computadoras se

vende en grupos de miles.

Caso de estudio: Storm


Red zombie P2P.
Para Septiembre 2007, haba infectado

aproximadamente 45 millones de mquinas.


Desaparece en Noviembre 2008.
Actividad principal: Spam.

Taxonoma del malware


Ransomware
Cifra

los archivos del equipo sin


permiso del usuario, mantenindolos
como rehenes.

Para descifrarlos, es necesario pagar

para liberarlos del secuestro.

Taxonoma del malware


Rootkits
Software que se encarga de ocultar otro
en el sistema.
Capturan y modifican los resultados de
las instrucciones al sistema operativo.
Se pueden posicionar en varios niveles:
Modo usuario, modo kernel (ncleo),
modo hypervisor, modo UEFI.
Se caracterizan por ser herramientas
post-penetracin.

Funcionamiento de un rootkit

Funcionamiento de un rootkit
Modo usuario

Aplicaciones

Utilitarios
Rootkit

Cdigo malicioso

Valores modificados

Modo kernel (ncleo OS)

Drivers

Hardware

Funcionamiento de un rootkit
Antes de activar el rootkit

Funcionamiento de un rootkit
Despus de activar el rootkit

Funcionamiento de los AV
Funcionamiento por firmas de archivos

(virus signatures).

Anlisis heurstico.
Sistema de prevencin de intrusiones

basado en el Host (Host-based


Intrusion Prevention System).

Antivirus en la nube (cloud).

Deteccin por firmas de archivo


Se buscan pedazos de texto conocidos

de archivos.
Es una tcnica que est perdiendo
vigencia, pero an se usa para detectar
malware sencillo.
Es efectivo cuando el malware no es
polimrfico.
YARA (http://plusvic.github.io/yara/)

Ejemplo de firma de malware


rule silent_banker : banker
{
meta:
description = "Esto es un ejemplo."
thread_level = 3
in_the_wild = true
strings:
$a = {6A 40 68 00 30 00 00 6A 14 8D 91}
$b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
$c = "UVODFRYSIHLNWPEJXQZAKCBGMT"
condition:
$a or $b or $c
}

Anlisis heurstico
En teora, es capaz de detectar malware

an desconocido por el antivirus.


Incluye una sandbox en el que asla el
malware y lo ejecuta para registrar la
actividad.
Funciona tambin basado en ciertas
reglas y estadsticas.
Descompila el software para compararlo
con otras muestras conocidas.

Ejemplo de anlisis heurstico


Condiciones:
Si hace uso de conexiones a un servidor externo,
entonces:
Analizar a qu servidor se conecta Es de una lista de

servidores conocidos? Es un algoritmo DGA?


Simular la conexin a ese servidor.

Es capaz de sobreescribir archivos?


Qu otras funciones tiene? Clasificar las funciones

maliciosas y compararlas con las acciones positivas.

Caso Stuxnet (VirusBlokAda)


Stuxnet fue un malware descubierto en Junio 2010.

Atacaba las centrales elctricas nucleares de Irn para


sabotear las centrfugas de enriquecimiento de uranio.
Pas desapercibido gracias a que:
Permaneca inactivo mientras no estuviera en su

objetivo.
Mantuvo gran cantidad de cdigo basura, engaando al
sistema heurstico. Emplea aprox. 20 exploits zeroday.
Estuvo firmado digitalmente por certificados robados de
JMicron Technology y Realtek Semiconductor.

Deteccin HIPS
El Sistema de prevencin de intrusiones

basado en el Host (Host-based Instrusion


Prevention System) funciona similar al
anlisis heurstico, en el sentido de tener
reglas de deteccin.
Analiza trfico de red tambin (desde el
host).
Puede detener una aplicacin al detectar
un
comportamiento
malicioso
en
progreso.
Es parte del firewall del equipo.

Intrusion (Detection/Prevention) S.
N-IDS (Network-based):

Detecta las amenazas en


red
y
alerta
al
administrador.
H-IDS
(Host-based):
Detecta las amenazas en
los equipos y alerta al
administrador.
Las firmas de deteccin
son configurables.

N-IPS (Network-based):

Detiene las amenazas en


red
y
alerta
al
administrador.
H-IPS
(Host-based):
Detiene las amenazas en
los equipos y alertan al
administrador.
Los eventos a ejecutar
son configurables.

Honeypots
Son

equipos
con
aadidas a propsito.

vulnerabilidades

Equipos en DMZ, pero con registros de

actividad detallados.

Se usan con software de imagen de disco,

para restaurarlas con facilidad.

Honeynets
Son redes de honeypots. Se dedican los equipos a la

actividad de registro de los atacantes.

Cifrado de una va
Cualquier cambio en el input cambiar el valor final.

Tamao fijo. Se puede usar para verificar contraseas,


ya que es irreversible.

Ejemplo: SHA-1
Funcin criptogrfica de hash de 160 bits.
Valor

SHA-1(Valor)

abcd1234

7ce0359f12857f2a90c7de465f40a95f01cb5da9

abdc1234

9c0f04357f03dda56d0d2a56404b7b786fa70bc8

1234abcd

e7d537e128158790157ea057bb883e0292a84930

ABCD1234

e331b72617e2a02b6a8d9f24065d1a293b6f99bb

Colisiones en el cifrado de una va


Las colisiones ocurren debido a que stos algoritmos

son de tamao fijo.

>>> from array import array


>>> from hashlib import md5
>>> input1 = array('I', [0x6165300e,0x87a79a55,0xf7c60bd0,0x34febd0b,0x6503cf04,
0x854f709e,0xfb0fc034,0x874c9c65,0x2f94cc40,0x15a12deb,0x5c15f4a3,0x490786bb,
0x6d658673,0xa4341f7d,0x8fd75920,0xefd18d5a])
>>> input2 = array('I', [x^y for x,y in zip(input1, [0, 0, 0, 0, 0, 1<<10, 0, 0, 0,
0, 1<<31, 0, 0, 0, 0, 0])])
>>> input1 == input2
False
>>> md5(input1).hexdigest()
'cee9a457e790cf20d4bdaa6d69f01e41'
>>> md5(input2).hexdigest()
'cee9a457e790cf20d4bdaa6d69f01e41'

Antivirus en la nube (cloud)


No analiza los archivos localmente,

sino que los pasa a una funcin hash y


verifica la reputacin en lnea.
Permite la inmediata deteccin de un
malware sin tener que actualizar el
antivirus, siempre que se tenga
conexin a Internet.
Por s sola esta tcnica no es til, debe
combinarse con las dems para ser
realmente efectiva.

Ejemplo de anlisis en la nube


Archivo sospechoso: invoice-880.jar
md5(ruta-del-archivo/invoice-880.jar)
e8f164de859996f8059ec67056b8f12c
Verificamos su estado (remotamente)
NO_DATA
http://hash.cymru.com/

Servicios de anlisis en lnea


VirusTotal (https://www.virustotal.com/).

Originalmente creado por Hispasec Sistemas.


Aproximadamente 52 antivirus activos.

JOTTI (http://virusscan.jotti.org/en).
Aproximadamente 20 antivirus activos.
COMODO (https://valkyrie.comodo.com/)
Analiza usando la ltima tecnologa de COMODO.
AVG (http://www.avgthreatlabs.com/website-safety-

reports/)

Analiza direcciones en lnea (URLs).

Parte 3

Ingeniera Inversa
El es proceso de extraer conocimiento o

informacin de diseo sobre cualquier


creacin humana.

Para analizar malware, hay dos enfoques

de ingeniera inversa:
Anlisis esttico
Anlisis dinmico

Tipos de anlisis de malware


Anlisis esttico (Static analysis).
Es el anlisis de malware que se hace
sin ejecutar la muestra sospechosa.
Puede hacerse inspeccionando el
cdigo fuente o desensamblado.
Anlisis dinmico (Dynamic analysis):
Es el anlisis de malware que se hace
ejecutando la muestra en un entorno
seguro de inspeccin.

Anlisis esttico (Static analysis)


En su modalidad bsica:
Observar los atributos de la muestra
sospechosa. Basndonos en unas reglas
simples podemos determinar si es confiable o
no. Ej: Est firmado digitalmente? Cmo
lleg a nuestro sistema?
Ventaja:
Escribir
una firma de deteccin es
relativamente rpido y sencillo.
Desventaja:
No funciona con malware avanzado.

Anlisis esttico (Static analysis)


En su modalidad avanzada:
Estudiar las instrucciones del ejecutable
desensamblado sin ejecutarlo. Se ejecutan las
instrucciones tal cual como se encuentran.
Ventaja:
Funciona con cualquier tipo de malware.
Desventaja:
Escribir una firma de deteccin puede
complicarse, pero es efectiva.
Requiere mucha prctica.

Anlisis dinmico (Dyn. analysis)


En su modalidad bsica:
Observar el comportamiento a simple vista del
archivo sospechoso ejecutndolo en un
entorno seguro, sandbox o mquina virtual.
Ventaja:
Escribir
una firma de deteccin es
relativamente rpido y sencillo.
Desventaja:
No funciona con malware avanzado.
Puede haber material que est dejando de ver.

Anlisis dinmico (Dyn. analysis)


En su modalidad avanzada:
Observar el comportamiento de un ejecutable
con un depurador corrindolo en un entorno
seguro. Se pueden usar herramientas de
fornsica digital.
Ventaja:
Es muy efectivo a la hora de analizar
comportamiento.
Desventaja:
No siempre funciona con cualquier tipo de
malware.

Malware Labs
Un laboratorio de malware es el

entorno seguro de inspeccin que el


analista emplea para el estudio de la
muestra sospechosa.

Se puede configurar con sandboxes,

mquinas virtuales, equipos reales con


sistemas de registro, entre otros.

Sandbox vs. Mquina virtual


Corre directamente en el

Corre

en un espacio
equipo aisladamente.
aislado de la memoria.
Utiliza el mismo sistema Es necesario que tenga
operativo en el que se
un sistema operativo
encuentra.
propio.
Con un equipo sencillo Es necesario un equipo
es suficiente.
relativamente potente.
No tener se debe tener No tener se debe tener
archivos personales en el
archivos personales en el
sistema.
sistema.

NSLOOKUP de un Dominio
Se usa para obtener los registros de direcciones IP.
Tambin se argumenta que PING funciona para esta

tarea, pero NSLOOKUP es la apropiada.

> google.com
Servidor: UnKnown
Address: 192.168.1.1
Respuesta no autoritativa:
Nombre: google.com
Addresses: 190.142.193.59, 190.142.193.29, 190.142.193.24, 190.142.193.35
190.142.193.30, 190.142.193.25, 190.142.193.55, 190.142.193.20, 190.142.193.39
190.142.193.34, 190.142.193.50, 190.142.193.45, 190.142.193.49, 190.142.193.40
190.142.193.44, 190.142.193.54
>

WHOIS de un Dominio
Funciona para averiguar el propietario de

un dominio en Internet y recopilar


informacin relevante.
Websites:
whois.domaintools.com/dominio.com
Herramientas Linux: Comando whois
Herramientas Windows: Sysinternals
Suite (www.sysinternals.com)
Incluye tambin un comando whois

Ejemplo: WHOIS
Comando: whois google.com

DIG de un Dominio
Domain Information Groper (DIG) es una

herramienta para interrogar servidores de


dominio.
Capaz de obtener
Registros de un dominio: Direcciones IP,

Nameservers, Servidores de correo, entre


otros.
Subdominios.
Transferencias de zonas.

Ejemplo: DIG Zone Transfer (AXFR)


; <<>> DiG 9.9.5-3-Ubuntu <<>> axfr @ns3.zoneedit.com blackhaul.com
; (1 server found)
;; global options: +cmd
blackhaul.com.
7200
IN
SOA
ns3.zoneedit.com.
soacontact.zoneedit.com. 2014006438 2400 360 1209600 300
blackhaul.com.
7200
IN
NS
ns4.zoneedit.com.
blackhaul.com.
7200
IN
NS
ns3.zoneedit.com.
blackhaul.com.
7200
IN
A
64.150.183.118
blackhaul.com.
7200
IN
MX
10 ALT1.ASPMX.L.GOOGLE.com.
blackhaul.com.
7200
IN
MX
10 ALT2.ASPMX.L.GOOGLE.com.
blackhaul.com.
7200
IN
MX
0 ASPMX.L.GOOGLE.com.
blackhaul.com.
7200
IN
MX
20 ASPMX2.GOOGLEMAIL.com.
blackhaul.com.
7200
IN
MX
20 ASPMX3.GOOGLEMAIL.com.
mail.blackhaul.com. 7200
IN
CNAME
ghs.google.com.
calendar.blackhaul.com.
7200
IN
CNAME
ghs.google.com.
start.blackhaul.com.
7200
IN
CNAME
ghs.googlehosted.com.
sites.blackhaul.com.
7200
IN
CNAME
ghs.google.com.
docs.blackhaul.com. 7200
IN
CNAME
ghs.google.com.
www.blackhaul.com. 7200
IN
A
64.150.183.118
blackhaul.com.
7200
IN
SOA
ns3.zoneedit.com.
soacontact.zoneedit.com. 2014006438 2400 360 1209600 300

Sandboxie y BSA

You might also like