前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dedecms漏洞组合拳拿站(渗透笔记)

dedecms漏洞组合拳拿站(渗透笔记)

作者头像
tnt阿信
发布2020-08-05 10:17:22
2.5K0
发布2020-08-05 10:17:22
举报

dedecms漏洞组合拳拿站(渗透笔记)

前言

之前也写过几篇关于dedecms漏洞复现的文章了,光是复现也没什么意思,于是利用google hacking技巧,找到了一个使用dede的站点,正好用上了之前几篇文章里提到的所有的技术。所以特地写出来,也当做一个总结吧。

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

之前几篇文章的链接: https://blog.csdn.net/he_and/article/details/80988550 https://blog.csdn.net/he_and/article/details/80988550 当我们按照上面两篇文章的方法成功更改了管理员的密码过后,我们访问member/edit_baseinfo.php 同样的,访问这个页面的时候还是需要修改cookie,不然你改的就是你自己账户的密码。

mark 替换了过后,返回的页面如下:

mark 原密码就是我们通过任意用户密码修改漏洞修改的密码,在这个页面修改了密码就会真正修改管理员的密码,这也是dede设计的一个缺陷——前台修改管理员的密码可以影响后台的密码。可能设计者没想到有人能够通过前台登录管理员账户(正常情况下,dede不能再前台登录管理账户),但是他却爆出了一个前台任意用户登录漏洞!

修改完密码过后,就是需要找后台了,默认后台路径被修改了,所以只有扫一下后台了。我用的是DirBuster,主要是感觉它内置字典还是挺好用的。

mark 扫着扫着就发现了一个manage目录,这一看就有猫腻呀,访问了一下果然是后台,用刚刚修改的密码登录:

mark

这里需要更正一下,我在拿到这个站的时候,先是扫了一下目录,毕竟要先确定是否找得到后台,不然拿到密码也没用。

getshell

关于dedecms后台getshell我之前也复现过了,文章链接: https://blog.csdn.net/he_and/article/details/80890664 按照文章中的方法写入一句话木马,使用菜刀连接

mark 接下来就是提权了,提权的过程还是挺曲折的。一开始扫目录的时候还扫出来了phpmyadmin,所以我直接root账户以及随便猜的一个密码登录了一下,没想到直接就上去了,都不需要我找密码了。想着有数据库的root账户提权应该就很简单了,直接传了一个带有mysql提权的大马上去了。

mark

根据回显,讲道理我已经拿到了system权限,但是当我执行net user命令时,返现没有回显,我一开始以为管理员只是禁用了net.exe,于是使用了net1.exe执行命令依然没有回显。猜测可能是管理员删除了net.exe与net1.exe,于是自己上传了一个,结果依然不能执行。

见识比较少,没搞懂管理员做了什么,于是想换一种方式,利用端口反弹得到一个cmdshell试试。数据库中执行如下语句

mark

然后我这边的主机用netcat监听4455这个端口

mark

用反弹的shell执行net命令还是不行,emmmmm,net命令不能执行,有点麻烦,但是我们是想用net命令添加用户以及开启远程桌面服务。是不是可以不用net.exe来实现呢?

于是找到了一个不用net.exe与net1.exe建立用户,并添加到Administrators组的可执行文件。上传上去,提示添加用户成功但是添加到管理员组失败。我当时就感觉有点奇怪,但是至少可以创建用户了,是个好的开头。

接下来就是打开远程桌面的端口,我试了网上提到的好几种方法然后扫描端口发现3389一直都是关闭的。于是猜测会不会是端口被修改了?直接通过操作注册表的方式查看和开启远程桌面服务

代码语言:javascript
复制
开启:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
查询:
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

mark 转换为10进制就是9991,扫了一下果然开启了。你以为现在能登录了吗?真是和我一样天真!

mark 用刚刚创建的账户登录不了,提示找不到配置文件,看来管理员访问控制做的比较好,现在陷入了僵局——不能创建管理员账户,普通的用户又登录不了。

我突然想起我还有个神器没上场呢——mimikatz,这个神器可以直接抓取系统中sa文件的账户密码,只需两行命令

代码语言:javascript
复制
privilege::debug
sekurlsa::logonpasswords

我把神器传上去执行一下:

mark

mark

反正就是拿到管理员的密码了,直接登上服务器,在本地执行了一下net命令,还是不能用,那我就不用呗,我直接去账户管理里操作,创建用户没什么问题,就是到了添加管理员时,禁止访问!我真的服了,直接添加不了,难怪一开始那个可执行文件失败了。想着都拿到服务器了,就先放着了,这个问题也还没解决….望大佬告知

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个安全研究员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • dedecms漏洞组合拳拿站(渗透笔记)
    • 前言
      • 利用漏洞组合更改管理员的密码
        • getshell
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档