网络扫描:数据库服务

VSole2021-08-15 10:07:24

数据库服务器由运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成,为客户应用程序提供了数据服务。最常见的数据库服务有DB2、SQL Server和MySQL等。本文介绍对数据库服务实施扫描的方法。

1. DB2数据库

IBM DB2是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX、Linux、IBMi、z/OS及Windows服务器版本。DB2数据库是基于TCP协议工作的,其工作在TCP的523端口。我们可以借助Nmap的broadcast-db2-discover和db2-das-info脚本来实施扫描。下面介绍具体的扫描方法。

(1)使用broadcast-db2-discover脚本

broadcast-db2-discover脚本通过发送一个广播请求到UDP端口523,来发现网络中的DB2服务器。语法格式如下:

nmap --script=broadcast-db2-discover

(2)使用db2-das-info脚本

db2-das-info脚本通过连接到IBM DB2管理服务器,来获取服务器的配置。语法格式如下:

nmap --script=db2-das-info

使用db2-das-info脚本扫描DB2数据库服务。执行命令如下:

root@daxueba:~# nmap --script=db2-das-info -p 523 169.50.41.43

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 14:16 CST

Nmap scan report for 2b.29.32a9.ip4.static.sl-reverse.com (169.50.41.43)

Host is up (0.34s latency).

PORT  STATE SERVICE

523/tcp open ibm-db2

|_db2-das-info: false

Nmap done: 1 IP address (1 host up) scanned in 4.82 seconds

从输出信息中可以看到,目标主机上开放了DB2数据库,但是没有获取到其配置信息。

2. SQL Server数据库

SQL Server是美国Microsoft公司推出的一种关系型数据库系统。该数据库服务是基于TCP协议工作的,其工作在TCP协议的1433端口。我们可以借助Nmap的一些脚本对SQL Server数据库服务实施扫描。下面介绍具体的实现方法。

(1)使用ms-sql-info脚本

ms-sql-info脚本用来获取Microsoft SQL服务实例的配置和版本信息。语法格式如下:

nmap -p 1433 --script=ms-sql-info

使用ms-sql-info脚本对SQL Server数据库实施扫描。执行命令如下:

root@daxueba:~# nmap --script=ms-sql-info -p 1433 95.179.146.208

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:01 CST

Nmap scan report for 95.179.146.208.vultr.com (95.179.146.208)

Host is up (0.35s latency).

PORT   STATE SERVICE

1433/tcp  open ms-sql-s

Host script results:

| ms-sql-info:

|  95.179.146.208:1433:

|   Version:   #版本

|   name: Microsoft SQL Server 2000 SP1+ #名称

|   number: 8.00.528.00  #编号

|   Product: Microsoft SQL Server 2000 #产品

|   Service pack level: SP1  #服务补丁级别

|   Post-SP patches applied: true

|_  TCP port: 1433  #TCP端口

Nmap done: 1 IP address (1 host up) scanned in 8.67 seconds

从输出信息中可以看到获取到目标SQL Server数据库服务的相关信息。例如,数据库名称为Microsoft SQL Server 2000 SP1+、产品为Microsoft SQL Server 2000、服务补丁基本为SP1等。

(2)使用ms-sql-ntlm-info脚本

ms-sql-ntlm-info脚本用来枚举启用NTLM认证的SQL Server服务信息。语法格式如下:

nmap -p 1433 --script ms-sql-ntlm-info

使用ms-sql-ntlm-info脚本对目标主机的SQL Server数据库服务实施扫描。执行命令如下:

root@daxueba:~# nmap -p 1433 --script ms-sql-ntlm-info 213.189.70.102

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:02 CST

Nmap scan report for 213.189.70.102

Host is up (0.39s latency).

PORT   STATE SERVICE

1433/tcp  open  ms-sql-s

| ms-sql-ntlm-info:

|_ Product_Version: 5.2.3790  #产品版本

Nmap done: 1 IP address (1 host up) scanned in 5.74 seconds

从输出信息中可以看到,通过使用ms-sql-ntlm-info脚本获取到了目标服务器的版本信息,其版本号为“5.2.3790”。

3. Cassandra数据库

Cassandra是一套开源分布式NoSQL数据库系统,它最初由Facebook开发,用于存储收件箱等简单格式数据。此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构数据存储方案。Cassandra数据库是基于TCP协议工作的,其工作在TCP的9160端口。我们可以借助Nmap的cassandra-info脚本实施扫描。cassandra-info脚本通过从Cassandra数据库中来获取服务器的基本信息和状态。语法格式如下:

