如何使用Cron Jobs實現Linux提權
寫在前面的話
今天給各位滲透測試同行們提供一種Linux提權方法,在這篇文章中,我們將介紹如何使用Cron Jobs來實現Linux下的許可權提升,並獲取遠程主機的root訪問權。
Cron Jobs能做什麼?
Cron Jobs可以在伺服器端完成一系列計劃任務(設定時間自動執行命令等等),一般它主要用於執行系統管理員任務,例如數據備份或清理緩存目錄等等。Cron這個詞來源於「crontab」,而這個玩意兒存在於/etc目錄中。
比如說,在crontab中,我們添加下列條目來實現每隔一個小時就自動列印出apache的錯誤日誌「
Crontab文件重寫
設置簡陋配置的Cron任務
目標:在crontab的幫助下,設置一個新的任務來運行目標Python腳本,並清除指定目錄中的全部數據。
假設目錄名稱為「cleanup「,它的數據每隔兩分鐘就會被自動清空一次。在開始之前我們需要在/home/cleanup中存儲一些數據:
接下來,編寫一個Python腳本來刪除/home/cleanup目錄中的數據,我們需要給這個腳本完整的r/w/x許可權。
切換目錄並創建腳本:
腳本代碼:
賦予許可權:
最後配合crontab設置計劃任務,並每隔兩分鐘運行一次cleanup.py :
驗證結果:
大家可以看到數據每隔兩分鐘就會被清空一次。
後滲透利用
開啟你的攻擊設備,然後入侵目標系統,接下來直接進到提權步驟。假設我們已經通過ssh成功登錄了目標設備,並訪問了非root用戶終端,然後執行以下命令:
我們此時可以發現,crontab每隔兩分鐘便會運行一次Python腳本,我們待會兒需要利用這一點。
啟用/bin/dash的SUID,使用nano打開cleanup.py ,並將其中的「rm -r /tmp/*」替換成下列內容:
兩分鐘之後,它將會給/bin/dash設置SUID許可權,運行之後你就能拿到root許可權了:
Crontab Tar通配符注入
環境搭建
目標:在crontab的幫助下設置一個計劃任務,備份HTML目錄中的tar文檔。
注意,該目錄需要具備可執行許可權(x)。
然後每隔一分鐘將/html目錄中的tar文件備份到/var/backups中:
執行下列命令查看運行結果:
從下圖中我們可以看到,一分鐘之後html.tgz文件已經生成了:
後滲透利用
開啟你的攻擊設備,然後入侵目標系統,接下來直接進到提權步驟。假設我們已經通過ssh成功登錄了目標設備,並訪問了非root用戶終端。接下來,打開crontab查看計劃任務是否已經設置成功:
執行下列命令來授權sudo許可權,並登錄用戶賬號,即實現通配符注入:
一分鐘之後,它將會給用戶ignite賦予sudo許可權:


※一次詳細的Kerberoast攻擊演示
※護衛神主機大師提權漏洞利用分析
TAG:瘋貓網路 |