Showing posts with label tu. Show all posts
Showing posts with label tu. Show all posts

Sunday, February 19, 2017

Magento Repair Tool Un XSPA a quitar de tu e Commerce

Magento Repair Tool Un XSPA a quitar de tu e Commerce


El framework Magento es uno de los entornos Open Source más populares dentro del mundo del e-Commerce. Está detrás de una gran cantidad de tiendas en Internet y es fácil toparse con él en una auditoría de seguridad web. En el pasado os había hablado de él cuando me topé con Magento Chek, una pequeña utilidad de comprobación del estado de configuración del framework que podría ser muy útil para hacer una pentesting a la tecnología web, y hoy os vengo a hablar de otro.

Figura 1: Magento Database Repair Tool. Un XSPA a quitar de tu e-Comerce

En esta ocasión se trata de una herramienta especial para corregir un error en la instalación del servidor. En concreto se llama Magento Database Repair Tool, y es una utilidad para troubleshooting en caso de que la base de datos se quede corrupta por alguna de las situaciones explicadas en la documentación de dicha herramienta.

Figura 2: Cuándo usar Magento Database Repair Tootl

Localizarla en Internet, como me apuntó mi amigo rootkit, no es nada complicado. Basta con usar un dork como éste que se ve en la imagen para que, con un poco de Hacking con Buscadores lleguemos a muchos servidores con ella instalada.

Figura 3: Dork para localizar Magento Database Repair Tool en Google.

Una vez que tenemos esta herramienta, es fácil darse cuenta que puede ser utilizada para hacer ataques de XSPA (Cross-Site Port Attack), ya que con poner en la dirección del servidor con la base de datos corrupta la dirección IP y el puerto a escanear, tenemos los mensajes de error que necesitamos para diferenciar un puerto abierto o un puerto cerrado.

XSPA: Escaneado de puertos con Magento Database Repair Tool 

Si el puerto está cerrado, el mensaje de error que obtenemos (después de esperar unos segundos) nos dirá se ha perdido la conexión con el servidor y que no se ha podido hacer nada.

Figura 4: Puerto cerrado. El mensaje informa de "Lost Connection" 

Por el contrario, si el puerto está abierto, el mensaje nos dirá que no se ha podido conectar a la base de datos MySQL que supuestamente debería estar allí. 

Figura 5: Puerto abierto. El mensaje informa de "Can´t connect to MySQL"

Por supuesto, si en ese puerto nos encontráramos con una base de datos MySQL, el mensaje de error volvería a cambiar a un Login Failed que nos indicaría que no tenemos credenciales adecuadas para conectarse con el servidor de bases de datos (y si las tenemos, aún mejor).

Escaneo de DMZ y fortificación de Magento

Con estos mensajes de error, es fácil automatizar un ataque de XSPA para escanear cualquier servidor de Internet o de la DMZ, tal y como se ve en este equipo en el que descubrimos una dirección IP interna con un puerto de Telnet abierto.

Figura 6: Servidor en la DMZ con puerto 23 abierto

Al final, esta herramienta que se instala aparte, no debería estar dentro del path de publicación del sitio web en Internet, así que si la tienes, restringe el acceso a Magento Database Recovery Tool con una lista de control de acceso.


Figura 7: Configuración y uso de Latch en Magento Community

Para terminar, solo como recordatorio, acuérdate de quitar (o restringir su acceso) a Magento Check y añade para fortificar aún más tu entorno Latch a Magento que desde el año pasado está disponible una integración de Latch con Magento Community que tienes disponible.

Saludos Malignos!

Available link for download

Read more »

Tuesday, February 7, 2017

Haz tu Proyecto de Fin de Grado Máster con Eleven Paths Universidad PFC PFM

Haz tu Proyecto de Fin de Grado Máster con Eleven Paths Universidad PFC PFM


Como sabéis yo soy un amante del mundo de la educación, así que desde hace unos meses he estado pinchando a mis compañeros del laboratorio de Eleven Paths para que abriéramos una campaña de ayuda a los que jóvenes que están acabando sus estudios y tienen que elegir un Proyecto de Fin de Máster o Proyecto de Fin de Grado, y por fin este viernes se publicó la primera fase de esta iniciativa.

Figura 1: Haz tu Proyecto de Fin de Grado/Máster con Eleven Paths

Hemos abierto 10 Proyectos de Fin de Grado o Máster, para 10 estudiantes que estén en esa fase de sus estudios. Lo que intentamos es ayudarte a realizarlo, al tiempo que colaboramos con material, libros, licencias de software y apoyo de uno de nuestros compañeros, para que lo lleves a buen término.

Figura 2: Página de los diez proyectos publicados en Eleven Paths

Algunos de estos proyectos tienen que ver con nuestras tecnologías, otros no y simplemente son ideas nuestras que nos parecen interesantes para estudiar. Seguro que casi todas, si eres un seguidor atento de este blog o de nuestro trabajo en Eleven Paths, te sonaran. Esto son los 10 proyectos que hemos elegido, por ahora, solo para estudiantes de Universidades Españolas. Tienes más información de cada uno de ellos en la web de los proyectos.

Figura 3: Primeros cuatro Proyectos disponibles
Figura 4: Segundos cuatro proyectos disponibles
Figura 5: Proyectos 9 y 10 publicados

Si la iniciativa funciona bien, habrá una segunda tanda de selección y seguramente lo extenderemos a otros países de latinoamérica. De momento, si quieres participar en esta campaña debes enviarnos un correo electrónico a university@11paths.com con la información siguiente:
- Nombre
- Universidad en la que estás cursando los estudios
- Titulación
- Nombre del profesor/tutor (si lo tienes ya asignado)
- Proyectos en los que estarías interesado
Con estos datos, nos pondremos en contacto contigo y te informaremos de los siguientes pasos. Y cuando lo acabes, directamente estarás en un proceso de selección de Eleven Paths para ver si acabas haciendo prácticas o trabajando con nosotros.

Saludos Malignos!

Available link for download

Read more »

Saturday, February 4, 2017

Intercepter NG Auditar la red WiFi desde tu Android

Intercepter NG Auditar la red WiFi desde tu Android


Intercepter-NG es una herramienta para Android que nos permite capturar el tráfico de una red local a la que estemos conectados por medio de ataques de tipo ARP poisoning. Podemos encontrarlo directamente en Google Play Store, pero para que funcione en nuestro dispositivo tendremos que tenerlo rooteado. Su principal utilidad es para hacer auditorías de seguridad de caja negra sin ser descubiertos, desde redes WiFi inseguras a las que se tenga acceso en la empresa de manera similar a como se pueden hacer como DSploit.

