修改一下第二次课服务枚举等问题

关于AutoRuns 的总结里面,有个错误,Image hijacks 这个准确的描述应该是镜像劫持
和系统运行相关的image,我们通常指的是二进制镜像文件

Image hijacks镜像劫持

简单来说就是,在注册表中,有部分设置,是规定了对于某些后缀的文件关联的处理程序,如果这些设置被修改以后,就导致默认的处理流程被替换,也就是被劫持了,这个就是镜像劫持技术

服务枚举

服务的二进制路径枚举,有一类是进程代理启动类型的服务,它的二进制路径并不在image path 这键里面
进程代理启动的imagepath 路径有个特点,一般是包含"svchost.exe -k" 字段
svchost.exe 这个进程就是系统代理进程,通过命令行 的方式把已经注册在注册表中的其他服务的二进制文件(exe或者在这里插入图片描述
dll,或者其他后缀的二进制程序)加载起来

这种类型的服务二进制真正的位置在主键下的Parameters里面的ServiceDLL
在这里插入图片描述

改一下代码

检测一下枚举出来的imagepath 字段中是否有svchost.exe -k 字段如果有,就去找子键 Parameters 里面的 serviceDLL 作为该服务的二进制路径
imagepath 字段中是否有svchost.exe -k 字段 实现这个功能,需要用到字符串搜索函数
字符串处理的函数,实际编程中,用到非常频繁的,头文件 是string.h

#include <iostream>
#include <string>
#include <Windows.h>void EnumerateServices()
{HKEY hKey;if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services", 0, KEY_READ, &hKey) == ERROR_SUCCESS){DWORD numSubKeys;if (RegQueryInfoKeyW(hKey, NULL, NULL, NULL, &numSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL) == ERROR_SUCCESS){for (DWORD i = 0; i < numSubKeys; i++){WCHAR subKeyName[MAX_PATH];DWORD subKeyNameSize = MAX_PATH;if (RegEnumKeyExW(hKey, i, subKeyName, &subKeyNameSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS){HKEY subKey;if (RegOpenKeyExW(hKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS){WCHAR imagePath[MAX_PATH];DWORD imagePathSize = MAX_PATH;// 获取 ImagePath 字段的值if (RegGetValueW(subKey, NULL, L"ImagePath", RRF_RT_REG_SZ, NULL, imagePath, &imagePathSize) == ERROR_SUCCESS){std::wstring imagePathStr(imagePath);if (imagePathStr.find(L"svchost.exe -k") != std::wstring::npos){HKEY parametersKey;if (RegOpenKeyExW(subKey, L"Parameters", 0, KEY_READ, &parametersKey) == ERROR_SUCCESS){WCHAR serviceDLL[MAX_PATH];DWORD serviceDLLSize = MAX_PATH;// 获取 ServiceDLL 字段的值if (RegGetValueW(parametersKey, NULL, L"ServiceDLL", RRF_RT_REG_SZ, NULL, serviceDLL, &serviceDLLSize) == ERROR_SUCCESS){std::wcout << "Service Name: " << subKeyName << std::endl;std::wcout << "Binary Path: " << serviceDLL << std::endl;std::wcout << std::endl;}RegCloseKey(parametersKey);}}}}RegCloseKey(subKey);}}}RegCloseKey(hKey);}
}int main()
{EnumerateServices();return 0;
}

以下是一些常见功能对应的注册表路径,以及与之相关的功能说明:

启动项(Startup Items):注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run功能说明:这些项定义了系统启动时自动运行的程序。通过添加、修改或删除这些注册表项,可以控制开机启动的应用程序。服务(Services):注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services功能说明:这些项包含了系统中已安装的服务的配置信息。通过修改这些项,可以管理和配置系统级别的服务。Shell 扩展(Shell Extensions):注册表路径:HKEY_CLASSES_ROOT*\shellex\ContextMenuHandlers、HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers 等等功能说明:这些项定义了在 Windows 资源管理器中显示的上下文菜单扩展程序。通过修改这些注册表项,可以添加或删除特定文件类型或文件夹的上下文菜单选项。定时任务(Scheduled Tasks):注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks功能说明:这些项定义了系统中预定的定时任务。通过修改这些注册表项,可以添加、修改或删除计划任务。驱动程序(Drivers):注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services功能说明:这些项包含了系统中已加载的驱动程序的配置信息。通过修改这些项,可以管理和配置系统级别的驱动程序。

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

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

相关文章

产品经理入门学习(五):思维导图 原型设计

参考引用 黑马-产品经理入门基础课程 1. 思维导图的作用和应用场景 什么是思维导图&#xff1f; 思维导图是一种将思维进行可视化的实用工具。具体实现方法是用一个关键词去引发相关想法&#xff0c;再运用图文并茂的技巧把各级主题的关系用相互隶属的层级表现出来&#xff0c;…

Flutter笔记:发布一个模块 scale_design - (移动端)设计师尺寸适配工具

Flutter笔记 发布一个模块scale_design设计师尺寸适配工具与常用组件库 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/a…

容器核心技术-Namespace

一、容器 基于Linux 内核的 Cgroup&#xff0c; Namespace&#xff0c;以及Union FS等技术&#xff0c;对进程进行封装隔离&#xff0c;属于操作系统层面的虚拟化技术&#xff0c;由于隔离的进程独立于宿主和其它的隔离的进程&#xff0c;因此也称其为容器。 1.1 容器主要特性…

中国电子学会主办 第四届ATEC科技精英赛报名启动

