拿到一台CentOS服务器,渗透最直接的渗透路径就是SSH端口。默认22,渗透root密码爆破是渗透老套路,但真正有效的渗透往往不是暴力,而是渗透配置审查。我见过太多管理员把私钥放在/root/.ssh/里还带弱口令,渗透或者干脆开了PermitRootLogin yes。渗透有一次内网测试,渗透对方防火墙规则严得跟铁桶似的渗透,结果我扫到个8080端口开了个Webmin,渗透版本老得能当古董卖,渗透一个已知CVE直接拿Shell。渗透你说这算技术吗?渗透不如说是运气好,但运气往往偏爱那些先做信息收集的渗透人。
拿到立足点之后,提权是重头戏。CentOS默认内核版本通常偏低,脏牛、Dirty Pipe这类漏洞如果没打补丁,基本一打一个准。不过别急着上exp,先看看系统里有什么。sudo -l,查cron任务,翻/etc/passwd,找那些带shell但密码为空的账户。有回测试一台机器,发现个叫oracle的用户,home目录下躺着个.bash_history,里面明晃晃写着数据库备份脚本的密码。提权?根本不用提,直接su过去,比内核漏洞安静多了。真正的渗透是找逻辑漏洞,不是硬碰硬。
横向移动更考验耐心。CentOS服务器上常驻着各种服务,MySQL、Redis、Nginx。Redis未授权访问是老话题了,但架不住还有人开着。写个cron任务反弹Shell,或者用主从复制加载恶意so文件,都能拿到权限。有次遇到个情况,目标机器上Redis没设密码,但绑定了内网IP,外网进不来。没关系,先拿下旁边一台跳板机,再从内网打过去。渗透这事儿,路径比工具重要。
清理痕迹也不能马虎。CentOS的日志都在/var/log/下,secure、messages、btmp,这些都得处理。但别只删文件,攻击时间要抹平,否则蓝队一查时间线就露馅。改文件时间戳,用touch -r引用个老文件,这种小技巧比直接rm -rf更隐蔽。再说,现在很多企业都上了日志审计系统,本地删了没用,得想着怎么绕过网络层监控,比如走加密隧道,或者用DNS隧道传数据。
最后说点实在的。CentOS渗透不是靠背几个exp就能横行,系统管理员也不全是吃素的。有的服务器装了SELinux,默认 enforcing 模式,你拿到的Apache Shell连/home都读不了。有的装了fail2ban,爆破几次IP就被封了。你得学会看上下文,根据实际情况调整策略。别指望每次都能一套组合拳带走,更多时候是蹲在角落里,慢慢磨,等对方犯错。
还有,别把渗透想得太玄乎。很多时候就是查配置、翻文件、试弱口令,跟开锁匠似的。真正的高手不是在键盘上噼里啪啦敲代码,而是清楚知道每一条命令下去会引发什么连锁反应。CentOS作为服务器界的常青树,它的脾气你得摸透——比如yum源里那些老版本软件,比如systemd的坑,比如firewalld的规则优先级。熟悉了这些,渗透起来才顺手。