Figura 1: Intercepter-NG. Auditar la red WiFi desde tu Andrioid

Tras descargar la aplicación y darle permisos root podremos comenzar a explotar todo su potencial. Al ejecutar el programa accederemos al menú principal, en el que se nos indicará la interfaz de red en la que estamos trabajando, la red WiFi a la que estamos conectados, la dirección IP de nuestro dispositivo Android y nuestro Gateway.

Figura 2: Arrancando Intercepter-NG

En la parte superior encontraremos un icono con forma de radar, el cual pulsaremos para comenzar a explorar la red. A continuación se nos mostrara en pantalla los dispositivos que estén conectados indicándonos su sistema operativo mediante técnicas de fingerprinting pasivo - similares a las de Satori -. Una vez seleccionados los objetivos nos aparecerá un menú en la parte superior de la pantalla, en el que encontraremos las distintas herramientas que podremos usar.

Figura 3: Opciones para los ataques. Tiene también DNS Spoofing

En la esquina superior derecha encontraremos un icono una con rueda dentada, sobre el que pulsaremos para establecer la configuración que usaremos para realizar nuestro ataque, aquí será donde podemos activar ataques como SSLStrip para atacar las conexiones HTTPs y otras funciones como el bloqueo de la pantalla para evitar que se nos apague el terminal mientras se ejecuta la aplicación.

La primera pestaña - con el icono radiactivo - nos permitirá comenzar un ataque de ARP Poisoning con el que se realizará el man in the middle y permitirá capturar el tráfico de red. Esta herramienta es la parte más importante de Interceptor-NG, ya que es necesaria para el funcionamiento del resto de opciones. Una vez pulsado el botón “Play” cada vez que la víctima visite una página esta quedara registrada. Si el protocolo de la página es HTTP y la víctima se conecta con sus credenciales, automáticamente nos aparecerá su usuario y contraseña en la pantalla al estilo del clásico Cain & Abel. Sin embargo si el protocolo es HTTPs no nos permitirá hacer esto, excepto en algunos casos que seremos capaces de burlar la capa SSL por medio de los ataques SSLStrip si no hay un Certificate Pinning configurado de forma robusta.

Figura 4: Dispositivos en la red WiFi

A la derecha encontramos otra pestaña cuyo icono es similar al de Wireshark pero de color verde. Esta herramienta nos será útil para capturar todos los paquetes que viajen por la red y realizar un análisis más exhaustivo de ellos, ya que es un snifer de tráfico general.

Figura 5: Captura de tráfico en la red

En la tercera pestaña - icono con forma de galleta - podremos encontrar las cookies que posteriormente podremos utilizar para secuestrar sesiones - hijacking -. Será tan sencillo como pulsar sobre la cookie que queramos utilizar e iniciaremos la sesión en nuestro dispositivo al estilo de FireSheep o de como se hace con DSploit.

Figura 6: Historial de navegación y cookies para hacer hijacking de session

Por ultimo tenemos una pestaña con el icono de galería, donde podremos ver las fotografías que el usuario ha visto en su pantalla durante su sesión de navegación al estilo de Network Miner. Como podréis comprobar, esta aplicación dispone de un gran potencial ya que podrá ser utilizada en cualquier lugar sin llamar la atención, lo que nos demuestra que nunca estaremos seguros al conectarnos a una red pública ya que podríamos ser víctimas de un ataque sin ni siquiera darnos cuenta de ello.

Los ataques que incorpora esta herramienta están todos descritos en el libro de Ataques en redes de datos IPv4&IPv6, pero aquí contamos con una herramienta que los implementa cómodamente para llevarlos siempre encima en nuestro terminal Android para auditorías. Aún así, antes de hacer uso de estas herramientas en redes que no son tuyas, primero asegúrate de que sabes qué es lo que estás haciendo en cada caso.

Autor: Sergio Sancho Azcoitia

Available link for download

Read more »

Wednesday, January 18, 2017

¿Tienes un oído fino Cifrado y esteganografía de datos en ficheros de audio y un test de estegonanálisis con tu oreja

¿Tienes un oído fino Cifrado y esteganografía de datos en ficheros de audio y un test de estegonanálisis con tu oreja


Tras ver la invitación de Chema Alonso para escribir algún artículo en El lado del mal me decidí a enviar un resumen de lo que fue mi proyecto final de carrera de ingeniería informática, en el que tocaba el tema de esteganografía y cifrado de datos en ficheros de audio. Hace poco se habló de una técnica parecida en el artículo "Esteganografía con ficheros de audio: enviar tus documentos ocultos en canciones", pero en este trabajo se añade la capa de cifrado y el trabajo se hace con MatLab, así que espero que os sea de utilidad y complemente un poco más el conocimiento de las técnicas de esteganografía y estegoanálisis.

Figura 1: ¿Tienes un oído fino? Cifrado y esteganografía de datos en
ficheros de audio y un test de estgonanálisis con tu oreja

Considero que todo documento científico debe contar con una breve introducción de los conceptos que se tratarán, así que, para empezar a tener claras las ideas, me gusta empezar siempre con definiciones y, si es posible, dar algunas pinceladas de etimología a los términos sobre los que escribo. Y aquí van:
Definición 1: esteganografía es la ciencia que trata el estudio y la aplicación de un conjunto de técnicas que permiten ocultar o esconder información, de modo que no se perciba su existencia. 
Etimología 1: Estegano-, del griego tégos-/steganos, que significa disimular, disfrazar o cubrir. 
Definición 2: criptografía es el arte de escribir con clave secreta o de un modo enigmático. 
Etimología 2: Cripto-, del griego kryptós, que significa recubierto.
Etimología 3: -grafía, de la raíz del griego grafein, que significa escritura o representación gráfica.
Con todo esto presente, mi objetivo fue construir un criptosistema que fuera capaz de cifrar información y para posteriormente esconderla dentro de un fichero de audio en formato WAV, maximizando la cantidad de mensaje a ocultar y minimizando todo lo posible el ruido introducido. Para la parte del cifrado me decanté por usar cifrado asimétrico RSA y para la de esteganografía, utilicé 2 métodos, uno bastante empleado, como es el LSB y otro no tanto, conocido como Phase Coding.

