当前位置: 首页 > news >正文

SMB、FTP、MySQL... 配置不当,即是漏洞

目录
  • SMB (服务器消息块协议)
  • Telnet
  • FTP (文件传输协议)
  • NFS (网络文件系统)
  • SMTP (简单邮件传输协议)
  • MySQL
1. SMB (服务器消息块协议)
理解 SMB (Understanding SMB)

SMB (Server Message Block)是一种客户端-服务器通信协议,用于在网络上共享对文件、打印机和其他资源的访问。服务器将其文件系统或资源提供给网络上的客户端。SMB 是一种请求-响应式协议,通常运行在 TCP/IP 之上。自 Windows 95 以来,所有 Windows 操作系统都内置了 SMB 支持,而在 Unix 系统上,开源的Samba套件提供了 SMB 协议的实现。

SMB 枚举 (SMB Enumeration)

枚举的第一步通常是端口扫描,以确认目标主机开放了 SMB 端口(TCP 139, 445)。Enum4linux是一款专门用于枚举 Windows 和 Linux 系统上 SMB 共享的工具。

  • Enum4Linux 常用参数:
参数描述
-U获取用户列表。
-M获取机器列表。
-S获取共享列表。
-P获取密码策略信息。
-G获取组及成员列表。
-a执行以上所有基本枚举。
  • 示例命令:

    Bash

    enum4linux -a <target_ip>
利用 SMB (Exploiting SMB)

最常见的 SMB 漏洞之一是配置不当,允许匿名访问共享。

  • 连接客户端:smbclient是用于连接 SMB 共享的命令行工具。

  • 语法:

    Bash

    smbclient //[IP]/[SHARE] -U [USERNAME] -p [PORT]
  • 示例 (匿名登录):

    Bash

    smbclient //10.10.10.10/secrets -U Anonymous -p 445
  • 常用命令 (在smbclient提示符下):

    • lsdir: 列出文件和目录。

    • cd <directory>: 切换目录。

    • get <file>: 将文件从共享下载到本地。

    • put <file>: 将本地文件上传到共享。

2. Telnet
理解 Telnet

Telnet 是一种应用层协议,允许用户通过客户端连接到远程机器并执行命令。然而,它有一个致命的缺陷:所有通信(包括用户名和密码)都以明文形式传输,没有任何加密。因此,它已被更安全的SSH协议所取代。

Telnet 枚举

通过 Nmap 等工具进行端口扫描,可以发现开放的 Telnet 端口(通常是 TCP 23)。

利用 Telnet

由于其不安全的特性,Telnet 的主要漏洞在于:

  • 流量嗅探: 任何能够嗅探网络流量的攻击者都可以直接捕获登录凭证。

  • 弱访问控制: 许多旧设备上的 Telnet 服务存在弱密码或默认密码。

  • 已知漏洞 (CVEs): Telnet 服务本身的实现可能存在可被利用的漏洞。

3. FTP (文件传输协议)
理解 FTP

FTP (File Transfer Protocol)是一种用于通过网络远程传输文件的协议。

  • 双通道: FTP 使用两个独立的通道:

    1. 命令通道: 用于传输命令和服务器响应。

    2. 数据通道: 用于实际的文件传输。

  • 主动模式 vs. 被动模式:

    • 主动模式: 客户端打开一个端口并监听,服务器主动连接到该端口以传输数据。

    • 被动模式: 服务器打开一个端口并监听,客户端主动连接到该端口以传输数据。(更常用于现代网络,因为它对客户端侧的防火墙更友好)。

FTP 枚举

端口扫描可以确认 FTP 服务的存在(通常是 TCP 21)。许多 FTP 服务器配置不当,允许匿名登录

利用 FTP
  • 匿名登录: 尝试使用用户名anonymous和任意密码(通常是电子邮件地址)进行登录。

  • 暴力破解: 如果匿名登录被禁用,可以使用Hydra等工具对已知用户名进行密码暴力破解。

    Bash

    hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV <target_ip> ftp
4. NFS (网络文件系统)
理解 NFS

NFS (Network File System)允许一个系统通过网络与其他系统共享目录和文件。客户端可以将远程服务器上的目录“挂载”到本地文件系统的一个点上,之后就可以像访问本地文件一样访问远程文件。

NFS 枚举
  1. 端口扫描: 确认 RPC 端口 (TCP/UDP 111) 和 NFS 端口 (TCP/UDP 2049) 是否开放。

  2. 列出共享:nfs-common包中的showmount工具可以列出服务器上可用的 NFS 共享。

    Bash

    showmount -e <target_ip>
  3. 挂载共享:

    Bash

    # 创建本地挂载点 mkdir /tmp/nfs_mount # 挂载远程共享 sudo mount -t nfs <target_ip>:<share_path> /tmp/nfs_mount -nolock
