20145314郑凯杰《网络对抗技术》文件绑定技术研究与实践 总纲
20145314郑凯杰《网络对抗技术》文件绑定技术研究与实践 总纲
一、文件绑定技术的研究
木马之所以狡猾,是因为它除了能躲避杀毒软件的查杀外,还能诱骗用户运行。木马伪装,以捆绑方式最为常见,将恶意程序和正常的文件进行捆绑,是黑客最常用、最可行、最简单的方式,当受害者运行这些捆绑了恶意程序的文件后,电脑就在不知不觉中中招了!而且,几乎所有格式的文件,都能捆绑上木马,包括很多人认为不会带病毒的文件,比如:电影文件.rm、图片格式文件.jpg、等,都无一幸免!
随着恶意代码的发展越来越广泛,以及其强大的破坏性和更多样的传播方式,给人们带来许多的危害。我们在课上已经学习了恶意代码的基本概念以及对其的研究分析流程。恶意代码传播方式中最阴险毒辣简单粗暴的方法就是文件捆绑,以病毒文件为基础对普通文件、图片文件、压缩文件、PE文件进行感染,并且实现隐蔽攻击。本项目就要通过对文件捆绑各个可行方式的思路研究,总结出五个大类的捆绑方式,进一步,将其应用于实战攻击及提供一些简单的防治策略。希望能为各位同学们的研究和学习提供参考。
目标、思路、工作环境、最终成果都先在摘要是总结下
二、文件绑定技术的博客目录及摘要
1、20145314郑凯杰《网络对抗技术》多文件捆绑(压缩捆绑)的实现
- 简介:压缩捆绑是捆绑技术中最简单的捆绑方式,也是最流行的捆绑技术实现方式之一。简单来说就是两个文件的拼接。
- 目标:
- 用winrar功能实现可执行文件合并,尝试用病毒捆绑正常软件,完成捆绑攻击
- 用DOS命令行的COPY功能实现三类文件(文本文件、音频文件和可执行文件)文件捆绑并分析
- 用DOS命令行的TYPE功能实现三类文件文件捆绑并实现简单信息隐藏
- 工作环境:Windows 7
- 最终成果:已实现所有目标
2、20145314郑凯杰《网络对抗技术》漏洞利用捆绑(漏洞捆绑)的实现
- 简介:漏洞捆绑主要利用了软件(如Adobe系列)和一些普通的格式漏洞(jpg、png图片),因此主要从这两个部分入手,实现漏洞捆绑攻击。
- 目标:
- 研究了一款植入后门进图片的
Linux
环境下的软件Fake_Image_Exploiter
的安装、使用、最终利用其实现常用图片格式的漏洞绑定 - 找出
word
,excel
,flash
的一些安全漏洞,将恶意代码植入word等宿主文件中,执行时实现攻击。
- 研究了一款植入后门进图片的
- 工作环境:
- Linux——Kali
- Windows XP
- Windows 7
- 最终成果:已实现目标1,完成回连与免杀。目标2实现了针对Adobe的PDF、RTF等格式的漏洞捆绑。
3、20145314郑凯杰《网络对抗技术》资源融合捆绑(资源捆绑)的实现
- 简介:资源捆绑,PE文件结构中有一块特殊的节结构——资源节。可以通过将资源(恶意病毒或正常文件)注入该段,实现资源的隐藏。进一步可以通过另一种方法将资源再释放出来,就可以实现攻击。
- 目标:
- 用VS编译器对WIN32程序进行操作,将恶意程序注入进其资源节,实现绑定。
- 编写一个回调函数,利用API函数实现对资源内容的替换,在需要攻击的时候将恶意代码释放。1. 结合免杀后门,应用system语句实现释放资源时的自动攻击。
- 工作环境:
- Linux——Kali(提供回连靶机)
- Windows 7
- 最终成果:已全部实现目标
4、20145314郑凯杰《网络对抗技术》PE文件病毒捆绑(插入捆绑)的实现
- 简介:每个应用程序内部都有一定的空间(因为文件对齐余留的00字段)可以被利用,这样就可以保证被插入的程序“原封不动”,显然更具有迷惑性和欺骗性。先对windows可执行文件PE结构进行分析,接下来可以实现用Ollydbg对PE文件进行恶意代码注入。
- 目标:
- 用汇编语言编写一个简单的对话框,并将其写入PE文件的预留字段中
- 将入口地址的语句修改为跳转语句。
- 跳转执行完对话框后再实现语句回溯,跳回原本的正常程序,不影响正常程序执行。
- 工作环境:
- Windows 7
- 最终成果:已全部实现目标,但OllyDbg无法导出修改后的EXE程序。
5、20145314郑凯杰《网络对抗技术》恶意DLL注入进程(进程捆绑)的实现
-
简介:在这部分里,要实现将恶意后门悄无声息地与进程进行捆绑,通过和已运行的进程进行捆绑,达到附着攻击执行的隐蔽效果。更进一步,结合前面的资源捆绑的方式,还可以实现免杀恶意注入EXE的效果。
-
目标:
- 制作一个恶意DLL(手工免杀方法打造,不会被杀出来)
- 通过进程注入的方式,将这个恶意DLL注入到已运行的进程中去
- 在进程中编写一个回调函数,一运行就直接执行恶意代码
- 将这个恶意DLL直接绑定于我们的注入程序的资源段,封装成一个表面纯良无害的EXE可执行文件
-
工作环境:
- Windows 7
-
最终成果:已全部实现目标
三、知识准备
·由于后面要对PE文件的结构进行分析,所以先对PE文件基本结构进行说明
PE文件把所有代码和数据都合并在一起,组成一个很大又比较复杂的数据结构。
由四部分组成
-
DOS部分:为了与DOS系统的文件格式兼容,在PE文件头之前有一个标准的DOS MZ格式的可执行部分由MZ格式的文件头和可执行代码DOS块(DOS stub)组成。
- MZ的标志就是偏移量为0,占两个字节,数据为4D5Ah。我的理解是,只要在文件首部出现了4D5H,那么就可以断定这个文件为PE文件。
- e_lfanew字段:偏移量为0000003CH,占四个字节,该字段存储PE文件头在磁盘文件中距文件头的偏移量,Windows装载器找到这个偏移量就可以找到真正的PE文件头在文件中的位置。对本次实践的意义在于可以通过修改这个入口点的位置,达到植入病毒文件的目的。
-
PE文件头:PE文件头中存放着PE整个文件信息分布的重要字段,包含了许多PE装载器用到的重要信息。
- Signature:是PE文件头的第一个双字占4个字节,是PE文件的标志。值是00004550H,即“PE\0\0”
- AddressOfEntryPoint字段:该字段相对于PE文件头的偏移量是00000028H,占4字节。指出了文件被执行时的入口地址,这是一个RVA地址。
-
节表
-
节数据
该部分的rsrc节可作为资源绑定的目标部分
对原PE文件而言,需要完成的工作:
- 将病毒可执行程序部分添加到原PE文件最后一节
- 修改原PE文件文件头中的相应信息
- 修改原PE文件最后一节的节表的相应信息
- 修改用于跳回到PE文件原入口地址的JMP指令
四、项目感悟
这次完成了的免考项目,总结起来还是十分开心的,因为是自主选题,所以兴趣激励着我在不断努力不断学习。有了兴趣,做起项目一点都不枯燥,有时候还会有点小期待(比起其他科目的枯燥复习,一天中做免考的时间可以说是学习时间中最棒的了)。
从选题开始说,不仅仅是兴趣于对文件的操作处理,更是对这部分知识的理解和好奇。这门课程是网络对抗,也就是网络攻防。不论是伴随型、蠕虫型还是寄生型病毒,大部分的攻击形式都是通过病毒对文件进行处理。因此我抓住了这个部分,对文件的类型进行分析。以捆绑的技术角度,发散地选择了五个捆绑攻击,从狭义的捆绑(压缩),到广义的捆绑(注入),逐步深入内核,理解和实践这部分的研究知识。
再从研究的意义上说,理论终究是要应用于实践。在做项目的同时,我也注意实践性的体现,每个小项目都必须以可操作可实践的目标去实现。实践过程尽量详细完善,描述语句尽量正规准确。相信能为各位同学们的研究和学习提供参考。
最后一点个人感悟,是免考项目与平时实践不同的。在整个过程中,我从对题目陌生,到了解全貌,再到细致攻克每一个细节。这种学习方式带给我的,不只是对知识的系统了解,对实践的熟悉掌握与运用。更重要的是在这个过程中学会的一种自主研究、自主探索的学习精神。这也是刘老师的课带给我的最大启迪,在这次的免考项目的实践中更深刻地体会到了这一点。相信这种精神,在日后一定会对我大有裨益。
最后感谢这一学期来刘老师的教导,还有各位组长、课题负责人的付出,还有每一位帮助过我的同学们!
posted on 2017-05-21 22:50 20145314郑凯杰 阅读(407) 评论(0) 编辑 收藏 举报