您现在的位置是:探索 >>正文
服务器提权
探索15748人已围观
简介拿到一台Linux服务器的shell,你看到的可能只是一个普通用户。真正的战场在提权那一刻才开始。 去年帮朋友排查一台被入侵的测试机,攻击者留下的痕迹很典型:一个低权限的www-data shell, ...
拿到一台Linux服务器的服务shell,你看到的器提权可能只是一个普通用户。真正的服务战场在提权那一刻才开始。
去年帮朋友排查一台被入侵的器提权测试机,攻击者留下的服务痕迹很典型:一个低权限的www-data shell,然后通过一个SUID位的器提权vim二进制文件直接拿到了root。整个过程不超过两分钟。服务这个案例说明了一个事实——提权漏洞往往不在内核本身,器提权而在管理员随手留下的服务配置里。
SUID:最容易被忽视的器提权入口
SUID(Set Owner User ID)机制让普通用户执行某个程序时临时获得文件所有者的权限。听起来合理,服务问题出在太多人把SUID随手加到了不该加的器提权程序上。
我见过最离谱的服务一个:某运维给/usr/bin/find加了SUID位,理由是器提权“方便脚本调用”。结果攻击者一条命令就完事:
find / -exec /bin/sh -p \; -quit 拿到root shell的服务那一刻,服务器已经不属于你了。类似的还有nmap、vim、less、python,只要它们带着SUID位,提权几乎是白送。检查方法也简单:
find / -perm -4000 -type f 2>/dev/null 这条命令跑完,你会看到系统里所有SUID程序。如果里面出现了编辑器、解释器、网络工具,那基本可以判定这台机器的安全基线是失控的。
内核漏洞:不是首选,但躲不掉
很多人一提提权就想到内核exploit,比如Dirty COW、PwnKit。这类漏洞确实好用,但有个现实问题:打内核补丁会导致服务器重启,很多生产环境宁可裸奔也不重启。所以老内核在真实环境中大量存在。
我的判断是:内核提权应该作为最后手段。原因很直接——exploit不稳定,打崩了机器就彻底失联。先用配置类漏洞尝试,失败再考虑内核。判断内核版本:
uname -r 然后去searchsploit或者GitHub上比对,但别急着编译运行。先确认目标环境的glibc版本、编译器是否可用,否则你连exploit都编译不过去。
计划任务与PATH劫持
cron job是另一个重灾区。管理员写定时任务时习惯用相对路径:
*/5 * * * * backup.sh 如果这个脚本没有写全路径,而cron的PATH变量里包含可写目录,你只需要在同名路径放一个恶意脚本,等五分钟就拿到权限。这种手法不需要任何漏洞,纯粹是利用配置疏忽。
我个人的习惯是:拿到shell后先看/etc/crontab和/etc/cron.d/,再检查ps aux里有没有以root运行的脚本调用了相对路径的命令。有一次发现一个每分钟执行一次的监控脚本调用了date,而/usr/local/bin在PATH里排在/bin前面且可写——直接替换date,一分钟后root shell到手。
提权之后的事
拿到root不代表结束。清理日志、留后门、横向移动,这些才是攻击者的完整链路。但从防御角度看,提权成功意味着前面所有防线都已经失效。与其纠结怎么检测提权,不如先把SUID清理一遍、把cron脚本改成绝对路径、把内核补丁打上。
这些事不酷,但有用。
Tags:
上一篇:河北廊坊招聘信息网
下一篇:企业服务管理系统网站
相关文章
伪造黑客网站
探索我花了二十分钟,用现成的网页模板改了改,一个带暗黑界面、滚动代码雨和假入侵进度条的“黑客网站”就上线了。域名是随手注册的,服务器是免费主机,SSL证书都没装。它看起来像模像样——标题写着“匿名者行动组 ...
【探索】
阅读更多网站修复工具
探索网站崩了,比电脑蓝屏还让人绝望。尤其是凌晨三点,整个办公室只剩你一个人,屏幕上的错误代码像一串看不懂的摩斯密码。我上次遇到这种事,是给一家本地餐厅修他们的订座系统。客户急得不行,说周末预约全乱了,电话 ...
【探索】
阅读更多EM网站
探索EM网站上线第三周,我盯着后台数据,发现一个扎心的事实:用户平均停留时间只有47秒。这个数字像一记闷棍,让我意识到自己精心策划的“内容矩阵”完全失败了。 EM网站最初定位是“泛科技资讯平台”,每天更新 ...
【探索】
阅读更多