**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬
🌌 立即前往 👉晖度丨安全视界🚀
▶ 信息收集
▶ 漏洞检测
▶ 初始立足点▶权限提升 ➢ Linux权限提升 ➢ 从"守护进程"和"网络流量"中捕获敏感信息 🔥🔥🔥
▶ 横向移动▶ 报告/分析
▶ 教训/修复
目录
[1.1 寻觅暴露的机密信息实现提权](#1.1 寻觅暴露的机密信息实现提权)
[1.1.1 检查运行的"守护进程"获取敏感信息](#1.1.1 检查运行的“守护进程”获取敏感信息)
[1.1.1.1 什么是系统守护进程](#1.1.1.1 什么是系统守护进程)
[1.1.1.2 枚举技巧:监控进程中的敏感信息](#1.1.1.2 枚举技巧:监控进程中的敏感信息)
[1.1.2 捕获"网络流量"获取敏感信息](#1.1.2 捕获“网络流量”获取敏感信息)
[1.1.2.1 关键工具:tcpdump(网络嗅探器)](#1.1.2.1 关键工具:tcpdump(网络嗅探器))
[1.1.2.2 监听本地流量中的密码](#1.1.2.2 监听本地流量中的密码)
[1.1.2.3 发现成果:root 用户的明文密码](#1.1.2.3 发现成果:root 用户的明文密码)
[1.1.2.4 提权入口](#1.1.2.4 提权入口)
[1.1.3 Linux 中其他可探测的敏感信息源](#1.1.3 Linux 中其他可探测的敏感信息源)
[1.1.3.1 文件系统中的敏感文件](#1.1.3.1 文件系统中的敏感文件)
[1.1.3.2 环境变量泄露](#1.1.3.2 环境变量泄露)
[1.1.3.3 日志文件中的敏感痕迹](#1.1.3.3 日志文件中的敏感痕迹)
[1.1.3.4 SSH 密钥与配置](#1.1.3.4 SSH 密钥与配置)
[1.1.3.5 数据库与 Web 应用配置文件](#1.1.3.5 数据库与 Web 应用配置文件)
[1.1.3.6 计划任务中的敏感信息](#1.1.3.6 计划任务中的敏感信息)
[1.1.3.7 具有 SUID/SGID 权限的二进制文件](#1.1.3.7 具有 SUID/SGID 权限的二进制文件)
[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)
1.Linux权限提升
本系列内容围绕以下四大部分展开,本文是第二部分:++从"守护进程"和"网络流量"中捕获敏感信息实现提权++。
| 攻击向量 | 核心概念 | 典型检查/利用方法 | 关键风险点 |
|---|---|---|---|
| 1. 系统枚举 | 全面侦查,像侦探一样收集一切可能指向弱点的线索。 | - 检查系统配置、用户与组、历史命令。 - 枚举运行服务、网络连接、进程。 - 列出安装软件、内核版本、计划任务。 | 信息收集不全面,导致错过关键漏洞入口。 |
| 2. 暴露的机密信息 | 系统或应用中意外留存的可直接利用的敏感数据。 | - 查找配置文件中的硬编码密码。 - 搜索日志文件中的敏感数据或错误信息。 - 检查环境变量中的密钥、令牌或密码。 | 访问凭证直接泄露,提供最直接的攻击突破口。 |
| 3. 不安全的文件权限 | 文件或目录的权限设置不当,允许低权限用户进行越权操作。 | - 全局可写文件/目录 :任何用户可修改,用于注入恶意代码或替换文件。 - 不当所有权 :低权限用户拥有关键系统文件,可直接修改。 - SUID/SGID滥用:高权限程序存在漏洞或配置错误,可被利用来获取其权限。 | 通过文件系统层面的配置错误,绕过权限限制。 |
| 4. 利用系统组件 | 利用操作系统内核、系统服务或第三方应用程序中存在的漏洞。 | - 脆弱服务 :攻击以高权限(如root)运行的未更新或配置不当的服务。 - 内核漏洞 :利用操作系统内核本身的漏洞直接提权。 - 软件漏洞:利用第三方应用(如编辑器、数据库)的漏洞执行高权限代码。 | 利用代码层面的漏洞,实现权限的实质性提升。 |
1.1 寻觅暴露的机密信息实现提权
在渗透测试中,时间宝贵,应优先关注那些容易获取成果的目标和漏洞------也就是 "低悬的果实"(Low‑Hanging Fruit) 🍎。其中一个重点目标就是用户历史文件 ,这些文件常常包含:明文用户信息 ,甚至可能直接泄露密码或其他身份验证材料。
本文检查 运行的++"守护进程"++获取敏感信息 和捕获++"网络流量"++获取敏感信息。
1.1.1 检查运行的"守护进程"获取敏感信息
1.1.1.1 什么是系统守护进程
系统守护进程是Linux启动时自动运行的后台服务 ,用于执行特定任务而无需用户交互 。常见的有 SSH 、Web服务器 、数据库等。
系统管理员有时会编写++自定义守护进程++ 来处理临时任务,但往往忽视安全最佳实践,为攻击者留下可乘之机。
1.1.1.2 枚举技巧:监控进程中的敏感信息
作为权限提升枚举的一部分,检查运行进程 可能发现管理员留下的异常行为,尤其是以 root 权限运行的进程中暴露的敏感数据(如明文密码)。
| 系统对比 | 说明 |
|---|---|
| 🪟 Windows | 通常无法列出高权限进程的详细信息 |
| 🐧 Linux | 可以查看所有进程(包括 root 进程)的命令行参数,是信息收集的突破口 |
⌨️ 实用命令示例:
bash
$ watch -n 1 'ps -aux | grep pass'
-
watch -n 1:每隔 1 秒 刷新一次命令输出,直到手动停止(使用 Ctrl + C)。 -
ps -aux:列出所有当前运行的进程。 -
grep pass:过滤出进程信息中包含pass字符串的行。
💡 作用:持续监控进程,捕捉瞬间出现的明文密码或凭证。
🎯 发现成果:明文凭证与提权路径

通过上述命令,我们观察到管理员配置一个自定义守护进程 ,它以 root 身份运行 ,并且命令行中明文 包含了用户 eve 的密码:
👤 用户名 :
eve🔑 密码 :
Lab123
该进程的存在印证了管理员因忽视安全最佳实践,在守护进程中硬编码了凭证 。接下来,攻击者可利用此密码登录 eve 用户,而该用户具有 sudo 权限 (可提权至 root),从而完全控制服务器。(详见前一篇文章1.1.2.3节)
⚠️ 总结:
-
守护进程 虽然是 Linux 的常见组件,但自定义脚本中硬编码敏感信息是重大安全隐患。
-
通过监控进程(如
watch + ps)可以实时捕获这些暴露的凭证。 -
本例中,发现 root 进程中的明文密码
eve:Lab123,直接打通从普通用户到 root 的提权路径。
1.1.2 捕获"网络流量"获取敏感信息
在权限提升的枚举阶段,除了检查进程,我们还需验证自己是否有权捕获网络流量 。网络中的数据包就像公开的信件,如果未加密,里面的内容(如密码)就可能被任何人偷看。
1.1.2.1 关键工具:tcpdump(网络嗅探器)
tcpdump 是Linux 的一款强大的网络抓包工具,能捕获网卡上流过的所有数据包。它广泛应用于网络故障排查、性能监控和渗透测试。
🔐 权限要求 :
tcpdump需要 root 权限 ,因为它操作的是原始套接字 (直接读取网卡数据)。打个比方:普通用户只能看到自己的信件,而 root 用户可以监听整条线路上的所有通话。
然而,IT 管理员有时会被授予 sudo 权限 来运行 tcpdump,以便快速排查网络问题。这意味着某些非 root 用户也可能具备抓包能力,这正是攻击者可以利用的入口。
| 可能拥有抓包权限的用户 | 原因 |
|---|---|
| 👨💻 IT 管理员账号 | 被赋予特定 sudo 权限用于故障排查 |
| 🔧 运维人员账号 | 需要监控网络流量 |
| 🧪 测试账号 | 临时调试需求 |
1.1.2.2 监听本地流量中的密码
假设我们已获得一个普通用户 joe 的 shell,并发现他可以通过 sudo 执行 tcpdump(例如通过 sudo -l 查看)。于是我们运行:
bash
$ sudo tcpdump -i lo -A | grep "pass"
-
-i lo:监听 本地回环接口 (lo),即本机内部通信的虚拟网卡。很多服务(如数据库、Web 应用)会在本地通信中暴露敏感信息。 -
-A:将数据包内容以 ASCII 格式 打印出来,方便直接读取字符串。 -
| grep "pass":实时过滤并输出包含"pass"的行,精准定位密码。
1.1.2.3 发现成果:root 用户的明文密码

几秒钟后,屏幕上出现了惊喜------我们捕获到了 root 用户的明文凭证!这可能是某个服务(如未加密的 FTP、HTTP 登录)在本地回环接口上发送了登录请求,密码直接暴露在网络流量中。如上图所示。
1.1.2.4 提权入口
这个明文密码直接让我们获得 root 用户权限的钥匙 。通过 su root 或 ssh root@localhost,我们即可登录为 root,彻底控制服务器。
💡 总结与启发
-
网络流量是敏感信息的富矿:未加密的通信(尤其是本地回环)经常泄露密码、令牌等。
-
检查抓包权限至关重要 :
sudo -l查看是否有tcpdump或类似工具的 sudo 权限。 -
不安全配置的代价 :授予普通用户抓包权限,相当于把监听整栋大楼电话线的钥匙交给了可疑人员。
1.1.3 Linux 中其他可探测的敏感信息源
除了守护进程 和网络流量 ,Linux 系统中还存在大量配置不当或疏忽留下的敏感信息,它们同样是权限提升的"金矿"。下面列出几种常见的枚举方向,帮助你在渗透测试或 CTF 中快速定位突破口。这里做简单列举,不一一详细展开。
1.1.3.1 文件系统中的敏感文件
Linux 系统中许多文件以明文存储敏感数据,若权限配置不当,普通用户即可读取。
| 文件路径 | 作用 | 探测命令 | 风险说明 |
|---|---|---|---|
/etc/passwd |
用户账户信息(可读) | cat /etc/passwd |
可能泄露用户列表,早期系统可写入(提权) |
/etc/shadow |
密码哈希(仅 root 可读) | ls -l /etc/shadow |
若权限为 644,普通用户可读哈希,用于破解 |
.bash_history |
用户命令历史 | cat ~/.bash_history |
可能包含密码、敏感操作 |
.mysql_history |
MySQL 命令历史 | cat ~/.mysql_history |
可能暴露数据库密码 |
备份文件(.bak、.old) |
各种配置文件备份 | find / -name "*.bak" 2>/dev/null |
可能包含未加密的密码、密钥 |
💡 例子 :若发现
/etc/shadow权限为-rw-r--r--,可直接读取所有用户的密码哈希,用 John 或 Hashcat 破解。
1.1.3.2 环境变量泄露
某些程序会将敏感信息(如:API 密钥、密码)存储在环境变量中,若未正确保护,可通过 env 或 printenv 查看,这在前文有具体内容。
bash
$ env | grep -i "pass\|key\|secret"
- 若发现类似
AWS_SECRET_ACCESS_KEY=xxxxxxxx的变量,可直接用于云服务提权。
1.1.3.3 日志文件中的敏感痕迹
日志文件(如 /var/log/ 下的文件)可能记录错误信息或调试输出,其中可能包含明文密码。
| 日志文件 | 关注内容 | 命令示例 |
|---|---|---|
/var/log/auth.log |
认证日志 | `sudo cat /var/log/auth.log |
/var/log/messages |
系统日志 | `cat /var/log/messages |
/var/log/apache2/access.log |
Web 访问日志 | 可能记录 GET 请求中的密码参数 |
1.1.3.4 SSH 密钥与配置
-
私钥泄露 :若用户目录下的
.ssh/id_rsa或.ssh/id_dsa权限为 644(应 600),可被其他用户读取,直接用于 SSH 登录。 -
authorized_keys 可写 :若
~/.ssh/authorized_keys可写,可添加自己的公钥实现无密码登录。
bash
find /home -name "id_rsa" -o -name "id_dsa" 2>/dev/null
find / -name "authorized_keys" -writable 2>/dev/null
1.1.3.5 数据库与 Web 应用配置文件
Web 应用(如 WordPress、Django)的配置文件 中常包含++数据库连接密码++,若文件权限设置不当(如 644),可被读取文件中的信息。
常见路径:
-
/var/www/html/wp-config.php -
/var/www/html/config.php -
/etc/mysql/debian.cnf(Debian 系统 MySQL 自动登录凭证)
bash
grep -r "password" /var/www/ 2>/dev/null
1.1.3.6 计划任务中的敏感信息
查看 /etc/crontab、/etc/cron.d/ 或用户计划任务(crontab -l),可能发现以明文写入的密码(如 echo "password" | command)。这个在前文有详细内容。
bash
cat /etc/crontab
ls -la /etc/cron.d/
grep -r "pass" /etc/cron* 2>/dev/null
1.1.3.7 具有 SUID/SGID 权限的二进制文件
虽然这不直接泄露敏感信息,但通过运行具有特殊权限的程序,可借助其漏洞或功能读取敏感文件(如 cat /etc/shadow)。在前文也有详细内容。例如:
bash
find / -perm -4000 -type f 2>/dev/null # SUID 文件
find / -perm -2000 -type f 2>/dev/null # SGID 文件
例如,若
find命令具有 SUID 权限,可用find /etc/shadow -exec cat {} \;读取 shadow 文件。
🛡️ 安全建议:始终遵循最小权限原则,严格配置文件权限,避免在命令行或脚本中硬编码密码,并定期审计敏感信息的存储方式。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。