Explicación del funcionamiento del criptosistema

El sistema consta de dos capas de seguridad, la primera será criptográfica, ya que a toda la información que se pretenda transmitir, le aplicaremos un cifrado asimétrico. Una vez tenemos la información cifrada, realizaremos el proceso de esteganografía, escogiendo para ello un fichero de audio WAV como portador y ocultando en él los datos cifrados en el paso anterior.

Figura 2: Diagrama global del criptosistema

En la Figura 2 vemos cómo encajan todos los subsistemas entre sí, donde las cajas rojas conforman el subsistema criptográfico, que se corresponden con los procesos de cifrado y descifrado. Aquí es importante destacar que el emisor cifra la clave secreta (o clave de sesión) con la clave pública del receptor y que el mensaje se cifra usando la clave secreta, generada automática y aleatoriamente por GPG4WIN.

Las cajas azules conforman el subsistema esteganográfico, que se corresponden con los procesos de ocultación y extracción. El resto de elemento son las entradas y salidas del sistema, y un medio de transmisión.

Explicación general de cada subsistema

Teniendo una visión global del sistema, veamos el comportamiento de cada uno de sus elementos de procesamiento de la información.

Subsistema criptográfico: es el componente que aplica un algoritmo de cifrado o descifrado, en función de la etapa en la que se encuentre la información que procesemos dentro del sistema global. Recurrimos a RSA 2048 bits, mediante la herramienta GPG4WIN. En la Figura 1 se ve el flujo de la información y cuándo entra en juego cada componente. Para gestionar nuestro criptosistema de la forma que queremos, debemos configurar adecuadamente GPG4WIN. Los pasos a seguir son:
1. Crear un certificado de tipo ‘OpenPGP key pair’
2. Introducir algunos datos personales: Dentro de las opciones avanzadas, elegimos el uso que le vamos a dar. En nuestro caso solo queremos cifrar, así que elegimos el método RSA con 2048 bits y marcamos la casilla de ‘Encryption’.
3. Crear una ‘passphrase’ para cifrar la clave privada (este cifrado es tipo simétrico)
Si todo el proceso se ha llevado a cabo correctamente, obtendremos una ventana de confirmación que nos mostrará el ‘fingerprint’ de nuestro certificado. Con este certificado será con el que podamos cifrar/descifrar ficheros. Para cifrar en GPG4WIN lo podemos hacer con el propio gestor de certificados que incluye, llamado Kleopatra. Simplemente lo abrimos y seguimos estos pasos:
1. Elegimos ‘Sign/Encrypt Files’, y marcamos la opción de Encrypt. Seleccionamos el fichero a cifrar.
2. Seleccionamos el certificado que queramos usar para cifrar. En este caso, como ya lo tenemos creado, seleccionamos y añadimos el que hemos hecho anteriormente.
3. Pulsamos en ‘Encrypt’ y esperamos a que el proceso finalice. El programa nos avisará.
Para descifrar en GPG4WIN lo haremos también con Kleopatra:
1. Elegimos ‘Decrypt/Verify Files’, y seleccionamos el fichero a descifrar. También podemos elegir dónde se guardará la información descifrada.2. Introducimos la ‘passphrase’ para nuestro certificado, que se nos indica en pantalla. Cada certificado que creemos tiene su propia ‘passphrase’, de modo que hay que recordarla para poder realizar el proceso de descifrado.3. Pulsamos en ‘OK’ y esperamos a que el proceso finalice.
Subsistema esteganográfico: es el componente que aplica un algoritmo de ocultación o extracción. Depende también de la etapa, y en la misma Figura 2 vemos las interacciones de este componente con el sistema.

1. LSB (Least Significant Bit): es un método de ocultación que se basa en esconder la información en los bits menos significativos del fichero de audio original. El proceso consiste en realizar una sustitución de los bits menos significativos de las muestras del audio original por todos los bits del mensaje. En la Figura 2 vemos un ejemplo de ocultación, donde:
• Audio: muestras de sonido del fichero WAV original. El subíndice indica el número de muestra y el superíndice indica el peso del bit de la muestra.
• Datos: cadena de bits del mensaje original.
• Portador: muestras de sonido del fichero WAV con el mensaje ‘Datos’ incluido.
Figura 3: Ejemplo de ocultación LSB. Sustitución de los bits menos significativos
de las muestras de audio original por los bits del mensaje

2. Phase Coding: Es un método de ocultación que se basa en esconder la información en la fase de las componentes espectrales de la onda de sonido que se obtiene a partir del audio original. El proceso de ocultación es como sigue:
a. Dividimos la señal acústica en varias ventanas de tamaño fijo.
b. Calculamos la DFT (transformada discreta de Fourier) de cada ventana, obteniendo la fase y la magnitud.
c. Elección de puntos de cada ventana candidatos para esconder la información.

i. Todos los puntos que cumplan Thmin < magnitud < Th albergarán el mensaje a ocultar.
• Umbral, Th, es un porcentaje del valor máximo de la señal.
• Umbral mínimo, Thmin, es un valor fijo obtenido de forma empírica, 10^-4 genera 0 errores.
ii. Para cada punto, dejaremos el valor de la fase original, con el siguiente criterio:
• Si bit a ocultar 0, entonces: (-1) x fase
• Si bit a ocultar 1, entonces: (1) x fase
Figura 4: Pasos para aplicar el método de esteganografía de Phase Coding

Implementación de esteganografía con Matlab

Entrando un poco más en materia, paso a explicar cómo implementé ambos algoritmos esteganográficos en Matlab.