nmap -p 9160 --script=cassandra-info

扫描Cassandra数据库。执行命令如下:

root@daxueba:~# nmap -p 9160 --script=cassandra-info 35.236.53.106

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:13 CST

Nmap scan report for 106.53.236.35.bc.googleusercontent.com (35.236.53.106)

Host is up (0.18s latency).

PORT   STATE SERVICE

9160/tcp  open cassandra

| cassandra-info:

|  Cluster name: 0  #Cluster名称

|_ Version: 19.4.0  #版本

Nmap done: 1 IP address (1 host up) scanned in 1.73 seconds

从输出信息中可以看到,目标主机开启了Cassandra数据库服务,并且通过cassandra-info脚本获取到了其客户端名称和版本信息。

4. CouchDB数据库

CouchDB是一个开源的面向文档的数据库管理系统。CouchDB数据库服务是基于TCP协议工作的,其工作在TCP协议的5984端口。我们可以借助Nmap的couchdb-databases和couchdb-stats脚本来对其实施扫描。下面介绍具体的扫描方法。

(1)使用couchdb-databases脚本

couchdb-databases脚本用来获取CouchDB数据库中的数据表。语法格式如下:

nmap -p 5984 --script=couchdb-databases.nse

使用couchdb-databases脚本扫描CouchDB数据库。执行命令如下:

root@daxueba:~# nmap -p 5984 --script=couchdb-databases 13.80.244.231

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:16 CST

Nmap scan report for 13.80.244.231

Host is up (0.31s latency).

PORT   STATE SERVICE

5984/tcp open httpd

| couchdb-databases:

|  1 = _global_changes

|  2 = _replicator

|  3 = _users

|  4 = composerchannel_

|  5 = composerchannel_lscc

|_ 6 = composerchannel_shoganai-telemetry-network

Nmap done: 1 IP address (1 host up) scanned in 3.00 seconds

从以上输出信息中可以看到,目标主机中开启了CouchDB数据库服务,而且还看到了该数据库中的数据表。

(2)使用couchdb-stats脚本

couchdb-stats脚本用来获取CouchDB数据库的统计信息。语法格式如下:

nmap -p 5984 --script=couchdb-stats.nse

使用couchdb-stats脚本对目标主机的CouchDB数据库实施扫描。执行命令如下:

root@daxueba:~# nmap -p 5984 --script=couchdb-stats 201.79.73.156

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:21 CST

Nmap scan report for 201-79-73-156.user.veloxzone.com.br (201.79.73.156)

Host is up (0.40s latency).

PORT   STATE SERVICE

5984/tcp  open  httpd

| couchdb-stats:

|  httpd_status_codes

|   412 (number of HTTP 412 Precondition Failed responses)

|    current

|    sum

|   404 (number of HTTP 404 Not Found responses)

|    current = 281.0

|    sum = 281.0

|   202 (number of HTTP 202 Accepted responses)

|    current

|    sum

|   304 (number of HTTP 304 Not Modified responses)

|    current

|    sum

|   500 (number of HTTP 500 Internal Server Error responses)

|    current

|    sum

……省略部分内容

|  httpd

|   bulk_requests (number of bulk requests)

|    current

|    sum

|   view_reads (number of view reads)

|    current

|    sum

|   clients_requesting_changes (number of clients for continuous _changes)

|    current

|    sum

|   requests (number of HTTP requests)

|    current = 2209.0

|    sum = 2209.0

|   temporary_view_reads (number of temporary view reads)

|    current

|    sum

|_ Authentication : NOT enabled ('admin party')

Nmap done: 1 IP address (1 host up) scanned in 4.40 seconds

从以上输出信息中可以看到目标主机中CouchDB数据库的统计信息。由于输出的信息较多,中间部分结果省略了。

5. MySQL数据库

MySQL是一种开放源代码的关系型数据库管理系统,该数据库工作在TCP的3306端口。我们可以借助Nmap的mysql-info脚本来实施MySQL数据库服务扫描。

mysql-info脚本用来获取MySQL数据库服务的信息,如协议、版本号、线程ID、状态、密码撒盐值等。语法格式如下:

nmap --script=mysql-info -p 3306

对目标主机上的MySQL数据库服务实施扫描。执行命令如下:

root@daxueba:~# nmap --script=mysql-info -p 3306 192.168.1.6

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 15:22 CST

Nmap scan report for 192.168.1.6 (192.168.1.6)

Host is up (0.0011s latency).

PORT   STATE SERVICE

3306/tcp  open mysql

| mysql-info:

|  Protocol: 10 #协议

|  Version: 5.0.51a-3ubuntu5 #版本

|  Thread ID: 7 #线程ID

|  Capabilities flags: 43564 #兼容性标志位

|Some Capabilities:Support41Auth,SupportsTransactions,SupportsCompression,ConnectWithDatabase, LongColumnFlag, SwitchToSSLAfterHandshake,Speaks41 ProtocolNew #兼容的性能

|  Status: Autocommit  #状态

|_ Salt: (dC_4(gRFGoz7A"#*GgP  #撒盐

MAC Address: 00:0C:29:3E:84:91 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds

从以上输出信息中可以看到,目标主机中开放了MySQL数据库服务,并且获取到了对应的信息。例如,该服务的协议号为10、版本号为5.0.51a-3ubuntu5、线程ID为7等。

6. Oracle数据库

Oracle数据库是甲骨文公司的一款关系型数据库管理系统。该数据库工作于TCP的1521端口。用户可以借助Nmap的oracle-tns-version脚本探测Oracle TNS监听器的版本。语法格式如下:

nmap -p 1521 -sV --script=oracle-tns-version

实施Oracle数据库扫描。执行命令如下:

root@daxueba:~# nmap 192.168.29.139 -p 1521 -sV --script=oracle-tns-version

Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-14 13:36 CST

Nmap scan report for 192.168.29.139 (192.168.29.139)

Host is up (0.0054s latency).

PORT   STATE SERVICE  VERSION

1521/tcp  open oracle-tns  Oracle TNS listener 11.2.0.1.0 (unauthorized)

MAC Address: 00:0C:29:A6:9D:F8 (VMware)

Service detection performed. Please report any incorrect results at

https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 17.11 seconds

从输出的信息可以看到,目标主机号开放了Oracle数据库服务,并且显示了Oracle TNS监听器的版本。其中,该数据库服务的TNS监听器版本为11.2.0.1.0。

nmapcassandra
本作品采用《CC 协议》,转载必须注明作者和本文链接
数据库服务器由运行在局域网中的一台或多台计算机和数据库管理系统软件共同构成,为客户应用程序提供了数据服务。最常见的数据库服务有DB2、SQL Server和MySQL等。本文介绍对数据库服务实施扫描的方法。
近期对nmap的操作系统识别功能造了个轮子,用golang实现了一遍,想未来能用于扫描器,资产发现/管理系统
Nmap渗透测试指南
2022-04-20 13:05:55
nmap -sS -Pn -n --open --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 -T4 -v -oG E:\ip\result3.txt -iL E:\ip\ip.txt
Nmap 经常使用的场景及用法。
使用nmap+vulscan+nmap-vulner+python脚本,基于软件版本进行扫描并编写python脚本将xml文档解析为excel格式输出
利用nmap脚本对MS SQL Server 进行渗透测试,获取目标用户名、数据库表等信息。获取数据库版本信息使用ms-sql-info脚本获取目标数据库版本等信息nmap -p 14
本项目为天象渗透测试平台后端使用的端口扫描和指纹识别模块,采用Golang编写,以期在速度与准确度之间寻找一个平衡。开源后希望大家可以一起完善指纹和提交优化建议。
让防御者可以找到未打补丁的漏洞。
GTScan是一款针对Telco的Nmap扫描工具,随着广大社区研究人员对电信安全方面的关注度越来越高,日常的IT渗透测试活动中使用的工具也需要扩展到电信领域。GTScan依赖于使用空的TCAP层作为探针来检测各个全局标题上的侦听子系统编号。通过这种方式,将能够映射网络并使用结果对各个节点进行有针对性的直接攻击测试。
使用 Kali Linux 时,请注意某些 EDR 解决方案对 Kali 系统的默认主机名敏感并触发警报。这通常是通过 shell 完成的。有效载荷可用于控制以何种方式使用哪种类型的外壳。这可能意味着必须使用分段有效载荷。例如,可以使用选项来调整扫描速度并针对可能的防火墙检测采取对策。在不指定此参数的情况下,nmap 会检查1000 个最流行的端口。的“组”指令可以被用于调整各种值。
VSole
网络安全专家