2016-2017-1 20155215 信息安全技术 补课上测试

2016-2017-1 20155215 信息安全技术 补课上测试



因为没有及时提交课上的测试成绩,所以我在课后做了一些关于恶意代码的学习,作为一个补充提交项。


恶意代码分析技术。

  1. 静态分析初级技术
  2. 动态分析初级技术
  3. 静态分析高级技术
  4. 动态分析高级技术

静态分析技术通常是研究恶意代码的第一步,是分析程序指令与结构来确定功能的过程,此时程序不是在运行状态的。

反病毒扫描

反病毒软件显然不完美,主要依靠恶意代码特征片段的匹配(病毒文件特征库),还有基于行为模式的匹配分析(启发式检测)恶意代码编写者很容易修改或者转化自己的特征代码片段,启发式检测也仍然会被新型的恶意代码绕过。不同的反病毒软件使用了不同的特征库和启发式检测方法。

恶意代码的指纹

hash是唯一标识恶意代码的常用方法,SHA-1算法,MD5算法是最常用的两种hash函数。

查找字符串

程序中的字符串就是一段可打印的字符序列,从其中会包含很多信息,比如弹出的消息,读取的位置,链接的URL等等。使用Kali中的Strings程序搜索可执行文件的字符串,通常以Unicode和ASCII格式存储。

两种类型格式都以NULL结束符,表示字符串是完整的 ASCII字符串每个字符使用一个字节,Unicode使用两个字节。然而有些时候检测到的也并非是真正的字符串,可能是内存地址,CPU指令序列。

加壳与混淆恶意代码

加壳后的恶意程序会被压缩,混淆技术则隐藏了执行的过程。有时候使用Strings程序只搜索出很少的字符串,大部分是加壳或者混淆的,但是此类程序至少会有两个函数LoadLibrary和GetProcAddress 用来加载和使用其他函数。加壳程序运行先自身脱壳解压缩自身的文件,然后在运行,我们利用静态分析只能看到外面的脱壳代码。

PE文件头与分节

PE文件是Windows系统下使用的可执行文件格式,它是微软在UNIX平台的COFF(Common Object File Format 通用对象文件格式)基础上制作而成。最初设计用来提高在不同系统上的移植性,其实只能用在Windows操作系统上。

PE是指32位可执行文件,64位的可执行文件称为PE+ 或者PE32+,并非PE64。

PE文件以一个文件头开始,其中包括代码信息,应用程序类型,所需的库函数与空间要求。

链接库与函数

对于分析恶意代码,收集它的导入表至关重要,导入表是一个程序使用的存储于另一个程序的那些函数。静态链接(库与程序静态链接时,库中的所有代码都会复制到程序中,程序增大很多)常见于UNIX和Linux系统中,而Windows中都是动态链接(只有在程序运行时才链接到库)DLL文件又称应用程序拓展,在Win中许多应用程序并不是一个完整的可执行文件,它们被分割成相对独立的动态链接库,DLL文件。

我在网上搜索了解了一些关于恶意代码分析的内容,其中有一本书叫做《恶意代码分析实战》

《恶意代码分析实战》是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实用技术方法。

《恶意代码分析实战》分为21章,覆盖恶意代码行为、恶意代码静态分析方法、恶意代码动态分析方法、恶意代码对抗与反对抗方法等,并包含了shellcode 分析,C++恶意代码分析,以及64 位恶意代码分析方法的介绍。本书多个章节后面都配有实验并配有实验的详细讲解与分析。通过每章的介绍及章后的实验,本书一步一个台阶地帮助初学者从零开始建立起恶意代码分析的基本技能。

然后我还在I春秋上找到了一个关于《恶意代码分析实战》这本书的课后习题讲解课程,并学习了该课程的第一个视频。其中演示了一个恶意代码静态分析实验。

  • 实验内容:

恶意代码分析实战课后习题分析

此外,我还发现了一款恶意代码分析器,SCDBG。