• LSB, ocultación:
1. Leer fichero con los datos a esconder
[Datos, count] = fread(fopen(C: utamensaje.txt));
Datos = matriz de ‘count’ filas (cada caracter) y 1 columna.
count = cantidad de caracteres leídos.
2. Leer fichero de audio, que hará de portador
[x,fs] = audioread(ruta);
x = muestras de audio
fs = frecuencia de muestreo
3. Sustituir los bits menos significativos de ‘x’ por todos los bits que haya en ‘Datos’
% La parte del mensaje que cabe justa
coded(1:F_smr,(end-LSB+1):end) = stego_mensaje;
% La parte del mensaje que sobra
coded(F_smr+1,end-sobran+1:end)=Datos(L_esconder-sobran+1:end);
Básicamente estos son los pasos, pero se ve mucho mejor en la Figura 3. Hay que tener en cuenta que hay que moldear bastante las matrices y jugar con los tipos de datos en Matlab, para poder ajustar todos los cálculos, ya que el algoritmo lo hice para poder escoger una cantidad variable de bits menos significativos.
4. Crear un nuevo vector de muestras, que contenga el mensaje sustituido y el resto de muestras originales, es decir, las muestras del fichero portador, incluyendo el mensaje a esconder.
y = coded;
audiowrite(‘C: utaLSB-codedAudio.wav’, y, fs);
• LSB, extracción:
1. Leer fichero de audio, que es el portador del mensaje oculto
[x_ext,fs_ext] = audioread(‘C: utaLSB-codedAudio.wav’);
2. Extraer los bits menos significativos de ‘x_ext’
% Recupero el mensaje, por partes: la divisible, y el resto
% 1º Recupero la parte divisible del mensaje
recup1 = x_ext(1:F_smr,end-LSB+1:end);
% 2º Recupero la parte que falta del mensaje
recup2 = x_ext(F_smr+1,end-sobran+1:end);
% Juntamos todo
recup = vertcat(recup1,recup2);
3. Crear un nuevo fichero que será el mensaje extraído.
fwrite(fopen(C: utamensaje_extraido.txt,w), recup);  
%Recordad que este mensaje extraído está cifrado.
• Phase Coding, ocultación:
1. Leer fichero de audio y dividir la señal en ventanas
[x,fs] = audioread(ruta);
% Longitud archivo portador en muestras
T = length(x);
% Longitud de cada segmento
L = 1024;% Numero de segmentos
N = floor(T/L);
% División en segmentos de la señal (cada columna un segmento)
for n=1:N
xf(:,n) = x((n-1)*L + 1:n*L);
end
2. Calcular DFT y obtener fase y magnitud
% DFT de cada segmento (fft lo hace de golpe)
Xf = fft(xf);
% Matriz de magnitud original
M_ori = abs(Xf);
% Matriz de fases original
P_ori = angle(Xf);
3. Calcular umbrales y obtener los puntos candidatos
Th = porcentaje*max(M_ori(:));Th_min = 0.0001;indhide = find(M_ori<Th & M_ori>Th_min);
4. Calcular umbrales y obtener los puntos candidatos
for k=1:L_esconder % desde 1 hasta el tamaño del mensaje que quiero esconder
if Datos(k)==0
P_hide(indhide(k)) = abs(P_ori(indhide(k)))*(-1);
else
P_hide(indhide(k)) = abs(P_ori(indhide(k)))*(+1);
end
end
5. Crear el audio portador con el mensaje a esconder.
% Mensaje portador con datos ocultos
Xhide = M_ori.*exp(1i*P_ori);
xm = real(ifft(Xhide));
audiowrite(‘C: utaPC-codedAudio.wav’,xm,fs);
• Phase Coding, extracción:
1. Los pasos para extraer son los mismos que para ocultar, desde el 1 al 3 
2. Extraemos la información del vector con los puntos candidatos
% Extraer índices de los puntos con bits ocultos
indhide = find(M_decod<Th & M_decod>Th_min);
indhide = indhide(1:L_esconder);
Decp = P_ decod(indhide);
Recordad que ‘L_esconder’ es el tamaño del mensaje que voy a extraer. En principio lo sabemos de antemano, pero se podría crear un espacio dentro del mensaje a ocultar para indicar cuál es su tamaño, y transmitirlo también una vez cifrado y ocultado. 
3. Extraemos el mensaje oculto
% Mensaje extraído en Datadec
Datadec = (Decp<=0)*0 + (Decp>0)*1;
Guión final y resultados

Bien, ahora que hemos visto cómo funciona cada parte por separado, vamos a hacer un pequeño guión de cómo hacer funcionar todo el sistema.

CIFRADO Y OCULTACIÓN
1. Elegimos un fichero cualquiera que será nuestro mensaje a ocultar.
2. Elegimos un fichero de audio, en formato WAV, que será nuestro portador.
3. Ciframos el fichero con GPG4WIN.
4. Ocultamos el mensaje obtenido en el paso 3 mediante una técnica esteganográfica: LSB o Phase Coding.
5. Obtenemos un fichero WAV con el mensaje incluido. Este fichero lo podemos transmitir o almacenar teniendo 2 ventajas principalmente:
a. Tenemos la información escondida, luego será más difícil encontrarla para cualquiera que no sepa dónde/cómo buscar.
b. Tenemos la información cifrada, de modo que, incluso aunque se llegue a descubrir que tenemos información oculta, sería casi imposible descifrar sin tener la llave.
EXTRACCIÓN Y DESCIFRADO
1. Elegimos un fichero de audio que sea portador.
2. Extraemos el mensaje mediante una técnica esteganográfica: LSB o Phase Coding.
3. Desciframos el fichero obtenido en el paso 2 con GPG4WIN.
Para comprobar que todo este proceso de cifrado y ocultación funciona bien, quise realizar una serie de pruebas a personas de mi entorno. Recurrí para ello al test ABX, que es un tipo de prueba auditiva que se realiza a ciegas, lo que se conoce también como ‘blind test’, es decir, que el sujeto desconoce el origen del audio que escucha. Para hacer las pruebas más sencillas, recurrí a la herramienta llamada Lacinato ABX/Shootouter, que permite cargar ficheros de audio, y realizar la prueba de forma automática, mostrando los resultados obtenidos por cada sujeto. Sin entrar en mucho detalle matemático, necesariamente derivado de este tipo de pruebas, os explico en qué consiste el test ABX.

Figura 5: Herramienta Lacinato ABS/SHootouter

Durante la prueba, una de las muestras recibe el nombre de A y la otra muestra recibe el nombre de B. El programa elige una muestra X, que puede ser cualquiera de las muestras A o B, que el usuario ha indicado como banco de muestras, pero el sujeto no sabe cuál es. La tarea del sujeto es escuchar atentamente todas las muestras, tanto A y B como X, y entonces decidir si X se corresponde con la muestra A o con la muestra B. Por cada vez que el sujeto se vea sometido a esta elección, lo llamaremos intento. Al final de la prueba, se analizan el número de pruebas realizadas, el número de aciertos y fallos.

