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

非PE病毒介绍的更多相关文章

  1. Windows下非PE方式载荷投递方式研究

    0. 引言 0x1:载荷是什么?在整个入侵过程中起到什么作用? 载荷的作用在整个入侵链路的作用起到纽带的作用,它借助于目标系统提供的某些功能:组件:执行环境,将攻击者的传递的恶意payload包裹起来 ...

  2. PE文件介绍 (1)

    PE文件介绍 PE文件主要是windows操作系统下使用的可执行文件格式,PE文件是指32位的可执行文件也叫做PE32,64位可执行文件叫做PE+或者PE32+ PE文件格式 种类 主扩展名 可执行类 ...

  3. 【黑客免杀攻防】读书笔记2 - 免杀与特征码、其他免杀技术、PE进阶介绍

    第3章 免杀与特征码 这一章主要讲了一些操作过程.介绍了MyCCL脚本木马免杀的操作,对于定位特征码在FreeBuf也曾发表过类似工具. VirTest5.0特征码定位器 http://www.fre ...

  4. PE病毒初探——向exe注入代码

    PE文件其实就是Windows可执行文件,关于它的一些简要介绍摘自百度: PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE.DLL.OCX.SYS.COM都是PE文件 ...

  5. 制作系统U盘,不用做任何动作直接从U盘启动装系统(非PE的)

    用U盘装系统可以用PE方式,进入PE系统,选择镜像文件,然后装,这种比较麻烦. 下面介绍一下从U盘启动,直接装系统的方法,这种方法从U盘启动后,不用做任何动作,就像用光盘装系统一样简单 首先要制作一下 ...

  6. PE文件介绍 (2)-DOS头,DOS存根,NT头

    PE头 PE头由许多结构体组成,现在开始逐一学习各结构体 0X00 DOS头 微软创建PE文件格式时,人们正广泛使用DOS文件,所以微软充分考虑了PE文件对DOS文件的兼容性.其结果是在PE头的最前面 ...

  7. java并发之非阻塞算法介绍

    在并发上下文中,非阻塞算法是一种允许线程在阻塞其他线程的情况下访问共享状态的算法.在绝大多数项目中,在算法中如果一个线程的挂起没有导致其它的线程挂起,我们就说这个算法是非阻塞的. 为了更好的理解阻塞算 ...

  8. Linux驱动之异步OR同步,阻塞OR非阻塞概念介绍

    链接:https://www.zhihu.com/question/19732473/answer/20851256 1.同步与异步同步和异步关注的是消息通信机制 (synchronous commu ...

  9. c# 托管和非托管的介绍

    在.net 编程环境中,系统的资源分为托管资源和非托管资源. 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的 只是了解.net CLR如何做这些操作.也就是说 ...

随机推荐

  1. 29.Django session

    session 1.概述 cookie和session的区别 Cookie是保存在用户浏览器端的键值对,Session是保存在服务器端的键值对:Cookie做用户验证的时,敏感信息不适合放在Cooki ...

  2. Angular4---起步----环境配置安装@angular/cli

    学习angular,首先要搭建起angular的手脚架@angular/cli.首先需要NodeJS环境. 1.安装NodeJS 首先检查电脑是否安装了NodeJS环境,打开cmd命令行,运行node ...

  3. python格式化输出基础知识(2)

    ---恢复内容开始--- 一:请输入名片  (姓名,年龄,职业,爱好)设计名片 name=input('你的名字')age=input('你的年龄')job=input('你的工作')hobbie=i ...

  4. Tomcat使用基础

    1.解压Tomcat压缩文件后需要在环境变量里配置 :TOMCAT_HOME:D:\apache-tomcat-8.0.35. 2.将打好的项目war包放到tomcat安装目录的webapps文件夹下 ...

  5. JDK1.8源码(四)——java.util.Arrays 类

    java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 1.asList public static ...

  6. poj-3185-开关问题

    描述 牛一行20他们喝的水碗.碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水).他们希望所有20个水碗那么,因此用宽鼻子翻碗. 嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两 ...

  7. Know your weapons Ⅱ

    本次内容主要讲述使用UWP相关技术可以实现的软件上的一些功能,这里以Netease-Cloud Music(下称Cloud Music)为例讲述,这款音乐软件我个人一直在用,毕竟人们生活离不开音乐,说 ...

  8. SpringMvc环境搭建(配置文件)

    在上面的随笔里已经把搭建springmvc环境的基本需要的包都下下来了,拉下来就是写配置文件了. 下面左图是总的结构,右图是增加包 一.最开始当然是web.xml文件了,这是一个总的宏观配置 < ...

  9. [luogu1168]中位数_优先队列

    中位数 题目大意:输出读入的前2*k+1个数的中位数.一共有n个数,按照读入顺序. 注释:$1\le n \le 10^9$. 想法:这是优先队列的一个应用qwq.我们弄两个堆.小根堆和大根堆,保证: ...

  10. opencv配置

    1.安装opecv库 从官网http://opencv.org/下载OpenCV windows版 运行之后 2.配置环境变量 64位系统,可以将32位和64位两个都添加上,免得以后编译不同程序再来配 ...