首页 > 其他分享 >内网测试-持久化

内网测试-持久化

时间:2023-12-04 16:03:21浏览次数:31  
标签:持久 Windows HKEY CurrentVersion 测试 注册表 Microsoft Software

隐藏文件

• 创建系统隐藏文件

– attrib +s +a +r +h filename / attrib +s +h filename

• 利用 NTFS ADS (Alternate   Data   Streams) 创建隐藏文件

• 利用 Windows 保留字

– aux|prn|con|nul|com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|

后门

sethc

sethc.exe 是 Windows 系统在用户按下五次 shift 后调用的粘滞键处理程序,当有写文件但是没有执行权限

时,可以通过替换 sethc.exe 的方式留下后门,在密码输入页面输入五次 shift 即可获得权限。

映像劫持

在高版本的 Windows 中,替换程序是受到系统保护的,需要使用其他的技巧来实现替换。

具体操作为在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image

File Execution Option 下添加项 sethc.exe ,然后在 sethc.exe 这个项中添加 debugger 键,键值为恶

意程序的路径。

定时任务

Windows 下有 schtasks 和 at 两种计划任务机制。其中 at 在较高版本的 Windows 中已经弃用。

设置命令为 schtasks /create /tn "TEST_OnLogon" /sc onlogon /tr "cmd.exe /c calc.exe" 、

schtasks /create /tn "TEST_OnStartup" /sc onstart /ru system /tr "cmd.exe /c calc.exe" 。

删除命令为 schtasks /delete /tn "TEST_OnLogon" /f 。

登录脚本

Windows 可 以 在 用 户 登 录 前 执 行 脚 本, 使 用 HKLM\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon\Userinit 设置。

也可在 HKCU\Environment\ 路径下设置 UserInitMprLogonScript 来实现。

屏幕保护程序

Windows 可以自定义屏幕保护程序,使用 HKEY_CURRENT_USER\Control Panel\Desktop 设置。

隐藏用户

Windows 可以使用在用户名后加入 $ 来创建隐藏用户,这种帐户可在一定条件下隐藏,但是仍可以通过控

制面板查看。

在创建隐藏用户的基础上,可以修改注册表的方式创建影子用户,这种方式创建的用户只能通过注册表查看。

CLR

CLR (Common Language Runtime Compilation) 公共语言运行时,是微软为.NET 产品构建的运行环境,可

以粗略地理解为.NET 虚拟机。

.NET 程序的运行离不开 CLR,因此可以通过劫持 CLR 的方式实现后门。

Winlogon Helper DLL 后门

Winlogon 是一个 Windows 组件,用来处理各种活动,如登录、注销、身份验证期间加载用户配置文件、关

闭、锁定屏幕等。这种行为由注册表管理,该注册表定义在 Windows 登录期间启动哪些进程。所以可以依

靠这个注册表来进行权限维持。

注册表位置如下:

• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell 用于执

行 exe 程序

• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit 用

于执行 exe 程序

• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify 用于

执行 dll 文件

自启动

基于注册表的自启动

通过在注册表中写入相应的键值可以实现程序的开机自启动,主要是 Run 和 RunOnce ,其中 RunOnce 和

Run 区别在于 RunOnce 的键值只作用一次,执行完毕后会自动删除。

注册表如下:

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

基于策略的自启动注册表设置如下:

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

设置启动文件夹注册表位置如下:

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell

Folders

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell

Folders

设置服务启动项注册表位置如下:

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

用户自启动位置HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

、HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell , 其 中

Userinit 键允许指定用逗号分隔的多个程序。

如果用户启动了屏幕保护程序,也可以通过屏幕保护程序来启动后面,相关注册表键值为:

• HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive

• HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaverIsSecure

• HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut

• HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE

基于特定目录的自启动

自启动目录, C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

目录对特定用户生效,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 对所有用户

生效。在 NT6 以前,两个目录为 C:\Documents and Settings\Username\Start Menu\Programs\StartUp