Las señales acústicas que hemos elegido para el test se pueden agrupar en cuatro tipos diferentes de audio:
Música clásica: Sinfonía nº 6 en Fa mayor, op. 68, “Pastoral”, Ludwig Van Beethoven.
Música comercial: Diamonds, Season One, Emancipator.
Música pop-rock: Cuando los ´árboles se sequen, Casa Grande, Marco Boz y Pablo Páez.
Voz hablada: Blue Sky Bridge, narración en inglés, Fergus Sound Enterprises.
Estos cuatro tipos de audio son muy comunes a día de hoy, por lo tanto, son un adecuado objeto de estudio para nuestro proyecto. Cabe destacar que los formatos de los audio obtenidos son del tipo sin pérdida, concretamente en formato WAV. Esto es así para poder trabajar a partir de un material que ofrezca el menor error posible. Destacar que, para homogeneizar las muestras, todos los audio han sido normalizados y convertidos a monocanal con 16 bits de profundidad. Los resultados que obtuve para cada algoritmo esteganográfico fueron los siguientes:
Resultados para LSB: Para evitar detección auditiva, recomiendo utilizar como máximo los 4 bits menos significativos. Capacidad de ocultación del LSB es el producto del número de muestras del audio original y el valor de LSB elegido en cada caso: numero_muestras x N lsb 
Resultados para Phase Coding: Para evitar detección auditiva, recomiendo utilizar un valor Th ? 10-4.
Es importante tener en cuenta que lo que más pesa a la hora de realizar un buen proceso de ocultación es el fichero portador. En nuestro caso, cuanto más intenso sea el nivel de sonido de nuestra onda portadora, más disimulará el contenido oculto. Por eso he especificado qué tipo de fragmentos musicales he utilizado, y también porque necesitaba una base sobre la que partir. Es por ello que se hace complicado dar un valor preciso que indique cuánta cantidad de información puedo introducir por muestra mediante esta técnica.

Para terminar, ahora que os he soltado toda esta marea de ideas y conceptos, aquí podéis escuchar los ficheros de audio y realizar vosotros mismos vuestras comparativas. Os los dejos organizados por carpetas y por estilos musicales [Audios Codificados, Audios Originales] ¿Hasta dónde sois capaces de detectar el ruido en cada técnica? Empieza el reto ;)

Autor: Jorge Peris (Universidad de Valencia)

Available link for download

Read more »

Thursday, December 1, 2016

Cómo montar un sistema de vigilancia en tu casa muy barato y extremadamente sencillo CCTV

Cómo montar un sistema de vigilancia en tu casa muy barato y extremadamente sencillo CCTV


Hace un año compré una alarma barata en la ferretería de mi barrio, que consiste en un detector de movimiento que se comunica de forma inalámbrica con una unidad central, que a su vez está conectada a una línea de telefónica y que puede tener una tarjeta SIM para hacer llamadas. El funcionamiento es sencillo: si se detecta algún movimiento, se manda una señal a la unidad central, que te hace una llamada a los números de teléfono que configures.

Figura 1: Cómo montar un sistema de vigilancia en tu casa
muy barato y extremadamente sencillo

Es un sistema funcional que te permite saber de esta forma que, si recibes una llamada de alarma en el móvil, sabes que algo se mueve en tu casa. Pero por desgracia no sabes si se trata de una mosca que ha pasado por delante del detector o es que realmente ha entrado alguien en tu hogar mientras tú estabas fuera. ¿Qué haces entonces si te pilla de vacaciones? ¿Llamas a la policía o molesta a tu vecino? La intranquilidad te mata y piensas algo como ¡lo que daría por ver lo que pasa dentro de mi casa en esos momentos!

Soluciones para montar un CCTV de andar por casa

Una solución relativamente sencilla, pero cara para los que no tenemos mucho dinero, sería comprar una cámara de vigilancia IP semiprofesional para poder conectarte a distancia desde tu smartphone o ver lo que pasa vía un servidor web. Esto puede tener ventajas en cuanto a usabilidad, pero si recuerdas el artículo que le dedicó Retro-Maligno a la Cámara de Seguridad GM01 tal vez pensar en que puedas acabar desnudo en Internet no sea lo que más desees.

Figura 2: Las imágenes de los usuarios de la GM01 publicadas en Internet

También podrías comprar un sistema de alarma más completo con todos los elementos de cámara y detectores integrado pero esto no es low-cost y si te metes en un lío como Claudio Caracciolo y su sistema de seguridad CCTV comprado por Internet, lo mismo acabas teniendo más problemas que ventajas.

Figura 3: El sistema CCTV que tantos problemas le dio a Claudio

Low-cost (primera premisa) sería utilizar como cámara de vigilancia un smartphone antiguo al que poderse conectar para ver quién hay en casa, pero además debe ser extremadamente sencillo (segunda premisa). De esto hemos visto muchas soluciones con apps como por ejemplo Presence, que está orientado al mundo Apple con iPhone o iPad.


Figura 4: Presence permite usar iPhone & iPads antiguos como sistemas CCTV

Pero como la necesidad agudiza el ingenio, aún podemos ser más imaginativos y explorar algunas alternativas de las de andar por casa, para ver cuál es la más sencilla, tanto que hasta Penny pueda hacerlo y utilizarlo.

Alternativa 1: cámara IP remota

Consiste en instalar en el smartphone una app para funcione como una cámara IP remota a la que conectarse, como puede ser el caso IP Webcam - al estilo de Presence pero sin tener que poseer un dispositivo made in Apple que tan caros salen -.

Figura 5: IP Webcam para Android

Pero para esto hay que abrir el puerto de la cámara IP en el router de casa y utilizar un servicios de DNS dinámico con cliente disponible en tu smartphone (como no-ip o FreeDNS). Eso sin olvidar de ponerle una contraseña de acceso a la cámara y tener mucho cuidado no vaya a ser que acabes como en el caso de la app PAW que dejaba todo tu terminal - y tu micrófono y tu webcam - abiertos a Internet.

Figura 6: Servidores PAW accesibles en Internet con password por defecto

Pensándolo bien, creo que hacer todo esto no sería tan extremadamente fácil para Penny.

Alternativa 2: grabación con almacenamiento en la nube

Otra opción es utilizar una app de grabación de video con almacenamiento en la nube, como es el caso de Alfred o Ivideon.

Figura 7: Ivideon Vídeo Suveillance para Android

Con esta alternativa, te evitas abrir puertos en el router ni configurar ningún DNS dinámico. Además, estas soluciones suelen tienen algunas características interesantes, como la notificación en caso de detección de movimiento, y así nos ahorramos el dispositivo de la ferretería del principio.

