非PE病毒介绍

1.宏病毒

1.1 介绍

  本文中的宏特指office系列办公软件中的宏,Microsoft Office中对宏的定义为“宏就是能够组织在一起的,可以作为一个独立命令来执行的一系列Word 命令,它能使日常工作变得容易。”当我们打开某些文档时,会遇到“安全警告”,提示我们宏已被禁用,若我们选择“启用内容”,则宏代码就会被执行。

  当宏代码包含恶意功能时则为宏病毒,其强大之处是建立在VBA组件的基础上的,与操作系统无关,只要计算机能够运行Microsoft Office办公软件,便有可能感染宏病毒。

1.2 基础

  VBA(Visual Basic宏语言)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。

  宏代码中常见的Sub和Function都类似于C语言中的函数。sub在VB中被称为过程,function被称为函数;sub没有返回值,function有返回值;一段宏一定是从sub开始执行的,“End Sub”表示这个过程的结束,“End Function”则表示函数的结束。

  VB中存在很多对象,如Application对象,Document对象,Adobd.stream对象等。对象实际上是代码和数据的组合,我们在使用对象时,要么使用对象的属性(就是数据),要么使用对象的方法(就是代码)。通过 “对象.属性/方法”的方式使用对象的属性/方法。

1.3 工具

  oledump.py用于提取宏代码;

  VBA Password Bypasser用于解密VBA工具;

 

参考网址:https://www.52pojie.cn/thread-706440-1-1.html

 

2.脚本病毒

2.1 介绍

  脚本病毒是主要采用脚本语言设计的计算机病毒。为非PE病毒的主要类型,以往流行的脚本病毒大都是利用Bat、JavaScript和VBScript脚本语言编写,近来PowerShell强势兴起,成为流行的脚本病毒之一。

2.2 攻击技巧

  当攻击载荷成功投递到目标,其是否生效还受到系统策略、权限等因素影响 ,当目标拥有Applocker时,攻击方式分两种情况:

2.2.1 脚本执行禁用,cmd、powershell执行未禁用

 这种情况下利用方式很多,常见的方式基本有:

(1)直接使用cmd、powershell命令

(2)通过管道

(3)通过regsvr32、rundll32、mshta

2.2.2 脚本执行禁用,powershell执行禁用

 对于这种情况,得通过别的方式绕过限制:

(1)利用规则“漏洞”,寻找可执行路径,写入payload脚本;如果只是对于powershell.exe采用了路径限制,而不是哈希限制,那可以将其copy一份到别的路径,然后使用。

(2)使用C#调用powershell的模板代码,将payload替换为可执行代码并编译,然后运行。

(3)使用已经经过签名的Windows组件安装程序InstallUtil.exe。

(4)使用.Net框架程序集注册工具Regasm或Regsvcs,通过csc.exe编译为dll组件,之后通过传入Regasm(或Regsvcs)/U 参数执行卸载例程。

(5)使用msxsl.exemsxsl是windows下用于处理xsl的命令行程序(已签名),通过该程序可以执行JScript代码。

(6)使用msbuild.exemsbuild作为Windows和vs的生成引擎,默认系统自带。

 

3. 其他病毒

  其他较为少见的病毒如inf、lnk文件,还有一些例如Autoit、CAD等软件定义的脚本,又或者swf文件,这种类型的病毒比起宏病毒和脚本病毒,类型上比较模糊,攻击目标也偏小众。

3.1 inf病毒

  当我们打开某个盘符的时候,Windows系统会搜索根目录下有没有autorun.inf文件,如果有,则读取该文件中的内容,autorun.inf则会指向一个程序,Windows便会指向该程序,若内容是这样的:“open=C:\virus.exe”,则会执行virus.exe。

3.2 CAD病毒

  该病毒利用CAD的读取机制,在第一次打开带有病毒的图纸后,该病毒即悄悄运行,并感染每一张新打开的图纸,将病毒文件到处复制,并生成很多名为acad.lsp的程序。即便是重装CAD甚至重装系统都不能解决问题。病毒感染计算机系统后,会在搜索AutoCAD软件数据库路径下的自动运行文件(acad.lsp)后,生成一个备份文件acadapp.lsp,其内容和自动运行文件一样。打开CAD图纸时,软件就会运行加载该文件,同时在存放图纸文件的目录中生成两个文件(acad.lsp和acadapp.lsp)的副本。
 

参考网址:http://mp.weixin.qq.com/s/8wAk-fRXd7HbS_QzsxdNwA

posted @ 2018-04-08 21:14  仁札  阅读(980)  评论(0编辑  收藏  举报