CentOS作为企业级服务器操作系统的首选,其稳定性与安全性备受推崇,但在内网渗透测试中,一旦攻破边界防线进入CentOS环境,后续的横向移动与权限提升则是决定测试深度的关键,针对CentOS的内网渗透并非简单的命令执行,而是一个系统化的攻防对抗过程,核心在于通过精细化的信息收集构建内网拓扑,利用系统特性进行权限提升,并通过隐蔽的隧道技术维持访问,只有深入理解CentOS的运行机制与安全配置,才能在内网环境中实现高效、隐蔽的渗透控制。
全面的信息收集是渗透成功的基石

在获取到CentOS的初始Shell后,盲目地进行漏洞扫描往往是最低效的策略,专业的渗透测试人员首先会进行“静默”式的信息收集,旨在了解当前主机的角色、网络位置以及潜在价值。
主机基础信息的侦察,通过查看/etc/issue、/etc/osrelease确认具体的CentOS版本,这直接决定了后续提权Exploit的选取,利用uname a查看内核版本,许多著名的内核提权漏洞(如Dirty COW)都依赖于特定的内核版本,通过ps aux、systemctl listunits type=service分析当前运行的进程与服务,重点关注数据库、Web容器以及运维监控软件,这些往往是内网凭证的聚集地。
网络拓扑的探测,CentOS作为服务器,通常拥有多块网卡,使用ip addr或ifconfig不仅能看到外网IP,更能发现内网网段,结合ss antlp或netstat antlp查看端口监听情况,可以判断当前主机是否与内网其他资产存在连接,发现连接了3306端口,可能意味着本地存在数据库配置文件或进程内存中存有密码,检查~/.ssh/目录下的known_hosts和id_rsa*文件,往往是实现SSH免密横向移动的“黄金钥匙”。
用户与凭证的搜集,分析/etc/passwd与/etc/shadow(若有读权限)寻找可登录用户,检查当前用户的历史命令~/.bash_history,管理员往往会在命令行中误输入密码或访问敏感路径,对于Web应用,重点搜寻配置文件,如Web目录下的config.php、database.yml等,这些文件通常包含明文数据库密码,而数据库密码往往复用于系统登录,从而实现从Web权限到系统权限的跨越。
多维度权限提升技术
在信息收集的基础上,若发现当前为普通用户权限,则需要进行权限提升(Privilege Escalation),CentOS环境的提权主要围绕内核漏洞、SUID程序、配置错误以及第三方软件漏洞展开。
内核漏洞提权具有极高的成功率,通过收集到的内核版本,在漏洞库中匹配对应的Exploit代码,针对CentOS 7常用的3.10.0内核版本,存在多个本地提权漏洞,执行此类攻击需注意Exploit的稳定性,避免导致服务器崩溃而暴露行踪。

SUID与SGID程序利用是Linux提权的经典手法,使用find / perm u=s type f 2>/dev/null命令查找所有带有SUID位的文件,重点关注系统自带的可被利用的二进制文件,如nmap(旧版本交互模式)、vim、find、bash等,若find命令拥有SUID位,可通过执行find / exec whoami \;来测试提权可能性,检查环境变量,若管理员配置了PATH变量劫持,如在脚本中调用相对路径命令,则可通过创建恶意文件实现提权。
计划任务与配置文件检查同样重要,查看/var/spool/cron/、/etc/crontab以及/etc/cron.d/下的定时任务,寻找权限配置不当的任务,如果root执行的定时任务指向了普通用户可写的文件或脚本,通过修改该文件即可在下次执行时获得root权限,检查/etc/fstab,若存在挂载外部设备且配置了user执行权限,也可能通过特定的文件系统操作进行提权。
隐蔽的横向移动与隧道技术
获取最高权限后,渗透的目标转向内网其他主机,CentOS环境下的横向移动主要依赖凭证复用与隧道代理。
SSH凭证复用是最直接的方式,若在信息收集阶段获取了私钥或明文密码,可编写Expect脚本或使用ProxyCommand配合SSH进行批量登录测试,为了防止触发安全设备的告警,通常需要控制并发速度,并尽量使用SSH协议支持的端口转发功能。
端口转发与隧道搭建是穿透内网隔离的核心,利用CentOS自带的SSH工具,可以建立动态(SOCKS)或正向/反向隧道,使用ssh D 1080 user@target建立SOCKS代理,将攻击流量通过CentOS转发进内网,若目标无法直接回连,可借助ssh R命令将内网端口映射到攻击者的VPS上,在无法使用SSH的情况下,上传静态编译的reGeorg、frp或lcx等工具也是常见的代理手段。
CentOS环境下的防御加固建议

渗透测试的最终目的是为了提升安全性,针对上述攻击路径,企业应采取专业的防御措施。
严格控制系统权限,遵循最小权限原则,禁止普通用户拥有SUID文件,定期审计/etc/sudoers配置,及时更新系统内核,使用yum update修补已知的高危漏洞,加强日志审计能力,CentOS的/var/log/目录下的日志是入侵检测的重要依据,建议配置远程日志服务器,防止攻击者擦除本地日志,开启Auditd服务,对敏感文件的读写、系统调用进行监控,部署主机安全软件(HIDS)和内网流量分析设备,对异常的SSH连接、端口扫描行为进行实时阻断。
相关问答
问:在CentOS渗透中,如何快速判断当前系统是否存在内核提权漏洞? 答:首先使用uname r命令获取准确的内核版本号,将该版本号输入到漏洞数据库(如ExploitDB、SearchSploit)中进行检索,可以使用自动化提权辅助工具如LinPEAS或Linux Exploit Suggester,这些工具会自动分析系统版本、已安装的补丁,并推荐可用的提权脚本,大大提高效率。
问:获取到CentOS的Webshell后,为何无法反弹Shell,有哪些解决方案? 答:这通常是因为目标服务器出站防火墙拦截了TCP连接或禁用了/bin/bash,解决方案包括:1. 尝试使用反向TCP连接的其他端口,如80或443;2. 使用ICMP或DNS隧道进行数据回传;3. 若是PHP环境,尝试利用phpsocks等脚本直接在Web层建立代理;4. 检查python或perl是否可用,有时解释型语言的反弹Shell限制较少。
希望以上关于CentOS内网渗透的技术分享能为大家提供实质性的帮助,如果你在实际操作中遇到过特殊的提权场景或有趣的防御案例,欢迎在评论区分享你的经验与见解。

