2.3. 端口信息

2.3.1. 常见端口及其脆弱点

  • FTP 21
    • 默认用户名密码 anonymous:anonymous
    • 暴力破解密码
    • VSFTP某版本后门
  • SSH 22
    • 暴力破解密码
  • Telent 23
    • 暴力破解密码
  • SMTP 25
    • 无认证时可伪造发件人
  • DNS 53 UDP
    • 测试域传送漏洞
    • SPF / DMARC Check
    • DDoS
      • DNS Query Flood
      • DNS 反弹
  • SMB 137/139/445
    • 未授权访问
    • 弱口令
  • SNMP 161
    • Public 弱口令
  • LDAP 389
    • 匿名访问
    • 注入
  • Rsync 873
    • 任意文件读写
  • RPC 1025
    • NFS匿名访问
  • MSSQL 1433
    • 弱密码
  • Java RMI 1099
    • RCE
  • Oracle 1521
    • 弱密码
  • NFS 2049
    • 权限设置不当
  • ZooKeeper 2181
    • 无身份认证
  • MySQL 3306
    • 弱密码
  • RDP 3389
    • 弱密码
  • Postgres 5432
    • 弱密码
  • CouchDB 5984
    • 未授权访问
  • Redis 6379
    • 无密码或弱密码
  • Elasticsearch 9200
    • 代码执行
  • Memcached 11211
    • 未授权访问
  • MongoDB 27017
    • 无密码或弱密码
  • Hadoop 50070

除了以上列出的可能出现的问题,暴露在公网上的服务若不是最新版,都可能存在已经公开的漏洞

2.3.2. 常见端口扫描方式

2.3.2.1. 全扫描

扫描主机尝试使用三次握手与目标主机的某个端口建立正规的连接,若成功建立连接,则端口处于开放状态,反正处于关闭状态。

全扫描实现简单,且以较低的权限就可以进行该操作。但是在流量日志中会有大量明显的记录。

2.3.2.2. 半扫描

在半扫描中,仅发送SYN数据段,如果应答为RST,则端口处于关闭状态,若应答为SYN/ACK,则端口处于监听状态。不过这种方式需要较高的权限,而且部分防火墙已经开始对这种扫描方式做处理。

2.3.2.3. FIN扫描

FIN扫描是向目标发送一个FIN数据包,如果是开放的端口,会返回RST数据包,关闭的端口则不会返回数据包,可以通过这种方式来判断端口是否打开。

这种方式并不在TCP三次握手的状态中,所以不会被记录,相对SYN扫描要更隐蔽一些。

2.3.3. Web服务

  • Jenkins
    • 未授权访问
  • Gitlab
    • 对应版本CVE
  • Zabbix
    • 权限设置不当

2.3.4. 批量搜索

  • Censys
  • Shodan
  • ZoomEye