记录一次DLL分析实战

记录一次DLL分析实战

1.VT查看分析报告

virustotal

全绿,没有报毒:

可以看到这个dll是32位的:

下面可以看它调用的其他dll:

以及它对外提供的函数接口:

其中RunCmd很可疑,看起来是调用cmd窗口的接口,后续需要重点关注

可以看到它联系的IP地址和域信息:

行为模块可以查看它恶意加载的流程:


2.判断文件是否加壳

使用 PEiD 可以查看该信息,如下无壳:

使用Exeinfo PE新一代查壳工具:

这款查壳工具的加壳特征库比较准确而且范围很广,如ThemIDA、WinLicense、VMProtect、ZProtect、Shielden都可以轻松识别出来,但对于具体加壳程序的版本都是模糊的


3.查看导入函数

用 Dependency Walker 可以看到导入函数

重点是 CreateProcessASleep 导入函数,这两个函数经常在后门程序中使用:

CreateProcessA 函数用于创建一个新的进程并执行指定的可执行文件。它是通过指定一组参数来启动新进程的,包括可执行文件的路径、命令行参数、安全属性等。该函数返回一个布尔值,表示新进程是否成功创建

Sleep 函数用于使当前线程暂时休眠一段指定的时间。它接受一个以毫秒为单位的时间参数,并把当前线程从运行状态转为休眠状态,直到指定的时间过去后再恢复运行


4.查看是否有任何其他文件或基于主机的迹象

使用 strings -n 4 -nobanner xxx.dll 指令查看 xxx.dll 中的字符串

如下,除了已知的 CreateProcessA 和 Sleep,我们还注意到 exec 和 sleep。exec 可能用于通过网络给后门程序传送命令 ,再利用 CreateProcess 函数运行某个程序 。sleep 可能用于让后门程序进入休眠模式


5.使用工具IDA Pro进行字符串分析

通过 View > Open Subviews > Strings,或者 Shift + F12 打开 Strings 窗口,使用 Strings 窗口,查看dll中的字符串:

相关推荐
数智顾问1 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
网络工程小王2 小时前
【LCEL 链式调用详解】调用篇-2
java·服务器·前端·数据库·人工智能
xhbh6663 小时前
路由端口转发常见应用场景有哪些?有什么?
服务器·ip·端口转发·ip地址·流量转发·建站
宁小法3 小时前
Linux批量删除文件
linux·服务器·批量·删除文件
AC赳赳老秦3 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
zhangfeng11334 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
北冥湖畔的燕雀4 小时前
Linux线程编程核心指南
linux·服务器·网络
倔强的石头1064 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器
小金的学习笔记5 小时前
小白打造个人博客的神奇秘诀:WordPress 竟如此简单?
服务器
陶然同学6 小时前
【Linux及Shell】VMware&Ubuntu&Xshell安装
linux·运维·xshell8·xftp8