20145313张雪纯恶意代码分析

问题

  • 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
    • 想监控的有进程联网信息、修改注册表项、开机自启动信息等。
    • 监控方法有设置任务计划,每日定时查看 并记录系统状态;使用wireshark进行实时抓包分析、使用sysmon工具进行实时监控等。
  • 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    • 使用pe相关软件进行程序分析
    • 去virscan等网站在线监测相关程序。
    • 反汇编程序(啊这个也太难了吧)
    • 用wireshark捕获可疑进程数据包并分析
    • 用systracer生成系统快照对比,分析其行为

(此次实践使用的是上次实验中upx加壳的后门程序)

在网站分析恶意代码

  • 可见6/39的杀软认定其为恶意软件

  • 打开行为分析可见其被upx加壳

PE explorer

  • 功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等; 另外,还具备有 W32DASM 软件的反编译能力和PEditor 软件的 PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理 PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等 32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能, 原公司在该工具中捆绑了 UPX 的脱壳插件、扫描器和反汇编器。

  • 使用pe explorer打开程序,首先可以看到程序的编译时间

  • 再打开调用dll表,可见其调用的dll。其中,kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理。当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。为何一个小程序需要调用这个库文件?可疑。

  • 打开节头分析,可看到upx加壳痕迹。

PEiD

  • PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。
  • 用PEiD打开程序,不出所料,又被查出upx加壳,upx你也太没用了。

设置任务计划

  • 打开这台电脑-管理-任务计划程序,新建一个计划。设定触发器为一分钟一次。

  • 编写程序执行命令,保存为bat格式

  • 选择该程序并选择以管理员权限运行(否则会要求提权)。

  • 查询数据会被输出到设定好的txt文档中。

(这里可见虚拟机的连接网络ip为127.0.0.1,提出这一点与下面wireshark的问题有些联系)

  • 在做这一步的时候意外发现了一些别的东西,比方说这些wps定时任务,我就不相信你是给我云文档备份的,实话说吧你是不是每天给我推广告的???

sysmon

  • 一个系统监视软件,能够监视一个或多个计算机。它基于daemon和PHP脚本,可以在后台进行调用,通过编写新的功能模块能很方便的进行扩展。可以自己编写配置文件,自由度很高。
  • 在自己主机上编写sysmon配置文件,保存为txt格式即可。

`

*




microsoft
windows

<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>
`
  • 安装sysmon,命令为安装sysmon.exe -i configfile。安装配置结束后输入sysmon运行该软件。此时命令行中没有显示结果。打开这台电脑-管理-事件查看器-应用程序和服务日志-Microsoft-sysmon中可以找到该软件的记录。双击后可看到详细数据。


这一条可看出是qq保护程序的运行痕迹。

这一条则是搜狗云服务

systracer

  • systracer是一款可以分析你的计算机文件,文件夹和注册表项目改变的系统实用工具。本软件获取屏幕快照通常会持续几分钟的时间,这取决于文件和文件夹的数量和注册表项目的总数,你也可以在任何想要的时间获取无数个屏幕快照,可以比较任何一对想要的屏幕快照,并且观察其间的不同之处。
  • 首先我们先生成一份初始快照。然后把虚拟机中生成的后门软件复制到主机,再次生成快照。

    可见,两份快照对比,新增了文件zxc1.exe,即后门软件。
  • 然后在主机上双击运行后门程序进行回连。

    获取权限后再次生成快照

    这张图可见快照中显示新增运行程序即后门软件。

    软件改变了系统handles,新建了文件、键值等。

    运行端口多了一个443,并显示出虚拟机的ip地址。
  • 获得主机权限后进行抓图,再次生成快照

    后门软件新建、修改了一些系统文件。
  • 获取主机的shell权限,再次快照。

    后门软件又一次新建、更新了一些系统文件。

wireshark

  • 按照前几次实验,进行后门软件回连,同时打开wireshark进行捕包分析。很简单吧!问题来了,我的虚拟机ip神奇地变成了127.0.0.1???这不是在逗我???这是什么神奇的问题喔,显然回连不成功。没关系,重启试试。好的,解决了。

  • 成功捕包后使用筛选器并不能显示出虚拟机与主机间的连接。又捕包一遍,发现了大量的广播包,而虚拟机的ip从始至终并未出现过。我认为,应当是我的虚拟机是nat模式联网,ip地址在传播时进行了转换,而主机发回的时候又经过了nat转换。只是一个小猜想,不一定对。

  • 做快照时又一次抓包

仍然没有虚拟机ip出现。与快照对比,大多是浏览器的浏览痕迹。

原文地址:https://www.cnblogs.com/entropy/p/6642592.html