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:32REG 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.mzph.cn/news/41139.shtml

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

相关文章

YOLOv5基础知识入门(7)— NMS(非极大值抑制)原理解析

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。NMS是指非极大值抑制&#xff08;non maximum suppression&#xff09;&#xff0c;它是一种常用于物体检测任务的算法。在物体检测中&#xff0c;通常会有多个预测框&#xff08;bounding box&#xff09;被提议出来&…

机器学习深度学习——transformer(机器翻译的再实现)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——自注意力和位置编码&#xff08;数学推导代码实现&#xff09; &#x1f4da;订阅专栏&#xff1a;机器…

【论文阅读】 Model Sparsity Can Simplify Machine Unlearning

Model Sparsity Can Simplify Machine Unlearning 背景主要内容Contribution Ⅰ&#xff1a;对Machine Unlearning的一个全面的理解Contribution Ⅱ&#xff1a;说明model sparsity对Machine Unlearning的好处Pruning方法的选择sparse-aware的unlearning framework Experiments…

JetBrains IDE远程开发功能可供GitHub用户使用

JetBrains与GitHub去年已达成合作&#xff0c;提供GitHub Codespaces 与 JetBrains Gateway 之间的集成。 GitHub Codespaces允许用户创建安全、可配置、专属的云端开发环境&#xff0c;此集成意味着您可以通过JetBrains Gateway使用在 GitHub Codespaces 中运行喜欢的IDE进行…

VScode搭建Opencv(C++开发环境)

VScode配置Opencv 一、 软件版本二 、下载软件2.1 MinGw下载2.2 Cmake下载2.3 Opencv下载 三、编译3.1 cmake-gui3.2 make3.3 install 四、 VScode配置4.1 launch.json4.2 c_cpp_properties.json4.3 tasks.json 五、测试 一、 软件版本 cmake :cmake-3.27.2-windows-x86_64 Mi…

JAVA基础知识(一)——Java语言描述、变量和运算符

TOC(Java语言描述、变量和运算符) 一、JAVA语言描述 1.1 java语言描述 JDK、JRE、jVM三者之间的关系&#xff0c;以及JDK、JRE包含的主要结构有哪些&#xff1f; JDKJre java的开发工具&#xff08;javac.exe java.exe javadoc.exe&#xff09; jre jvmjava的核心类库 为什…

【JavaEE基础学习打卡03】Java EE 平台有哪些内容?

目录 前言一、Java EE平台说明二、Java EE平台容器及组件1.平台容器2.平台组件 三、JavaEE平台API服务1.API服务概览2.平台API 总结 前言 &#x1f4dc; 本系列教程适用于Java Web初学者、爱好者&#xff0c;小白白。我们的天赋并不高&#xff0c;可贵在努力&#xff0c;坚持不…

使用CLI添加磁盘到VM

登录 https://portal.azure.com/#home&#xff0c;点击右上角的控制台图标 &#xff0c;打开CLI 在控制台中输入如下指令&#xff0c;在NetworkWatcherRG创建一个名字为TEST的虚拟机&#xff0c;使用的镜像是Win2019datacenter&#xff0c;username是aaa,password是1234567890A…

mysql的快速复习 和一些思考记录

数据库设计 第一范式&#xff1a;有主键&#xff0c;具有原子性&#xff0c;字段不可分割 数据库表中不能出现重复记录&#xff0c;每个字段是原子性的不能再分 关于第一范式&#xff0c;每一行必须唯一&#xff0c;也就是每个表必须有主键。 每一列不可再分&#xff01;&#…

okhttp源码简单流程分析

拦截器详细解析可以看大佬简书 "https://www.jianshu.com/p/6fac73f7570f"和 “https://www.jianshu.com/p/3c740829475c” okhttp请求流程 1&#xff1a;OkHttpClient okHttpClient new OkHttpClient.Builder() 构建一个okhttpClient对象&#xff0c;传入你想传入的…

vector使用以及模拟实现

