织梦系统用户管理-dedecms漏洞组合拳拿站(渗透笔记)

Dedecms漏洞组合拳击站(渗透笔记)前言

我之前写过几篇关于dedecms漏洞复现的文章。 只是复现没什么意思,所以我用Google hacking技巧找到了一个使用dede的网站,恰好使用了之前文章中提到的所有东西。 技术。 所以我特意写出来作为总结。

利用漏洞组合更改管理员密码

往期文章链接:

我们按照上面两篇文章的方法成功修改管理员密码后,访问member/edit_baseinfo.php

同样,您在访问该页面时仍然需要修改cookie,否则您将更改自己帐户的密码。

标记

替换后返回的页面如下:

标记

原始密码是我们通过任意用户密码修改漏洞修改的密码。 在此页面更改密码实际上会更改管理员的密码。 这也是dede设计上的一个缺陷——在前台更改管理员密码会影响后端的密码。 也许设计者没想到有人可以通过前台登录管理员账号(正常情况下dede无法登录前台管理账号),但是他暴露了一个任意用户的登录漏洞在前台!

修改密码后,需要找到后台。 修改了默认后端路径,只能扫描后端。 我使用DirBuster,主要是因为我觉得它内置的字典还是蛮有用的。

标记

我扫描并发现了一个管理目录,看起来很可疑。 访问了一下,原来是后台。 我用刚刚更改的密码登录:

标记

这里需要更正一下。 当我到达这个网站时织梦系统用户管理,我首先扫描了目录。 毕竟我得先确定能找到后台,不然拿到密码也没用。

获取shell

关于dedecms后台getshell,我之前已经转载过。 文章链接:

按照文章中的方法写一个句子木马,用菜刀连接

标记

下一步是提升权限。 提升权限的过程相当曲折。 我一开始扫描目录的时候也发现了phpmyadmin,于是就直接用root账号和随机密码登录了。 没想到不用找密码就直接登录了。 想着数据库root账户的权限升级应该很简单,就直接上传了一个mysql权限的数据库去了。

标记

根据echo,按理说我已经获得了系统权限,但是当我执行net user命令时,却没有任何反应。 我一开始以为管理员刚刚禁用了net.exe,于是我用net1.exe执行命令,结果还是一样。 没有回声。 猜测是管理员删除了net.exe和net1.exe,然后自己上传了一个,结果还是无法执行。

我知识有限,不明白管理员做了什么织梦系统用户管理,所以想尝试另一种方式,使用端口反弹来获取cmdshell。在数据库中执行以下语句

标记

然后我这里的主机使用netcat来监听4455端口。

标记

使用反弹shell执行net命令还是不行。 emmmmm,net命令无法执行,有点麻烦,但是我们想用net命令来添加用户,启动远程桌面服务。 是否可以在不使用 net.exe 的情况下实现此目的?

于是我找到了一个不需要net.exe和net1.exe的可执行文件来创建用户并将其添加到Administrators组中。 上传后提示添加用户成功但添加管理员组失败。 我当时感觉有点奇怪,但至少我可以创建一个用户,这是一个好的开始。

下一步是打开远程桌面端口。 我尝试了网上提到的几种方法,然后扫描端口,发现3389始终处于关闭状态。 那么我猜测端口被修改了?通过操作注册表直接查看并启动远程桌面服务

1开启:
2REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
3查询:
4REG query HKLMSYSTEMCurrentControlSetControlTerminal" "ServerWinStationsRDP-Tcp /v PortNumber

标记

换算成十进制是9991,我扫了一下,就开机了。 您认为现在可以登录吗? 像我这样天真啊!

标记

用刚刚创建的账户无法登录,提示找不到配置文件。 看起来管理员访问控制比较好,但是现在我陷入了僵局——无法创建管理员帐户,普通用户也无法登录。

我突然想起我还有一个神器没用过——mimikatz。 这个神器只需两行命令就可以直接捕获系统中sa文件的账户密码。

1privilege::debug
2sekurlsa::logonpasswords

我将上传工件并执行它:

标记

标记

反正我就是拿到了管理员密码,直接登录服务器,在本地执行net命令,还是不行,所以就不用了。 我直接去了账户管理。 创建用户没有问题,但是该添加管理了。 当您是会员时,禁止访问! 我真的被说服了。 我无法直接添加它。 难怪可执行文件一开始就失败了。我以为我已经拿到服务器了,所以就不管了。 这个问题还没解决...希望老大能告诉我。