1、20/21-FTP
|
|
TP 是文件传输协议。
21/TCP:控制连接,登录、发送 FTP 命令。20/TCP:传统主动模式的数据连接。
匿名访问:FTP 可能允许 anonymous 用户访问。真正需要检查的是匿名用户能不能:
- 查看目录
- 下载敏感文件
- 上传文件
- 修改/删除文件
- 写入 Web 目录等敏感位置
爆破:实际上就是弱口令/密码猜测风险。
嗅探:传统 FTP 默认明文传输用户名密码,因此如果攻击者已经具备流量监听条件,凭据可能泄露。
提权:
|
|
ProFTPD / vsftpd:属于版本漏洞或供应链事件。
2、22-SSH
|
|
SSH 是安全远程登录协议,也是 Linux/Unix 环境里非常重要的管理入口。
常见用途包括:
- 远程终端
- SCP/SFTP 文件传输
- 端口转发
- SOCKS 代理
- SSH 隧道
“SSH 隧道、内网代理转发”则是说:如果已经合法获得某台机器的 SSH 访问权限,它可能成为访问其他内部服务的网络跳板。
3、23-Tenet
|
|
远程终端协议:默认不加密
用户名、密码和命令都可能以明文形式在网络上传输。
所以现在发现 Telnet,关注点通常是:
- 默认账号
- 弱密码
- 明文认证
- 老旧网络设备
- 不必要的公网暴露
4、25-SMTP
SMTP 用于发送邮件。
|
|
VRFY
用于确认某个邮件用户是否存在。
例如概念上服务器可能告诉客户端:
这个邮箱用户存在 / 不存在
如果服务器返回信息太详细,就可能造成邮箱账号枚举。
EXPN
历史上用于查询邮件列表成员,也可能泄露内部邮箱信息。
5、53-DNS
|
|
DNS 是域名解析系统。
一般:
UDP 53:普通 DNS 查询。TCP 53:较大的响应、区域传送等场景
区域传送
DNS 服务器之间同步区域数据的机制。
如果配置错误,可能泄露类似:
|
|
这样会暴露大量内部资产信息。
DNS 缓存投毒
让 DNS 缓存保存错误的域名解析结果。
目标可能表现为:
|
|
DNS 隧道
把数据编码进 DNS 查询/响应,通过 DNS 通信。
因此防守侧会关注异常:
- 超长域名
- 高频 DNS 查询
- 大量随机子域名
- 异常 TXT 请求
6、69-TFTP
|
|
TFTP 是一个非常简单的文件传输协议,常见于:
- 路由器
- PXE
- 网络启动
- 交换机配置
- 固件部署
而且通常没有复杂认证机制。
因此如果配置错误,可能泄露:
- 网络设备配置
- 启动镜像
- 配置备份
- 密码哈希
- 网络拓扑信息
7、80-89,443,8440-8450,8080-8089各种常用的Web服务端口
|
|
看到 Web 端口以后,端口号已经不是重点了,重点变成 Web 应用本身。
例如可能出现:
|
|
接下来关注:
- 登录页面
- 默认账号
- 权限控制
- 文件上传
- SQL 注入
- XSS
- SSRF
- 文件包含
- 路径穿越
- API 权限
- 组件版本
- 中间件漏洞
- 配置文件泄露
因此:
端口只是入口,真正需要识别的是端口后面跑了什么应用。
8、110-POP3
|
|
POP3 用于收取邮件
风险主要包括:
- 弱密码
- 明文认证
- 用户名枚举
- 老旧服务器漏洞
9、111,2049-NFS
|
|
NFS 用于网络共享文件系统。
例如本来只应该:
|
|
访问,却错误允许了大量主机。
可能导致:
- 敏感文件泄露
- 配置文件泄露
- SSH Key 泄露
- 可写共享目录
- 权限映射错误
10、137,139,445-Samba
|
|
11、143-IMAP
|
|
IMAP 也是邮件读取协议。
风险和 POP3 类似:
- 弱密码
- 明文认证
- 用户枚举
- 邮件泄露
- 老旧服务漏洞
12、161 — SNMP
|
|
SNMP 是网络设备管理协议。
如果配置错误,SNMP 可以泄露大量信息:
- 主机名
- 网卡
- IP
- 路由表
- 进程
- 软件
- 网络接口
- 系统描述
所以 SNMP 经常是内网信息收集的重要来源。
13、389 — LDAP
|
|
LDAP 是目录服务协议。
匿名绑定
如果服务器配置不当,未认证用户可能读取目录信息。
LDAP 注入
和 SQL 注入思路类似:
用户输入被错误拼接进 LDAP 查询。
信息泄露
可能泄露:
- 用户
- 组
- 邮箱
- 组织结构
- 域信息
14、512 / 513 / 514 — r-services
|
|
15、873 — rsync
|
|
rsync 用于文件同步。
如果 rsync module 配置错误,可能出现:
- 匿名访问
- 文件下载
- 目录泄露
- 可写同步目录
因此关注的是:
哪些 module 暴露、是否要求认证、共享目录包含什么。
16、1194 — OpenVPN
|
|
OpenVPN 并不强制必须用 1194。
VPN 是进入内部网络的入口,因此测试关注:
- 账号安全
- MFA
- 证书管理
- 配置泄露
- 旧版本漏洞
- 不必要的外网暴露
17、1433 — SQL Server
|
|
安全关注:
- sa 等高权限账号
- 弱密码
- 数据库暴露公网
- SQL 注入
- 数据库权限
- 数据泄露
- 老旧 SQL Server 漏洞
还要区别:
SQL 注入是应用层问题,不代表 1433 开放就存在 SQL 注入。
18、1352 - Lotus
|
|
19、1521 — Oracle
|
|
1521 暴露后重点确认:
- Oracle 版本
- SID / Service Name
- Listener 配置
- 默认账号
- 弱密码
- 数据库权限
- 补丁状态
20、1723 — PPTP
|
|
PPTP 是一种老 VPN 协议。
21、1500 - ISPmanager
|
|
22、2082 / 2083 — cPanel
|
|
Web 主机控制面板。
常见:
- 2082:HTTP
- 2083:HTTPS
关注:
- 弱密码
- 默认账号
- MFA
- 老旧 cPanel
- 插件漏洞
- 面板是否公开暴露
23、2181 — ZooKeeper
|
|
ZooKeeper 常用于分布式系统协调。
历史上安全测试经常关注:
未授权访问。
因为老环境可能缺乏严格认证。
泄露内容可能包括:
- 集群配置
- 服务发现数据
- 节点信息
- 分布式系统元数据
24、2601 / 2604 —Zebra/Quagga
|
|
25、3128 — Squid
|
|
Squid 是 HTTP 代理服务器
安全关注点:
- 是否成为 Open Proxy
- ACL 配置
- 内网访问权限
- 弱认证
- 缓存数据
- 老版本漏洞
26、3312,3311 - kangle
|
|
27、3306 — MySQL
MySQL
重点检查:
- 是否暴露公网
- root 是否可远程登录
- 弱密码
- 匿名用户
- 数据库权限
- 数据泄露
- 数据库版本
“提权”一般是:
已经取得数据库一定权限后,再结合系统配置错误产生进一步影响。
28、3389 — RDP
|
|
RDP 安全重点是:
- NLA
- MFA
- 账号锁定
- 弱口令
- 公网暴露
- Windows 补丁
- RD Gateway
29、3690 — SVN
|
|
权限配置错误,可能泄露:
- 源代码
- 配置
- 数据库密码
- API Key
- 部署信息
30、4848 — GlassFish
|
|
GlassFish 是 Java 应用服务器。
4848 常作为管理界面端口。
安全检查重点:
- 管理控制台
- 默认账号
- 弱密码
- 老版本漏洞
- 部署权限
- 网络访问控制
31、5432 — PostgreSQL
|
|
思路和 MySQL、SQL Server 类似:
- 弱口令
- 认证配置
- PostgreSQL 用户权限
- 数据库公网暴露
pg_hba.conf- 版本漏洞
- 数据泄露
32、5000 - Sybase/DB2
|
|
33、5900,5901,5902 - VNC
|
|
VNC 用于远程桌面。
风险:
- 弱密码
- 无密码认证
- 老旧 VNC
- 缺乏加密
- 公网暴露
34、5984 — CouchDB
|
|
典型关注:
- 未认证访问
- 管理员配置
- 数据库暴露
- 老版本漏洞
35、6379 — Redis
安全重点:
- 是否暴露公网
- 是否需要认证
- ACL
- bind 地址
- protected mode
- Redis 版本
- 数据内容
Redis 未授权访问本身就可能造成:
- 数据泄露
- 数据修改
- 数据删除
36、7001 / 7002 — WebLogic
|
|
Oracle WebLogic 是 Java 中间件。
重点:
- WebLogic 版本
- Admin Console
- 弱密码
- Java 反序列化
- 历史 CVE
- 管理接口暴露
37、 7778 - Kloxo
|
|
38、8000 - Ajenti
|
|
39、8009 — Tomcat AJP
|
|
AJP 是 Tomcat 与前端 Web Server 通信的一种协议。
40、8443 - Plesk
|
|
41、8069 — Zabbix
|
|
Zabbix 是监控系统。
Zabbix 真正需要关注:
- 前端版本
- 登录认证
- 默认账号
- Agent/Server 配置
- API
- 数据库
- 历史漏洞
42、8080~8089 — Jenkins / JBoss
|
|
8080 是非常常见的 Java/Web 服务端口。
Jenkins 重点是:
- 匿名权限
- 控制台
- 插件
- 凭据
- 构建任务权限
JBoss 重点是:
- 管理控制台
- 默认账号
- 部署权限
- 反序列化
- 老版本漏洞
43、9080 / 9081 / 9090 — WebSphere
|
|
IBM WebSphere Java 中间件可能使用这类端口。
主要关注:
- 管理控制台
- 弱密码
- 版本
- Java 反序列化
- 配置泄露
- 历史 CVE
44、9200 / 9300 — Elasticsearch
|
|
45、11211 — Memcached
|
|
46、27017 / 27018 — MongoDB
|
|
老 MongoDB 环境一个很经典的问题就是:
直接暴露公网且没有认证。
结果可能导致:
- 数据库枚举
- 数据读取
- 数据删除
- 数据篡改
现在应重点检查:
- authentication
- bindIp
- TLS
- 用户权限
- 网络 ACL
47、50070 / 50030 — Hadoop
|
|
系统的安全问题通常是:
- Web UI 未授权
- HDFS 权限
- Yarn 权限
- Kerberos 是否启用
- 管理接口暴露
总结:
|
|