病毒分析与防护实验1——注册表操作_注册表实验-程序员宅基地

技术标签: 病毒分析与防护实验  

病毒分析与防护实验1——注册表操作

实验环境

VMware workstation pro

Windows 10 虚拟机


实验目的

  • 了解病毒传播的常见行为

  • 了解注册表在病毒行为设置中的作用

实验原理

注册表是windows操作系统中使用的中央分层数据库,存储用户、应用程序和硬件设备配置系统所需要的信息。这些信息以树状结构存储在注册表(数据库)中。包括:用户的配置文件、安装的应用程序以及应用程序创建的文档类型、文件夹和应用程序图等、系统上存在哪些硬件等

实验前的知识准备

注册表由键(key,或称“项”)、子键(subkey,子项)和值项(value)构成。一个键就是树状数据结构中的一个节点,而子键就是这个节点的子节点,子键也是键。一个值项则是一个键的一条属性,由名称(name)、数据类型(datatype)以及数据(data)组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。

Regedit-txtfile.png

注册表的分支

名称 作用
HKEY_CLASSES_ROOT 存储Windows可识别的文件类型的详细列表,以及相关联的程序。
HKEY_CURRENT_USER 存储当前用户设置的信息。
HKEY_LOCAL_MACHINE 包括安装在计算机上的硬件和软件的信息。
HKEY_USERS 包含使用计算机的用户的信息。
HKEY_CURRENT_CONFIG 这个分支包含计算机当前的硬件配置信息。

注册表的数据类型

显示类型(在编辑器中) 数据类型 说明
REG_SZ 字符串 文本字符串
REG_DWORD 双字 一个 32 位的二进制值,显示为 8 位的十六进制值
REG_MULTI_SZ 多字符串 含有多个文本值的字符串,此名来源于字符串间用 nul 分隔、结尾两个 nul
REG_EXPAND_SZ 可扩展字符串 含有环境变量的字符串

实验内容

一、 完成《课1-实验步骤.doc》的实验步骤。

(1)强制隐藏exe文件的扩展名

找到注册表项:HKEY_CLASS_ROOT\exefile,新建字符串值,取名为NeverShowExt
在这里插入图片描述

重启计算机,打开一个exe文件,发现不再显示exe后缀。
在这里插入图片描述

(2)隐藏“文件夹选项”子菜单项

在注册表项\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer中新建DWORD值,取名NoFolderOptions, 设置为1
在这里插入图片描述

在这里我们可以看到,修改注册表并重启之前,文件夹选项是可以打开的,如下:
在这里插入图片描述

重启之后,可以看到,无法打开文件夹选项
在这里插入图片描述

(3)利用注册表实现记事本程序自启动

在注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run新建字符串值notepad,数值数据:C:\windows\system32\notepad.exe (notepad.exe的路径)

在这里插入图片描述

重启计算机后,自动打开记事本文件

在这里插入图片描述

(4)利用注册表改变文本文件所关联的程序

在注册表项:HKEY_CLASSES_ROOT\txtfile中依次展开shell\open\command ,修改键值为:C:\windows\system32\freecell.exe (freecell.exe的路径)

在这里插入图片描述

(5)利用注册表禁止记事本程序运行

1、注册表项:HKEY_Local_Machine\Software\microsoft\windows NT\CurrentVersion\Image file execution options路径下新建一项:notepad.exe 。新建字符串值,取名Debugger,数值数据随便选择
在这里插入图片描述

如图,记事本功能已失效

(6)注册表失效

在注册表项:HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\System 2、新建选择“DWORD”值,取名为DisableRegistryTools,设置为1

在这里插入图片描述

修改后,使用cmd打开regedit,显示如下:

在这里插入图片描述

使用Registry workshop删除禁用注册表编辑项,注册表恢复正常使用

在这里插入图片描述

二、《课1-实验步骤.doc》中注册表的操作,对计算机病毒起到什么样的作用?

1.隐蔽与欺骗
  • 通过修改HKEY_CLASS_ROOT\exefile可以强制隐藏.exe文件的扩展名。

  • 通过修改HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer可以隐藏“文件夹选项”子菜单项。

2.自启动
  • 通过修改HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run可以实现程序的自启动。

通过这些行为,病毒可以在运行后不易被发现,从而拥有尽可能长的生命周期。

三、利用注册表,完成以下操作:

(1)设置QQ开机自启动

HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run中增加qq项,并且设置数据为

"C:\Program Files (x86)\Tencent\TIM\Bin\QQScLauncher.exe"(qq的文件目录)

在这里插入图片描述

重启后qq自动启动:

在这里插入图片描述

(2)可否能否禁用QQ.exe的运行?

在目录 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\QQScLauncher.exe下增加表项QQScLauncher.exe,新建字符串名称为Debugger,类型为REG_SZ,数据任意,重启后可发现qq.exe的运行被禁用
在这里插入图片描述

实验总结

本次实验使用到了win10虚拟机和位于%systemroot%\regedit.exe的注册表编辑器,熟悉了注册表的一些功能,对病毒的行为有了初步的了解。

除了使用cmd regedit对注册表进行操作外,也可以使用Windows自带了一个管理注册表的命令行工具——reg。只需在命令提示符中运行并指定参数,即可以命令行的形式对注册表进行各项管理操作。支持的操作有增删改查、导入导出注册表文件(reg文件)、导入导出或加载配置单元(RegHive)等。

此外,还可以使用第三方软件对注册表进行修改,比如Registry workshop(如下图)。

在这里插入图片描述
完整报告下载链接:
[下载链接]:https://pan.baidu.com/s/16G8X6LFxi0GvGQKWgcBGRw

提取码:q2bp

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43864567/article/details/114404744

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签