利用 NFS
  • root_squash配置不当:

    • 默认行为 (root_squash): 当远程 root 用户访问 NFS 共享时,其权限会被“压制”为一个低权限的nfsnobody用户。

    • 危险配置 (no_root_squash): 如果服务器禁用了root_squash,远程 root 用户将保留其在共享上的 root 权限。这允许攻击者在共享中创建一个带有 SUID 位的可执行文件,当服务器上的其他用户执行该文件时,攻击者就能获得服务器的 root 权限。

5. SMTP (简单邮件传输协议)
理解 SMTP

SMTP (Simple Mail Transfer Protocol)用于处理电子邮件的发送。它与POPIMAP(用于接收邮件)协同工作。

  • 工作流程:

    1. 邮件客户端连接到发件人域的 SMTP 服务器。

    2. 客户端提交发件人、收件人和邮件内容。

    3. 发件人 SMTP 服务器连接到收件人域的 SMTP 服务器。

    4. 收件人 SMTP 服务器验证收件人地址,并将邮件转发到其 POP/IMAP 服务器,最终邮件出现在收件人的收件箱中。

SMTP 枚举

配置不当的邮件服务器可能会泄露有效的用户账户名。

  • 版本扫描: 使用 Metasploit 的smtp_version模块或 Nmap 脚本来识别 SMTP 服务器的软件和版本。

  • 用户枚举: 旧的 SMTP 服务器支持VRFY(验证用户名) 和EXPN(展开邮件列表) 命令。可以使用 Metasploit 的smtp_enum模块或smtp-user-enum工具来自动化此过程,以发现有效的电子邮件地址。

利用 SMTP

枚举出的有效用户名是极具价值的信息,可以用于后续的攻击,例如:

  • 针对其他服务(如 SSH, RDP)进行密码喷洒或暴力破解攻击。

  • 用于更有针对性的钓鱼攻击。

6. MySQL
理解 MySQL

MySQL 是一个基于结构化查询语言 (SQL)关系型数据库管理系统 (RDBMS)。它采用客户端-服务器模型,客户端通过 MySQL 协议发送 SQL 查询,服务器处理查询并返回结果。

MySQL 枚举
  1. 端口扫描: 确认 MySQL 端口(通常是 TCP 3306)是否开放。

  2. 连接客户端: 如果有凭证,可以使用mysql命令行客户端进行连接。

    Bash

    # -h: 主机, -u: 用户, -p: 提示输入密码 mysql -h <target_ip> -u root -p

    注意: 如果遇到 TLS/SSL 错误,可以尝试添加--ssl-mode=DISABLED标志。

  3. 自动化枚举: Nmap 的mysql-enum脚本或 Metasploit 的相关模块可以用于自动化信息收集。

利用 MySQL
  • 凭证获取: 通常通过枚举其他服务或利用 Web 应用漏洞获得 MySQL 的初始凭证。

  • 数据脱取: 获得访问权限后,可以使用 Metasploit 的mysql_schemadump模块来转储数据库结构,使用mysql_hashdump模块来提取存储的用户密码哈希值,这些哈希值可以被离线破解。

http://www.cnnetsun.cn/news/69771.html

相关文章:

  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别
  • 若依物联网
  • PSEN1抗体:如何揭示阿尔茨海默病致病机制与治疗新靶点?
  • Docker Engine 升级指南:保障容器安全的关键步骤
  • 基于zigbee灯光控制照明及色温调节系统的设计与实现(有完整资料)
  • 7、Python高级语法:描述器、属性与元编程实战
  • 【开题答辩全过程】以 基于java技术的校园一卡通系统的设计与实现为例,包含答辩的问题和答案
  • 11、Python 包与应用开发全解析
  • django基于智能推荐算法的全屋定制平台网站设计
  • 详谈:解释器模式(四)
  • 双Buck电路并联下的下垂控制与VDCM协同控制策略:增强直流微电网稳定性的仿真应用
  • Java 日期格式化方法:SimpleDateFormat 和 DateTimeFormatter
  • GPU 渲染模式:OpenGL ANGLE Vulkan 的选择与切换(工程师不踩坑指南)
  • 【dz-968】室内空气监测系统设计
  • 【接口测试】5_接口测试基础 _接口文档解析
  • 最近在搞风光储联合发电系统的仿真,发现直驱风机和光伏逆变器的配合特别有意思。今天就跟大伙儿唠唠这个模型搭建时遇到的坑,顺便分享几个关键模块的调参心得
  • 【保姆级教程】手把手带你读懂AI落地架构图!AI产品经理必备,每个节点都给你讲透!
  • 最小化门控记忆网络在风速条件分位数预测中的实践与应用
  • 先给大伙儿拆解下五层电梯PLC程序的实现逻辑。这玩意儿核心是状态转移和信号竞争,咱们直接上硬核部分。(文末附IO表与接线说明)
  • 「码同学」2025VIP性能测试课程