恶意代码分析利器 – scdbg

什么是scdbg

  scdbg是一款多平台开源的Shellcode模拟运行、分析工具。其基于libemulibrary搭建的虚拟环境,通过模拟32位处理器、内存和基本Windows API运行环境来虚拟执行Shellcode以分析其行为。有了虚拟执行妈妈再也不用担心我的电脑中病毒了。

  

关于Shellcode:

实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务器的。 Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起,毕竟Shellcode只对没有打补丁的主机有用武之地。网络上数以万计带着漏洞顽强运行着的服务器给hacker和Vxer丰盛的晚餐。漏洞利用中最关键的是Shellcode的编写。由于漏洞发现者在漏洞发现之初并不会给出完整Shellcode,因此掌握Shellcode编写技术就显得尤为重要。

scdbg的基本原理

  众所周知,shellcode为了实现特定的功能必须通过调用系统API来完成-不论先前怎怎么变形怎么加密最后都会调用系统API。scdbg就是通过模拟执行以及hook多达200多个API来探测shellcode的行为。当然比如创建文件和访问网络这些危险的API并没有真正的在本机执行,而是通过传回虚假的返回值来欺骗shellcode让其平稳运行。

但是,我将scdbg下载下来之后却发现无法使用,按照网上的一些说明输入命令行也失败了。

  • readme文档如下:
 _______________
     |               |
     |               |
     |    libemu     |
     | x86 emulation |
     |               |
     |               |
     |               |
     \ O             |
      \______________|

libemu homepage: http://libemu.mwcollect.org

This build supports:
   100 hooks, 13 dlls, SEH, condensed output, interactive debug shell 

see CHANGES for more details. note currently version is VS_LIBEMU repository
which is a Windows native build that is several years more advanced.

Home Page:        http://sandsprite.com/blogs/index.php?uid=7&pid=152
Manual:           http://sandsprite.com/CodeStuff/scdbg_manual/MANUAL_EN.html
Basic Video:      http://www.youtube.com/watch?v=jFkegwFasIw
Adv Video:        http://youtu.be/HZE2c_If6hU
Demo Shellcodes:  http://sandsprite.com/blogs/files/sc_samples.zip

building from svn:
  autoreconf -v -i
  ./configure --prefix=/opt/libemu; make install

scdbg binary is in ./tools/sctest/ after compilation

这是输入命令行之后:

参考资料:

时间: 2024-10-08 17:45:44

2016-2017-1 20155215 信息安全技术 补课上测试的相关文章

Gartner:2016年十大信息安全技术(含解读)