/ C:\Documents and Settings\All Users\Start Menu\Programs\StartUp 。

标签:持久,Windows,HKEY,CurrentVersion,测试,注册表,Microsoft,Software
From: https://blog.51cto.com/u_14881360/8679579

相关文章

  • 软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
    数据类型是编程中不可或缺的基本概念。在Python中,有多种数据类型,每种都有其独特的特点和用途。本文将带你深入了解常见的Python数据类型及其实际应用。引言在编程中,数据类型是对数据进行分类和组织的方式。Python中有多种数据类型,每种类型都有其自身的特性和功能。了解这......
  • 软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
    引言数据类型转换是指将一种数据类型的值转换为另一种数据类型的过程。在编程中,我们经常需要处理不同类型的数据,正确地进行类型转换是编写健壮程序的关键。常见的数据类型转换整数和浮点数转换为字符串#示例代码num_int=10num_float=3.14str_int=str(num_int)str......
  • 软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
    变量什么是变量?变量是在程序中用于存储数据的名称。它们可以存储各种类型的数据,比如数字、文本、列表、字典等等。变量类型在介绍变量时,可以提及Python中常见的变量类型,例如整数、浮点数、字符串、布尔值、列表、元组、字典等。如下所示:a=1b='muller'c='123'd=......
  • jmeter测试计划中的“独立运行每个线程组”Demo演示
    一:jmeter的运行顺序测试计划-->线程组其次执行顺序为:配置元件、前置处理器、定时器、取样器、后置处理器、断言、监听器当一个测试计划中有多个线程组,当多个线程组都是是执行状态时,就会用到测试计划中的“独立运行每个线程组”勾选框不勾选时的执行顺序如下:......
  • 基于FPGA的RGB图像转Ycbcr实现,包括tb测试文件以及MATLAB辅助验证
    1.算法运行效果图预览 将FPGA的数据导入到matlab进行显示    2.算法运行软件版本Vivado2019.2 matlab2022a 3.算法理论概述     基于FPGA的RGB图像转Ycbcr转换的实现,主要是通过数字电路的设计,利用硬件并行处理的能力,快速完成图像数据的转换。   ......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-35-处理web页面定位toast-上篇
    1.简介在使用appium写app自动化的时候介绍toast的相关元素的定位,在WebUI测试过程中,也经常遇到一些toast(出现之后一闪而过,不留下一点点痕迹),那么这个toast我们这边如何使用playwright进行定位测试呢?今天宏哥就分两篇介绍一下。2.什么是toast?Android中的Toast是一种简易的消......
  • TPC-DS工具介绍及性能测试
    一. Hive-testbench工具介绍TPC-DS:https://www.cnblogs.com/webDepOfQWS/p/10544528.html由于原生态工具生产测试数据表存在bug,后续引进hive-testbench,可参考:https://bbs.huaweicloud.com/blogs/260840可在WPS共享文档https://yundoc.fin-shine.com/drive/group/442074/325659......
  • 基于FPGA的图像形态学膨胀算法实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览在FPGA中仿真结果如下所示:   将FPGA中的仿真结果导入到matlab显示二维图,效果如下:   2.算法运行软件版本matlab2022a vivado2019.2 3.算法理论概述      膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相......
  • Unity学习笔记--数据持久化Json
    JSON相关json是国际通用语言,可以跨平台(游戏,软件,网页,不同OS)使用,json语法较为简单,使用更广泛。json使用键值对来存储。认识json文件//注意字典类型存储时,键是以string类型存储的需要添加“”{"name":"TonyChang","age":21,"sex":true,"Float":2.5,"arrarys"......
  • Redis的持久化和复制
    今天,我们将探讨Redis的两个重要特性:持久化和复制。一、持久化:Redis提供了两种持久化方法,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。RDB:此方法是通过创建数据快照来实现持久化。你可以设置Redis在特定的时间间隔内,将数据写入一个磁盘文件。例如,你可以设置Redis每60秒创建一个......