一、枚举Linux下的proc文件系统
1. proc 文件系统
proc是伪文件系统,提供了内核数据结构的接口。proc文件是只读的,只有一些具备写权限,允许内核变量修改的。
2. 红/蓝队应该注意的文件
cat /proc/net/arp 查看ARP缓存信息,可用于枚举局域网存活主机。
/proc/net/dev 网络设备状态信息和基本统计信息,它被ifconfig程序使用,可用于枚举网络接口。
/proc/net/route 包含路由表信息,IP地址使用16进制形式。
/proc/net/tcp tcp socket表信息,可以用于枚举网络连接和监听端口,ip地址使用16进制表示。如果rem_address字段是NULL,则local_address是监听端口。
/proc/net/tcp6 这个是ipv6的
/proc/net/udp UDP
/proc/net/udp6 UDP ipv6
/proc/net/wireless 无线网卡信息和基础信息
/proc/[pid]/cmdline 完整的命令行记录,需要注意的是参数切割符为null。
/proc/[pid]/status 进程名称,状态,PPID,UID,GID等信息。
/proc/[pid]/loginuid 这个登陆uid用于跟踪使用哪个账户获得系统访问权限
/proc/[pid]/comm 与进程相关联的命令名称
/proc/[pid]/environ 当前程序启动时的环境变量。
/proc/sched_debug 正在运行的进程信息
/proc/version 内核版本信息
3. 默认路径的配置文件
/root/.bashrc 每次交互shell会执行
/root/.profile 每次用户登录会执行
/root/.bash_history 命令历史记录
/root/.ssh/id_rsa root用户的私钥
/root/.ssh/authorized_keys 通过ssh root用户登录过的公钥
/root/.ssh/known_hosts 通过这个root用户连接过的ssh主机。
/etc/group 用户组信息
/etc/hosts 静态DNS表
/etc/hostname 主机名
/etc/issue Linux发行版本
/etc/lsb-release linux版本和版本信息
/etc/resolv.conf DNS解析服务器
/etc/network/interface 网络接口配置
/etc/crontab 系统计划任务
/var/spool/cron/crontabs/[username] 用户计划任务
/var/log/apt/history.log 安装/删除日志,可用于枚举安装程序