一次对Dz-NT论坛的艰难渗透的简单记录

最近渗透一个X站,环境是主站+论坛,没有其他的程序可以利用。
进入主站的后台后,反复研究没有可用拿shell的地方。

只有拿论坛了。

扫描目录,经过千辛万苦的扫描,下载到了论坛之前转移服务器之前的备份【程序+数据库】,马上将数据导入 mssql2005 ,查看了管理员密码。然后去cmd5解密,经过5天的解密,终于还是没能把密码解密出来【Discuz!NT 3.6 管理员密码是简单的md5】。

注册论坛会员,查看到admin 管理员 最近一次登录,是在转移服务器后的第二天,所以我估计,密码还是备份数据库里面的密码!

现在问题就是有了 加密的 管理员密码 和 帐号,如何进入 Discuz!NT 的后台呢【进入后台可以自行MSSQL导出文件】?

经过无数次脑细胞的战争,最后还是进入了Discuz!NT 后台,当然不是解密出 md5值,而是 利用 MD5值生成cookie,然后登陆进后台的。 Discuz!NT 这方面资料很少,我这个就当一个特殊的案例,做下记录。

1.将下载的备份的论坛 安装在自己的服务器(通过扫描或其他办法得到了网站的备份数据)。将论坛的管理密码改成自己的。 然后下载 Discuz!NT 对应的源码版代码,找到 dnt 加密函数部分,将里面获取用户密码部分,改成解密不了的密码,然后VS2008编译。【不知为何,我直接编译 放回去,直接错误】,再反编译 论坛原来的 Discuz.Forum.dll,将你自己生成的Discuz.Forum.dll 也反编译,将函数对应的函数体兑换,再编译回去。用现在生成的 DLL。 用管理帐号,用你改后的密码,登陆论坛前台,记录DNT cookie,利用这个cookie 就能登陆目标站的前台。【主要不知道Discuz!NT cookie 如何生成的,要不然直接生成更简单】

2.重复上面的步骤 生成后台需要的cookie  dntadmin  这个cookie 在 Discuz.Web.Admin.dll里面

3.获取到 dnt  dntadmin  cookie 后 用firefox的cookie管理,改目标站的cookie。刷新页面,就获取到了后台管理权限,导出shell。

这次 主要说个思路就是,通过解密不了的md5值,想办法生成正确的cookie,再利用cookie进入后台。
@nyannyannyan

密钥在程序根目录下config/general.config里,叫做Passwordkey,加密是把用户密码,用户安全问题答案,用户UID接起来进行的加密….得知这种信息可以做到的就是不用重新编译也不用各种替换就能生成cookie

LZ的这种思路真是赞!

link:http://zone.wooyun.org/content/5309

本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。