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

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. 查看效果

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA】数组练习

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 数组练习 1. 数组转字符串2. 数组拷贝3.…

Android设备通过蓝牙HID技术模拟键盘实现

目录 一&#xff0c;背景介绍 二&#xff0c;技术方案 2.1 获取BluetoothHidDevice实例 2.2 注册/解除注册HID实例 2.3 Hid report description描述符生成工具 2.4 键盘映射表 2.5 通过HID发送键盘事件 三&#xff0c;实例 一&#xff0c;背景介绍 日常生活中&#xff0…

vue : 无法加载文件 F:\nodejs\vue.ps1,因为在此系统上禁止运行脚本。

报错信息如下 在使用Windows PowerShell输入指令查看版本时或者用脚手架创建vue项目时都有可能报错&#xff0c;报错信息如下&#xff1a;vue : 无法加载文件 F:\nodejs\vue.ps1&#xff0c;因为在此系统上禁止运行脚本 解决方案&#xff1a; 原因&#xff1a;因为Windows Po…

儿童学python语言能做什么,小孩学python到底好不好

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;儿童学python语言能做什么&#xff0c;小孩学python课程需要多久&#xff0c;现在让我们一起来看看吧&#xff01; 对于刚开始学习编程的孩子来说&#xff0c;图形化的Scratch是很好的启蒙语言。它用类似于拼图的模式&a…

自适应AI chatgpt智能聊天创作官网html源码

我们致力于开发先进的自适应AI智能聊天技术&#xff0c;旨在为用户提供前所未有的聊天体验。通过融合自然语言处理、机器学习和深度学习等领域的顶尖技术&#xff0c;我们的智能聊天系统能够准确理解用户的需求并给出相应的回应。 我们的自适应AI智能聊天系统具备以下核心特点…

软件需求-架构师之路(五)

软件需求 软件需求&#xff1a; 指用户 对系统在功能、行为、性能、设计约束等方面的期望。 分为 需求开发 和 需求管理 两大过程。 需求开发&#xff1a; 需求获取需求分析需求定义&#xff08;需求规格说明书&#xff09;需求验证&#xff1a;拉客户一起评审&#xff0c…

Golang 局部变量、全局变量 声明

文章目录 一、局部变量二、全局变量 一、局部变量 四种声明方式 多变量声明&#xff1a; package mainimport "fmt"//局部变量声明 func main() {//方法一: 声明一个变量和数据类型&#xff0c;不初始化值&#xff1b;默认值为0&#xff1b;var lvA intfmt.Printl…

1572. 矩阵对角线元素的和

题目描述&#xff1a; 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例&#xff1a; 解题思路&#xff1a; 同时求对角线和副对角线上元素的和再减去重合的元素 相关代码&#xf…

JVM---jvm里的内存溢出

目录 堆溢出 虚拟机栈和本地方法栈溢出&#xff08;栈溢出很少出现&#xff09; 方法区和运行时常量池溢出 本机内存直接溢出&#xff08;实际中很少出现、了解即可&#xff09; 堆溢出 堆溢出&#xff1a;最常见的是大list&#xff0c;list里面有很多元素 堆溢出该怎么解决…

途乐证券-新股行情持续火爆,哪些因素影响首日表现?

全面注册制以来&#xff0c;参加打新的投资者数量全体呈现下降。打新收益下降&#xff0c;破发频出的布景下&#xff0c;投资者打新策略从逢新必打逐步向优选个股改变。 经过很多历史数据&#xff0c;从商场定价、参加者热度以及机构重视度维度揭秘了上市后股价体现优秀的个股具…

力扣 279. 完全平方数

题目来源&#xff1a;https://leetcode.cn/problems/perfect-squares/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a; 动规五部曲分析如下&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义。dp[j]&#xff1a;和为j的完全平方…

如何仿写简易tomcat 实现思路+代码详细讲解

仿写之前&#xff0c;我们要搞清楚都要用到哪些技术 自定义注解&#xff0c;比如Tomcat使用的是Servlet&#xff0c;我们可以定义一个自己的MyServlet构造请求体和返回体&#xff0c;比如tomcat使用HttpRequest&#xff0c;我们可以自己定义myHttpRequestjava去遍历一个指定目…

Matlab工具NIFTI包的基本功能函数

Matlab工具NIFTI包的基本功能函数 Nifti 格式最初是为神经影像学发明的。神经影像信息学技术计划&#xff08;NIFTI&#xff09;将 NIfTI 格式预设为 ANALYZE7.5 格式的替代品。它最初的应用领域是神经影像&#xff0c;但是也被用在其他领域。这种格式的主要特点就是它包含两个…

Docker容器:docker基础概述、docker安装、docker网络

文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…

【Unity造轮子】制作一个简单的2d抓勾效果(类似蜘蛛侠的技能)

文章目录 前言开始1. 实现简单的抓勾效果2. 高阶钩爪效果 源码参考完结 前言 欢迎阅读本文&#xff0c;本文将向您介绍如何使用Unity游戏引擎来实现一个简单而有趣的2D抓勾效果&#xff0c;类似于蜘蛛侠的独特能力。抓勾效果是许多动作游戏和平台游戏中的常见元素&#xff0c;…

zookeeper案例

目录 案例一&#xff1a;服务器动态上下线 服务端&#xff1a; &#xff08;1&#xff09;先获取zookeeper连接 &#xff08;2&#xff09;注册服务器到zookeeper集群&#xff1a; &#xff08;3&#xff09;业务逻辑&#xff08;睡眠&#xff09;&#xff1a; 服务端代码…

区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归时间序列区间预测

区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRBiLSTM双向长短期记忆神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 区间预测 | MATLAB实现QRBiLSTM双向长短…

SpringBoot案例 调用第三方接口传输数据

一、前言 最近再写调用三方接口传输数据的项目&#xff0c;这篇博客记录项目完成的过程&#xff0c;方便后续再碰到类似的项目可以快速上手 项目结构&#xff1a; 二、编码 这里主要介绍HttpClient发送POST请求工具类和定时器的使用&#xff0c;mvc三层架构编码不做探究 pom.x…

dom靶场

靶场下载地址&#xff1a; https://www.vulnhub.com/entry/domdom-1,328/ 一、信息收集 获取主机ip nmap -sP 192.168.16.0/24netdiscover -r 192.168.16.0/24端口版本获取 nmap -sV -sC -A -p 1-65535 192.168.16.209开放端口只有80 目录扫描 这里扫描php后缀的文件 g…

设计模式之责任链模式【Java实现】

责任链&#xff08;Chain of Resposibility&#xff09; 模式 概念 责任链&#xff08;chain of Resposibility&#xff09; 模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者 通过前一对象记住其下一个对象的引用而连成一条…