Figura 8: Alfred - Home Security Camera para Android

Sin embargo, aunque esta alternativa si es fácil para Penny, estas soluciones suelen tener planes de precios por almacenamiento, sin mencionar el tema de la nube.

Alternativa 3: Skype

Pero una alternativa extremadamente fácil para Penny sería utilizar la misma aplicación de Skype como cámara remota de vigilancia, así de sencillo, que además la tienes para iPhoneAndroid, para OS X o para Windows.

Figura 9: Skype para Android

Basta con instalar el cliente Skype en el smartphone que queremos utilizar como cámara de vigilancia y crear un usuario específico para ese móvil (por ejemplo, “movil1demichoza”). Pero para que esto funcione como queremos, en el cliente Skype habría configurar (y aquí está la gracia):
- Contestar automáticamente, para que se descuelgue la llamada automáticamente cuando llaman
- Recibir llamadas sólo de los contactos, para que no se pueda contestar automáticamente a cualquiera que llame
- Y por supuesto, tener en la lista de contactos sólo al usuario (o usuarios) desde el que se va a realizar la llamada (es decir, el usuario de Penny), que sería el usuario autorizado
De esta forma, simplemente haciendo una video llamada con Skype, se puede establecer una conexión video y audio con tu casa, sin necesidad de abrir puertos, ni configurar DNS dinámico, ni almacenar nada en la nube. Esto sí es extremadamente sencillo para Penny.

Figura 10: Configuración de Skype para descolgar automáticamente

Low-cost y extremadamente sencillo, pero recuerda que no puedes hacer esto con el móvil que te deje un amigo o la novia para espiarle, eso no estaría bien.

Autor: Zardacho

Available link for download

Read more »

Monday, November 21, 2016

Cómo usar Latch en tu día a día Ejemplos códigos y Tutoriales

Cómo usar Latch en tu día a día Ejemplos códigos y Tutoriales


Ya os había avanzado que los premios para el último Latch Plugin Contest han sido concedidos, pero algunas de las ideas que nos han presentado merecen la pena revisarlas en detalle. En este artículo os voy a dejar información de seis Plugins y un SDK que tal vez te estimulen intelectualmente para crear algo nuevo, o te den idea para un Proyecto de Fin de Grado o de Máster, o para que lo uses como forma de fortificar algún sistema de seguridad en tu empresa.

Figura 1: Cómo usar Latch en tu día a día: Ejemplos, códigos y tutoriales

TwLatch: Un hack de Latch para Twitter

El primer premio del concurso se lo dimos a TwLatch, un hack que controla lo que se publica en tu cuenta Twitter para evitar que una app maliciosa, o un Community Manager "descontrolado", publique twitts en tu time-line sin tu consentimiento. Es un hack que nos ha gustado en su idea e implementación, y por eso le dimos el primer premio. Este es el vídeo que lo explica y el código lo tienes disponible en GitHub: TwLatch.

Figura 2: TwLatch - Hack de Latch para Twitter

SDK de Latch para GO y Latch CMD

El segundo premio se lo dimos a este proyecto doble, en el que primero se construyó un SDK de Latch para el lenguaje GO (GoLatch) y después, con él, se creo Latch CMD, que permite controlar por medio de comandos tus aplicaciones Latch. De esta forma puedes automatizar las tareas en script, automatizar el control de cada Latch en función de flujos de tareas, etcétera. Este es el vídeo de Lath CMD:


Figura 3: Latch CMD usando SKD de Latch para GO

Tienes los códigos en las siguientes URLs:
- SDK de Latch para GO
- Latch CMD
Latch Proxymity: Zonas físicas de seguridad con Latch

Este plugin permite, utilizando la API de desarrolladores de Latch, evitar que un usuario pueda desbloquear su Latch si no está en una zona de seguridad. Para ello, se utiliza una Raspberry Pi en la que se carga Latch Proximity (escrito en Python) que monitoriza el estado de Latch de un usuario y cuando se cambia el estado se verifica si está cerca el dispositivo físico. Si no está, se usa la API de desarrollador y se le bloquea el Latch al usuario, tal y como se explica en este vídeo donde se ve la banda naranja indicando el cambio.


Figura 4: Funcionamiento de Latch Proximity

LatchWake: Controlar el apagado y encendido de redes de ordedores

Este es otro plugin que hace uso de una Raspberry Pi para cargar un plugin que verifica cuál es el estado de Latch. Cuando el estado es abierto, LatchWake enciende los ordenadores de una red de equipos. Esto - si has leído el libro de Wardog y el mundo te sonará de una historia -. Este vídeo explica el funcionamiento.


Figura 5: Funcionamiento de LatchWake

Latch para NUXEO

La plataforma NUXEO es para gestionar sitios web con alto contenido multimedia. Por supuesto, tiene gestión de usuarios, y con este plugin puedes poner un Segundo Factor de Autenticación usando Latch a las cuentas de usuario. Aquí tienes un ejemplo de funcionamiento de Latch para Nuxeo.


Figura 6: Latch para NUXEO

Lockifi: Apaga y enciende la WiFi con con Latch

Este plugin se basa en un programa Windows con un script para conectarse al router y apagar o encender la red WiFi. Para decidir qué script debe lanzar, se verifica el estado de una cuenta de Latch pareada con el servicio. Aquí tienes el código de Lockifi y en el siguiente vídeo la explicación de su funcionamiento.


Figura 7: Lockifi para controlar tu red WiFi con Latch

Latch para MediaWiki

Este plugin sirve para añadir un 2FA a todas las cuentas de usuario de las plataformas MediaWiki usando Latch. Tienes una explicación detallada del plugin en este artículo: Fortificar Mediawiki con Latch y en este vídeo tienes un ejemplo de uso.


Figura 8: Latch para MediaWiki

Al final, el uso del pestillo digital de Latch tiene muchas utilidades, muchas más de las que se nos ocurren a nosotros mismos. Puedes adaptar las cosas al control de tu Latch. Si quieres hacer algo, puedes consultar con nuestros técnicos en la Comunidad Latch en Eleven Paths, y si quieres hacer un proyecto y necesitas ayuda extra ponte en contacto con nosotros que intentaremos resolver tus dudas.

Saludos Malignos!

Available link for download

Read more »

Friday, November 11, 2016

Cómo una web sabe tu edad idioma y sexo robando los datos de Facebook

Cómo una web sabe tu edad idioma y sexo robando los datos de Facebook


