在渗透测试过程中,端口扫描是一个至关重要的步骤。端口是计算机系统与外界通信的接口,不同的端口通常对应着不同的服务或应用。通过对开放端口的分析,渗透测试人员可以初步了解目标系统的服务运行情况,并据此寻找可能的攻击面。
本文将详细介绍渗透测试中常见的端口及其对应服务,帮助您快速识别目标系统的潜在漏洞。
一、什么是端口?
端口是通信协议的重要概念,指的是计算机中用于通信的逻辑接口。每个端口都由一个数字标识,范围从 0 到 65535。根据用途不同,端口分为以下几类:
- 知名端口(Well-known Ports):0-1023,分配给常见的标准服务(如 HTTP、FTP)。
- 注册端口(Registered Ports):1024-49151,分配给用户进程或指定服务。
- 动态/私有端口(Dynamic/Private Ports):49152-65535,通常用于临时通信。
二、常见端口及服务详解
以下列出了渗透测试中最需要关注的常见端口及其对应服务,同时附上可能的安全风险和检测思路。
1. 端口 21 - FTP(文件传输协议)
- 服务描述:FTP 用于文件传输,提供上传和下载功能。
- 常见风险:
-
弱密码或默认密码。 -
匿名登录(Anonymous Login)。 -
明文传输,可能被中间人攻击(MitM)窃取用户名和密码。 - 渗透思路:
-
使用工具(如 hydra
或medusa
)暴力破解 FTP 登录。 -
尝试匿名登录: bash复制 ftp target_ip
-
使用 Wireshark 抓包,分析明文传输内容。
2. 端口 22 - SSH(安全外壳协议)
- 服务描述:SSH 用于远程登录和命令执行,数据传输被加密。
- 常见风险:
-
弱密码或默认凭据。 -
未授权的私钥文件泄露。 - 渗透思路:
-
使用暴力破解工具: bash复制 hydra -l root -P password_list.txt ssh://target_ip
-
检查是否存在弱配置(如禁用密码认证但未限制私钥访问)。 -
利用 enum4linux
或nmap
脚本获取目标 SSH 配置信息。
3. 端口 23 - Telnet
- 服务描述:Telnet 是一种明文传输的远程登录协议,已被 SSH 替代,但仍有部分老旧设备使用。
- 常见风险:
-
明文传输,容易被窃听。 -
默认账号密码未更改。 - 渗透思路:
-
使用 Telnet 客户端连接目标: bash复制 telnet target_ip
-
检查是否存在默认账号(如 admin:admin)。 -
使用抓包工具分析通信内容。
4. 端口 25 - SMTP(简单邮件传输协议)
- 服务描述:SMTP 用于发送邮件,常见于邮件服务器。
- 常见风险:
-
未授权的邮件中继(Open Relay)。 -
信息泄露,例如用户列表。 - 渗透思路:
-
使用 telnet
或nc
连接 SMTP 服务:bash复制 telnet target_ip 25HELO example.com
-
测试邮件中继功能: bash复制 MAIL FROM:<[email protected]>RCPT TO:<[email protected]>
-
使用工具 nmap
检查是否存在 Open Relay。
5. 端口 53 - DNS(域名系统)
- 服务描述:DNS 用于将域名解析为 IP 地址。
- 常见风险:
-
DNS 放大攻击。 -
信息泄露(如域传送漏洞)。 - 渗透思路:
-
测试是否存在域传送漏洞: bash复制 dig axfr @target_ip example.com
-
检查是否支持未授权查询。
6. 端口 80/443 - HTTP/HTTPS(超文本传输协议)
- 服务描述:HTTP 和 HTTPS 是 Web 服务的核心协议,80 为明文传输,443 为加密传输。
- 常见风险:
-
Web 应用漏洞(如 SQL 注入、XSS)。 -
使用过时的 SSL/TLS 协议(例如 SSLv3)。 - 渗透思路:
-
使用浏览器访问目标网页,观察信息。 -
使用工具(如 nikto
、gobuster
)扫描目录和漏洞:bash复制 nikto -h http://target_ipgobuster dir -u http://target_ip -w wordlist.txt
-
检查 SSL/TLS 配置: bash复制 sslscan target_ip
7. 端口 135/139/445 - SMB(服务器消息块)
- 服务描述:SMB 是一种用于文件共享和打印机访问的协议,通常运行在 Windows 系统上。
- 常见风险:
-
未授权访问共享文件夹。 -
漏洞(如 EternalBlue)。 - 渗透思路:
-
使用 smbclient
测试文件共享:bash复制 smbclient -L //target_ip
-
检查是否存在漏洞: bash复制 nmap --script smb-vuln* target_ip
8. 端口 3306 - MySQL 数据库
- 服务描述:MySQL 是常见的关系型数据库。
- 常见风险:
-
弱密码或默认账号。 -
配置不当导致远程访问未受限制。 - 渗透思路:
-
使用 mysql
客户端测试连接:bash复制 mysql -h target_ip -u root -p
-
使用暴力破解工具: bash复制 hydra -l root -P password_list.txt mysql://target_ip
9. 端口 3389 - RDP(远程桌面协议)
- 服务描述:RDP 用于远程桌面连接,运行在 Windows 系统上。
- 常见风险:
-
弱密码或默认凭据。 -
存在 RDP 漏洞(如 BlueKeep)。 - 渗透思路:
-
使用 rdesktop
或xfreerdp
连接目标:bash复制 rdesktop target_ip
-
检查是否存在漏洞: bash复制 nmap --script rdp-vuln* target_ip
10. 端口 8080/8443 - 常见 Web 服务端口
- 服务描述:这些端口通常运行着 Web 服务或管理面板(如 Tomcat、Jenkins)。
- 常见风险:
-
默认管理员界面未限制访问。 -
弱密码或默认凭据。 - 渗透思路:
-
直接在浏览器中访问目标端口,观察返回页面。 -
尝试常见的默认账号密码(如 admin:admin)。
11. 端口 8080/8443 - Web 服务(扩展端口)
- 服务描述:8080 端口和 8443 端口通常被用作 HTTP 和 HTTPS 的替代端口,尤其是在测试环境或开发系统中。它们也常用于运行应用服务器(如 Apache Tomcat、JBoss、Jetty)或 Web 应用管理后台。
- 常见风险:
-
默认管理界面未限制访问。 -
弱密码或未修改默认凭据。 -
Web 应用漏洞(如文件上传、XXE、SQL 注入等)。 - 渗透思路:
-
使用 Web 浏览器访问目标端口,检查是否存在应用管理后台。 -
尝试常见的默认凭据(如 Tomcat 的 admin:admin
或tomcat:tomcat
)。 -
结合目录扫描工具(如 dirsearch
或gobuster
)查找隐藏路径。bash复制 gobuster dir -u http://target_ip:8080 -w /path/to/wordlist.txt
12. 端口 143 - IMAP(邮件接收协议)
- 服务描述:IMAP(Internet Message Access Protocol)是一种邮件接收协议,允许用户从邮件服务器读取邮件,并支持多设备同步。
- 常见风险:
-
弱密码或默认账号。 -
明文通信(如果未启用加密)。 - 渗透思路:
-
使用暴力破解工具测试目标: bash复制 hydra -l user -P password_list.txt imap://target_ip
-
检查是否启用了加密,必要时利用抓包工具分析通信内容。
13. 端口 161 - SNMP(简单网络管理协议)
- 服务描述:SNMP 用于网络设备的管理和监控,支持设备状态查询和配置管理。
- 常见风险:
-
使用默认的社区字符串(如 public
或private
)。 -
配置不当导致敏感信息泄露,如设备名称、运行时间、网络接口配置等。 - 渗透思路:
-
使用 onesixtyone
工具检查社区字符串是否为默认值:bash复制 onesixtyone -c community_strings.txt target_ip
-
使用 snmpwalk
提取详细信息:bash复制 snmpwalk -c public -v1 target_ip
14. 端口 389/636 - LDAP(轻量目录访问协议)
- 服务描述:LDAP 是一种用于访问目录服务的开放协议,常用于身份验证和信息存储。端口 389 为明文通信,636 为加密通信。
- 常见风险:
-
未授权访问,导致信息泄露。 -
弱密码或默认账号。 - 渗透思路:
-
使用工具(如 ldapsearch
)测试目标:bash复制 ldapsearch -x -h target_ip -b "dc=example,dc=com"
-
检查是否存在默认凭据或未授权访问。
15. 端口 3389 - RDP(远程桌面协议)
- 服务描述:RDP 是 Windows 系统用于远程桌面访问的协议,常用于远程管理服务器。其加密通信特性提升了安全性,但如果配置不当,仍可能成为攻击入口。
- 常见风险:
-
弱密码。 -
存在已知漏洞(如 CVE-2019-0708 “BlueKeep”)。 - 渗透思路:
-
使用工具(如 rdpcheck
或ncrack
)进行暴力破解。 -
使用 nmap
检查漏洞:bash复制 nmap --script rdp-vuln* target_ip
-
如果目标是老旧系统,尝试利用 BlueKeep 漏洞。
16. 端口 1521 - Oracle 数据库
- 服务描述:1521 端口是 Oracle 数据库的默认监听端口,用于处理客户端连接。
- 常见风险:
-
弱密码或默认账号(如 scott:tiger
)。 -
数据库未启用加密通信。 - 渗透思路:
-
使用 nmap
检查 Oracle 数据库是否使用默认配置:bash复制 nmap -p 1521 --script oracle-sid-brute target_ip
-
使用工具(如 hydra
)测试默认凭据。
17. 端口 5432 - PostgreSQL 数据库
- 服务描述:PostgreSQL 是广泛使用的开源关系型数据库管理系统。
- 常见风险:
-
弱密码。 -
配置不当,允许未授权的远程访问。 - 渗透思路:
-
使用暴力破解工具: bash复制 hydra -l postgres -P password_list.txt postgres://target_ip
-
检查是否存在未授权访问。
18. 端口 6379 - Redis
- 服务描述:Redis 是一个高性能的键值存储数据库,通常用于缓存、会话存储等场景。
- 常见风险:
-
默认无认证机制(如果未启用密码)。 -
未授权访问可能导致敏感数据泄露或远程代码执行。 - 渗透思路:
-
测试是否可以直接访问: bash复制 redis-cli -h target_ip
-
如果成功访问,检查是否可以写入恶意数据: bash复制 set key value
19. 端口 9200 - Elasticsearch
- 服务描述:Elasticsearch 是一个分布式搜索引擎,常用于日志分析、全文检索等场景。
- 常见风险:
-
未启用认证,导致未授权访问。 -
默认配置允许远程访问。 - 渗透思路:
-
使用浏览器访问 http://target_ip:9200
,检查是否返回 JSON 响应。 -
检查是否可以查询敏感数据: bash复制 curl -X GET http://target_ip:9200/_cat/indices?v
20. 端口 11211 - Memcached
- 服务描述:Memcached 是一种高性能分布式内存缓存系统,常用于加速动态 Web 应用。
- 常见风险:
-
默认无认证机制,允许未授权访问。 -
存在 DDoS 放大攻击风险。 - 渗透思路:
-
测试未授权访问: bash复制 echo -e "statsnquit" | nc target_ip 11211
-
检查是否存在可利用的数据缓存。
21. 端口 5000 - Flask/Web 应用
- 服务描述:端口 5000 通常用于 Flask 或其他开发框架的测试服务。
- 常见风险:
-
开发环境配置未关闭,导致敏感信息泄露。 -
管理接口未限制访问。 - 渗透思路:
-
使用浏览器访问目标端口,检查是否暴露调试页面。 -
检查是否存在路径遍历或代码执行漏洞。
22. 端口 8089 - Splunk
- 服务描述:Splunk 是一种广泛使用的数据分析和日志管理工具。
- 常见风险:
-
默认凭据未更改(admin:changeme)。 -
未限制管理接口的访问。 - 渗透思路:
-
使用默认凭据直接尝试登录管理界面。 -
检查是否可以通过 Web 界面提取敏感信息或执行命令。 -
· 今 日 推 荐 ·
原文始发于微信公众号(网络安全者):渗透测试中的常见端口及对应服务详解
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论