zoukankan      html  css  js  c++  java
  • 2015306 白皎 《网络攻防》Exp4 恶意代码分析

    2015306 白皎 《网络攻防》Exp4 恶意代码分析

    • netstat 【Mac、Linux、Win】
    • sysinteral 【MS】:1 2 3

    一、系统监控——Windows计划任务schtasks

    1.创建计划任务,使系统每5分钟自动检测到哪些有哪些程序在连接我们的网络。

    注:任务将创建于当前登录的用户名文件夹下。

    C:schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:
    etstatlog.txt"
    
    TN:Task Name,本例中是netstat
    SC: SChedule type,本例中是MINUTE,以分钟来计时
    MO: MOdifier
    TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
    

    2.我们在C盘要目录下建一个文件c: etstatlog.bat,并在其中编辑如下内容:

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

    同时,我们要自己C盘根目录下建立netstatlog.txt,为了更直观的看到检测到的程序的情况,我们打开图形界面中的计划任务,将netstatlog.txt替换为c: etstatlog.bat。具体方法:双击netstatlog任务——操作——编辑——程序或脚本——浏览目录(选择c: etstatlog.bat)——点击确定。然后运行任务~

    这样,我们就可以在netstatlog.txt中会看到如下的内容,不仅有进行的IP,相关的协议等等还有具体的时间啦~如下图所示。

    3.下面我们开始正式的数据分析!
    第一步,我们要将netstatlog.txt的内容导入到Excel中。我使用的是WPS,依次点击:数据(选项卡)——导入数据——直接打开数据文件——选择数据源(找到netstatlog.txt所在文件夹,并选中)——打开。

    4.将文本进行分割成excel表。

    • 文件转换页面直接“下一步”【这里有一个预览效果,我们可以看到不管选哪一个,下面显示的都是中文,所以这个无所谓哒】

    • 这个比较重要!文本导入向导步骤1 ,文件类型一定要选择分隔符号;步骤2,分隔符号选择空格;步骤三,选择常规。

    最后点击完成,就可以看到数据导入成功啦~

    4.通过学习学姐的博客,以及网络上关于Excel中数据计数的方法,还是数据透视工具比较方便快捷!之前像我一样没有接触过的同学们可以参考教程 如何在excel中做数据透视表
    哦~跟着步骤一步一步来,很容易就得到清晰地数据统计哒!如下图所示,记录的连接我得进程及其次数。

    • 我们看一下这些程序。首先连接次数非常非常多的SogouExplorer.exe(搜狗浏览器)和YoudaoNote.exe(有道云笔记)哈哈,因为我正在边做实验,边写博客,边查资料哦;
    • 接下来,比较多的是QQPCTray.exe,它是qq电脑管理程序软件。该程序是对用户的系统进行安全检测、修复漏洞及木马查杀等功能。(因为我的电脑安装了电脑管家,所以是正常的,他在保护我的电脑)
    • 下一个层次的连接大概在几十次左右,分别有SGTool.exe(搜狗输入法),以及kminisite.exe(这个居然是金山毒霸的一个小程序,但我已经完全卸载金山毒霸了呀?那为什么这个小程序还在,可怕,我还是赶紧卸载)
    • 最后一点,我真的发现自己电脑里的病毒:wuauserv,是一个病毒进程,表现的方式就是无法显示计算机中隐藏的文件和文件夹。

    于是,我把该进程的ip筛选出来,并进行批量查找,结果如下:

    最后,因为好奇心,把所有的ip都查了一遍,发现真的是五湖四海哈哈

    二、系统监控——Sysmon工具

    Sysmon是微软Sysinternals套件中的一个工具,能监控几乎所有的重要操作。

    - Sysmon安装配置

    1.根据在实验指导中的链接Sysinternals套件,下载Sysinternals Suite,然后解压。

    2.接下里,我们来新建并编辑配置文件C:Sysmoncfg.txt。exclude相当于白名单,里面的程序或IP不会被记录,include相当于黑名单,大家可以把自己想监控的写到黑名单中~

    3.下面,我们来安装sysmon:

    sysmon.exe -i config_file_name.(配置文件所在位置)
    

    :配置文件修改后,需要用指令更新一下:
    sysmon.exe -c config_file_name

    4.一切就绪,我们就可以查看日志啦。依次次打开 :开始——事件查看器——应用程序和服务日志——Microsoft————Windows——Sysmon——Operational,既可以看到如下图所示的信息啦:

    - 不同事件ID分析

    5.可以看到系统一些具体活动。

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

    • 这个事件识别码是1, SynTPEnh.exe是笔记本电脑触摸板相关程序。在使用触摸板时,建立进程。

    • 该进程事件识别码是5,终止进程,SearchProtocolHost.exe是MirosoftWindowsVista桌面搜索协议信程序。

    - 监控后门连接

    6.我试着通过周三实验课的后门程序,用我的kali虚拟机来对我的windows主机进行控制,获取shell,然后通过Sysmon来监控,果然监控到啦。下图是我的回连情况,攻击机kali虚拟机IP:192.168.152.128,使用的端口号是5706。在连接之前,首先要修改配置文件,把后门程序要写到配置文件中,否则是无法监控到的。

    下面我们一步步分析:

    • 首先打开事件查看器查看日志,我们可以直接搜索cmd.exe。【一般来说,当攻击机的监听进程将获得Win主机的主动连接,并得到远程控制shell之后,搜索事件查看器的cmd.exe第一条就是通过后门程序打开的命令行。但不是也没事哒,我们可以按照下面的截图一步步去查找。】

    • 我们查看cmd.exe的详细信息,可以看到父映像是是我的后门程序sctest1.exe,这说明是通过sctest1.exe来打开被攻击机的命令行。

    • 我们继续往下看,事件sctest1.exe没有父映像,他的源IP是192.168.152.1 【这是我windows主机的IP】,目的IP192.168.152.128【攻击机kali虚拟机的IP】,目的端口号是5706【即5306+400】。这详细而又充分的体现了我们通过后门程序控制windows的过程!!

    • 接下来,我们看看,父映像是cmd.exe的映像是什么?从下图我们可以看到是conhost.exe。

    • conhost.exe的全称是Console Host Process, 即命令行程序的宿主进程。简单点说,就是当我们打开命令行cmd.exe的窗口后,就会在Windows任务管理器中发现有一个Conhost.exe进程的存在。详细介绍可以查看文档 Conhost.exe是什么进程?

    在这里我们有一个新发现,电脑是64位的,但我们用后门打开的win主机的命令行是32位的。并且,我们发现cmd在两个不同的文件夹。查资料后发现:
    WindowsSysWOW64 文件夹下存放32位的库和应用程序 。

    WindowsSystem32 文件夹下存放64位的库和应用程序

    可参考文档 Windows下的SysWow64和System32

    三、恶意软件分析

    - 使用virscan分析恶意软件

    1.在virscan网站上查看上次实验检查所做的后门程序。

    - 使用Systracer分析恶意软件

    1.老师给的是英文版,因为英语不好看不懂哈哈,晚上也没有使用教程,所以我就自己找了个中文版下载啦!下载地址:SysTracer pro绿色汉化版

    2.下载后,打开界面,如下图:

    3.点击创建快照,若如下图没有全选,可以选择——仅扫描指定项,然后将下面的全选,之后就可以点击开始啦,接着耐心等待,扫描结束之后会弹出一个框,点击OK,快照就会自己保存下来~

    4.我做的分析是回连的不同阶段中,注册表的变化。

    Snapshot #1:未做任何处理,最原始的windows8的快照
    
    Snapshot #2:将Kali生成相应的后门拷贝到windows主机后的快照
    
    Snapshot #3:开启msf监听后的快照
    
    Snapshot #4:kali端监听到windows的命令行的快照
    
    • 快照1/2的比较,将攻击机中的后门程序拷贝到windows主机时,注册表的变化如下:出现新建的5306rkc4.rkr

    以及文件的变化:

    • 快照2/3的比较,注册表也有很多新增或者修改的地方:

    • 快照3/5的比较:

    - 使用Threatbook分析恶意软件

    Threatbook是中国威胁情报领军品牌,其中有恶意软件分析平台,通过对样本的静态特征、进程详情、网络行为等动态分析和主流反病毒引擎的静态扫描,将样本的恶意行为呈现出来。下图是分析报告:

    行为签名:

    静态信息:

    网络信息:

    课后问题

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

    可以通过系统监控的手段,比如说:Windows计划任务schtasks以及Sysmon工具的使用,通过对外部ip连接的监控统计分析来得到一些恶意程序连接的地址等,或者得到恶意软件调用的后门软件进行分析;也可以通过抓包来分析可疑连接。
    

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

     网上感觉有很多可疑检测恶意软件,进程的工具,比如Systracer可以分析注册表差异和文件的不同;以及virscan、Threatbook等软件分析工具来得到各种杀软报毒的疑似病毒,以及得到一些可疑签名、静态信息等等。
    

    遇到的小问题

    1.问题:在查看netstatlog.txt,看连接情况,发现提示错误:请求的操作需要提升

    解决:可以明白是运行任务的权限不够,百度之后,发现以最高权限运行计划任务就可以啦。操作见教程
    计划任务中请求的操作需要提升如何解决?

    问题2:在安装Sysmon时,出现下图错误,显示我配置文件中的版本时3.10,但是实际下载的版本是4.00,不匹配导致安装失败。

    解决:修改配置文件中的,即可下载成功啦!

  • 相关阅读:
    Java基础类库
    Java工具类之浮点精确计算
    liunx安装telnet
    java代码中执行liunx命令
    Java 7 新的 try-with-resources 语句,自动资源释放
    mysql中单表多timestamp设置default问题
    Linux top命令的用法详细详解
    JVM调优之jstack找出最耗cpu的线程并定位代码
    每天一个liunx命令10之nohup和xargs
    每天一个liunx命令10之nohup和xargs
  • 原文地址:https://www.cnblogs.com/0831j/p/8783146.html
Copyright © 2011-2022 走看看