BlogEvading AV Software

Hackear como un profesional Cómo funciona el software antivirus y cómo evadirlo, Pt. 1

¡Bienvenidos de nuevo, mis tiernos hackers!

Como piratas informáticos, a menudo se nos exige que superemos el software antivirus (AV) u otras medidas de seguridad. Para hacerlo de manera efectiva, necesitamos tener cierta comprensión de cómo funciona el software AV. En este tutorial, analizaremos brevemente cómo funciona el software AV para que pueda elaborar una mejor estrategia sobre cómo evadir la detección.

La industria del software antivirus es enorme y está bien financiada. Como era de esperar, emplean una gran cantidad de personal de detección e identificación de malware. (Usaré el término preferido “malware” para referirme a todo software malintencionado o malicioso, incluidos virus, spyware, rootkits, gusanos, etc.)

Muchas de estas personas tienen antecedentes de hackers o de creación de virus, por lo que las cosas que estamos haciendo aquí no les resultan misteriosas. (Se rumorea que Eugene Kaspersky, el fundador de Kaspersky Labs, trabajó en algún momento como hacker / criptógrafo para la KGB de Rusia. Muchos otros en la industria tienen experiencia en la creación de virus / gusanos).

La industria AV intenta recopilar la mayor cantidad de información posible sobre amenazas nuevas y antiguas y empaquetar esa información en su software. Cuanto más antigua sea una herramienta o técnica, mayor será la probabilidad de que tengan un mecanismo para detectarla.

Tipos de mecanismos de detección AV:

Basado en firmas

La clave para crear un buen software antivirus es tener una base de datos completa de todas las firmas de malware. Estas firmas son la parte esencial del malware que lo distingue de otros programas. Por eso es clave para los usuarios mantener esas bases de datos actualizadas diariamente. A medida que se introduce diariamente nuevo malware en la naturaleza, una base de datos de firmas desactualizada puede volverse casi inútil.

Para tener un mejor concepto de cómo son estas bases de datos de firmas, puede echar un vistazo a Snort, un IDS de código abierto que detecta malware y ataques en el cable. La belleza de trabajar con Snort es que su base de datos de firmas está abierta y es visible para cualquier persona.

En la captura de pantalla a continuación, puede ver algunas de las reglas o firmas del web-attack.rules archivo de Snort. Para comprender mejor las firmas de malware, es posible que desee tomarse un tiempo para estudiar estas “firmas”. Es importante tener en cuenta que estas reglas no buscan el archivo completo, sino simplemente el elemento único del malware que es único o su “firma”. Obviamente, esto es mucho más eficiente.

Las empresas de software antivirus mantienen a personas y honeypots en todo el mundo que buscan constantemente nuevo malware y, cuando lo encuentran, intentan condensar su firma en lo esencial. Además, tienen usuarios en todo el mundo que les envían malware sospechoso que encuentran.

Estas firmas, como estoy seguro de que habrá adivinado, solo son efectivas en malware conocido. Un ataque de día cero no tienen una firma y, por lo tanto, es probable que el software antivirus no los detecte.

Una de las excepciones a esto es que algunas herramientas de producción de malware dejan una firma en su salida, por lo que incluso una nueva pieza de malware podría ser detectada por AV si las herramientas utilizadas para crearlo tienen una firma que los desarrolladores de AV han identificado y codificado. . Un buen ejemplo de esto que muchos de ustedes han encontrado es el módulo msfvenom en Metasploit. La plantilla que crea las cargas útiles tiene una firma, por lo que no importa cómo volvamos a codificar nuestra carga útil, todavía tiene una firma conocida. La clave para derrotar al AV con este módulo es usar una nueva plantilla.

Heurísticas

En algunos casos, no es posible tener una firma para todo el malware y, en esos casos, los desarrolladores de antivirus intentan implementar técnicas heurísticas para detectar malware.

Wikipedia define técnicas heurísticas como “… cualquier enfoque para la resolución de problemas, el aprendizaje o el descubrimiento que emplea una metodología práctica que no garantiza que sea óptima o perfecta, pero suficiente para los objetivos inmediatos. Cuando encontrar una solución óptima es imposible o impráctico, los métodos heurísticos pueden utilizarse para acelerar el proceso de búsqueda de una solución satisfactoria “.

James Whitcomb Riley dijo una vez: “Cuando veo un pájaro que camina como un pato y nada como un pato y grazna como un pato, le llamo pato”. Ese principio resume la heurística de manera sucinta. Si parece malware y se comporta como malware, probablemente sea malware.

