提权指的是低权限用户利用各种合法的或非法的手段获取到了高于本用户的系统权限;Linux提权一般是指获取root用户权限的操作过程。Linux提权的本质一方面是信息收集,另一方面是对内核漏洞的掌握情况;提权是否成功的关键是信息收集是否完整。
本教程操作环境:linux7.3系统、Dell G3电脑。
提权是什么
提权指的是低权限用户利用各种合法的或非法的手段获取到了高于本用户的系统权限。
详细来说,就是指利用操作系统或应用软件中的程序漏洞、设计缺陷或配置疏忽来获取对应用程序或用户来说受保护资源的高级访问权限。其结果是,应用程序可以获取比应用程序开发者或系统管理员预期的更高的特权,从而可以执行授权的动作。
Linux提权一般是指获取root用户权限的操作过程。
Linux提权目的
提权操作有风险为什么还要进行提权?什么情况下需要进行提权?获取高权限之后可以做什么?
通过命令执行漏洞获取的一个反弹shell或是通过Web漏洞获取了一个Webshell后,一般情况下权限都较低。在执行一些重要敏感的操作或是对重要的文件进行修改时无法正常进行,便需要进行提权。Linux中安装的数据库、中间件等一般都不是以root用户启动的,通过数据库或是中间件获取到的权限是是低权限的。
获取一个root权限是每一个黑客的梦想。
- 读取写入服务器中的重要文件:
- 修改root密码
- 替换系统命令
- 在系统中放置更为隐蔽的后门:
- ping后门
- Rootkit
- 保证服务器重启之后权限仍在:
- 内存后门
Linux提权本质
Linux提权的本质一方面是信息收集,另一方面是对内核漏洞的掌握情况。
Linux信息收集
任何提权的第一步操作一定是对操作系统进行信息收集。提权是否成功的关键是信息收集是否完整。
内核设备信息:
用户和群组信息:
用户和权限信息:
环境系统变量信息:
内核漏洞提权指的是普通用户访问操作系统内核,利用内核漏洞将权限提高为root权限,一般首先需要知晓操作系统的内核,内核的版本等信息,再寻找内核漏洞的EXP进行提权
linux常用查看系统信息命令 uname -a 查看系统全部信息 uname -r 查看内核版本 cat /proc/version 查看内核信息 cat /etc/*-realease 查看CentOS版本 cat /etc/issue 查看Ubuntu版本 cat /etc/redhat-release 查看RedHat版本 env 查看环境变量 echo $PATH 查看当前环境变量 awk -F: '($3==0){print $1}' /etc/passwd 查找UID为0的用户 find / -user root -perm -4000 -exec ls -ldb {} \; 查找设置了SUID的文件
1)查看系统的内核版本
2) Gunakan searchsploit kali untuk mencari kerentanan kernel yang sepadan atau cari kerentanan kernel yang sepadan dalam talian
3) Gunakan gcc untuk Menyusun atur cara bahasa C ke dalam fail boleh laku, muat naik ke mesin sasaran dan laksanakan untuk meningkatkan keistimewaan kepada keistimewaan root
1. Peningkatan keistimewaan tugas berjadual
Prinsip penggunaan:
2. Gunakan SUID untuk meningkatkan keistimewaan
Konsep SUID: SUID (menetapkan ID pengguna) ialah kebenaran yang diberikan kepada fail dalam bit pelaksanaan kebenaran pemilik fail Fail dengan kebenaran ini Apabila dilaksanakan, pemanggil akan mendapat kebenaran pemilik fail buat sementara waktu. SUID membenarkan pemanggil untuk menjalankan fail sebagai pemilik fail, jadi idea kami menggunakan SUID untuk meningkatkan keistimewaan adalah untuk menjalankan fail dengan SUID yang dimiliki oleh pengguna root Kemudian kami perlu mendapatkan identiti pengguna root apabila kami menjalankan fail. Jadi, mengapa kita perlu menetapkan kebenaran ini pada binari Linux? Sebenarnya, terdapat banyak sebab Sebagai contoh, ping program memerlukan keistimewaan root untuk membuka soket rangkaian, tetapi pengguna yang melaksanakan program biasanya pengguna biasa untuk mengesahkan sambungan dengan hos lain.
Peningkatan keistimewaan SUID: Apakah itu peningkatan keistimewaan suid? Fail mempunyai bendera s, dan jika ia memasuki akar, maka kita boleh mempunyai keizinan root dengan menjalankan program ini, dan program mesti dapat melaksanakan perintah, kemudian kita boleh menaik taraf daripada pengguna biasa kepada kebenaran root.
Cari fail yang sepadan secara setempat.
Atur cara biasa yang boleh meningkatkan keistimewaan
3 Gunakan SUDO untuk meningkatkan keistimewaan
Boleh digunakan dalam Linux. systems sudo melaksanakan perintah yang hanya root boleh laksanakan Fail konfigurasi disimpan dalam /etc/sudoers sudo -l boleh menyenaraikan arahan yang pengguna semasa menyokong sudo.
Cuba analisa kelemahan dari tahap kod.
4. Peningkatan keistimewaan pembolehubah persekitaran
Lihat pembolehubah persekitaran semasa:
5. Perkhidmatan yang dijalankan dengan keistimewaan root
Cadangan berkaitan: "Tutorial Video Linux"
Atas ialah kandungan terperinci Apakah yang dimaksudkan dengan peningkatan keistimewaan linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!