《恶意代码分析实战》课后实验1-1

**实验工具**:

PEiD——>查壳&观察对应文件的一些文件结构(主要是PE的结构)
Strings——>查看可打印字符,总结病毒的一些特征行为
PETools——>查看文件结构
virscan网站——>查看病毒信息



**实验思路**:

利用网络扫描工具(virustotal、virscan)对目标程序进行扫描
利用本地静态分析工具分析目标程序
对上述结果进行分析
  • 将文件上传至virustotal进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?

    1.virustotal是国外的访问不稳定,故用国内的virscan。
    2.扫描样本文件发现有好几个杀毒引擎报毒(有的没报是因为该杀毒引擎的病毒库里没有该病毒样本的特征码),被认定为是病毒文件。

  • 这些文件是什么时候编译的?

    1.exe和dll文件都属于PE结构,文件的编译时间都保存在PE结构中(需要PE结构图方便查阅);
    2.查阅PE结构图得知编译时间保存在“TimeDateStamp”时间戳中;
    3.使用PETools查看:将exe拖入PETools——>“文件头”——>“时间/日期标志”
    4.发现dll和exe的编译时间非常相似,基本是同时被编译出来的

  • 两个文件中是否存在迹象说明它们是否被加壳或混淆了?如果是,这些迹象在哪里?

    使用PEiD查看:将文件拖入PEiD——>查看下方的“Microsoft Visual C++ 6.0”(表明是由其编写的)——>如果被加壳了要么显示壳的名称,要么显示“nothing found”——>两个文件未被加壳(或者查看区段表,看起来是完整的一般未被加壳)

  • 是否有导入函数显示出了这个恶意代码是做什么的?如果是,是哪些导入函数?

    1.最强大的工具:DependencyWalker,PEiD也可以查看;
    2.exe拖入PEiD——>“Subsystem”——>“Import Table”——>看见该文件引用了两个动态链接库——>KERNEL32.dll库中的FindNextFileA和FindFirstFileA两个导入函数是病毒常用的 两个API函数,用于查找系统的文件——>CreateFileA用于创建打开文件——>CopyFileA用于复制文件,一般目的在于把自己复制到隐藏的地方(比如系统目录),从而起到混淆的作用;
    3.dll拖入PEiD——>“Subsystem”——>“Import Table”——>发现还引用了WS2_32.dll库,常用来实现一些联网的操作——>KERNEL32.dll库中导入了CreateProcessA函数(创建进程)、Sleep函数(休眠)和CreateMuteA(创建互斥量)

  • 是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?

    1.strings.exe和两个文件都放在同一目录下,用cmd在命令行下使用strings(strings 文件名称);
    2.exe文件:发现systen32路径,中包含一个kerne132.dll文件——>病毒企图将自身或者其他程序改名为kerne1.dll放于系统目录下混淆

  • 是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?

    strings打开dll文件:发现一个IP地址——>使用ip.cn网址进行ip查询——>结果是保留地址(私有子网的ip,访问不了,因为只是用于教学,真实的病毒ip对于的访问地址是恶意的)

  • 你猜这些文件的目的是什么?

    1.dll文件自身不能运行,必须借助别的程序,比如exe程序,所以可以推测exe程序使用来执行dll程序的,而dll很有可能是一个后门程序
    2.打印dll的字符串中有exec和sleep,两者结合使用需要特别注意,exec可能是通过网络来给后门程序传输命令,让它通过CreateProcess函数运行一个程序,而sleep可能是用于命令后门程序进入休眠的模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值