前言
接上篇。进行病毒分析时,在进行具体的病毒行为分析前,需要或许可疑文件的基本信息,此时可以使用pe工具进行分析和获取
基本静态信息获取
一般需要获取的信息包括但不限于:
- 程序哈希值
- 导入函数表
- 导出函数表
- 是否有壳
- 程序的位数
- 字符串
具体步骤
使用exeinfope获取相关信息
- 讲文件拖入到exeinfope.exe中,可获取该文件的PE信息,示例如下:
如图中标记,可以知道:
- 该程序是个32的可执行程序
- 通过节区信息可以判断是否加壳,该程序没加壳,现实的是正常的.text节区
如下图:可以看到加了upx壳
- 点击图中的PE,可以进一步获取导入表等相关信息
- 导入表、导出表信息可以帮助我们获取到程序所用到的功能函数,在恶意代码中获取常用的windows api.
初学者应该多翻翻导入的函数,熟悉哪些是恶意软件常用函数以及了解常用的windows api函数
常见dll程序如下:
Kemel32.dll - 这是 个很常见的 DLL 它包含核心系统功能,如访问和操作内存、文件和硬件,
等等
Advapi32.dll - 这个 DLL 提供了对核心 Window 组件的访问,比如服务管理器和注册表
User32.dll - 这个 DLL 包含了所有用户界面组件,如按钮、滚动条以及控制和响应用户操作的组件
Gdi32.dll - 这个 DLL 中包含了图形显示和操作的函数
Ntdll.dll - 这个 LL Window 内核的接口 可执行文件通常不直接导入这个函数,而是由 Kemel32.dll 接导入,如果这个可执行文件导入了这个文件,这意味着作者企图使用那些不是正常提供给 Windows 程序使用的函数。 一些如隐藏功能和操作进程等任务会 使用这个接口
Wsock32.dll、Ws2 32.dll - 这两个是联网 DLL, 访问其中任 DLL 程序非常可能连接网络,或是执行网络相关的任务
Wininet.dll - 这个 DLL 包含了更高层次的网络函数,实现了如 TP HTT NT 协议
使用PE-bear.exe获取相关信息
总结
在该文章中所涉及的知识主要是pe文件格式的相关知识,使用文字进行原理说明会相对冗余。
使用工具进行初步的静态分析实践起来,后续可以对照PE格式进行分析。
声明
- 本文初衷为分享网络安全知识,请勿利用技术做出任何危害网络安全的行为,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,与SpaceSec安全团队及作者无关!
- 文章中部分学习内容来自于网络,回馈予网络,如涉及版权问题,请联系删除。
- SpaceSec 保留对文章绝对的解释权,转载与传播时须保证文章的完整性,同时标明出处。未经允许,禁止转载或用于商业用途。
版权归原作者 SpaceSec安全团队 所有, 如有侵权,请联系我们删除。