anteproyecto del código procesal penal: análisis técnico

Post on 12-Jul-2015

224 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

César Lorenzana

Javier Rodríguez

Grupo Delitos Telemáticos (U.C.O.)

NnCON 2013

Albacete, Octubre 2013

• ¿Qué es el GDT? - ¿Qué hacemos?

INTRODUCCIÓN

• Canales, Actores, y Procedimiento

EVOLUCIÓN COMUNICACIONES

• Canales, Actores, y Procedimiento

SITUACIÓN ACTUAL

FUTURO???

INDICE

Guardia Civil vs. Cibercrimen

UNIDAD TÉCNICA DE PJ

SECCIÓN TECNOLÓGICOS

EDITE´s

SERVICIO CRIMINALÍSTICA

DEPARTAMENTO INGENIERIA

UNIDAD CENTRAL

OPERATIVA

TRÁFICO DROGAS

DELINCUENCIA EONÓMICA

PERSONAS

DELITOS TELEMÁTICOS

Jefatura de Policía Judicial

Fraude Electrónico

Malware

Intrusiones

Robo Identidad

Correo Postal

Telégrafo

Teléfono

Móviles

Internet

Smartphones

ADSL

SEGURIDAD

Y LA LEY??????????

QUE OPINA SOBRE ESTO?

OBTENCION DATOS VOLATILES

REGISTRO REMOTO

BUEN-WARE

Herramienta de Intervención

Remota

SONDA

• Binario / Ejecutable

• Alojado en Equipo a Monitorizar

SERVIDOR

• C&C de toda la vida

Protecciones

Análisis estático.

Análisis dinámico.

Tráfico cifrado

Anti-VM Anti-Sandbox Bypass AV

• Comerciales vs Privados.

• En general, introducen una nueva sección en el binario, cifran y mueven el EP.

• Otros cifran todo el binario.

• Técnicas anti-dump (evitar volcado proceso a disco)

Uso de packers.

• XOR (?).

• Strings ofuscadas.

• Algo “más” que msfencode.

Uso de ofuscación

• Técnica de reconstrucción Poliformísmo / Metaformismo

• Comerciales vs Privados.

• runPE (dynamic forking)

• Método muy popular para evadir AVs.

Uso de crypters.

• Tools propias del software virtualizador.

Detección de VMs.

• Rellenar con código inservible.

• Generar “ruido” Padding.

• Cálculo de lo que tardan en ejecutarse las instrucciones.

• “Anti-Reversing a ojo de buen cubero”

• GetProcessTimes

Tiempo y latencia

• Puntos de interrupción en memoria.

• Puntos de interrupción en hardware.

Uso de métodos anti-

debug

• Búsqueda por nombre-ventana.

• Búsqueda por patrón de bytes.

• Búsqueda por ejecúción proceso. • Búsqueda de soft instalado.

• Olly, IDA, Otras (gdb, etc).

Detección herramientas

• Debugger reemplaza byte por CC y lanza int3

• Si se ejecuta, salta a excepción controlada por el depurador

• Busca en lista de breakpoints y busca el breakpoint

• Reemplaza el byte mencionado

• Obtenemos la “parada de la ejecución”

• IsDebuggerPresent

• CheckRemoteDebuggerPresent APIs

• NtQueryInformationProcess

• NtGlobalFlag Procesos

• SEH (Structured Excepcion Handler)

• VEH (Vectored Excepcion Handler)

• *IMPORTANTE

Control de excepciones

int main()

{

.

.

CheckRemoteDebuggerPresent( GetCurrentProcess(), &bDebugged );

if( bDebugged )

std::cout << "Being debugged!" << std::endl;

else

std::cout << "Not being debugged!" << std::endl;

Sleep( 1000 );

}

return 0;

}

CONCLUSIONES

¡¡¡ATENTOS!!!, ………. por favor

VaporWare Group Solutions S.L.

Sede - Islas Caimán.

Target - Venta de kits de “buenware”

Precio - Ver wikileads

OBJETIVO

En una dictadura

cualquiera…..varios

activistas reciben un

correo electrónico.

Ese correo electrónico,

contiene una foto, con ese

nombre

Todo iba muy bien …

Opción A

• Abrir el fichero

Opción B

• Lo sube a virustotal

Opción C • .....

De repente………. un buen día

Se lo manda a un reverser !

¿A que se dedica un reverser?

Protecciones frente a debuggers

.text:00401683 finit

.text:00401686 fld ds:tbyte_40168E

.text:0040168C jmp short locret_401698

———————————————————————

.text:0040168E tbyte_40168E dt 9.2233720368547758075e18

———————————————————————

.text:00401698 locret_401698:

.text:00401698 retn

Detección de breakpoints

Vía PEB (Process Enviroment Block) -> Detecta dirección DbgBreakPoint

Crea permisos 777.

Escribe un NOP.

mueve a una dirección random

Otras (Deattach debugger)

Evade AV

Que tampoco es tan dificil…

Llama a ZwQuerySystemInformation

Llama get ProcessInformation

Recorre lista de procesos y busca AV.

Todo muy bien pero..

Se ejecutaba en una VM. (¿?)

Guarda la información en disco máquina infectada

Cifra en AES-256 (Bien !!!!!!)

La clave es predecible (Mal !!!!!)

Grosso modo, la hora de infección

Se conecta a varias IPs.

• Entre ellas, al CPD de VaporWare Group Solutions S.L

Haciendo un WhoIs de

esa IP.

• Aparece a nombre de VaporWare Group Solutions S.L

• Contacto Administrativo CEO.

Y por si fuera poco ..

¡¡¡ Mal !!!!

¡¡¡ Peor !!!!

Me suena esta historia …..

ESTO NO SE HACE ASÍ O Si ????

Y vosotros??... ;-)

gdt@notificaciones.guardiacivil.es

www.gdt.guardiacivil.es

Grupo de Delitos Telematicos

@GDTGuardiaCivil

GrupoDelitosTelematicos

top related