finger 是什么
finger 是早期的用户信息查询协议(RFC 1288):客户端向目标主机的 fingerd 查询某个用户或当前登录者列表,返回项通常包含登录名、真实姓名、终端、空闲时间、登录时间与办公地点,部分实现还会读取用户目录下的计划文件。它是最经典的信息泄露面之一,现代系统默认都不再安装。
基本信息
| 服务 | finger / fingerd |
|---|---|
| 协议 | TCP 79 |
| 规范 | RFC 1288 |
| 返回内容 | 登录名、姓名、终端、空闲与登录时间、计划文件 |
| 现状 | 默认不安装,属应关闭的历史服务 |
典型使用场景
- 历史系统盘点:确认是否仍有 fingerd 在监听
- 安全评估:账号枚举的第一批尝试对象
- 教学复现:在授权实验环境里演示信息泄露的完整链条
- 日志分析:把 finger 访问记录列入异常探测的观察项
- 清理收尾:确认服务下线的同时清理相关配置文件
典型返回字段与价值
| 字段 | 含义 | 攻击者视角 |
|---|---|---|
| Login | 登录名 | 构造用户名列表的起点 |
| Name | 真实姓名 | 社工素材与邮箱猜测 |
| TTY / Idle | 终端与空闲时间 | 判断账号是否活跃、是否有人值守 |
| When | 登录时间 | 推断工作时段 |
| Plan | 用户计划文件 | 常被填入内部信息与联系方式 |
确认是否存在与关闭
确认是否存在与关闭
nc -vz -w2 192.0.2.10 79
ss -lntp | grep ':79'
# finger 客户端(若本机装有该工具)
finger user@192.0.2.10
# 关闭服务:停用并禁用对应单元/超级守护进程中的 finger 条目finger 长期是攻击者枚举账号的常用跳板:保留它只为个别内部查询,却把账号清单与人员信息暴露给整个可路由网段,代价与收益严重不匹配。
清理要点:关闭服务后一并清理相关配置文件与计划文件中的敏感内容,并检查边界防火墙是否仍放行 79;只停服务不改策略,端口仍可能被其它进程复用。
盘点建议
- 把 79 列入历史服务清单,定期扫描确认无监听
- 边界与网段间统一封禁,避免只在内网保留例外
- 相关主机上检查是否还有其它同类信息泄露服务
- 把发现项纳入整改闭环,记录关闭时间与验证方式