Los desarrolladores de software antivirus buscan señales reveladoras de que la estructura o el comportamiento del software es malicioso y luego lo tratan como malware, incluso si no existe una firma. Por ejemplo, si un archivo comienza a reemplazar varios archivos del sistema, probablemente sea malware. Si una pieza de software intenta establecer una conexión TCP de regreso a una dirección IP maliciosa conocida, probablemente sea malware. La belleza de esta estrategia es que funciona con malware de día cero tan bien como con malware conocido. Los inconvenientes de esta estrategia son que requiere más ciclos de cómputo y los falsos positivos que a menudo son producidos por software inocuo.

Basado en el comportamiento

Algunas personas crean una categoría separada de detección de malware basada en el comportamiento, pero yo la considero una subcategoría de heurística. El comportamiento es parte de los “paseos como un pato” mencionados anteriormente.

Salvadera

En algunos casos, se puede ejecutar software sospechoso en un entorno de máquina virtual para ver qué hace antes de está instalado en el sistema. Esto se conoce como “espacio aislado”. De esta manera, el software AV puede estudiar lo que hace o intenta hacer y luego determinar si es seguro sin poner en peligro todo el sistema.

Imagen vía Lowe’s

Debido al tiempo y los recursos necesarios, esta no es una forma práctica de tratar con todo el software y los archivos, pero para los particularmente sospechosos, puede ser eficaz.

Evadir el software AV:

Primero, digamos claramente que el software AV es no Perfecto. Incluso con todos sus recursos y habilidades, aún extrañan el malware conocido. Dependiendo del paquete que esté utilizando, la detección de malware conocido puede ser tan baja como del 40% y tan alta como del 98 por ciento. Incluso en el mejor de los casos, eso significa que 1 de cada 50 piezas de conocido el malware supera el software antivirus.

Msfvenom

Como la mayoría de ustedes saben, msfvenom es un módulo en Metasploit que nos permite volver a codificar nuestras cargas útiles para evadir el software AV. Debido a la ubicuidad de Metasploit, tan pronto como Metasploit desarrolla un nuevo esquema de codificación, los fabricantes de AV se lanzan a él y producen una firma (serían tontos si no lo hicieran).

Como mencioné anteriormente, los fabricantes de AV no necesitan tener una firma para cada recodificación de msfvenom, solo necesitan una firma para la plantilla. Esto significa que msfvenom tiene una eficacia limitada sin una plantilla original.

Prueba de su malware con Virus Total

Si desea probar si el software antivirus detectará malware, rootkit, virus o cualquier otro elemento, puede enviarlo a VirusTotal, que utilizará más de 60 paquetes de software comercial para determinar si se detectará su malware. Puede seguir recodificando su malware hasta que VirusTotal indique que no será detectado.

Desafortunadamente, si tiene éxito en no ser detectado por alguno de estos paquetes antivirus, VirusTotal presentará su malware a la industria antivirus para desarrollar una firma. A pesar de esto, todavía habrá una ventana antes de que los desarrolladores AV agreguen la firma y los usuarios finales actualicen su base de datos de firmas.

Evasión del velo

Evasión del velo es un paquete de software para cambiar la firma de sus ejecutables de carga útil para que puedan pasar por alto el software AV. Veil ahora está en el repositorio de Kali y se puede instalar simplemente escribiendo:

kali> apt-get instalar velo

Haré un tutorial sobre su uso en un futuro próximo.

Detección de correo web

Muchos de ustedes han tenido problemas para enviar malware a través de correo basado en web, como Gmail, Yahoo, Hotmail, etc. Por supuesto, esas compañías mantienen su legitimidad al implementar una de las principales compañías de antivirus para escanear cualquier archivo adjunto que pueda intentar enviar. En la mayoría de los casos, es probable que estos servicios detecten y detengan el intento de enviar un PDF, un documento de Word u otro archivo malicioso.

Una de las ventajas de usar una distribución de Linux es la capacidad de configurar su propio servidor SMTP y usarlo para enviar su correo electrónico. Hay numerosos servidores SMTP disponibles para Linux que puede descargar e instalar, incluidos atmail, Exim, qmail, Sufijo, y enviar correo. Busque mi tutorial que viene pronto sobre la instalación del servidor Exim SMTP en mi serie Linux Basics.

Tener su propio servidor SMTP resolvería cualquier problema con enviando cargas útiles maliciosas pero, por supuesto, no resolverán los problemas en el extremo receptor.

Construye tu propio

En última instancia, la mejor manera de evadir AV y otros dispositivos de seguridad es construir su propio exploit / payload. Ese es nuestro objetivo en mi serie Exploit Building, donde estamos trabajando para desarrollar nuestro propio exploit único que será indetectable por cualquier dispositivo antivirus o de seguridad.

¡Sigan regresando, mis tiernos hackers, mientras exploramos más formas de evadir la seguridad y construir nuestras propias hazañas!

Imagen de portada a través de Shutterstock

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar