技术标签: 病毒分析与防护实验
VMware workstation pro
Windows 10 虚拟机
了解病毒传播的常见行为
了解注册表在病毒行为设置中的作用
注册表是windows操作系统中使用的中央分层数据库,存储用户、应用程序和硬件设备配置系统所需要的信息。这些信息以树状结构存储在注册表(数据库)中。包括:用户的配置文件、安装的应用程序以及应用程序创建的文档类型、文件夹和应用程序图等、系统上存在哪些硬件等
注册表由键(key,或称“项”)、子键(subkey,子项)和值项(value)构成。一个键就是树状数据结构中的一个节点,而子键就是这个节点的子节点,子键也是键。一个值项则是一个键的一条属性,由名称(name)、数据类型(datatype)以及数据(data)组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。
名称 | 作用 |
---|---|
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)强制隐藏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删除禁用注册表编辑项,注册表恢复正常使用
通过修改HKEY_CLASS_ROOT\exefile
可以强制隐藏.exe文件的扩展名。
通过修改HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
可以隐藏“文件夹选项”子菜单项。
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run
可以实现程序的自启动。通过这些行为,病毒可以在运行后不易被发现,从而拥有尽可能长的生命周期。
在HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run
中增加qq项,并且设置数据为
"C:\Program Files (x86)\Tencent\TIM\Bin\QQScLauncher.exe"
(qq的文件目录)
重启后qq自动启动:
在目录 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
文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib
文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang
文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些
文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器
文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距
文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器
文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn
文章浏览阅读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
文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql
文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...
文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120
文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数