运行恶意代码
普通的程序啥的双击或者命令行就能运行,但是如果是 dll 文件怎么运行呐?
在 windows 中有一个 rundll32.exerundll32.exe dllname export arguments
这里的 export arguments 是 dll 的导出函数表中的函数名或序号
如果是函数名的话直接跟函数名,如果是序号的话就是 #4
这样子
进程监视器
进程监视器(process moniter)是 windows 下的高级监视工具,可以监控注册表、文件系统、网络、进程和线程行为
拿图中选中的这个来说 pid 为 1588 的 baidupinyin.exe 进行了 CreateFile 操作创建了 C:\Program Files\Baidu\BaiduPinyin\5.5.5063.0\default.ini,并且成功了
设置了之后 apply 就可以啦
进程浏览器
process explorer 是一款强大的任务管理器,默认情况下服务是粉红色的高亮,进程为蓝色、新进程为绿色、被终止的进程为红色
regshot比较注册表
提取1
提取2
然后再 比较
他就会给你列出来哪些改掉了
apateDNS
通过监听 53 端口,可以重定向 DNS 到你指定的 IP
需要 .net 什么的可以用这个
ed2k://|file|en_.net_framework_3.5_service_pack_1_x86_x64_ia64.exe|242743296|C8B10D7008E5C32BD5BA03CA0E41BA7B|/
nc监听端口
nc -lvp xxx
wireshark抓包
INetSim
他可以监听大部分的端口来
Lab 3-1
通过 process explorer 发现进程有这么些字符串
使用 Procmon 过滤一下只看 lab03-01.exe 的 RegSetValue 与 WriteFile 的操作
可以看到写了个 C:\WINDOWS\system32\vmx32to64.exe,而且大小为:7168,刚好是 Lba03-01 的大小
找到那个位置对比一下两个文件的 MD5 一样,这表明程序已经把自己复制到了 C:\WINDOWS\system32 目录下
其中对注册表 HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed 的操作属于噪声,随机数发生器的种子会有软件在注册表中不停地更新
同时看到对注册表 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VideoDriver 进行了操作,双击看一下,他把刚才写的文件作为启动项自启动了
使用 ApateDNS 来看 DNS 信息,发现会访问一个域名,在前面看字符串的时候也见过
Lab 3-2
首先使用 regshot 给注册表拍个快照,方便待会比较那些注册表发生了变化
用命令 rundll32.exe Lab03-02.dll installA
运行 installA 函数,把服务安装好
然后 net start IPRIP
运行服务,再拍注册表的快照看看有啥变化
可以看到增加了一个 HKLM\SYSTEM\CurrentControlSet\Services\IPRIP
①这表明恶意代码将自身安装为服务,然后可以看到 HKLM\SYSTEM\ControlSet001\Services\IPRIP\ImagePath
③ 这表示这个服务是通过 svchost.exe 这个程序启动的
在 process explorer 中可以看到 svchost.exe 加载了 dll
在运行之前打开 apatedns 会监听到它访问了一个网址
书上说监听 80 端口可以收到一些消息,但是我没收到
Lab 3-3
打开程序会发现创建了一个叫 svchost.exe 的子进程,pid 为 3828
打开看一下内存中的信息,产生的这个 svchost.exe 跟正常的程序是不一样的
然后对 processmonitor 设置一下过滤,只看这个 pid 的,当键盘键入的时候发生了 WriteFile 操作,把键盘键入的内容写到了 practicalmalwareanalysis.log
Lab 3-4
打开之后发现文件自己删除了,是在 cmd 中的这条命令
"C:\WINDOWS\system32\cmd.exe" /c del C:\DOCUME~1\ADMINI~1\桌面\恶意代~1\CH9F95~1\Lab03-04.exe >> NUL