20154327 Exp4 恶意代码分析
基础问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 监控网络连接
- 监控是否创建新的进程
- 监控注册表项目
- 监控系统日志
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- PEID、ExeinfoPE等查壳工具内先查壳,通过入口特征和区段特征来识别,然后脱壳。
- TCPView、Wireshark等网络工具查看是否存在可疑连接
- Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息。
实验过程
使用Windows计划任务schtasks监控系统运行
- 使用指令
schtasks /create /TN 20154327netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\netstatlog.txt
-
创建计划任务netstat
-
指令解释:
-
TN:Task Name,本例中是netstat
-
SC: SChedule type,本例中是MINUTE,以分钟来计时
-
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
-
在C盘创建一个文件netstatlog.bat,内容为:
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
-
如上内容意在让我们的网络记录可以显示我们连接的网络的时间和日期信息
保存后我们将文件的后缀改为bat -
打开计划任务,找到我们刚刚创建的
-
在这里发现了惊喜,
-
排除后发现是快快游戏的定时任务,估计是什么时候玩贪玩蓝月安装的。
-
设置任务计划里的操作:
-
回连后,发现已于虚拟机建立连接:
使用Sysmon工具监控系统运行
-
在老师提供的网址中找到了最新的Sysmon下载
-
参考这里配置xml。
-
这里大家记得改版本号
-
一键安装:
sysmon -accepteula –i -n -
在命令行下使用sysmon -c xxx.xml命令可以对sysmon进行配置指定配置文件(安装时请用-i)
-
配置成功后,我们查看sysmon确实在运行呢。
-
在计算机管理工具-事件查看器下可以查看日志信息,日志位置在 应用程序和服务日志/Microsoft/Windows/Sysmon/Operational下
-
现在执行后门程序,kali上进行回连后观察事件查看器。
-
找到了
-
可以发现这是我们kali的ip地址。
-
这里发现后门调用了Explorer.EXE程序,这个程序大家应该不陌生吧,这里我猜测后门程序通过explorer.exe参数去调用了文件来执行所需功能。
使用在线沙盘分析恶意软件
- 由于哈勃关闭了普通用户进行行为分析,virscan也调用不了,这里我们使用两个国外的在线沙盘进行分析。
Threat Expert:
- 报告可以看到其启动回连主机的部分IP地址以及端口号
VirusTotal
- 报告分析出了一堆看不懂的=-=
使用systracer工具分析恶意软件
1.在正常情况下,我们在win7虚拟机下快照保存为Snapshot #1;
2.Kali生成相应的后门,将文传到win7虚拟机下后快照保存为Snapshot #2;
3.Kali开启msf监听,在win7下运行后门程序后快照保存为Snapshot #3;
4.Kali对win7虚拟机进行权限操作后,在win7下快照保存为Snapshot #4;
-
如下图所示,我们可以选择两个快照进行campare,分析每次操作对系统的影响:
-
快照结果对比分析:
-
- 1&2——传输文件过后注册表发生变化;
- 1&2——传输文件过后注册表发生变化;
-
C盘新增了我们传输的文件:
-
2&3——Kali回连成功后发现注册表新增一项;
-
3&4——Kali进行权限操作后,注册表发生了多项变动;
使用火绒剑分析恶意软件行为
-
这里给大家推荐一个国产良心杀软——火绒,这里用到的是火绒里面的火绒剑功能。
-
开启监控后,运行程序,查看程序所作出的所有行为。
-
我们可以看出后门程序建立了172.30.6.226:4327的连接,这个便是kali进行了回连的地址:也可以看到后门程序调用了许多dll,猜测正是调用了这些dll来实现。
Malware Defender
-
在xp虚拟机上打开Malware Defender,如图所示选择保护设置。
-
然后在工具-选项-保护-设置保护模式
1.学习模式, 可以检测特定程序的使用的关键API,比如: 创建文件,修改内存...但是不阻止
2.正常模式,正常模式则会在调用这些关键API之后,则会问你是否允许操作
3.安静模式,安静模式则不操作,不提示.
- 可以看出,主体在这里建立了172.30.6.226:4327的连接,这个便是kali进行了回连的地址。
PE explorer
-
我们使用PEexplorer打开我们的后门程序,界面如下:
-
上图可以看到程序节头的信息和一些指向操作信息
-
上图中的ADVAPI32.dll文件是一个高级API应用程序接口服务库的一部分,调用这个dll可以实现对注册表的操控,这值得我们注意WSOCK32.dll和WS2_32.dll这两个DLL用于创建套接字,即会发生网络连接
-
去网上看大牛的分析都是用OD去看反汇编的,可惜自己不会
TCPview工具
- 在xp虚拟机下使用TCPview可以很明显发现有后门程序所建立的TCP连接,在这里我们可以发现我们后门建立4327的连接。
使用wireshark分析恶意软件回连情况
- 抓包结果如下:
- 查看详细的协议分析发现,后门程序建立了三次握手并回连时进行了基于IP和端口的连接
- 回连时建立了tcp连接,这里发现我们后门程序建立的连接。
实验总结与体会
- 这次实验突然转变画风,之前都是去扮演坏人的角色,这次便成了警察去调查坏人犯罪的记录和证据,以便抓住它然后消灭它。
- 有了前几次实验的基础,我们可以发现,很多时候单纯靠杀软已经不能实现对恶意代码的查杀了,这便能用到我们今天所学习的知识,利用一些工具对系统进行监控查看是否存在恶意代码。这次我们的实验便是分析之前所做的后门程序,看是否能发现并找到它。