20155229《网络对抗技术》Exp4:恶意代码分析
实验内容
使用schtasks指令监控系统运行
schtasks指令:允许管理员在本地或远程系统上创建计划任务。
SCHTASKS /Create [/S system [/U username [/P [password]]]]
[/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
[/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
[/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]]
[/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F]
在C盘下创建一个文本,输入下列内容,然后将文本那类型更为.bat
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
用管理员的身份进入cmd,输入命令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"
创建计划任务
运行任务后,打开netstatlog.txt
文本,得到以下信息。
将这些信息放入EXCEL中进行分析。汇总后得到下列可执行程序。
其中的程序不太了解的是:
CCC.exe
:CCC.EXE是ATI公司出品的ATI显卡控制中心的一个程序,病毒正是利用该程序的漏洞进行攻击破坏行为。(吓得我赶紧的开启了360安全卫士。顺便去查找了一下它的IP地址)
外部地址为:218.58.102.218
-
Explorer.exe
:explorer.exe是Windows程序管理器或者文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理,删除该程序会导致Windows图形界面无法使用。 -
taskhost.exe
:taskhost.exe进程是Windows7/8/10自带的一个进程,是负责Windows运行计划的,简单的来说也可以称作计划任务程序, -
Tiworker.exe
:用于Windows Update,或安装某些微软发布的安装包时,进行系统文件的修改或替换;如果进程占用率很高100%,可能是系统在安装一些系统模块,如Windows Update正在自动下载安装安全更新。
使用sysmon工具监控系统运行
- 下载sysinternals解压包后,新建文本进行文件配置;
-
然后使用
.\Sysmon.exe -i .\Sysmon5229.txt
进行安装Systom -
安装时出现以下问题
系统无法找到指定的对象
,仔细检查后发现是自己把文件名打错了。
- 接着报错,配置文件里写的版本有错
- 将文本里的
3.10
改为4
,如下
- 安装成功
-
打开 计算机管理->事件查看器->应用程序和服务日志->Microsoft->Winsows->Systom->Operational
-
可以看到监控文件的记录
- 随机查看一个,System32文件下的svchost.exe,该文件是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。所以一眼看过去,记录中事件3特别的多。。。
- 还有一个是360se.exe,该文件是当启动浏览器是它就会出现在任务管理器中,关闭任务管理器后会自动退出。
用SysTracer进行分析
-
我用SysTracer进行新建了三个快照
-
分别是:
①靶机已经存在后门文件
②win对kali进行回连
③kali对靶机进行截取
点击“Compare”,先对前两个快照进行比较
-
HKEY_CURRENT_USER注册表保存了当前登录的用户信息
-
在上图中出现的20155229是我进行回连的后门文件,而5729那个文件是没有回连成功的文件(.rkr文件就是windows下的.exe文件)
-
在执行后门时,启用了4个dll文件
-
ntdll.dll
:是重要的Windows NT内核级文件。描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。 -
wow64.dll
:是Windows NT kernel的核心接口, 在32位和64位调用之间进行转换, 包括指针和调用栈的操控. -
wow64win.dll
:为32位应用程序提供合适的入口指针 -
Wow64cpu.dll
:负责将处理器在32位和64位的模式之间转换。 -
截取的端口号为我设置的端口号5229
使用PEiD进行分析
-
PEiD是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。
-
对上周的实验中做的后门进行分析
可见这个后门是经过UPX加壳的
可见这个后门没有经过UPX加壳。
使用PROCESS EXPLORER进行分析
结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。
当我打开后门程序20155229_backdoor时,出现的信息如下
这个。。。是真的看不懂啊,也没看到所谓的增加的功能在哪里呀。。。⊙﹏⊙∥
实验后问题回答
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
- 通过本次实验,我觉得可以通过schtasks指令监控系统,这样我们就知道系统在我们什么都没做的情况下悄悄地启用了什么不为人知的程序了。
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- 可以通过Virus判断该文件是不是有危险的文件。
- 可以通过Process Monitor来分析该软件的进程活动、注册表等信息。
- 可以PEiD分析程序是否有加壳。
实验中遇到的问题及解决
问题一:无法运行netstat计划
- 刚开始出现的问题是运行计划后.txt文件中出现的是
-
于是我重新的好几次尝试,但每次都这样。
-
后来我在桌面创建的.bat文件传入c盘后,内容被清零(文件为0字节,忘截图了)没想到解决的方案,这个问题被我忽略了。。。
-
然后想法就是将c盘的.txt文件来改为.bat文件,但是出现了这个窗口,提示
客户端没有所需的特权
查找答案后,建议是以管理员的身份进入CMD,然后输入icacls c:\ /setintegritylevel M
后,提示“已成功处理一个文件”,然后重启后就能解决。
但我输入后等了很久之后也没有等来该提示,所以我又跑去更改c盘的权限,一阵乱改之后,总之客户端没有所需的特权
没有解决,但是文件传入c盘时,没有被清除。
然后遇到了如下问题,“请求的操作需要提升”
我上网查找答案了后发现是权限不对,于是用管理员权限打开cmd,但还是失败,绝望时刻看到了江振思同学的博客,以管理员身份运行powershell
,同时也要用管理员身份运行netstatlog.bat文件(将.bat文件转入d盘中)。
终于 成功了!!!
实验总结与体会
通过这次实验,让我更加了解了前两次实验恶意代码的活动,通过也对自己的电脑的活动有了一定了解,原来在我们不知道的情况下,电脑随时可能被一些莫名的IP访问,莫名的程序运行,让我每天都提心吊胆的担心着我的电脑