Exp4 恶意代码分析
一、实践目标
1.系统运行监控
使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
2.恶意软件分析
分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件读取、添加、删除了哪些注册表项,读取、添加、删除了哪些文件,连接了哪些外部IP,传输了什么数据。
二、实践内容
Ⅰ.系统运行监控—任务计划
1.写好脚本(实际上就是命令行语句)netcontrol1209.bat,再新建一个txt文档netstatlog.txt用于接收数据。
date /t >> C:\Users\yi'ge\Desktop\netstatlog.txt
time /t >> C:\Users\yi'ge\Desktop\netstatlog.txt
netstat -bn >> C:\Users\yi'ge\Desktop\netstatlog.txt
2.用命令行创建一个计划任务
schtasks /create /TN netcontrol1209 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > C:\Users\yi'ge\Desktop\netstatlog.txt"
TN是创建的计划任务名是netcontrol1209,sc表示计时方式,TR表示执行的指令,>表示输出重定向。
3.打开任务计划程序
4.在常规中选择使用最高权限运行,在条件中关闭电源限制
5.在操作栏清空参数,选择批处理文件
6.等待一段时间后就可以得到想要的数据了
7.收集了较多数据后,停止任务,将所得数据在excel中进行分析
-
①新建excel,数据→自文本→选择数据源→netcontrol1209.txt,勾选分隔符号
-
②勾选所有分隔符号
-
③列数据格式勾选常规→完成
-
④选择要分析的列——>选择插入——>选择数据透视图——>直接默认值确认
-
⑤右侧选择分析的日期,拖入下方的轴和值
-
⑥同样的方法,可以得到连接的外部ip地址的统计图
7.分析结果
出现最多的是TCP,意思是TCP连接成功,再下来就是[BaiduNetdiskHost.exe],发起了76次TCP连接,下面列举出来连接最多的一些外部网站
Ⅱ.系统运行监控—sysmon
1.安装sysmon
- 编写配置文件
2.启动sysmon
.\Sysmon.exe -i sysmon1209.xml
打开日志
打开事件查看器(win+R运行eventvwr.msc)——>应用程序和服务日志->Microsoft->Windows->Sysmon->Operational
-
打开kali,Win运行后门文件1227door.exe,回连到kali,kali执行shell获取win10的cmd
-
再次查看日志
根据时间观察对应的事件,可以在Sysmon的日志中看到进程创建
Ⅲ.恶意软件分析
1.用wireshark分析TCP包
- kali中使用wireshark抓包分析
建立连接:
现在来看看下面的详细信息,因为用的tcp反弹式连接,所以基本上都是tcp包,详细信息一次类推
第一行,帧Frame447指的是要发送的数据块,其中,所抓帧的序号为36838,捕获字节等于传送字节数:7354字节
第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为08:00:27:ca:97:51,目标Mac地址为0c:dd:24:8e:94:37
第三行,IPV4协议,也称网络协议,是网络层;源IP地址为192.168.43.183,目的IP地址为:192.168.43.141
第四行,TCP协议,也称传输控制协议,是传输层;源端口(55538);目标端口(12270);序列号(1);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为7300字节
第五行,数据共有7300字节
2.通过Ⅰ中的任务计划分析
3.使用SysTracer分析
这里的三张快照分别是:
- Snapshot #1:没有执行任何操作
- Snapshot #2:传送了后门文件,并回连了kali
- Snapshot #3:kali handle控制台getshell后进行了一系列操作(dir,date,mkdir 1227t4)
对比快照Snapshot #1和快照Snapshot #2
- 通过查看Running Processes、Opened Handles、Opened Ports,可以更直观地看到后门程序的执行,以及它添加了哪些句柄和连接的是哪个端口。
下面这一串,就是后门程序添加的句柄
这里可以看到后门程序是通过“50092端口”对“192.168.31.24:1209”进行连接,这里可以看出后门采用的是反弹端口连接方式。 - 对比快照Snapshot #2和快照Snapshot #3
- 同时,系统删除了一系列的dll,添加了相应的句柄。