Las técnicas de WebBrowsing Fingerprinting se han especializado durante mucho tiempo en realizar trucos de todo tipo para poder saber quién está delante de la web sin necesidad de que el usuario se lo diga. Desde el uso de las supercookies de todo tipo - hasta de Batería -, pasando por las técnicas de Perfect Pixel hasta averiguar la ubicación de una persona por los archivos que tiene cargados en la caché por haber visitado una web en una localización específica usando una técnica de Time-Based Web History Disclosure. Hoy os quiero contar un caso publicado por el investigador Tom Van Goethem (@tomvangoethem) que tiene que ver con cómo robar tu edad, tu sexo y tu idioma de Facebook por medio de un side-chanel.

Figura 1: Cómo una web sabe tu edad, idioma y sexo robando los datos de Facebook

Aunque lo voy a centrar en el caso de Facebook, este tipo de técnicas, como él explica en su trabajo de investigación disponible en el artículo "Request and Conquer: Exposing Cross-Origin Resource Size" y en la presentación que ha dado recientemente en OWASP AppSec EU, puede aplicarse a otras redes sociales como Twitter o Linkedin que permiten restringir contenido también en función de los parámetros de la persona que está visitando la red social. Vamos por partes para entender el robo de datos.

Browser-Based Timing Attacks

La técnica de robo de datos de las redes sociales remotamente se basa en utilizar una de mis técnicas favoritas para extraer información a ciegas por un side-chanel: El tiempo. Como sabéis, los side-chanels son canales paralelos que, dependiendo de la información a la que se ha accedido, permiten saber si se ha tenido éxito en una acción o no, o conocer más detalles de la información que hay detrás, como en este caso, el tamaño de las respuestas. Por ejemplo, en el caso de los ataques de Time-Based XSPA (Cross-Site Port Attack) en WordPress o Time-Based XSPA en DBKISS se utiliza el tiempo de respuesta para saber si una web tiene un determinado puerto abierto o cerrado. No se necesita tener ningún mensaje de error distinto cuando el puerto está abierto o cerrado y, simplemente con medir el tiempo de respuesta, se puede saber cómo se comportó el servidor que se intentó escanear y cuál es el estado de ese puerto.

Este tipo de ataques basados en el tiempo como side-chanel han sido y son muy populares junto a las técnicas de SQL Injection, como son los ataques de Time-Based Blind SQL Injection using Heavy Queries u otros entornos criptográficos como el caso de Lucky13 o el bug del artículo de ayer que permite enumerar usuarios en un servidor Linux usando un Time-Based info leak en OpenSSH que se produce enviando una contraseña de gran tamaño que se hashea solo cuando el usuario existe.

Figura 2: Ataque clásico. Se descarga el archivo y se mide el tiempo de respuesta para inferir el tamaño (si tiene acceso y se obtiene el recurso completo o si no lo tiene y se obtiene un error)

En este caso, el investigador proponer calcular el tamaño de un recurso descargado desde una web remota usando dos trucos distintos en el navegador. Ambos se producen en dos acciones que se ejecutan en el navegador una vez que se descarga el recurso y que por tanto eliminan cualquier problema que tenga que ver con la latencia de red, la compresión de los ficheros en el servidor, el uso de servidores de caché de red, etcétera. Es decir, el recurso se descarga, se procesa por un algoritmo en el navegador y dependiendo de si el tamaño el mayor o menor, el tiempo que tardará dicho algoritmo será diferente. Midiendo ese tiempo de procesado se puede inferir el tamaño del recurso descargado.

Figura 3: Cache-Storing: Medición del tiempo de almacenamiento y acceso en caché

Los algoritmos que propone el investigador Tom Van Goethem se basan en medir el tiempo de almacenamiento y lectura de la caché por un lado, y por otro en convertir el recurso en un vídeo con una función de Video Parsing.

Figura 4: Video-Parsing. Se mide el tiempo de conversión del recurso

Con estos algoritmos, dados dos recursos de dos tamaños que difieren entre sí en un número de Kilobytes, con un número determinado de mediciones se podría determinar si el navegador ha descargado el recurso de mayor tamaño o el recurso de menor tamaño. ¿Cuántas mediciones y cuanto tiempo? Pues depende de los tamaños de los recursos.

Figura 5: Tiempo que se tarda en averiguar si es el fichero grande o pequeño
en función de la diferencia en tamaño que hay entre ambos.


En la tabla se puede ver cómo usando una combinación de los dos algoritmos, es decir, procesando el recurso en local con el algoritmo de Cache Storing y de Video Parsing, con a partir de diferencias de más de 20 kB en un par de segundos se puede saber si se ha descargado el que tiene 20 kB menos o el que tiene 20 kB más.

Robar tu edad, sexo e idioma a Facebook

Dicho esto, el siguiente paso es averiguar tu edad cuando visitas una web. Para ello se basa robar tu edad de Facebook aprovechando dos cosas:
a) que los usuarios suelen estar logados en Facebook cuando navegan por la web
b) que en Facebook se pueden generar posts restringidos por idioma, edad y sexo del que visita la red social.
Así, un atacante podría crear posts en Facebook con un tamaño que difiera en más de 20 o 30 kB con el tamaño de la respuesta que da Facebook cuando no se pueda acceder a ese recurso (porque no se cumplen las restricciones) y forzar a una web a intentar cargar esos artículos.

Figura 6: Limitar la visibilidad de un post en Facebook

Con un pequeño código en el navegador se podría saber qué post es el que Facebook ha permitido visitar y por lo tanto qué edad tiene la persona que está visitando la web.

Figura 7: Esquema del ataque completo.

Esto se puede hacer de igual forma, como he dejado publicado al principio, en otras redes sociales como Twitter o Linkedin que también permiten publicar artículos con restricciones lo que permitiría a cualquier página web robarte los datos usando estos trucos.

Figura 8: Descubrimiento de edad con carga de posts de Facebook

El resultado es lo que veis arriba, que una web sería capaz de inferir exactamente tu edad haciendo estas mediciones. Aquí tenéis el vídeo de la conferencia en AppSec Eu donde se explica todo esto y se pueden ver las demos en real.

Figura 9: Tom Van Goethem en AppSec Eu 2016

Y por si os interesa, aquí están las respuestas de Facebook y Linkedin cuando se les informó de esta posibilidad de robar los datos de esta forma. No hay mucho cambio que se espere al respecto.

Figura 10: Respuestas de Facebook y Linkedin