11月1日由中国电子学会主办的第四届ATEC科技精英赛&#xff08;ATEC2023&#xff09;正式启动报名。 ATEC科技精英赛是主要面向中国籍计算机等专业在校学生、人工智能及网络安全行业研究者和从业者的一场高水平的智能科技挑战赛&#xff0c;意在贯彻落实党中央、国务院关于推动…

性能优化之懒加载 - 基于观察者模式和单例模式的实现

一、引入 在前端性能优化中&#xff0c;关于图片/视频等内容的懒加载一直都是优化利器。当用户看到对应的视图模块时&#xff0c;才去请求加载对应的图像。 原理也很简单&#xff0c;通过浏览器提供的 IntersectionObserver - Web API 接口参考 | MDN (mozilla.org)&#xff0c…

SpringSecurity全家桶 (二) ——实现原理

1. SpringSecurity的强大之处 当我们并未设置登录页面时&#xff0c;我们只需要导入SpringSecurity的依赖就可以令我们的界面进入保护状态&#xff0c;由下面例子可以凸显出&#xff1a; 随便写个接口 RequestMapping("/hello")public String hello(){return "H…

旧手机搭建linuxcentos

centos服务器搭建termux搭建centos旧手机搭建linux服务器ubuntu旧手机搭建网站旧手机搭建linux debian ubuntu centos 旧手机搭建宝塔搭建 32位Linux搭建宝塔 Linuxdeploy搭建宝塔 旧手机搭建服务器有需要的来 包答疑包售后 Linuxdeploy需要root mobile搭建服务器 脚本/工具

03 矩阵与线性变换

矩阵与线性变换 线性变换如何用数值描述线性变换特殊的线性变换反过来看总结 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 线性变换 如果一个变换具有以下两个性质&#xff0c;我们就称它是线性的&#xff1a; 一是直线在变换后仍然保持为直线二是原点必须…

网安新旅程

网安新旅程 将近四个月没发博客了&#xff0c;今天交代一下最近发生的事情和规划。 TryHackMyOffsecBox QQ交流 君羊&#xff1a;751273347 近期的事情 6月开始我进入htb学院学习CPTS&#xff0c;7月左右我完成了95%左右的内容。7-8月份我基本都在做C#相关的开发&#xff0c…

【KVM】KVM介绍及功能概述

前言 大家好&#xff0c;我是秋意零。 今天介绍的内容是KVM的概述&#xff0c;以及它所支持的基本功能。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平台同名&#xff0c; 秋意零 账号创作者、 云社区 创建者&#x1f…

NTFS文件系统解析(三)

1、引言 对于NTFS文件系统而言&#xff0c;无论文件内容本身&#xff0c;抑或真实的文件属性&#xff0c;都被称之为属性。 而正如前文说到的&#xff0c;NTFS预定义了16种属性用于文件系统的管理。 而通常情况下&#xff0c;往往只需要关注其中的某些属性即可。 2、属性头 …

【AI】Stable-Diffusion-WebUI使用指南

注&#xff1a;csdn对图片有审核&#xff0c;审核还很奇葩&#xff0c;线稿都能违规&#xff0c;为保证完整的阅读体验建议移步至个人博客阅读 最近AI绘画实现了真人照片级绘画水准&#xff0c;导致AI绘画大火&#xff0c;公司也让我研究研究&#xff0c;借此机会正好了解一下…

一个JS版寻路的实现

js版的寻路的测试 20231104_161146 path get_v8: function (x_inc, y_inc) {if (x_inc 0) {if (y_inc < 0) {return [[0, -1], [-1, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [1, 1], [0, 1]];} else if (y_inc > 0) {return [[0, 1], [-1, 1], [1, 1], [-1, 0], [1, 0…

090基于web+springboot的中小企业设备管理系统

欢迎大家关注&#xff0c;一起好好学习&#xff0c;天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本中小企业设备管理系统管理员有个人中心&#xff0c;用户管理&#xff0c;员工管理&#xff0c;设备信息管理&#xff0c;配件信息管…

c++类和对象(八) static成员 友元

1.1 概念 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff1b;用static修饰的成员函数&#xff0c;称之为静态成员函数。静态成员变量一定要在类外进行初始化。 面试题&#xff1a;实现一个类&#xff0c;计算…

【深度学习】pytorch——快速入门

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ pytorch快速入门 简介张量&#xff08;Tensor&#xff09;操作创建张量向量拷贝张量维度张量加法函数名后面带下划线 _ 的函数索引和切片Tensor和Numpy的数组之间的转换张量&#xff08;tensor&#xff09;与标量…

2.10 CSS BFC

1.简介 BFC是Block Formatting Context(块级格式上下文)&#xff0c;可以理解成元素的一个“特异功能”。该“特异功能”&#xff0c;在默认的情况下处于关闭状态;当元素满足了某些条件后&#xff0c;该"特异功能被激活。所谓激活"特异功能”&#xff0c;专业点说就…

【KVM】软件虚拟化和硬件虚拟化类型

前言 大家好&#xff0c;我是秋意零。 今天介绍的内容是虚拟化技术以及软件虚拟化和硬件虚拟化。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平台同名&#xff0c; 秋意零 账号创作者、 云社区 创建者&#x1f9d1; 个…

Leetcode—187.重复的DNA序列【中等】

2023每日刷题&#xff08;二十&#xff09; Leetcode—187.重复的DNA序列 实现代码 class Solution { public:const int L 10;vector<string> findRepeatedDnaSequences(string s) {unordered_map<string, int> str;vector<string> ans;int len s.size()…