网络安全 --- 基于网络安全的 Linux 最敏感目录及文件利用指南
目录
基于网络安全的 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 等)和文件是网络安全攻防的焦点。攻击者可能利用这些资源进行密码破解、权限提升、后门植入等操作,而防御者则需通过权限控制、日志监控和定期审计来保护系统。掌握这些目录和文件的利用方式,不仅能提升渗透测试能力,也能增强系统防护水平。
