¿Cómo detectar antivirus de un usuario remotamente usando Flash?

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone

Según profesor de capacitación de seguridad de la información, hay una posibilidad de encontrar un tipo de antivirus instalado en la PC de un usuario. Remotamente y sin la detección por parte del usuario. Esta información podría ser útil para nosotros si queremos atacar el usuario.

El método se basa en dos características principales

La primera característica. La mayoría de los antivirus modernos pueden detectar el malware usando análisis de tráfico de red. Por lo general, se analizan los protocolos http y smtp / POP3 / imap. Sin embargo, como TLS se utiliza cada vez con mayor frecuencia, a continuación, un antivirus en realidad tiene que llevar a cabo un ataque de MITIM contra una aplicación y un servidor remoto menciona profesor de capacitación de seguridad de la información. Para evitar un chequeo en cadena de certificados, el antivirus instala su, propio root CA (clave privada de la root CA es almacena también) para el sistema operativo y utilizarlo para la creación de certificados e intercepción de las conexiones TLS.

 

antivirus hack

 

La segunda característica. Flash soporta TCP sockets. En realidad, hay una oportunidad para enviar / recibir cualquier paquete TCP a cualquier puerto de un servidor remoto desde un archivo SWF en un navegador. Pero ya que esta característica podría ser un problema en términos de seguridad, Flash apoya la política entre dominios para sockets. Si un archivo SWF se quiere conectar un servidor remoto a través de un conector directo, Flash se conecta al puerto TCP 843 en el servidor y envía una petición (“<policy-file-request/>”) y obtiene una respuesta XML de crossdomain. Según profesor de capacitación de seguridad de la información, el archivo crossdomain contiene información de la que a partir del cual se permite a los dominios y puertos  conectarse con el servidor.

Ejemplo de socket crossdomian:

 

<?xml version=”1.0″?>
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”>
<cross-domain-policy>
   <site-control permitted-cross-domain-policies=”master-only”/>
   <allow-access-from domain=”*” to-ports=”443,995,465,587″ />
</cross-domain-policy>

 

Lo curioso sucede cuando utilizamos estas dos características. Si simulamos conexión TLS desde un archivo SWF a un host remoto en un puerto específico (443587, etc.), entonces un antivirus lo intercepta. Por lo tanto, nuestra SWF recibe un certificado TLS generado por el antivirus y podemos detectar marca del antivirus desde un nombre de CA root.

 

El esquema general del método:

1) Un usuario visita a nuestro sitio. Nuestra SWF maliciosa se carga el navegador del usuario.

2) SWF solicita una política socket crossdomian  del puerto 843 de nuestro servidor y obtiene permisos requeridos.

3) SWF se conecta a nuestro servidor (puerto 443, 465, etc.) y envia un paquete TLS ‘HelloClient’.

4) El servidor responde a paquete TLS “Server Hello’ con el certificado del servidor.

5) Antivirus intercepta las conexiones, genera un nuevo certificado y lo firma con su propia certificado.

6) SWF recibe el paquete de TLS (con un certificado) de antivirus y vuelve a enviar a nuestro servidor en el que podemos analizarlo y obtener el nombre de la entidad emisora del certificado.

 

antivirus hack

 

Aquí hay un ejemplo

 

hack AV

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone