Jump to content
YOUR-AD-HERE
HOSTING
TOOLS
992Proxy

Locked El virus en Python


dEEpEst

Recommended Posts

No es ningún secreto que Python ayuda a resolver muchas tareas rutinarias: copias de seguridad periódicas de archivos, envío de cartas por correo electrónico, búsqueda y ejecución de muchas acciones con archivos de disco duro y demás. Debido al hecho de que Python es un lenguaje de programación de alto nivel y es difícil de dominar, el nivel de virus que podemos escribir es alto. Las cepas escritas con la ayuda del DLL generalmente se clasifican como HLLx (lenguaje de alto nivel, x es el método de reproducción).

 

 

 

Hay varias subespecies principales de virus HLLx:

  • Sobrescribir - HLLO,
  • Compañeros - HLLC, y
  • parásitos (parásitos) - HLLP.

El primero es un programa primitivo que simplemente reescribe el código de la víctima con su código, por lo que el programa original deja de funcionar normalmente. Dichos virus son muy destructivos en su simplicidad. Como resultado de la infección con dicha infección, la computadora del usuario se ve privada casi por completo de todo el software instalado. En resumen, vandalismo de agua limpia.

 

 

 

Los virus-compañeros son más amigables con los archivos que "infectan". La palabra "infectar" entre comillas por una razón, porque, de hecho HLLC-malware simplemente apropiarse del nombre de la víctima, y ​​el original exe-Schnick cambiar el nombre o cifrado en algo más. De modo que sustituyen el software del usuario con sus propias copias, luego de lo cual lanzan el programa original desde un archivo con un nuevo nombre. Y el usuario no notó nada, y el virus permaneció ileso. HLLP son los virus más complejos. Penetran directamente en el archivo-víctima, pero al mismo tiempo mantienen la capacidad de trabajo de su código. Debido a algunas complejidades de los lenguajes de programación de alto nivel de la infección en toda regla, como en los virus "adultos" escritos en ensamblador, es casi imposible de lograr. Por lo tanto, los parásitos no son los más estéticos, pero, para nuestra dilución, este es el máximo,

 

 

 

Debido a que los virus HLLO y HLLC son demasiado unilaterales y en la práctica no ocurren en ningún lado, consideraremos el desarrollo de un parásito malicioso. El principio básico que usan para infectar es la introducción en un archivo con el código de la víctima.

 

 

 

Esto conserva el código del programa original y no atrae la atención innecesaria.

 

 

 

Hay muchas variaciones sobre el tema de HLLP-malware, pero trataremos de implementar el más simple de ellos. El virus ingresará en su propio cuerpo al comienzo del archivo de la víctima, completamente, con todos los encabezados y estructuras de servicio. El código del programa "bueno" se modificará por la duración del virus. Resulta que, al principio, se ejecutará el virus, que al final de sus transacciones lanzará el programa original, para no despertar la sospecha del usuario una vez más. Bueno, ahora veamos el código:

 

This is the hidden content, please

 

Primero conectamos tres módulos: sys, os, shutil. El módulo sys le permite acceder a variables que están íntimamente relacionadas con el intérprete o con el script que se está ejecutando. Por lo tanto, obtenemos el nombre de la secuencia de comandos para ejecutar debido al comando sys.argv [0]. El módulo os permite la ejecución de comandos que dependen del sistema operativo. Por ejemplo, obtenga una lista de archivos en un directorio, realice ciertas operaciones en ellos, y así sucesivamente. Finalmente, el módulo shutil le permite copiar y mover archivos al disco duro.

 

Después de importar los módulos que necesitamos, obtenemos el nombre del archivo, que contiene el código fuente del virus. Y con el comando os.listdir ('.') Obtenemos la lista de archivos en el directorio actual y verificamos si el siguiente objeto en la lista es un exe-shnik.

 

Si la verificación confirma este hecho, infectamos el archivo que encontramos simplemente reemplazándolo con nosotros mismos. Un lector atento podría haber notado que en la condición de la declaración if, hay otra instrucción similar:

 

This is the hidden content, please

 

Pero primero se ejecuta el comando

 

This is the hidden content, please

 

Al final del artículo, te diré para qué sirve y ahora continuaremos. Antes de la declaración if, leemos nuestros propios contenidos en la memoria. Esto se logra mediante el comando fvir. leer (19456). El número 19456 es la longitud del virus (no olvide que el archivo contiene no solo el virus sino también la víctima). Por qué se especifica esta longitud, también diré más tarde. Además buscamos en la carpeta actual todos los exe-shniki y los infectamos. Simplemente cambiando el nombre de un programa inocente de antemano, leemos su código en el búfer, luego creamos un nuevo archivo con el nombre deseado y escribimos el cuerpo del virus primero, y luego leemos el búfer que acabamos de leer. A continuación, guarde todo esto y elimine el archivo original de la víctima con el comando os.remove (name + 'tmp').

 

Pero ahora ha llegado el momento más importante: nuestra tarea es lanzar el código original, que previamente metimos en el virus. Para ello, se lee que ostallos de los datos de una imagen del virus (recordamos? Ya hemos leído 19456 bytes en el puntero del archivo se mueve a esta posición?), A continuación, almacena las lecturas en un exe temporal, que luego se ejecuta. Así que nuestro virus virus funcionó correctamente, y al mismo tiempo lanzó el programa necesario para un usuario aún desprevenido.

 

Sin dudas, nuestro virus no fue perfecto. Por ejemplo, no verifica si el archivo ya está infectado o no, y no es la forma más conveniente de insertar el tamaño del archivo final del virus en el código. Además, nuestro malware tendrá problemas en el primer inicio, cuando solo el cuerpo del vir está en la imagen y el cuerpo de la víctima está ausente. Pero estos problemas se pueden resolver, como cualquier otro.

 

Lo más básico es mostrar el principio del trabajo.

 

Gusano de red

 

Creamos un agente infeccioso clásico que se propaga al infectar programas cercanos. Pero también hay gusanos de red que usan Internet para sus pequeños trucos sucios. Los programas maliciosos de este tipo no están interesados ​​en el sistema de archivos de la computadora, necesitan acceso a la red.

 

Para propagar las lombrices, use agujeros en el sistema operativo y en los programas, envíelas por correo electrónico, etc. Intentemos crear un virus que necesite correos electrónicos.

 

Primero sugiero que vea cómo enviar mensajes usando Python. Un pequeño ejemplo, del cual bailaremos en el futuro:

 

enviando una carta:

 

This is the hidden content, please

 

En este punto, usamos la biblioteca smtplib y el paquete MIMEText incluido en ella. El código ya es demasiado simple, por lo que no requiere mucha explicación. Pero a lo que debes prestarle atención es a la autorización en el servidor SMTP. Si, de repente, se requiere un inicio de sesión y una contraseña para enviar un mensaje, deberá llamar a una función adicional más. Como nuestro virus es un archivo, debemos adjuntarlo a la carta. Para hacer esto, necesitará importar algunas bibliotecas auxiliares más y escribir algún código.

 

Ahora le mostraré cómo debe verse:

 

Enviar una carta con un archivo adjunto:

 

This is the hidden content, please

 

En la importación, tenemos una biblioteca de tipos miméticos y módulos codificadores, MIMEMultipart y MIMEBase. MIMEMultipart genera correos electrónicos a partir de diferentes tipos de datos (textos, muestras, etc.). MIMEBase funciona con archivos de tipo arbitrario - exe. Como base para el mensaje, tomaremos una variable de tipo MIMEMultipart y le agregaremos el objeto MIMEBase en el que los contenidos del archivo que necesitábamos se leyeron y decodificaron en base64.

 

Al final, cuando el virus puede enviarse por sí mismo en un correo electrónico, corresponde al pequeño: averiguar a quién enviar un correo electrónico. Aquí puedes fantasear como tu corazón lo desee. Por ejemplo, siempre puede buscar direcciones de disco duro escaneando todos los archivos. O puede usar la libreta de direcciones de Outlook, pero para esto necesitará el paquete de extensiones Python Win32.

 

Algunos comentarios

 

Los chicos capaces pueden decir: "Python son scripts, y exe es binario. ¿Cómo infectar un ejecutable de Windows con un script? ". La respuesta es muy simple: los scripts de Python se pueden convertir a exe. Eso es, y es muy simple.

 

Debido a que nuestro malware no se ejecuta como scripts, sino como aplicaciones win completas, hay un par de cosas incomprensibles en el código, que prometí contar más adelante. El primero de ellos es la llamada os.path.split (). Entonces, si ejecutamos un script python, el comando sys.argv [0] devuelve el nombre de este script (por ejemplo, virus.py). Pero con el ejemplo de exefile, el resultado será diferente: la ruta completa y el nombre del archivo (C: \ Windows \ virus.exe). Y dado que para otras acciones solo necesitamos el nombre del archivo, lo llamamos os.path.split ().

 

Otro momento incomprensible es el número 19456. Pero muchos de ustedes ya adivinaron que este es el tamaño del exe, obtenido después de que se convirtió el script. Mi virus pesó mucho después de su degeneración en un formato binario.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.