vector使用以及模拟实现 vector介绍vector常用接口1.构造2.迭代器3.容量4.增删查改5.练习 vector模拟实现1.迭代器失效2.反向迭代器3.完整代码 vector介绍 和我们原来讲的string不同&#xff0c;vector并不是类&#xff0c;是一个类模板&#xff0c;加<类型>实例化以后才…

主机防护的重要性和方式

01 主机防护的重要性 主机防护是网络安全的重要组成部分。在互联网时代&#xff0c;网络攻击成为了一种常见的威胁&#xff0c;而主机防护则是保护计算机系统免受网络攻击的重要手段。 主机防护可以防范各种网络攻击&#xff0c;如病毒、木马、黑客攻击等&#xff0c;从而保…

气象监测站:用科技感知气象变化

气象监测站是利用科学技术感知当地小气候变化情况的气象观测仪器&#xff0c;可用于农业、林业、养殖业、畜牧业、环境保护、工业等多个领域&#xff0c;提高对环境数据的利用率&#xff0c;促进产业效能不断提升。 气象监测站主要由气象传感器、数据传输系统、电源系统、支架…

Linux debian12解压和压缩.rar文件教程

一、Debian12安装rar命令 sudo apt install rar二、使用rar软件 1.解压文件 命令格式&#xff1a; rar x 文件名.rar实力测试&#xff1a; [rootdoudou tmp]# rar x test.rar2.压缩文件 test是一个文件夹 命令格式&#xff1a; rar a 文件名.rar 文件夹名实例测试&#x…

centos7 yum获取软件所有依赖包 创建本地yum源 yum离线安装软件

centos7 yum获取软件所有依赖包 创建本地yum源 离线安装软件 1、以安装docker 20.10为例2、centos7 yum获取docker 20.10 所有依赖包3、创建本地docker yum源4、yum使用本地docker源 离线安装docker 1、以安装docker 20.10为例 参考链接&#xff1a; 添加docker 清华软件源 y…

git环境超详细配置说明

一&#xff0c;简介 在git工具安装完成之后&#xff0c;需要设置一下常用的配置&#xff0c;如邮箱&#xff0c;缩写&#xff0c;以及git commit模板等等。本文就来详细介绍些各个配置如何操作&#xff0c;供参考。 二&#xff0c;配置步骤 2.1 查看当前git的配置 git conf…

使用 Apache Kafka 和 Go 将数据引入 OpenSearch

需要编写自定义集成层来满足数据管道中的特定要求&#xff1f;了解如何使用 Go 通过 Kafka 和 OpenSearch 实现此目的。 可扩展的数据摄取是OpenSearch等大规模分布式搜索和分析引擎的一个关键方面。构建实时数据摄取管道的方法之一是使用Apache Kafka。它是一个开源事件流平台…

米尔瑞萨RZ/G2L开发板-02 ffmpeg的使用和RTMP直播

最近不知道是不是熬夜太多&#xff0c;然后记忆力减退了&#xff1f; 因为板子回来以后我就迫不及待的试了一下板子&#xff0c;然后发现板子有SSH&#xff0c;但是并没有ffmpeg&#xff0c;最近总是在玩&#xff0c;然后今天说是把板子还原一下哇&#xff0c;然后把官方的固件…

前端单点登录SSO面试回答

JWT鉴权机制 1.JWT用于登录身份验证 2.用户登录成功后&#xff0c;后端通过JWT机制生成一个token&#xff0c;返回给客户端 3.客户端后续的每次请求都需要携带token&#xff0c;放在header的authorization中 4.后端从authorization中拿到token后&#xff0c;通过secretKey进…

Spring Boot中使用validator如何实现接口入参自动检验

文章目录 一、背景二、使用三、举例 一、背景 在项目开发过程中&#xff0c;经常会对一些字段进行校验&#xff0c;比如字段的非空校验、字段的长度校验等&#xff0c;如果在每个需要的地方写一堆if else 会让你的代码变的冗余笨重且相对不好维护&#xff0c;如何更加规范和优…