目录
基于网络安全的 Linux 最敏感目录及文件利用指南
Linux 中最敏感的目录及文件
1. /etc
2. /root
3. /var/log
4. /proc
5. /tmp
6. /home
7. /boot
8. /dev
如何利用这些敏感文件
你可能没想到的知识点
总结
Linux 中最敏感的目录及文件
1. /etc
-
存放内容:系统配置文件,包括用户账户、密码哈希、服务配置等。
-
敏感文件:
-
/etc/passwd
:存储所有用户账户信息,包括用户名、UID、GID、家目录等。 -
/etc/shadow
:存储用户密码的哈希值,仅 root 可读。 -
/etc/sudoers
:定义哪些用户可以使用 sudo 执行特权命令。 -
/etc/hosts
:本地主机名与 IP 地址的映射,用于解析域名。 -
/etc/ssh/sshd_config
:SSH 服务的配置文件。
-
-
利用方式:
-
读取
/etc/passwd
:获取用户列表,结合弱密码尝试爆破。 -
读取
/etc/shadow
(若有权限):使用工具(如 John the Ripper 或 Hashcat)破解密码哈希。 -
修改
/etc/sudoers
:为普通用户添加 sudo 权限,实现权限提升。 -
修改
/etc/hosts
:添加虚假域名映射,实施 DNS 欺骗或流量重定向。 -
修改
/etc/ssh/sshd_config
:启用 root 登录或更改端口,绕过安全策略。
-
2. /root
-
存放内容:root 用户的家目录,包含 root 的个人文件和配置。
-
敏感文件:
-
/root/.bash_history
:root 用户的历史命令记录。 -
/root/.ssh/
:包含 SSH 密钥(如authorized_keys
和私钥)。
-
-
利用方式:
-
读取
/root/.bash_history
:查找 root 执行过的敏感命令,获取关键信息。 -
读取
/root/.ssh/authorized_keys
:获取公钥,尝试匹配私钥登录。 -
写入
/root/.ssh/authorized_keys
:添加攻击者公钥,实现无密码远程登录。
-
3. /var/log
-
存放内容:系统和应用的日志文件,记录系统事件和用户活动。
-
敏感文件:
-
/var/log/auth.log
:记录认证事件,如登录尝试。 -
/var/log/syslog
:记录系统运行的详细信息。 -
/var/log/apache2/access.log
:Web 服务器访问日志(若安装 Apache)。
-
-
利用方式:
-
读取
/var/log/auth.log
:分析登录失败记录,猜测弱密码。 -
读取
/var/log/syslog
:查找系统漏洞或异常事件。 -
修改或删除日志:清除攻击痕迹,规避检测。
-
4. /proc
-
存放内容:虚拟文件系统,提供运行时进程和硬件信息。
-
敏感文件:
-
/proc/[pid]/cmdline
:进程的命令行参数。 -
/proc/[pid]/environ
:进程的环境变量。 -
/proc/[pid]/fd/
:进程打开的文件描述符。
-
-
利用方式:
-
读取
/proc/[pid]/cmdline
:查看进程启动参数,寻找敏感数据。 -
读取
/proc/[pid]/environ
:提取环境变量中的敏感信息(如 API 密钥)。 -
读取
/proc/[pid]/fd/
:访问进程打开的文件,可能包含敏感内容。
-
5. /tmp
-
存放内容:临时文件目录,所有用户通常可写。
-
敏感文件:用户或系统生成的临时文件。
-
利用方式:
-
写入恶意脚本:在
/tmp
创建脚本,诱导其他用户或服务执行。 -
利用不安全临时文件:通过竞争条件攻击,覆盖或篡改文件。
-
6. /home
-
存放内容:普通用户的家目录,包含个人文件和配置。
-
敏感文件:
-
/home/[user]/.bash_history
:用户的历史命令。 -
/home/[user]/.ssh/
:用户的 SSH 密钥和配置文件。
-
-
利用方式:
-
读取
.bash_history
:获取用户执行过的命令,寻找敏感信息。 -
读取
.ssh/authorized_keys
:尝试使用私钥登录。 -
写入
.ssh/authorized_keys
:添加攻击者公钥,实现无密码登录。
-
7. /boot
-
存放内容:系统启动相关文件,包括内核和引导配置。
-
敏感文件:
-
/boot/grub/grub.cfg
:GRUB 引导加载程序的配置文件。
-
-
利用方式:
-
修改
/boot/grub/grub.cfg
:更改启动参数,加载恶意内核或 initrd。
-
8. /dev
-
存放内容:设备文件,表示硬件和虚拟设备。
-
敏感文件:
-
/dev/mem
:物理内存的设备文件。 -
/dev/kmem
:内核虚拟内存的设备文件。
-
-
利用方式:
-
读取
/dev/mem
:直接访问物理内存,绕过权限限制。 -
写入
/dev/mem
:修改内存数据,执行任意代码。
-
如何利用这些敏感文件
-
密码破解:
-
获取
/etc/shadow
后,使用 John the Ripper 或 Hashcat 破解密码。 -
分析
/var/log/auth.log
中的登录失败记录,尝试爆破弱密码。
-
-
权限提升:
-
修改
/etc/sudoers
,为普通用户赋予特权。 -
利用 SUID/SGID 文件,以文件所有者权限执行命令。
-
-
后门植入:
-
在
/root/.ssh/authorized_keys
或用户家目录的.ssh/authorized_keys
添加攻击者公钥。 -
修改服务配置文件(如
/etc/ssh/sshd_config
),启动时执行恶意代码。
-
-
信息收集:
-
读取
.bash_history
,获取用户操作历史。 -
从
/proc/[pid]/environ
提取环境变量中的敏感数据。
-
-
日志篡改:
-
修改或删除
/var/log
中的日志,隐藏攻击行为。
-
-
竞争条件攻击:
-
在
/tmp
创建符号链接,指向敏感文件,诱导其他进程写入。
-
你可能没想到的知识点
-
/proc/self:
-
一个符号链接,指向当前进程的
/proc/[pid]
目录。 -
可通过
/proc/self/fd/
访问当前进程打开的文件句柄。
-
-
/etc/passwd 和 /etc/shadow 的权限差异:
-
/etc/passwd
是世界可读的,任何用户都能看到用户列表。 -
/etc/shadow
仅 root 可读,攻击者需提升权限才能访问。
-
-
/dev/shm:
-
基于内存的文件系统,用于进程间通信。
-
攻击者可在此创建恶意文件,诱导其他进程加载。
-
-
/sys:
-
包含硬件和内核模块信息。
-
可用于收集硬件细节或修改内核参数。
-
-
环境变量中的敏感信息:
-
环境变量可能包含 API 密钥或数据库密码。
-
通过
/proc/[pid]/environ
可提取这些信息。
-
-
SUID/SGID 位:
-
允许普通用户以文件所有者权限执行程序。
-
攻击者可利用误配置的 SUID 文件提升权限。
-
-
符号链接攻击:
-
创建指向敏感文件的符号链接,诱导其他进程误操作。
-
-
内核模块利用:
-
加载恶意内核模块,直接在内核态执行代码。
-
总结
Linux 系统中的敏感目录(如 /etc
、/root
、/var/log
等)和文件是网络安全攻防的焦点。攻击者可能利用这些资源进行密码破解、权限提升、后门植入等操作,而防御者则需通过权限控制、日志监控和定期审计来保护系统。掌握这些目录和文件的利用方式,不仅能提升渗透测试能力,也能增强系统防护水平。