Como podéis ver, navegar por páginas webs y tener las sesiones abiertas de vuestras redes sociales no parece que sea la mejor idea, así que navega en privado y sin tener las sesiones abiertas.

Saludos Malignos!

Available link for download

Read more »

Monday, October 10, 2016

¿Es difícil suplantar tu dirección de correo electrónico Spoofing Pentesting Python

¿Es difícil suplantar tu dirección de correo electrónico Spoofing Pentesting Python


El e-mail spoofing es una técnica muy antigua pero que sigue siendo muy utilizada en los esquemas de ataque de Spear Phishing o Spear Apps para engañar a un usuario haciéndole creer que está recibiendo un correo electrónico de una persona concreta, cuando esto no es así. Es decir, un usuario suplanta la identidad de otro e intenta hacer un mensaje lo más creíble posible. En muchos procesos de hacking ético se debe llevar a cabo este tipo de pruebas para verificar varias cosas, por ejemplo que un conjunto de empleados están concienciados y no caerán ante este tipo de práctica, aunque en algunas ocasiones es muy difícil no caer, y, por otro lado, verificar la correcta configuración de mecanismos de atenuación como SPF (Sender Policy Framework)/SenderID, DKIM (Domain Keys Idetified Mail) o DMARC (Domain-based Message Authentication, Reporting and Conformance), aunque la única solución efectiva es que todos los empleados utilicen sistemas de firma digital como SMIME o PGP.

Figura 1: ¿Es difícil suplantar tu dirección de correo electrónico?

Hoy os hablaré de un par de herramientas escritas en Python que pueden ser utilizadas en nuestros procesos de Ethical Hacking y que permiten comprobar si un dominio es spoofeable y, por lo tanto, se puede enviar un correo electrónico falso que permita engañar a la víctima. De este par de herramientas la que realmente me ha sido más útil, quizá por sencillez es la de SpoofCheck. Esta herramienta permite verificar una serie de condiciones para demostrar si un dominio es spoofeable o no, tal y como lo hacemos nosotros en las auditorías de seguridad persistentes que hacemos con Faast. Es decir, la herramienta nos dirá si el dominio que se quiere suplantar es, probablemente, spoofeable o, si por el contrario, deberíamos buscar otro tipo de vía como usar nombres parecidos. Por otro lado, la herramienta SimpleEmailSpoofer es un script escrito en Python que se encarga de conectar con un servidor SMTP Postfix local y llevar a cabo el envío del e-mail, con los parámetros y atributos que le indiquemos a la aplicación. Instalación

La instalación o descarga de estas aplicaciones es muy sencilla. Directamente se pueden obtener desde sus repositorios de Github. Una vez descargadas ambas herramientas con el comando git clone, por ejemplo, se debe instalar las dependencias que éstas tienen. La ejecución del comando pip install –r requirements.txt se debe llevar a cabo.

SpoofCheck

¿Cuándo un dominio es spoofeable? La herramienta SpoofCheck se encarga de ir comprobando una serie de condiciones. A continuación podemos ver las condiciones que se evalúan para verificar si un dominio es spoofeable o no:
• Ausencia del registro SPF o DMARC.
• El registro SPF del DNS del dominio no especifica ~all o –all.
• La política DMARC está configurada a p=none o no existe.
Viendo estas condiciones vamos a realizar algunas pruebas con dominios conocidos. En el primer ejemplo vamos a analizar apple.com. Como se puede ver en la siguiente imagen Apple dispone de un registro SPF habilitado y con política –all. Sin embargo, aunque existe registro DMARC, la política no se encuentra específica, por lo que dicho dominio es potencialmente spoofeable. Apple ha mejorado su política, pues cuando sucedió el Celebgate, el dominio tenía la política ~all, lo que lo hacía más fácil aún de suplantar.

Figura 2: Verificación del dominio Apple.com

Como segundo ejemplo vamos a realizar un análisis de Gmail y Outlook, como ejemplo de proveedores de correo electrónico gratuito más utilizados en el mundo. Tal y como se puede ver en la imagen ambos tienen de registro SPF, dónde se incluyen las direcciones IP o dominios que son utilizados por los servidores de correo electrónico autorizados. Ambos disponen de DMARC pero sin política aplicada, por lo que la aplicación SpoofCheck nos devuelve que son dominios potencialmente spoofeables.

Figura 3: Verificación de gmail.com y outlook.com

Para el caso de Paypal observamos una grata diferencia. No es spoofeable debido a que dispone de registro SPF con direcciones IP especificadas. Dispone de registro DMARC y, además, tiene una política de rechazo habilitada.

Figura 4: Verificación de Paypal.com

Hay que recordar que Paypal tiene otros pequeños errores o debilidades, como la posibilidad de robar cuentas por el fallo del usuario al registrar un correo electrónico no real al crear su cuenta de Paypal.

SimpleEmailSpoofer

La herramienta SimpleEmailSpoofer es muy sencilla de configurar y ejecutar. Lo primero de todo es disponer de un archivo en el incluyamos el código HTML del body del correo. Para el ejemplo que se muestra a continuación se ha realizado un pequeño ejemplo de un correo de Apple. En el body se puede ver la carga de una imagen, la cual es la manzana de Apple.

Figura 5: Envío del correo spoofeado

Una vez generado el fichero se deben utilizar una serie de parámetros para poder enviar el correo electrónico. Antes de poder utilizar SimpleEmailSpoofer hay que estar seguros de Postfix se encuentra instalado en el sistema. En caso de no estar instalado, se debe ejecutar apt-get install postfix, y posteriormente service postfix start.

Figura 6: correo electrónico generado

Se utilizan diferentes parámetros para indicar el archivo con el body del mensaje, la dirección de e-mail a la que enviaremos el correo electrónico, la dirección de remitente que se quiere spoofear y el nombre del usuario que envía el correo electrónico. Por último, el parámetro –j nos permite indicar el asunto con el que se enviará el correo. Si vemos el correo electrónico que nos llega vemos como podría pasar perfectamente por un correo real.

En conclusión, un par de herramientas útiles y que hay que tener en la mochila para nuestras auditorias y hacking éticos. Sobre todo herramientas como SpoofCheck, la cual permite inferir si un dominio será spoofeable y ver si tendremos éxito o no con la manipulación y creación de un correo electrónico falso en nuestra auditoria.

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking" y “Pentesting con Powershell”

Available link for download

Read more »