20155202张旭 Exp4 恶意代码分析
实验前问题回答:
一:如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
总结出五点:
- 监控网络连接
- 监控是否创建新的进程
- 监控注册表项目
- 监控系统日志
- 监控是否经常连接未知IP
二:如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
同样总结出五点:
- PEID、ExeinfoPE等查壳工具内先查壳,通过入口特征和区段特征来识别,然后脱壳。
- TCPView、Wireshark等网络工具查看是否存在可疑连接
- Systracer拍摄快照,比对前后区别,分析改变的注册表及文件等信息。
- PE Explorer:反汇编是否有问题,是否有不正常的Data
- Systracer:程序运行前后是否有注册表、端口、文件的变化
正式实验内容:
实验一:使用Windows计划任务schtasks监控系统运行
- 简单实现:每1分钟记录一下有哪些程序在连接网络。使用指令
schtasks /create /TN 20155202netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:
etstatlog.txt
- 创建计划任务20155202netstat,并且每分钟监听一次。
指令解释:
TN:Task Name,本例中是netstat
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat
-bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
-
再加工一下,在C盘要目录下建一个文件c: etstatlog.bat,内容如下:
date /t >> c:
etstatlog.txt
time /t >> c:
etstatlog.txt
netstat -bn >> c:
etstatlog.txt
我在虚拟机里监测的是真的low,于是不计后果的在主机中开始了实验.
-
记得配置.bat文件时候不仅仅是简单改后缀哦
-
果然我的电脑在我的管理下并没有什么乱来的东西。
-
如果想关闭了就去
计划任务
里关掉就可以了
实验二: Sysmon监控重要操作
- Sysmon是微软Sysinternals套件中的一个工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
确定要监控的目标
我感兴趣的是驱动加载、网络连接、线程注入。过滤条件相当于白名单吧,多多益善,让信任的程序尽量不要记到日志里,日志多了不好分析。
写好配置文件
-
想记录所有网络连接就可以简单写为
* ,不写的不记录。一般都是写成类似下面的规则,会过滤掉一些。exclude相当于白名单,不用记录。include相当于黑名单。个人觉得一般人使用白名单更安全,凡是不了解都记录。 -
下面是我用的配置文件
5202.xml
。放到新建的Sysmon文件夹里。注意最上面的版本号要改的。
<Sysmon schemaversion="7.01">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
<Signature condition="contains">microsoft</Signature>
<Signature condition="contains">windows</Signature>
</DriverLoad>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">iexplorer.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
启动sysmon
1,安装sysmon:sysmon -accepteula –i -n
2,在命令行下使用sysmon -c 5202.xml
命令可以对sysmon
进行配置指定配置文件(安装时用-i)
3,配置成功后,我们查看sysmon
正在运行。
4,在计算机管理工具-事件查看器下可以查看日志信息,日志位置在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
下:
5,开始执行后门程序,kali上进行回连后观察事件查看器。成功找到目标并记录端口号和ip为kail的ip
emmm今天是第二天,我昨天晚上做实验时候熄灯了,ip地址变了,就没截图,今天重头来一遍成功监听:
- 我打开了酷狗准备看看后台如何连接,结果出现了数十个这样的东西
dlna_player.exe
: - 我很兴奋,but原地址是回连地址127.0.0.1,就很困惑,去网上搜,结果发现这是酷狗播放器的一个协议一样的东西;
- DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 其宗旨是Enjoy your music, photos and videos, anywhere anytime, DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决个人电脑,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。
DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是当前所应用很广泛的技术和协议。
DLNA将其整个应用规定成5个功能组件。从下到上依次为:网络互连,网络协议,媒体传输,设备的发现控制和管理,媒体格式。
3.systracer注册表分析
- 先下载这个软件并安装,还是很小的,然后进行捕捉快照,我就捕捉了两个:
第一个是我生成后门后进行查找目录操作
第二个是我进行录音和拍照操作
第三个是正常的,把后门都关掉的
-
现在进行分析:
-
清楚显示回连地址和后门端口号
第一张快照找到后门;
第二张快照明显发现我调用的摄像头拍照多了好多东西,比第一张多出不少东西
很遗憾,因为我没在开后门前快照,所以第三张里还有我的进程
4.wireshark抓包分析:
开启后门服务,然后打开wireshark进行抓包分析;
- 真的奇怪,为什么虚拟机一直在和一个我不认识的ip之间对话,于是我查了一下它的地址,发现是北京市教育网,真的是尴尬,,通过
netstat -n
查出来5202端口已经开了,于是在wireshark上输入tcp.port=5202
找出经过这个端口的数据:
可以看到确实有tcp三次握手,但是我截图和音频的传输数据却是从北京市教育网传到虚拟机里,还是有些费解。
5.virscan在线分析
运用多种杀软进行病毒库比对分析
- 它通过多种不同厂家提供的最新版本的病毒检测引擎对用户上传的可疑文件进行在线扫描,并可以立刻将检测结果显示出来,从而提供给用户可疑程度的建议。
我把免杀处理后的后门重新进行分析,分析如下:
- 具体分析:
- 可以看到其md5值和可能加壳的技术,虽然我并没执行加壳哈哈哈()
6.Process Monitor 监视
- Process Monitor是一款由 Sysinternals 公司开发的包含强大的监视和过滤功能的高级 Windows 监视工具,可实时显示文件系统、注册表、进程/线程的活动。它结合了两个 Sysinternals 的旧版工具 Filemon 和 Regmon的功能,并添加了一个包含丰富的和非破坏性的广泛增强过滤功能列表,全面的事件属性(例如会话 ID 和用户名称),可靠的进程信息,每个操作的完整线程、堆栈与集成符号支持,同时记录到一个文件中,以及更多。其独一无二的强大功能将使 Process Monitor 在您的系统故障排除和恶意软件检测中发挥重要的作用。
- 检测出了后门文件,可以看出其PID号及父PID等信息:
- 还可以检测出进程树:
7.Process Explorer工具分析
- Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。
- 找到我新生成的后门,我感觉Process Explorer比.Process Monitor要好些,因为它是按进程树形排列更清晰
- 这是我的新生成的后门文件
- 清楚看到进程号
- 清楚看到回连ID