2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 20165222李勖
1.系统运行监控
(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
1.使用schtasks /create /TN netstat5222 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt创建计划任务
在c盘中创建*.bat脚本,内包含
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
将计划任务的脚本选择为该脚本,然后开始运行。
然后等5-6小时后,将txt文件制成统计图。
看起来都正常,没什么异常exe,包含了ppt,word,qq,以及一些系统程序。
(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。
配置XML文件(代码如下,将其放入c盘):
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">360se.exe</Image>
</ProcessCreate> <FileCreateTime onmatch="exclude" >
<Image condition="end with">360se.exe</Image>
</FileCreateTime> <NetworkConnect onmatch="exclude">
<Image condition="end with">360se.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">443</DestinationPort>
</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的目录,然后输入命令:Sysmon.exe -i C:\201652222Sys.xml进行安装。成功如下:
然后可查看日志,当我启动后门程序时,可以看到后门程序的进程建立,然后被360瞬间检测出,结束掉(图中36秒的事件1,5)。
添加信任成功连接后
在kali中输入record_mic录制音频文件,可见:
audiodg进程被建立了,而这个exe在windows下就有录制音频的作用。
screenshot可见
webcam_snap拍照时,bcastdvr运行了,也是跟拍照有关的内容。
总结:虽说上面可以比较直观的看出发生了什么,但有一个大的问题,当这些exe一开始就处于运行状态,kali的调用是不会记录在日志内的(即假设自己在使用录音软件,坏人在自己正在使用时,也用录音软件录音,这个记录就只有自己的使用记录而无他人的记录),并且我上面的图都是先结束掉该进程,然后在kali里输入命令,创建了进程才被记录。尽管通过上面那些命令观察是否被装了后门比较难,当在kali中输入shell时,而我几乎不会使用cmd窗口,可以轻松推测出出电脑被装了后门。
恶意软件分析
分析该软件后门软件读取、添加、删除了哪些注册表项,读取、添加、删除了哪些文件。
启动回连时
猜测应该时对Shell进行了修改。
可以看出加了dll,key等一大堆文件。
在进行screenshot时
这个就相当有意思了,万花从中一点绿,而且还刚好是跟截屏有关的进程名,十有八九就是这东西在进行screenshot。
连接了哪些外部IP,传输了什么数据(抓包分析)
从图中可以看出,230-232是tcp三次握手的包,下面开始传输数据,然后数据都是一些机器码,猜测组合起来就是一个完整的Shellcode后门。
接下来在kali中输入getpid,这样的包比较简单
大胆分析猜测一下,5号包为kali到Win10的机械码,作用应该为实现getpid的shellcode,6号为win10主动连接kali,表示下面到了我的回合,7号为应答值,8号可能是kali不想听win10扯了的包,如88,再见等。
3,实验总结与体会
这次实验,程序操作,运用等都比较简单,但分析过程比较麻烦,一是答案不确定,过程全靠猜,猜的对不对也不确定;二是耗时久,分析是一件麻烦又耗时长的事,并且还要收集样本。但总之,防御总比进攻难,这次收获也还挺大。
2018-2019-2 《网络对抗技术》Exp4 恶意代码分析 20165222李勖的更多相关文章
- 2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析
2018-2019-2 20165325 网络对抗技术 Exp4 恶意代码分析 实验内容(概要) 一.系统(联网)运行监控 1. 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,逐步排查并且 ...
- 20145226夏艺华 网络对抗技术EXP4 恶意代码分析
20145226夏艺华 网络对抗技术EXP4 恶意代码分析(未完成版) 回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...
- 20155302《网络对抗》Exp4 恶意代码分析
20155302<网络对抗>Exp4 恶意代码分析 实验要求 •是监控你自己系统的运行状态,看有没有可疑的程序在运行. •是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工 ...
- 20145208 蔡野 《网络对抗》Exp4 恶意代码分析
20145208 蔡野 <网络对抗>Exp4 恶意代码分析 问题回答 总结一下监控一个系统通常需要监控什么.用什么来监控. 监控一个系统通常需要监控这个系统的注册表,进程,端口,服务还有文 ...
- 20145215《网络对抗》Exp4 恶意代码分析
20145215<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...
- 20155227《网络对抗》Exp4 恶意代码分析
20155227<网络对抗>Exp4 恶意代码分析 实践目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分 ...
- 20155232《网络对抗》Exp4 恶意代码分析
20155232<网络对抗>Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门 ...
- 20155239 《网络对抗》Exp4 恶意代码分析
20155239 <网络对抗>Exp4 恶意代码分析 使用schtasks指令监控系统运行 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到nets ...
- 20155304《网络对抗》Exp4 恶意代码分析
20155304<网络对抗>Exp4 恶意代码分析 实践内容 1.系统运行监控 1.1使用schtasks指令监控系统运行 我们在C盘根目录下建立一个netstatlog.bat的文本文件 ...
随机推荐
- KVM入门
KVM KVM(Kernel-based Virtual Machine)是众多虚拟化技术之一,它是Linux内核中的一个模块,该模块依赖于CPU,如果CPU支持虚拟化,那么该模块才可以被加载.KVM ...
- Centos75 安装 postgresql11
切换到root账户, #安装yum 源 yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_6 ...
- UVA11090 Going in Cycle!!(二分判负环)
UVA11090 Going in Cycle!! 二分答案,用spfa判负环. 注意格式:图不一定连通. 复杂度$O(nmlog(maxw-minw))$ #include<iostream& ...
- oracle 11g 数据库中报:协议适配器错误
本人遇到该问题,到数据库服务器上重新启动监听和实例就OK了.
- 20145221 《Java程序设计》第八周学习总结
20145221 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 通用API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 日 ...
- libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
转载:http://blog.csdn.net/fengshuiyue/article/details/39530093(基本教程) 转载:https://my.oschina.net/u/14207 ...
- git am PATCH_FILE_NAME自动打patch失败后的操作方法
1.找到打入patch不成功的patch 从打入patch的失败信息可以找到 2.根据patch的index重新打入 patch,将可以合并的内容合并,冲突的部分单独生成文件 比如出问题patch的i ...
- Java多线程,线程交替执行
两个线程,一个打印1-100的奇数,一个打印1-100的偶数:要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环. Code: package com.qhong ...
- CNN中dropout层的理解
dropout是在训练神经网络模型时,样本数据过少,防止过拟合而采用的trick.那它是怎么做到防止过拟合的呢? 首先,想象我们现在只训练一个特定的网络,当迭代次数增多的时候,可能出现网络对训练集拟合 ...
- sql批处理(batch)的简单使用
批处理指的是一次操作中执行多条SQL语句,相比于一次一次执行效率会提高很多 批处理主要是分两步: 将要执行的SQL语句保存 执行SQL语句 Statement和PreparedStatement都支持 ...