zoukankan      html  css  js  c++  java
  • 木马分析(隐藏分析)实验

    实验目的

    了解木马隐藏技术的基本原理 提高木马攻击的防范意识 明确木马技术的发展方向 学会使用木马防范的相关工具 实现实验所提到的命令和工具,得到实验结果

    实验原理

    c木马隐藏的技术 程序隐藏: 木马程序隐藏通常指利用各种手段伪装木马程序,让一般用户无法从表面上直接识别出木马程序。要达到这一目的可以通过程序捆绑的方式实现。 程序捆绑方式是将多个exe 程序链接在一起组合成一个exe 文件,当运行该exe 文件时,多个程序同时运行。程序捆绑有多种方式,如将多个exe 文件以资源形式组合到一个exe 文件中或者利用专用的安装打包工具将多个exe 文件进行组合,这也是许多程序捆绑流氓软件的做法。 因此,木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑。当双击运行捆绑后的程序时,正常的exe 文件运行了,而木马程序也在后台悄悄地运行。 程序隐藏只能达到从表面上无法识别木马程序的目的,但是可以通过任务管理器中发现木马程序的踪迹,这就需要木马程序实现进程隐藏。 进程隐藏: 隐藏木马程序的进程显示能防止用户通过任务管理器查看到木马程序的进程,从而提高木马程序的隐蔽性。目前,隐藏木马进程主要有如下两种方式: API拦截: API 拦截技术属于进程伪隐藏方式。它通过利用Hook技术监控并截获系统中某些程序对进程显示的API 函数调用,然后修改函数返回的进程信息,将自己从结果中删除,导致任务管理器等工具无法显示该木马进程。具体实现过程是,木马程序建立一个后台的系统钩子(Hook),拦截PSAPI的EnumProcessModules等相关函数的调用,当检测到结果为该木马程序的进程ID(PID)的时候直接跳过,这样进程信息中就不会包含该木马程序的进程,从而达到了隐藏木马进程的目的。 远程线程注入: 远程线程注入属于进程真隐藏方式。它主要是利用CreateRemoteThread函数在某一个目标进程中创建远程线程,共享目标进程的地址空间,并获得目标进程的相关权限,从而修改目标进程内部数据和启动DLL 木马。通过这种方式启动的DLL 木马占用的是目标进程的地址空间,而且自身是作为目标进程的一个线程,所以它不会出现在进程列表中。DLL 木马的实现过程是: 1)、通过OpenProcess函数打开目标进程; 2)、计算DLL 路径名需要的地址空间并且根据计算结果调用VirtualAllocEx函数在目标进程中申请一块大小合适的内存空间; 3)、调用WriteProcessMemory函数将DLL 的路径名写入申请到的内存空间中; 4)、利用函数GetProcAddress计算LoadLibraryW的入口地址,并将LoadLibraryW的入口地址作为远程线程的入口地址; 5)、通过函数CreateRemoteThread在目标进程中创建远程线程。 通过以上步骤就可以实现远程线程注入启动DLL 木马,达到隐藏木马进程的目的。而且,远程线程注入方式与其他进程隐藏技术相比,具有更强的隐蔽性和反查杀能力,增加了木马的生存能力。 通信隐藏: 进程隐藏可以进一步加强其隐蔽性。但是仍然可以从通信连接的状况中发现木马程序的踪迹。因此,很有必要实现木马程序的通信隐藏。本文给出了以下两种通信隐藏技术的实现思想。

    实验内容

    通过对木马程序的分析,了解木马的隐藏技术原理 能够分析木马隐藏的基本特征 能够清除一般的隐藏木马

    实验环境描述

    1、 学生机与实验室网络直连

    2、 VPC1与实验室网络直连

    3、学生机与VPC1物理链路连通

    实验步骤

    1、学生输入账号administrator ,密码123456,登录到实验场景中的目标主机.

    2、 设置虚拟机的ip地址,保证2台机器在一个网段。

    3、利用木马的控制端生成植入虚拟机中的服务端(在VPC2中解压桌面上2008正式破解版__BY_misswe.rar)打开后,如图:

    图片描述

    点击下图配置服程序,如下图所示:

    图片描述

    Ip地址填写本机ip:8181(本机地址和8181端口),具体填写参数可以查看填写说明,配置界面如下图所示:

    图片描述

    点击生成。将生成的木马复制到vpc1(具体复制方法可以利用远程桌面将本地磁盘带到远程主机,也可通过共享等其他方式)也就是将要被控制的主机。

    4、 在(VPC1)端双击木马客户端,使靶机中植入木马,接受控制端的控制。

    5、打开虚拟机的任务管理器,我们没有发现木马程序的进程,但是我们会发现,有“IEXPLORE.EXE”和“calc.exe”两个可疑进程,但我们并没有启动相关程序和进程,有这两个进程原因在于我们在制作木马时选择了插入相关进程,从而实现了进程的隐藏。如图:

    图片描述

    6、 通过(解压桌面Wsyscheck.zip)Wsyscheck工具检查虚拟机的进程,我们可以发现,步骤5中的两个进程确实是有问题的。

    图片描述

    7、在Wsyscheck工具的“安全管理”中我们还可以发现木马程序的服务项。

    8、实验完毕,关闭虚拟机和所有窗口。

  • 相关阅读:
    reset内容
    如何在鼠标悬停时图片旁边出现详情说明模块
    从零学习Entity Framework
    一款程序员用的小说下载器
    实习笔记(数据库相关)-2014
    ASP.NET json数据的序列化与反序列化
    不使用服务器控件的ASP.NET
    win7 下先装SQL2005 后装SQL2000 解决方案
    Jquery 插件封装成seajs的模块
    前端模块化实践——seajs的使用
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/13628292.html
Copyright © 2011-2022 走看看