渗透测试中的常见端口及对应服务详解

admin 2025年1月15日08:45:29评论95 views字数 4902阅读16分20秒阅读模式

在渗透测试过程中,端口扫描是一个至关重要的步骤。端口是计算机系统与外界通信的接口,不同的端口通常对应着不同的服务或应用。通过对开放端口的分析,渗透测试人员可以初步了解目标系统的服务运行情况,并据此寻找可能的攻击面。

本文将详细介绍渗透测试中常见的端口及其对应服务,帮助您快速识别目标系统的潜在漏洞。

一、什么是端口?

端口是通信协议的重要概念,指的是计算机中用于通信的逻辑接口。每个端口都由一个数字标识,范围从 0 到 65535。根据用途不同,端口分为以下几类:

  1. 知名端口(Well-known Ports):0-1023,分配给常见的标准服务(如 HTTP、FTP)。
  2. 注册端口(Registered Ports):1024-49151,分配给用户进程或指定服务。
  3. 动态/私有端口(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)。
  • 渗透思路:
    • 使用浏览器访问目标网页,观察信息。
    • 使用工具(如 niktogobuster)扫描目录和漏洞:

      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 界面提取敏感信息或执行命令。
    • · 今 日 推 荐 ·

      渗透测试中的常见端口及对应服务详解
      渗透测试中的常见端口及对应服务详解

原文始发于微信公众号(网络安全者):渗透测试中的常见端口及对应服务详解

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月15日08:45:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试中的常见端口及对应服务详解https://cn-sec.com/archives/3629929.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息