Documentos de Académico
Documentos de Profesional
Documentos de Cultura
20/06/2019 www.quantika14.com 1
Gracias por
invitarme de
nuevo a dar a
una charla
20/06/2019
www.quantika14.com 2
Autor: Jorge Coronado
• Fundador y CEO de QuantiKa14
• Perito informático
• Colaborador de Canal Sur Radio desde 2015
• Profesor en el curso de detectives de la Universidad Pablo Olavide de Sevilla en 2017
• Colaborador del primer “Protocolo institucional en España ante la violencia de género en las redes
sociales”
• Formación a cuerpos de seguridad en investigación a través de Internet desde la ESPA y otros cursos
• Creador del protocolo de actuación para la búsqueda de personas desaparecidas a través de las
tecnologías de la información y comunicación
• Vocal de la asociación de peritos tecnológicos de Andalucía (APTAN)
• Dinamizador del Hack&Beers Sevilla
• Canal de Youtube “INVESTIGA CONMIGO DESDE EL $SU”
• Creador de aplicaciones como: Guasap Forensic, Shodita, EO-Ripper, Dante Gates, Killo.io, etc
Sígueme en Twitter:
@JorgeWebsec
@QuantiKa14
20/06/2019 www.quantika14.com 3
¿Qué vamos a ver?
1. Forense en WhatsApp
1. Metodología
2. Aplicaciones para extracción
3. Guasap Forensic para extracción y análisis automático
4. Caso real
2. Forense en WordPress
1. Metodología
2. WpScan
3. Web hunter forensic
4. WordPress Analyzer para eliminar malware
20/06/2019 www.quantika14.com 4
FORENSE EN WORDPRESS USANDO OPEN SOURCE
6/30/2019 www.quantika14.com 5
6
Situación
7
Situación
Antecedentes de hechos: Contrapericial:
Mi cliente me manifiesta llevar muchos años en La empresa aportó un informe pericial
la empresa y haber sido despedido de forma informático que realizó ante notario.
procedente pero los argumentos que expone la Básicamente describen como observan una web
empresa son: WordPress, donde en el apartado de “Noticias”,
el artículo más buscado, tiene un título
• haber modificado la entrada del blog de la “insultante para cargos de la directiva de la
empresa y cambiar un título insultando a la empresa y otros trabajadores superiores [..]”.
directiva y superiores. Concluyen que la autoría de tal hecho es mi
El cliente afirma (varias veces) no haber cliente.
realizado esa modificación y ser inocente. En la web aparece el usuario, y solo tienen 3
personas y la web tiene 3 usuarios diferentes
con accesos al panel de control: la jefa (“Mari
Antonia”) y dos trabajadores.
Según la fecha que se puede ver en la captura
de pantalla, solo puede ser mi cliente porque es
el único que estaba en la oficina trabajando a
esa hora y la IP es de allí
30/06/2019 www.quantika14.com 8
Preguntas que
nos hacemos:
• ¿Quién fue entonces?
• ¿Hay control remoto en los equipos?
• ¿Qué artifacts tiene WordPress?
6/30/2019 www.quantika14.com 9
¿Qué ha podido
pasar?
1. Que mi cliente mienta.
a. Indicios en los registros
2. Que haya sido un intruso tercero
a. Web vulnerable
b. Contraseñas flojas (usuarios
identificables)
c. Fuerza bruta
d. Backdoor
3. Que haya sido otra persona de la empresa
a. Registros
b. Tienen acceso (panel, DB y
servidor)
6/30/2019 www.quantika14.com 10
Pedimos el clonado
https://api.wordpress.org/core/checksums/1.0/?version={var}
6/30/2019 www.quantika14.com 12
Auditoría del WordPress
• Analizamos si es posible
identificar los nombres de
usuarios
• Detectamos si existe algún
tipo de sistema contra fuerza
bruta
• Identificamos si el WP es
vulnerable, los plugins,
themes, etc
6/30/2019 www.quantika14.com 13
WPSCAN
30/06/2019 www.quantika14.com 14
¿Un cronjob
que cambiara
el artículo?
• https://wordpress.org/plug
ins/wp-crontrol/
30/06/2019 www.quantika14.com 15
Cruzamos
datos de los
logs:
6/30/2019
www.quantika14.com 16
Web Hunter Forensic:
https://blog.quantika14.com/blog/2018/11/28/diario-
de-un-perito-informatico-forense-a-un-wordpress-iii/
30/06/2019 www.quantika14.com 17
¿Cómo identificamos malware de forma
automática?
30/06/2019 www.quantika14.com 18
Vídeo de wpAnalyzer
30/06/2019 www.quantika14.com 19
Resumen:
Prueba realizada Resultado
Comprobamos hash de archivos Nada raro
Vulnerabilidades No se encuentran
Fuerza bruta No existe protección
Análisis de los logs Encontramos:
• No hay indicios de BF
• No hay indicios de ataque informático
• No encuentra conexiones a phpmyadmin
Detección de malware Ninguno aparentemente
Cronjobs Falso positivo, no hay ninguno peligroso
30/06/2019 www.quantika14.com 20
Hipótesis:
6/30/2019
www.quantika14.com 21
¿Qué hace la función
“wp_update_post()”?
6/30/2019 www.quantika14.com 22
Exif Tool más 30 líneas de Python
30/06/2019 www.quantika14.com 23
Conclusión:
• Se encuentran claros indicios de que el artículo donde se
insultaba a “Mari Antonia” es un POST modificado
• Se encuentra una fecha de modificación que no coincide
con las horas de trabajo del acusado
• Se encuentra que la imagen fue creada
aproximadamente a la misma hora que se modificó el
POST
• Se encuentra que la imagen fue modificada con la
aplicación de Photoshop. Únicamente instalada en el
ordenador del compañero del cliente
6/30/2019 www.quantika14.com 24
WHATSAPP COMO PRUEBA DIGITAL
30/06/2019 www.quantika14.com 25
¿Qué es una prueba
digital?
30/06/2019
www.quantika14.com 26
El Tribunal Superior
de Justicia de Sentencia del Tribunal Superior de Justicia de Madrid de
Madrid acepta 10 de junio de 2015 (Recurso 817/2014)
como comunicación
de baja voluntaria
mensajes enviados https://www.laboral-social.com/sites/laboral-
a través de social.com/files/NSJ052530.pdf
http://www.legaltoday.com/files/File/pdfs/sentencia-
whatsapp. laboral.pdf
www.quantika14.com 30/06/2019 27
30/06/2019 28
El stalking o acecho es una forma de acoso que consiste en la persecución ininterrumpida e intrusiva a una
persona sirviéndose de las nuevas tecnologías. Es decir, mediante llamadas, mensajes, controlando el
whatsapp o vigilando las redes sociales. El nuevo artículo 172 ter del Código Penal castiga ahora esta
conducta que, pese a su gravedad y a la alteración de la vida cotidiana que supone para la víctima, quedaba
impune por la dificultad de tipificarla con arreglo a la legislación vigente anterior a la reforma del Código
Penal de 2015.
El stalking en el
El Pleno de la Sala II del Tribunal Supremo en su Sentencia de 8 de mayo de 2017, se ha pronunciado por
primera vez sobre el nuevo delito de ‘stalking’ u hostigamiento, introducido en el Código Penal por
reforma del año 2015, que castiga con penas de 3 meses a 2 años de cárcel (o multa de 6 a 24 meses), a
quien acose a una persona de forma insistente y reiterada, alterando gravemente su vida cotidiana. En esta
ámbito de la primera aproximación al nuevo tipo penal, el Supremo establece que la conducta para ser delito debe tener
vocación de prolongarse el tiempo suficiente para provocar la alteración de la vida cotidiana de la víctima,
como dice el tipo penal. No bastan por ello unos episodios, más o menos intensos o más o menos
numerosos pero concentrados en pocos días y sin nítidos visos de continuidad, que además no comporten
género La Sala II ha desestimado el recurso de una mujer que quería que se aplicase a su expareja sentimental el
artículo 172.ter.2, que castiga el nuevo delito de hostigamiento. La sentencia de la Audiencia de Madrid
recurrida condenó al hombre pero no por dicho delito sino por el de coacciones en el ámbito familiar, a una
pena de 16 días de trabajos en beneficio de la comunidad y prohibición de aproximarse a la mujer durante
6 meses.
www.quantika14.com
Sentencia
La Sala de lo penal del TS ha dictado una
(sentencia número 754/2015, ponente señor
Sánchez Melgar) en la que reitera el criterio en
su sentencia de 19 de mayo de 2015 (número
300/2015), también insiste en que la carga de la
prueba de la idoneidad probatoria de las
capturas de pantalla o archivos de impresión,
corresponde a quien pretende aprovechar dicha
prueba. Por ello, a falta de su reconocimiento por
la otra parte, será necesario un informe pericial
que identifique el teléfono emisor de los
mensajes delictivos o una prueba testifical
que acredite su remisión.
30/06/2019 www.quantika14.com 29
El Tribunal Supremo dictamina que un perito
informático debe autentificar las
conversaciones digitales en caso de
impugnación
30/06/2019 www.quantika14.com 30
¿Por qué no es
válido un cotejo o
capturas de
pantallas?
6/30/2019 www.quantika14.com 31
FORMAS DE MODIFICAR
CONVERSACIONES DE
WHATSAPP
30/06/2019 www.quantika14.com 32
Formas de modificación/alteración de
conversaciones de WhatsApp
1. Eliminando un mensaje
(funcionalidad de
WhatsApp) *
2. Problemas de conexión *
3. Cambio de hora del
dispositivo *
4. Cambiar la base de datos
**
5. Modificar la base de datos
(root) **
6. WhatsApp Web *
7. Interferir en la
comunicación ***
*: usuario sin altos conocimientos; **: usuario con altos conocimientos; ***: usuario con un nivel técnico muy alto.
6/30/2019 www.quantika14.com 33
Eliminando un mensaje con la funcionalidad de
WhatsApp (1a1)(GRUPOS)
Mensaje enviado por el usuario del
dispositivo (antes de 60 min aprox/ Mensaje recibido por otro usuario de una
después) conversación
30/06/2019 www.quantika14.com 34
Cambio de hora en el
dispositivo
La aplicación de WhatsApp
compara la fecha y hora de su
Sistema y lo compara con el
Sistema Android. En el
momento que ve diferencias
te avisa.
Modificar/cambiar la base de datos
Mensaje original Mensaje modificado
30/06/2019 www.quantika14.com 36
De forma remota:
• Puede ver los mensajes
• Puede enviar los mensajes
• Puede eliminar los mensajes
www.quantika14.com 30/06/2019 37
WhatsApp Web: la
solución
30/06/2019 www.quantika14.com 39
Las fases son:
1. Extracción del dispositivo 2. Análisis de la evidencia digital:
(ante notario recomendado) • Hora del dispositivo
• El notario añadirá en su acta las • Root
diligencias realizadas por el perito • Posible Root anteriormente
informático. Es decir, los procesos • Comprobar si hay modificación de
realizados de la extracción las 7 formas posibles
• El notario se queda con un • Obtener listado de mensajes
clonado en custodia notarial eliminados
durante mínimo 2 años y se dará
en caso de ser requerido 3. Crear informe con resultados
judicialmente o por el cliente
4. Ratificar informe
30/06/2019 www.quantika14.com 40
¿Cómo conectamos
el móvil al PC?
www.quantika14.com 6/30/2019 41
¿Cómo clonamos?
• dd es un comando de la familia de los sistemas operativos Unix que permite copiar y convertir datos de archivos a bajo nivel.
Fuente: https://blog.peritotecnologico.net/2018/02/05/realizar-una-adquisicion-fisica-android-dd-incluso-cuando-no-tienes-tarjeta-sd/
6/30/2019 www.quantika14.com 42
¿Cómo funciona DD?
• if: Indicamos la ruta al orígen de la copia.
• of: Indicamos la ruta al destino de la copia.
Habitualmente indicaremos un fichero con
extensión .img o .dd
• bs: Tamaño del bloque de copia que vamos a
utilizar.
• conv: Esta opción nos permite especificar
parámetros de conversión entre origen y destino:
• notrunc: El fichero de salida no será truncado.
• noerror: No parar el proceso aunque ocurra algún error.
• sync: Si hemos seleccionado noerror, esta opción
escribe\x00 para los bloques erroneos. Esto es
importante para mantener los offsets de los ficheros en
la imágen.
• Las particiones pueden cambiar: cat
/proc/partitions
30/06/2019 www.quantika14.com 43
¿Qué pasa si no tenemos microSD?
• Una vez estemos seguros que tenemos
Netcat en ambos dispositivos, necesitamos
realizar 3 acciones:
• Mediante el comando “adb forward
tcp:8000 tcp:8000” haremos un port-
forwarding de tal forma que todo lo que
llegue al puerto 8000 del móvil sea
transferido al puerto 8000 del equipo
forense.
• En el dispositivo móvil, ejecutaremos: dd
if=/dev/block/mmcblk0 bs=512
conv=notrunc,noerror,sync | nc –l –p
8000 , para lanzar la copia del
dispositivo y enviar los bloques de salida
al puerto 8000
• En el equipo forense, ejecutaremos: nc
127.0.0.1 8000 > imagenmovil.img
6/30/2019 www.quantika14.com 44
¿Cómo analizamos la base de datos?
• WhatsApp guarda nuestros
mensajes en una base de
datos SQLITE
• En la tabla “Messages”
encontramos la mayor parte
de información para
nuestro análisis
• Usaremos la aplicación
SQLITE BROWSER
https://sqlitebrowser.org/
6/30/2019 www.quantika14.com 45
Ejemplo de análisis de
la DB de Android para
un caso de un grupo de
pedófilos
6/30/2019
www.quantika14.com 46
Estructura de la tabla “Messages”
Esta tabla tiene campos de vital importancia para la creación de información de valor referente a cada
mensaje enviado o recibido por el usuario a partir de simples datos. Los campos que almacenan dichos
datos son:
• _id: Que siendo un campo autoincrementable con cada mensaje nos permite reconocer el número
total y secuencia de mensajes eliminados.
• key_remote_jid: nos ofrece una cadena de la que podemos extraer el número de teléfono
Síguenos en nuestro
perteneciente al usuario que envía el mensaje o, en el caso de un mensaje de grupo, el número de
identificación de dicho grupo (teléfono del administrador que lo creó y el timestamp).
• key_id: identificador único del mensaje en cuestión.
•
•
key_from_me: dirección del mensaje: ’0’ = entrante, ’1’ = saliente.
timestamp: la marca de tiempo desde Unix Epoch. blog.quantika14.com
Para más información
• received_timestamp: momento de recepción del mensaje, en formato timestamp y tomando como
referencia el tiempo del dispositivo local.
• receipt_server_timestamp: momento de recepción del mensaje por el servidor central de WhatsApp,
sobre forense en
esto en caso de mensaje enviados por el usuario, si son recibidos este campo será establecido como “-
1”
• receipt_device_timestamp: momento de recepción del mensaje por el destinatario para los mensajes
WhatsApp
enviados por el usuario, este campo será marcado en “-1” en los mensajes recibidos.
• send_timestamp: siempre está establecido en “-1”.
• needs_push: Establecido a “2” en caso de ser un mensaje de broadcast (difusión) o “0” de cualquier
otra manera.
• recipient_count: este campo indica el número de receptores para los mensajes de broadcast.
• remote_resource: identificador del emisor el mensaje (solo para los mensajes de grupo).
30/06/2019 www.quantika14.com 47
Estructura de la tabla “Messages”
Los campos anteriores ofrecen datos acerca de los atributos de los
mensajes, a continuación vemos los campos que ofrecen datos del
contenido mismo mensaje así como sus metadatos:
• media_wa-type: este campo nos ofrece información sobre la
naturaleza del mensaje y los posibles valores son “0” para texto, “1”
Síguenos en nuestro
para imagen, “2” audio, “3” video, “4” contacto y por último “5”
geolocalización.
blog.quantika14.com
• data: cuando el campo media_wa_type se establece a “0” contiene el
texto del mensaje.
• raw_data: contiene una miniatura cuando el mensaje transmitido es
sobre forense en
trata de archivos multimedia.
• media_url: url del archivo transmitido.
•
•
media_mime_type: Tipo MIME del archivo transmitido.
media_size: tamaño del archivo transmitido. WhatsApp
• media_duration: duración en segundos del archivo multimedia
transmitido.
• latitude/longitud: latitud y longitud cuando el mensaje es del tipo “5”,
es decir, geolocalización.
30/06/2019 www.quantika14.com 48
El valor “status”
• status: este campo nos permite conocer el estado en el que se
encuentra el mensaje en el momento de la extracción y, esto es
importante, desde el prisma del usuario del cual estamos analizando la
base de datos. Existen diversos códigos de estado, algunos de ellos
todavía sin identificar, entre los que encontramos para los mensajes
grupales:
• 1: indica la creación de un grupo.
• 4: indica que el usuario ha sido añadido a un grupo.
• 5: indica que el usuario a abandonado el grupo.
• 12: indica que alguien ha sido añadido al grupo, permitiendo
además centrándonos en “remote_resource” conocer quién
ha sido el usuario que añade a un nuevo miembro.
• 14: indica que alguien ha sido eliminado del grupo,
permitiendo además centrándonos en “remote_resource”
conocer quién ha sido el usuario que ha eliminado a otro
miembro.
• 20: indica que el usuario se unió al grupo usando un enlace
de invitación.
• Y para mensajes individuales encontramos que:
• 0: indica que tanto el receptor como el emisor estaban offline
en el momento del envío del mensaje.
• 4: indica que el emisor está online en el momento de emisión
del mensaje pero el receptor se encuentra offline.
• 5: ambos se encuentran online.
www.quantika14.com
6/30/2019 49
Conclusión Entró en el grupo por invitación
10/6/2019
de usuario @78344466
30/06/2019 www.quantika14.com 50
¿Qué es Guasap
Forensic?
30/06/2019 www.quantika14.com 52
30/06/2019 www.quantika14.com 53
30/06/2019 www.quantika14.com 54