• 2019-2020-2 20175302闫君廷《网络对抗技术》Exp4 恶意代码分析


    一、实践目标

    • 监控你自己系统的运行状态,看有没有可疑的程序在运行。
    • 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
    • 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

    二、实践内容

    • 1系统运行监控
      (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。
      (2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

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

    • 2恶意软件分析(1.5分)

    分析该软件在
    (1)启动回连
    (2)安装到目标机
    (3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)
    该后门软件:
    (1)读取、添加、删除了哪些注册表项
    (2)读取、添加、删除了哪些文件
    (3)连接了哪些外部IP,传输了什么数据(抓包分析)

    三、实验步骤

    1. 系统运行监控:

    使用schtasks设置计划任务

    使用schtasks指令监控系统设置计划任务,每隔一分钟查看自己的电脑有哪些程序在联网,连接的外部IP是哪里,运行一段时间后分析该文件。
    在C盘中创建一个netstat5302.bat脚本,写入以下内容

    date /t >> c:
    etstat5302.txt
    time /t >> c:
    etstat5302.txt
    netstat -bn >> c:
    etstat5302.txt
    

    cmd.exe中输入
    schtasks /create /TN netstat5302 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt"

    创建计划任务netstat5302,命令中TN是TaskName的缩写,sc计时方式,MINUTE以分钟计时,TR即Task Run,netstat要运行的指令,-b输出可执行文件名,-n以数字来显示IP和端口,最后输出重定向,将输出存放在c: etstatlog.txt文件中。
    在任务计划中编辑任务,将程序或脚本设为netstat5302.bat

    一定要设置权限,不然运行着也没有用。。。

    运行一段时间后将数据导入excel中整理统计,因为我开着任务玩了一会游戏,可以看到LeagueClient.exe等一些游戏客户端相关的应用联网活跃,还有后台疯狂运行的WPS,用过的浏览器QQBrowser.exe,还有一个SearchUI.exe,没想到这个后台疯狂运行的竟然是小娜(cortana),那必然是要跟他说再见了。

    使用sysmon工具监控系统。

    sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具。它以系统服务和设备驱动程序的方法安装在系统上,并保持常驻性。sysmon用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。
    通过收集使用Windows事件集合或SIEM代理生成的事件,然后分析它们,可以识别恶意或异常活动,并了解入侵者和恶意软件在您的网络上如何操作。
    在官网上下载了Sysmon,根据老师教学文档和官网描述,编辑配置文件sysmon5302.xml

    内容涉及

    • 进程创建包括cmd.exe的创建和除去chrome.exe
      文件更改时间除去chrome.exe
    • 网络连接除去chrome.exe、137端口、127.0.0.1回环IP,包括80、443端口
    • 远程线程创建记录Windows程序管理器或者文件资源管理器explorer.exe;从动态链接库 (DLL) 中运行的服务的通用主机进程svchost.exe;Windows用于管理用户登录和退出的winlogon.exe;为系统管理员设计的Windows命令行外壳程序powershell.exe


    打开CMD,进入Sysmon所在位置,运行Sysmon64.exe -i sysmon5302.xml安装Sysmon
    在事件查看器中进入应用程序和服务日志/Microsoft/Windows/Sysmon/Operational查看sysmon64的日志。
    然后就可以看到乱七八糟的一篇日志,我意识到我的配置文件有问题。。。

    于是我根据日志内容修改了一下配置文件,将QQ浏览器、腾讯安全管家和WPS加入了白名单,把那个chrome.exe去掉,因为我没有谷歌浏览器。。。
    然后运行Sysmon64.exe -c sysmon5302.xml修改配置
    发现我不想看的日志少了很多,但是还是有,我就很奇怪,卸载了再重新安装也不行,没有找解决办法。
    运行后门程序与kali回连,sysmon没有看到相关后门程序的运行(?我好像没有事件1的相关日志)
    进行相关操作也没有相关日志,倒是在kali中exit之后有一条Process terminated的信息。

    在kali中qkill QQBrowser.exe然后我的QQ浏览器全都被关闭了,可以看到进程结束信息,但是没有跟后门相关的信息。

    2. 动态分析

    Wireshark抓包分析

    运行了后门程序回连之后可以看到建立连接的三次握手,进行操作后也有大量包出现。不知道为啥我这会有out of order,查了一下是网络阻塞?我怀疑是防火墙的作用?

    运行了一下screenshot,会有一堆包出现,仍然有out of order的包

    Systracer快照查看

    SysTracer是一款集成HIPS以及进程行为跟踪功能的安全辅助工具,它可以跟踪并监视进程对整个系统的修改行为,包括文件操作,注册表操作,内存操作和危险行为。SysTracer可以监视全部进程,或者用户指定的某一个进程及其子进程,并提供监视日志以帮助用户对特定进程的行为进行分析。
    截了三个快照:

    1. 当前状态
    2. 后门程序回连
    3. 使用screenshot和webcam_snap

    快照1、2对比可以看到运行程序5302exp2_backdoor.exe

    快照2、3对比。。。就是一堆乱七八糟的东西我也看不懂。。。大概有一个文件使用的变化

    后来网上查了一下摄像头开启需要三个dll文件,有一个是ksuser.dll,还有一个avicap32.dll,嗯我没有找,因为我把快照都删了。。。

    3. 静态分析

    virustotal扫描

    可以看到具体细节信息,以及一些支持的dll文件(应该可以对照这个看快照内容分析),行为分析等内容。


    四、实验感想

    这次实验是对计算机状态进行监听与状态对比,操作上不算困难,难点在众多信息中找到异常信息,需要大量的了解计算机运行所调用的各种文件以及生成的副件,分析这些文件的变化就可以查看出计算机运行的异常,还要多多学习包括工具的更高级的使用方式和计算机运行原理。

    五、问题回答

    1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

    答:用这次实验学到的schtasks或sysmon对主机进行监听,整理日志信息。或者分时段进行快照对比。主要监听联网信息、输入设备(比如键盘、话筒、摄像头等)的异常启动。

    2.如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

    答:通过systracer工具进行相关的分析,查看它对注册表和文件的修改。或者可以?用sysmon监听单个程序的运行?

  • 相关阅读:
    SVN的学习
    IIS 503 错误
    Windows系统CMD下常用命令
    Linux基础整理
    JavaEESSM框架配置文件
    JavaXML整理
    Java反射、反射练习整理
    Java网络通信协议、UDP、TCP类加载整理
    Java多线程、线程池和线程安全整理
    JavaProperties类、序列化流与反序列化流、打印流、commons-IO整理
  • 原文地址:https://www.cnblogs.com/Jerrold-Y/p/12718803.html
Copyright © 2020-2023  润新知