使用Nmap找到SQL Server案例

nmap是一个 流行和强大的 端口扫描工具,可用于多种操作系统,包括Windows。虽然它看起来像一个简单的 端口扫描工具,它有很大的潜力来帮助人手不足的数据专家 找到网络上的SQL Server实例。

Nmap and SQL Server

nmap 你知道如何使用工具:

  • 检测系统监听的网络通过ping(ICMP协议)。
  • 检查IP地址,即使是不响应ping.
  • 扫描端口上发现主机的端口 打开看。
  • 确定哪些操作系统发现主机运行。
  • 确定哪些程序或服务监听每个检测到的端口。

安装Nmap 工具检测SQL Server,即使你不能在SQL服务器管理工作室找到他们(SSMS)。

注:许多人认为nmap是一个网络“黑客”的工具,所以如果你要使用这个工具在你的组织一定要通知你的管理团队和网络 证明他们了解你正在做什么和解决任何问题 授权。有些人会真的吓坏了,所以才知道要进入这个演示,了解其中的风险。

当检测到SQL服务器在您的 网络,我们将 使用Nmap的两种不同的方式:

  • 通过SQL服务器在端口1433监听通过TCP协议。
  • 通过SQL服务器响应请求通过1434端口的UDP协议。

第一个告诉我们,有一个SQL Server,通常默认实例,和第二列表 任何 命名实例在网络。Nmap是往往能够决定 SQL Server版本。它 也 确定命名实例名称和端口使用 。

TCP:

  • -?这是几乎普遍的“帮助”,它是用来获得全面的帮助文档。nmap运行”吗?“会给你所有的 开关所有的细节。
  • -p 此允许你告诉nmap端口扫描什么。我们只想扫描一个端口1433。因此,我们将要使用的-p T:1433限制扫描一个端口。
  • -sV –这个告诉Nmap调查任何打开的端口检测以确定它是否能找出究竟是什么样的服务和版本正在使用的端口。这是什么让我们的指纹,SQL Server可能时。
  • -oG<文件>–这个开关是不是必需的,但这将  把结果从一个单一的IP在一行。这是伟大的如果你想使用的 扫描结果很容易 报告你的发现。
UDP:
  • P–再次,我们想扫描端口。在我们的演示 P U:1434会发现命名实例。
  • 苏–这告诉我们做一个UDP扫描nmap。
  • 蝎–这相同的功能与TCP扫描。
  • --oG<文件> -这是伟大的如果你想使用的 扫描结果很容易 报告你的发现。

扫描:

TCP扫描检测SQL Server:

这是扫描用于检测所有可用的SQL Server实例。在这个例子中,我们将寻找在10.1.1.2–10.1.1.254范围实例。这是假设我们知道网络网关也和网络广播的地址10.1.1.255。如果你不想使用适当的范围,当然,这是另一个讨论与您的网络团队。

nmap -p T:1433 -sV 10.1.1.2-254 -oG <span class="skimlinks-unlinked">tcp_SQL_Server_results.txt</span>
UDP扫描检测SQL Server:

这是扫描用于检测所有可用的SQL Server的命名实例。在这个例子中,我们将寻找命名的10.1.1.2–10.1.1.254范围实例。这是假设我们知道网络网关和网络广播的地址10.1.1.255。

nmap -p U:1434 -sU -sV 10.1.1.2-254 -oG <span class="skimlinks-unlinked">udp_SQL_Server_results.txt</span>

注:该文件将被输出到相同的路径显示在命令行中当你执行nmap命令,除非你有一个与文件名 路径 当你执行命令。

输出:

TCP端口扫描输出的例子
Nmap scan report for <span class="skimlinks-unlinked">sampleserver.domain.local</span> (10.1.1.35)
Host is up (0.0020s latency).
PORT     STATE SERVICE  VERSION
1433/tcp open  ms-sql-s Microsoft SQL Server 2008 R2 10.50.2500; SP1
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
UDP端口扫描输出的例子
Nmap scan report for <span class="skimlinks-unlinked">sampleserver.domain.local</span> (10.1.1.35)
Host is up (0.00s latency).
PORT     STATE  SERVICE  VERSION
1434/udp closed ms-sql-m

这些扫描的输出应列出所有发现的实例。即使你没有发现任何意外,这是一个有价值的工具,你应该知道如何使用。在事件怀疑是流氓的数据库实例,你可以很快将这些脚本和验证在几分钟的结果。