在刚刚结束的2016年Gartner安全与风险管理峰会上,发布了2016年十大信息安全技术(http://www.gartner.com/newsroom/id/3347717).这里提及的10大技术基本上都在以往的报告中详细阐述过.这10大技术分别是: 1)云访问安全代理(CASB):CASB相当于一个应用代理安全网关,安全地连接起用户与多个云服务商,属于云安全身份管理的范畴.这是Gartner在云计算安全领域力推的技术,有多份专门报告,也是Hype Cycle的常客,这里就不多说了.[注:C

Gartner: 2017年11大信息安全技术(解读版)

在2017年6月份举办的第23届Gartner安全与风险管理峰会上,Gartner的Fellow--Neil McDonald发布了2017年度的11个最新最酷的信息安全技术,比往年的10大技术多了一项. 以往都是通过互联网了解Gartner的各种信息和报告.这次,本人有幸亲临现场,参加峰会,自然有更多的感悟.参加峰会期间,获得的信息量实在太大,直到现在,虽然已经过去了2个多月,依然没有消化完. 回到主题,以往我都是聚焦于每年选出来的10大信息安全技术本身,但对这些技术是如何被Gartner选出

2017-2018-1 20155321 20155330 《信息安全技术》 实验四 木马及远程控制技术

<信息安全技术> 实验四 木马及远程控制技术 实验名称: 木马及远程控制技术 姓名: 林汝婷.朱玥 学号: 20155321.20155330 班级: 1553 日期: 2017.11.21 一. 实验目的 该实验为设计性实验. 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚本 通过分析监控信息实现手动删除木马 二. 实验内容 木马生成与植入 利用木马实现远程控制 木马的删除 注:详细实验操作请参考实验室服务器上的参考资料. 三.实验环境 操作系统:windows 7.V

【南工程开源计划-有答案】南京工程学院试卷(A)-电力系统通信网2016/2017学年-第2学期-杨小伟-开卷

南京工程学院试卷(A) 2016/2017学年    第 2 学期 电力系统通信网(俗称通信网) 课程所属部门:     通信工程          课程名称:    电力系统通信网 考试方式:    开卷      使用班级:  通信(卓越)151.跨专业选修.重修 命 题 人:  杨小伟   教研室主任审核:             主管领导批准: 题号 一 二 三 四 五 六 总分 得分 一.简答题(本题6小题,每小题6分,共36分) 1.简述电力通信网的组成结构? 电网的调度管理体制采用

关于举办“高级信息安全技术专业人员培训班”和“高级软件性能测试工程师培训班”

大家好!       我中心于2016年2月27日举办“高级信息安全技术专业人员培训班”和2016年3月19日举办“高级软件性能测试工程师培训班” 如有疑问请您及时与我们联系, 感谢您的支持! 如有软件测评服务业务合作,如软件登记测试,确认测试,验收测试,等保测评,渗透测试,风险评估等项目服务,期待您的合作,再次感谢您的支持!           如有培训需求,可以联系我们,劳烦您转发给您相关可能有需求的培训同事,多谢. 祝您工作顺利,健康快乐每一天! 中国赛宝实验室软件评测中心 工业和信息化部

2017-2018-1 20155214 《信息安全技术基础》 实验3

2017-2018-1 20155214 <信息安全技术基础> 实验4 木马及远程控制技术 实验目的 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚本 通过分析监控信息实现手动删除木马 实验内容 木马生成与植入 利用木马实现远程控制 木马的删除 实验步骤 实验流程 (1)用户访问被"挂马"的网站主页.(此网站是安全的) (2)"挂马"网站主页中的iframe代码链接一个网址(即一个网页木马),使用户主机自动访问网页木马. (3)网页

2017-2018-1 20155216 20155223《信息安全技术》实验四—— 木马及远程控制技术

2017-2018-1 20155216 20155223<信息安全技术>实验四-- 木马及远程控制技术 实验目的 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚本 通过分析监控信息实现手动删除木马 实验内容 木马的生成与植入 利用木马实现远程操控 木马的删除 实验原理 网页木马 网页木马就是表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行.

《信息安全技术》实验四 木马及远程控制技术

<信息安全技术>实验四 木马及远程控制技术 实验目的 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚本 通过分析监控信息实现手动删除木马 实验内容 木马生成与植入 利用木马实现远程控制 木马的删除 实验人数 每组2人,本组为20155314 20155304 实验环境 系统环境 Windows Server 2003虚拟机 网络环境 交换网络结构 实验工具 网络协议分析器 灰鸽子 监控器 实验类型 设计性实验 实验原理 一.网页木马原理及相关定义 浏览器是用来解释和显示万

2017-2018-1 20155207&amp;20155308《信息安全技术》实验四-木马及远程控制技术

2017-2018-1 20155207&20155308<信息安全技术>实验四-木马及远程控制技术 实验目的 剖析网页木马的工作原理 理解木马的植入过程 学会编写简单的网页木马脚本 通过分析监控信息实现手动删除木马 实验内容 木马生成与植入 利用木马实现远程控制 木马的删除 实验步骤 木马生成与植入 1. 生成网页木马 主机A首先通过Internet信息服务(IIS)管理器启动"木马网站". 为什么启动木马网站? 答:通常网页木马是通过"网马生成器&qu