• 2018-2019-2 网络对抗技术 20165337 Exp4 恶意代码分析


    1.实践目标

    1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行。

    1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

    1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    2.实践内容

    2.1系统运行监控

    (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

    (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

    参考:schtask与sysmon应用指导

    实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

    ** 2.2恶意软件分析**

    分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

    (3)读取、添加、删除了哪些注册表项

    (4)读取、添加、删除了哪些文件

    (5)连接了哪些外部IP,传输了什么数据(抓包分析)

    实验过程

    实验一:使用schtasks指令监控系统

    使用管理员权限创建任务,输入如下指令
    schtasks /create /TN netstat5303 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"
    命令创建计划任务:netstat5337

    其中,TN是TaskName的缩写,我们创建的计划任务名是netstat5303;sc表示计时方式,我们以分钟计时填MINUTE;TR=Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口。

    在C盘创建一个txt文件,然后写入下列代码:
    date /t >> c: etstat5337.txt time /t >> c: etstat5337.txt netstat -bn >> c: etstat5337.txt
    然后将后缀名改为.bat

    打开我的电脑,右键单击管理,点击任务计划管理,再点击任务计划程序库就可以看到自己刚刚创建的任务计划

    双击任务点击编辑,点击浏览将“程序或脚本”改为netstat5337.bat批处理文件,确定即可。添加参数那里需要把其他的数据都删掉,在首界面要点击使用最高权限运行,否则的话就可能在C盘中无法创建txt文件。

    执行此任务一段时间后你就会在C盘里面看见自己创建的netstat5337.txt

    然后在Excel中把自己的数据进行系统性的分析,首先导入数据。

    对表格进行统计做一些数据透视图,然后就可以更直观的看到那些应用程序进行了链接

    从中发现谷歌浏览器联网次数最多,因为经常使用,尤其做实验的时候来回开网页
    之后是小娜和金山,都是后台运行联网
    其他就是一些后台应用软件

    然后就是本地链接的地址

    192.168.1.226最多,可能是我的本机地址

    外部地址:

    链接最多的两个是117.18.232.200和128.58.101.49
    这俩地址一个是澳大利亚一个是美国

    实验二:系统监控——Sysmon工具

    Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。
    首先我们根据实验指导书中的链接下载一下Sysinternals套件,下载下来之后解压,这里一定要注意!!!千万不要直接解压到当前文件夹,一堆看不懂的文件安排的明明白白,一定要建个文件夹解压!!!
    接下来,新建并编辑配置文件C:20165337.xml exclude相当于白名单,里面的程序或IP不会被记录,include相当于黑名单,可以把自己想监控的写到黑名单中
    这是xml文件内容

    <Sysmon schemaversion="3.10">
      <!-- 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.exe -i C:20165337.xml进行Sysmon的配置更新与启动

    之后在win10环境下,在我的电脑右键——管理——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational。这里,我们可以看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等。

    事件识别码1 :进程建立 
    事件识别码2 :进程更改了文件创建时间 
    事件识别码3 :网络连接 
    事件识别码4 : Sysmon服务状态已变更 
    事件识别码5 :进程已终止 
    事件识别码6 :已载入驱动程式 
    事件识别码7 :已载入影像 
    事件识别码8 :创建远程线程 
    事件识别码9 : RawAccessRead 
    事件识别码10 :进程访问 
    事件识别码11 :文件创建 
    事件识别码12 :注册事件(创建和删除对象) 
    事件识别码13 :注册事件(值集) 
    事件识别码14 :注册事件(键和值重命名) 
    事件识别码15 :文件创建流哈希 
    事件识别码255 :错误
    

    观察一个事件识别码为1的详细信息,谷歌浏览器建立的进程

    观察一个事件识别码为5的详细信息,可以看到这是一个有关搜狗输入法的进程终止事件

    观察一个事件识别码为2的详细信息,迅雷更改文件创建时间,不知道为什么...

    之后打开kali虚拟机,然后使用我们实验三中的后门文件进行回连,然后观察回连成功后的日志

    可以看到20165337.exe后门程序创建了网络连接,这应该就是后门回连的时候创建的网络连接使用tcp连接。

    接下来我输入照相指令看一下又创建了哪些进程,从图上看到,启动了driver。我猜是启动了相机的驱动程序,而且事件识别码也是6:已载入驱动程式

    接下来进行截屏的操作,从图上看出来进行了网络连接,应该是截了屏之后把数据传过去了,所以才会有网络连接,事件识别码3 :网络连接

    实验三:恶意软件分析

    先把自己的后门软件上传的网站上看一下,很容易被检测到

    使用systracer进行分析

    首先下载systracer
    之后运行程序

    我分别创建了四个快照:
    1.初始状态,2.成功回连,3.远程操作,4.结束链接:

    点击右下角的比较,查看变化
    这是注册表,在进行kali回连的时候对很多注册表项都进行了改变

    再看文件,不少文件发生变动,尤其是exp4.exe,是我这次的后门文件

    应用程序的变化,主要的还是我的后门程序exp4.exe

    接下来用wireshark抓包分析连接了哪些外部IP,传输了什么数据

    设置主机host为192.168.1.184我的kali虚拟机的IP地址,然后回连看抓到了哪些东西

    发现大部分的包都是请求的tcp三次握手请求建立的包,可能他是在大量的发送请求命令然后进行连接

    然后打开一个命令包,发现就是三次握手请求建立

    然后进行截屏或者录像等操作

    发现还只是一堆tcp包,打开一个

    正常的三次握手

    使用Process Monitor进行分析

    Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。

    运行后门程序进行回连后打开软件,找到后门程序

    进程的详细信息

    实验中的问题:

    1.在任务计划程序库里配置完成后不能点击确定,出现任务出错,错误消息,一个或多个的指定的参数无效窗口,百度了之后解决了。问题链接:https://zhidao.baidu.com/question/1383075504353290300.html?fr=iks&word=��������%2C������Ϣ%2Cһ����������ָ���IJ�����Ч&ie=gbk
    2.sysmon那一栏没有,重启电脑之后好了

    心得体会

    通过这次实验我学会了检测自己电脑里的软件都干了些啥,能搞明白自己的网速,性能都去哪了,这种了解自己电脑的过程感觉很美好,感觉自己终于能对自己的电脑有所掌控了

  • 相关阅读:
    回顾2016,工作总结!
    上传base64格式的图片到服务器
    input输入提示历史记录
    input输入时软键盘回车显示搜索
    JS设置和读取Cookie
    正则表达式识别字符串中的URL
    X-Frame-Options配置
    pytest学习笔记
    测试理论基础总结
    redis杂七杂八
  • 原文地址:https://www.cnblogs.com/y963976867/p/10666897.html
Copyright © 2020-2023  润新知