1.本技术涉及信息安全技术领域,特别是涉及一种渗透测试信息收集方法、装置、设备、介质和程序产品。
背景技术:2.随着计算机技术的发展,计算机信息安全技术逐步成为近年来研究的重点,特别是渗透测试作为计算机信息安全技术中的一种,更是近年来研究的重中之重。其中,渗透测试是一种挖掘计算机系统中的安全漏洞的技术,其主要分为前期交互、信息收集、渗透攻击以及报告生成等多个阶段,信息收集阶段为渗透攻击阶段的基础。此外,为了保证渗透攻击的准确性,还需对信息收集阶段收集到的信息进行处理。
3.现有技术中,在对计算机系统进行渗透测试的情形下,通常是由人工来收集计算机系统中的信息,并由人工对收集到的信息进行处理。
4.但是,由人工收集以及处理信息的方式的智能性不高。
技术实现要素:5.基于此,有必要针对上述技术问题,提供一种渗透测试信息收集方法、装置、设备、介质和程序产品。
6.第一方面,本技术提供了一种渗透测试信息收集方法。该方法包括:从目标服务器中收集目标信息;基于该目标信息获取该目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,该数据库连接密码包括明文密码和密文密码;基于该目标信息获取解密信息,并基于该解密信息对该密文密码进行解密,得到解密密码;基于该解密密码、该明文密码以及该目标信息生成渗透网络拓扑图。
7.在其中一个实施例中,基于该目标信息获取该目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,包括:基于该目标信息获取该数据库项目的第一配置文件信息以及该数据库连接工具的第二配置文件信息;基于该第一配置文件信息获取该数据库项目部署的项目文件夹的路径,并基于该路径,遍历该项目文件夹,以从该项目文件夹中获取该数据库项目的数据库密码配置文件,从该数据库密码配置文件中读取该数据库项目的数据库连接密码;从该第二配置文件信息中读取该数据库连接工具的数据库连接密码。
8.在其中一个实施例中,该目标信息包括注册表信息和服务列表信息,该基于该目标信息获取该数据库项目的第一配置文件信息以及该数据库连接工具的第二配置文件信息之前,该方法还包括:基于该注册表信息和该服务列表信息,生成该目标服务器中安装的软件的软件列表;根据该软件列表确定该目标服务器中的该数据库项目以及该数据库连接工具。
9.在其中一个实施例中,该密文密码包括第一密文密码,该第一密文密码为加密的该数据库项目的数据库连接密码,该基于该目标信息获取解密信息,包括:确定该第一密文
密码的加密方式;根据该加密方式,基于该目标信息获取该解密信息。
10.在其中一个实施例中,该根据该加密方式,基于该目标信息获取该解密信息,包括:若该加密方式为windowsdpapi加密方式,则基于该目标信息获取系统用户口令和系统主密钥,并将获取到的该系统用户口令和该系统主密钥作为该解密信息;若该加密方式为本地加密方式,则基于该目标信息获取该数据库项目的加密代码文件及以及该加密代码文件对应的第一加密密钥,并将获取到的该加密代码文件以及该第一加密密钥作为该解密信息。
11.在其中一个实施例中,基于该目标信息获取系统用户口令和系统主密钥,包括:从该目标信息中获取该系统用户口令;基于该系统用户口令从该目标服务器中获取该系统主密钥。
12.在其中一个实施例中,该目标信息包括该数据库项目的第一配置文件信息,该基于该目标信息获取该数据库项目的加密代码文件及以及该加密代码文件对应的第一加密密钥,包括:基于该第一配置文件信息获取该数据库项目部署的项目文件夹的路径;基于该路径,遍历该项目文件夹,以从该项目文件夹中获取该加密代码文件及以及该第一加密密钥。
13.在其中一个实施例中,该密文密码包括第二密文密码,该第二密文密码为加密的该数据库连接工具的数据库连接密码,该基于该目标信息获取解密信息,包括:从该目标信息中读取该数据库连接工具所使用的加密算法以及该加密算法对应的第二加密密钥,将该加密算法和该第二加密密钥作为该解密信息。
14.在其中一个实施例中,从目标服务器中收集目标信息,包括:基于获取到的该目标服务器的命令执行权限,从该目标服务器中收集该目标信息;其中,该命令执行权限是对该目标服务器进行渗透攻击后得到的。
15.第二方面,本技术还提供了一种渗透测试信息收集装置。该装置包括:收集模块,用于从目标服务器中收集目标信息;第一获取模块,用于基于该目标信息获取该目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,该数据库连接密码包括明文密码和密文密码;解密模块,用于基于该目标信息获取解密信息,并基于该解密信息对该密文密码进行解密,得到解密密码;生成模块,用于基于该解密密码、该明文密码以及该目标信息生成渗透网络拓扑图。
16.在其中一个实施例中,该获取模块,具体用于:基于该目标信息获取该数据库项目的第一配置文件信息以及该数据库连接工具的第二配置文件信息;基于该第一配置文件信息获取该数据库项目部署的项目文件夹的路径,并基于该路径,遍历该项目文件夹,以从该项目文件夹中获取该数据库项目的数据库密码配置文件,从该数据库密码配置文件中读取该数据库项目的数据库连接密码;从该第二配置文件信息中读取该数据库连接工具的数据库连接密码。
17.在其中一个实施例中,该目标信息包括注册表信息和服务列表信息,该装置还包括:第二获取模块,用于基于该注册表信息和该服务列表信息,得到该目标服务器中安装的软件的软件列表;确定模块,用于根据该软件列表确定该目标服务器中的该数据库项目以及该数据库连接工具。
18.在其中一个实施例中,该密文密码包括第一密文密码,该第一密文密码为加密的
该数据库项目的数据库连接密码,该解密模块,具体用于:确定该第一密文密码的加密方式;根据该加密方式,基于该目标信息获取该解密信息。
19.在其中一个实施例中,该解密模块,具体用于:若该加密方式为windowsdpapi加密方式,则基于该目标信息获取系统用户口令和系统主密钥,并将获取到的该系统用户口令和该系统主密钥作为该解密信息;若该加密方式为本地加密方式,则基于该目标信息获取该数据库项目的加密代码文件及以及该加密代码文件对应的第一加密密钥,并将获取到的该加密代码文件以及该第一加密密钥作为该解密信息。
20.在其中一个实施例中,该解密模块,具体用于:从该目标信息中获取该系统用户口令;基于该系统用户口令从该目标服务器中获取该系统主密钥。
21.在其中一个实施例中,该目标信息包括该数据库项目的第一配置文件信息,该解密模块,具体用于:基于该第一配置文件信息获取该数据库项目部署的项目文件夹的路径;基于该路径,遍历该项目文件夹,以从该项目文件夹中获取该加密代码文件及以及该第一加密密钥。
22.在其中一个实施例中,该密文密码包括第二密文密码,该第二密文密码为加密的该数据库连接工具的数据库连接密码,该解密模块,具体用于:从该目标信息中读取该数据库连接工具所使用的加密算法以及该加密算法对应的第二加密密钥,将该加密算法和该第二加密密钥作为该解密信息。
23.在其中一个实施例中,该收集模块,具体用于:基于获取到的该目标服务器的命令执行权限,从该目标服务器中收集该目标信息;其中,该命令执行权限是对该目标服务器进行渗透攻击后得到的。
24.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一项所述的方法的步骤。
25.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
26.第五方面,本技术还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
27.本技术实施例提供的技术方案带来的有益效果至少包括:
28.本技术实施例中,在从目标服务器中收集到目标信息的基础上,基于该目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,同时,基于该目标信息获取解密信息,并基于解密信息对数据库连接密码中的密文密码进行解密以得到解密密码,最终,基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。因为,收集目标信息、获取数据库连接密码和解密信息都是自动化完成的,并且在对密文密码进行解密这一信息处理的过程也是自动化完成的,并不需要人工的参与,因此,提高了收集目标服务器中的信息以及对该信息进行处理的智能性。
附图说明
29.图1为本技术实施例提供的一种实施环境的示意图;
30.图2为本技术实施例提供的一种渗透测试信息收集方法的流程图;
31.图3为本技术实施例提供的一种获取数据库连接密码的技术过程的流程图;
32.图4为本技术实施例提供的一种获取第一密文密码对应的解密信息的技术过程的流程图;
33.图5为本技术实施例提供另一种渗透测试信息收集方法的流程图;
34.图6为本技术实施例提供的一种渗透测试信息收集装置的框图;
35.图7为本技术实施例提供的另一种渗透测试信息收集装置的框图;
36.图8为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
37.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
38.随着计算机技术的发展,计算机信息安全技术逐步成为近年来研究的重点,特别是渗透测试作为计算机信息安全技术中的一种,更是近年来研究的重中之重。其中,渗透测试是一种挖掘计算机系统中的安全漏洞的技术,其主要分为前期交互、信息收集、渗透攻击以及报告生成等多个阶段,信息收集阶段为渗透攻击阶段的基础。此外,为了保证渗透攻击的准确性,还需对信息收集阶段收集到的信息进行处理。现有技术中,在对计算机系统进行渗透测试的情形下,通常是由人工来收集计算机系统中的信息,并由人工对收集到的信息进行处理。但是,由人工收集以及处理信息的方式的智能性不高。
39.有鉴于此,本技术实施例提供了一种渗透测试信息收集方法、装置、设备、介质和程序产品,利用该渗透测试信息收集可以提高收集目标服务器中的信息以及对该信息进行处理的智能性。
40.请参见图1,其示出了本技术实施例提供的渗透测试信息收集方法所涉及的实施环境的示意图,如图1所示,该实施环境可以包括统一调度服务器101以及目标服务器102,其中,统一调度服务器101可以与目标服务器102进行通信,目标服务器102为被渗透测试的服务器,统一调度服务器101用于获取目标服务器102中的目标信息以及对该目标信息进行处理。需要指出的是,统一调度服务器101可以是一台服务器,也可以为由多台服务器组成的服务器集群;同样,目标服务器102可以是一台服务器,也可以为由多台服务器组成的服务器集群;不同的服务器之间可以通过有线或无线方式的进行通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。
41.请参见图2,其示出了本技术实施例提供的一种渗透测试信息收集方法的流程图,该渗透测试信息收集方法可以应用于图1所示的统一调度服务器中。如图2所示,该渗透测试信息收集方法可以包括以下步骤:
42.步骤201、统一调度服务器从目标服务器中收集目标信息。
43.其中,目标信息可以包括目标服务器的系统信息和目标服务器中的数据库信息,目标服务器的系统信息包括注册表信息、服务列表信息、系统用户口令以及系统主密钥文件等信息,数据库信息包括数据库项目、数据库连接工具、数据库项目和数据库连接工具的版本等信息。可选的,目标服务器的系统信息还可以包括系统类型、系统版本、系统补丁安装目录、系统环境变量、系统网络连接状态等信息。
44.在本技术的可选实施例中,统一调度服务器从目标服务器中收集目标信息的可选的方式为:统一调度服务器基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息,其中,命令执行权限是对目标服务器进行渗透攻击后得到的。可选的,可以使用渗透测试系统对目标服务器进行渗透攻击,其中,渗透测试系统为软件模块,可以配置于统一调度服务器中,也可以配置于目标服务器中。可选的,通过该渗透测试系统对目标服务器进行渗透攻击后,可以获取到目标服务器的命令执行权限。其中,命令执行权限为统一调度服务器可以从目标服务器中获取目标信息的权限,若统一调度服务器没有获取该命令执行权限,那么统一调度服务器无法从目标服务器中获取目标信息。
45.步骤202、统一调度服务器基于目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码。
46.其中,数据库连接密码包括明文密码和密文密码,明文密码为没有隐藏,可以直接显示的明文字符,密文密码为隐藏后的字符。在本技术实施例中,目标服务器中设置有数据库项目和数据库连接工具。基于获取到的目标信息,可以获取到目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码。
47.步骤203、统一调度服务器基于目标信息获取解密信息,并基于解密信息对密文密码进行解密,得到解密密码。
48.其中,解密信息包括加密方式、系统主密钥、系统主密钥以及加密代码文件等与解密有关的信息,解密密码为对密文密码进行解密后得到的密码,基于获取到的解密信息可以对密文密码进行解密,从而得到解密密码。现有技术中,在面对密文密码的情况下,通常由人工对密文密码进行解密,本技术实施例通过统一调度服务器自动的对密文密码进行解码,提高了对密文密码进行解密的智能性,并且提高了解密的效率。可选的,可以使用离线的方式对密文密码进行解密。
49.步骤204、统一调度服务器基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
50.因为渗透测试主要分为前期交互、信息收集、渗透攻击以及报告生成等多个阶段,信息收集阶段为渗透攻击阶段的基础,因此,在对数据库连接密码中的密文密码进行解密后,统一调度服务器在渗透攻击阶段可以对该密文密码对应的数据库信息进行渗透,使得对目标服务器的渗透攻击更加全面。在得到解密密码、明文密码以及目标信息的基础上,可以生成渗透测试报告和渗透网络拓扑图,该渗透测试报告和渗透网络拓扑图为后续的渗透攻击阶段提供充分的数据基础,并且可以使得渗透测试可视化,另外,可以由测试人员使用数据库连接工具来验证解密密码的正确性。
51.本技术实施例中,在从目标服务器中收集到目标信息的基础上,基于该目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,同时,基于该目标信息获取解密信息,并基于解密信息对数据库连接密码中的密文密码进行解密以得到解密密码,最终,基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。因为,收集目标信息、获取数据库连接密码和解密信息都是自动化完成的,并且在对密文密码进行解密这一信息处理的过程也是自动化完成的,并不需要人工的参与,因此,提高了收集目标服务器中的信息以及对该信息进行处理的智能性。
52.请参见图3,其示出了本技术实施例提供的一种获取数据库连接密码的技术过程。
本技术实施例是在获取到目标信息的基础上,进一步来获取数据库连接密码。如图3所示,该技术过程可以包括以下步骤:
53.步骤301、统一调度服务器基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息。
54.可选的,可以基于目标信息获取到第一配置文件信息以及第二配置文件信息,其中,第一配置文件信息为数据库项目的配置文件信息,第二配置文件信息为数据库连接工具的配置文件信息。需要注意的是,在获取第一配置文件信息以及第二配置文件信息之前,需要获取到数据库项目以及数据库连接工具,可选的,获取数据库项目以及数据库连接工具的步骤可以如下:
55.首先,基于注册表信息和服务列表信息,得到目标服务器中安装的软件的软件列表。其次,根据软件列表确定目标服务器中的数据库项目以及数据库连接工具。可选的,在获取到数据库项目以及数据库连接工具的基础上,可以得到第一配置文件信息以及第二配置文件信息,并且,可以从软件列表中识别是否安装了mysql、sqlsever、navicat、ssms、tomcat、spring等数据库。
56.步骤302、统一调度服务器基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码。
57.可选的,目标服务器上已部署的项目通常是将数据库项目的数据库连接密码保存在项目目录下properties等后缀的数据库密码配置文件中,直接读取该数据库密码配置文件即可获得数据库项目的数据库连接密码。同时,以遍历项目文件夹的检索方式,可以防止错过重要渗透线索,保证信息收集的充分性。
58.步骤303、统一调度服务器从第二配置文件信息中读取数据库连接工具的数据库连接密码。
59.统一调度服务器从获取到的数据库连接工具的第二配置文件信息中,可以读取到数据库连接工具的数据库连接密码。在本技术实施例中,通过统一调度服务器可以自动化的获取到数据库连接密码,提高了获取数据库连接密码的智能性。
60.需要注意的是上文中的密文密码包括第一密文密码和第二密文密码,其中,第一密文密码为加密的数据库项目的数据库连接密码,第二密文密码为加密的数据库连接工具的数据库连接密码,需要对第一密文密码和第二密文密码进行解密,如此,解密信息包括第一密文密码对应的解密信息以及第二密文密码对应的解密信息。请参见图4,其示出了本技术实施例提供的一种获取第一密文密码对应的解密信息的技术过程。如图4所示,获取第一密文密码对应的解密信息的技术过程可以包括以下步骤:
61.步骤401、统一调度服务器确定第一密文密码的加密方式。
62.可选的,加密方式可以为windowsdpapi加密方式和本地加密方式。其中,dpapi是windows系统对数据进行加密解密的一种接口,无需自实现加密解密代码,微软系统已经提供了经过验证的高质量加密解密算法,并提供较高的安全保证。
63.步骤402、统一调度服务器根据加密方式,基于目标信息获取解密信息。
64.在本技术的可选实施例中,加密的方式不同,则基于目标信息获取解密信息的方式也不同。可选的,若加密方式为windowsdpapi加密方式,则基于目标信息获取系统用户口
令和系统主密钥,并将获取到的系统用户口令和系统主密钥作为解密信息,其中,该解密信息为第一密文密码对应的解密信息。可选的,可以从目标信息中获取系统用户口令和系统主密钥,也可以在判定加密方式为windowsdpapi的情况下,先从目标信息中获取系统用户口令,再基于系统用户口令从目标服务器中获取系统主密钥。可选的,基于系统用户口令从目标服务器中获取系统主密钥的方式可以为:首先,从目标信息中获取系统用户口令和系统主密钥文件;接着,由系统用户口令解密系统主密钥文件,得到系统主密钥。在得到该系统主密钥之后,调用windowsdpapi利用该系统主密钥对第一密文密码进行解密,以得到解密密码,其中,该解密密码为第一密文密码对应的解密密码。可选的,可以通过在%appdata%/microsoft/protect/%sid%下得到系统主密钥文件和系统用户口令。
65.可选的,若加密方式为本地加密方式,则基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥,并将获取到的加密代码文件以及第一加密密钥作为解密信息。
66.其中,目标信息包括数据库项目的第一配置文件信息,可选的,基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥的流程可以包括:首先,基于第一配置文件信息获取数据库项目部署的项目文件夹的路径;其次,基于路径,遍历项目文件夹,以从项目文件夹中获取加密代码文件及以及第一加密密钥。可选的,在遍历项目文件夹的情况下,可以通过项目调用方式及正则匹配等方式获取加密代码文件和第一加密密钥。在本技术的可选实施例中,通过遍历项目文件夹的检索方式,可以防止错过重要的渗透线索,保证信息收集的充分性。
67.在本技术的可选实施例中,基于目标信息获取第二密文密码对应的解密信息,可选的方式为:从目标信息中读取数据库连接工具所使用的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为解密信息。例如,navicat数据库连接工具,其保存的数据库连接密码在第二配置文件\hkey_current_user\software\premiumsoft\navicat\servers\pwd下,并且,navicat数据库连接工具使用的数据库连接密码的加密算法和第二加密密钥是固定的。
68.请参见图5,其示出了本技术实施例提供的另一种渗透测试信息收集方法的流程图,该渗透测试信息收集方法可以应用于图1所示的统一调度服务器中。
69.如图5所示,该渗透测试信息收集方法可以包括以下步骤:
70.步骤501、统一调度服务器获取目标服务器的命令执行权限,其中,命令执行权限是对目标服务器进行渗透攻击后得到的。
71.步骤502、统一调度服务器基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息。
72.步骤503、统一调度服务器基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息。
73.步骤504、统一调度服务器基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码。
74.步骤505、统一调度服务器从第二配置文件信息中读取数据库连接工具的数据库连接密码。
75.其中,步骤504和步骤505中的数据库连接密码包括明文密码和密文密码,密文密码包括第一密文密码和第二密文密码,第一密文密码为加密的数据库项目的数据库连接密码,第二密文密码为加密的数据库连接工具的数据库连接密码。
76.步骤506、统一调度服务器确定统一调度服务器中的第一密文密码的加密方式。
77.步骤507、统一调度服务器根据加密方式,基于目标信息获取第一密文密码对应的解密信息。
78.步骤508、统一调度服务器从目标信息中获取第二密文密码对应的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为第二密文密码对应的解密信息。
79.步骤509、统一调度服务器基于第一密文密码对应的解密信息以及第二密文密码对应的解密信息,分别对第一密文密码以及第二密文密码进行解密,分别得到第一密文密码对应的解密密码以及第二密文密码对应的解密密码。
80.步骤510、统一调度服务器基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
81.在本技术实施例中,统一调度服务器可以自动地获取数据库连接密码和解密信息,并通过获取到的解密信息对数据库连接密码中的密文密码进行自动解密,以得到解密密码,为渗透攻击阶段提供了充分的数据基础,增加了渗透测试的深度及广度,扩宽了渗透测试的攻击面。同时,可以最大程度快速静默的完成渗透工作,防止长时间操作导致的目标服务器卡顿停机或被运维人员发现。
82.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
83.请参见图6,其示出了本技术实施例提供的一种渗透测试信息收集装置600的框图,该渗透测试信息收集装置可以配置于上述的统一调度服务器中。如图6所示,渗透测试信息收集装置600包括收集模块601、第一获取模块602、解密模块603以及生成模块604。
84.其中,收集模块601,用于从目标服务器中收集目标信息;第一获取模块602,用于基于目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,数据库连接密码包括明文密码和密文密码;解密模块603,用于基于目标信息获取解密信息,并基于解密信息对密文密码进行解密,得到解密密码;生成模块604,用于基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
85.在本技术的一个可选实施例中,第一获取模块602,具体用于:基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息;基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码;从第二配置文件信息中读取数据库连接工具的数据库连接密码。
86.在本技术的一个可选实施例中,密文密码包括第一密文密码,第一密文密码为加密的数据库项目的数据库连接密码,解密模块603,具体用于:确定第一密文密码的加密方式;根据加密方式,基于目标信息获取解密信息。
87.在本技术的一个可选实施例中,解密模块603,具体用于:若加密方式为windowsdpapi加密方式,则基于目标信息获取系统用户口令和系统主密钥,并将获取到的系统用户口令和系统主密钥作为解密信息;若加密方式为本地加密方式,则基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥,并将获取到的加密代码文件以及第一加密密钥作为解密信息。
88.在本技术的一个可选实施例中,解密模块603,具体用于:从目标信息中获取系统用户口令;基于系统用户口令从目标服务器中获取系统主密钥。
89.在本技术的一个可选实施例中,目标信息包括数据库项目的第一配置文件信息,解密模块,具体用于603:基于第一配置文件信息获取数据库项目部署的项目文件夹的路径;基于路径,遍历项目文件夹,以从项目文件夹中获取加密代码文件及以及第一加密密钥。
90.在本技术的一个可选实施例中,密文密码包括第二密文密码,第二密文密码为加密的数据库连接工具的数据库连接密码,解密模块603,具体用于:从目标信息中读取数据库连接工具所使用的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为解密信息。
91.在本技术的一个可选实施例中,收集模块601,具体用于:基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息;其中,命令执行权限是对目标服务器进行渗透攻击后得到的。
92.请参见图7,其示出了本技术实施例提供的另一种渗透测试信息收集装置700的框图,渗透测试信息收集装置700除了包括渗透测试信息收集装置600的各模块外,还包括第二获取模块605和确定模块606。
93.其中,第二获取模块605,用于基于注册表信息和服务列表信息,得到目标服务器中安装的软件的软件列表,其中,目标信息包括注册表信息和服务列表信息;确定模块606,用于根据软件列表确定目标服务器中的数据库项目以及数据库连接工具。
94.本技术实施例提供服务器资源保护装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
95.上述服务器资源保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
96.在一个实施例中,提供了一种计算机设备,该计算机设备可以是统一调度服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的目标服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种渗透测试信息收集方法。
97.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
98.在本技术的一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:从目标服务器中收集目标信息;基于目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,数据库连接密码包括明文密码和密文密码;基于目标信息获取解密信息,并基于解密信息对密文密码进行解密,得到解密密码;基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
99.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息;基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码;从第二配置文件信息中读取数据库连接工具的数据库连接密码。
100.在本技术的一个实施例中,目标信息包括注册表信息和服务列表信息,该处理器执行计算机程序时还实现以下步骤:基于注册表信息和服务列表信息,得到目标服务器中安装的软件的软件列表;根据软件列表确定目标服务器中的数据库项目以及数据库连接工具。
101.在本技术的一个实施例中,密文密码包括第一密文密码,第一密文密码为加密的数据库项目的数据库连接密码,该处理器执行计算机程序时还实现以下步骤:确定第一密文密码的加密方式;根据加密方式,基于目标信息获取解密信息。
102.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:若加密方式为windowsdpapi加密方式,则基于目标信息获取系统用户口令和系统主密钥,并将获取到的系统用户口令和系统主密钥作为解密信息;若加密方式为本地加密方式,则基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥,并将获取到的加密代码文件以及第一加密密钥作为解密信息。
103.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:从目标信息中获取系统用户口令;基于系统用户口令从目标服务器中获取系统主密钥。
104.在本技术的一个实施例中,目标信息包括该数据库项目的第一配置文件信息,该处理器执行计算机程序时还实现以下步骤:基于第一配置文件信息获取数据库项目部署的项目文件夹的路径;基于路径,遍历项目文件夹,以从项目文件夹中获取加密代码文件及以及第一加密密钥。
105.在本技术的一个实施例中,密文密码包括第二密文密码,第二密文密码为加密的该数据库连接工具的数据库连接密码,该处理器执行计算机程序时还实现以下步骤:从目标信息中读取数据库连接工具所使用的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为解密信息。
106.在本技术的一个实施例中,该处理器执行计算机程序时还实现以下步骤:基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息;其中,命令执行权限是
对目标服务器进行渗透攻击后得到的。
107.本技术实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
108.在本技术的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:从目标服务器中收集目标信息;基于目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,数据库连接密码包括明文密码和密文密码;基于目标信息获取解密信息,并基于解密信息对密文密码进行解密,得到解密密码;基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
109.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息;基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码;从第二配置文件信息中读取数据库连接工具的数据库连接密码。
110.在本技术的一个实施例中,目标信息包括注册表信息和服务列表信息,计算机程序被处理器执行时还实现以下步骤:基于注册表信息和服务列表信息,得到目标服务器中安装的软件的软件列表;根据软件列表确定目标服务器中的数据库项目以及数据库连接工具。
111.在本技术的一个实施例中,密文密码包括第一密文密码,第一密文密码为加密的数据库项目的数据库连接密码,计算机程序被处理器执行时还实现以下步骤:确定第一密文密码的加密方式;根据加密方式,基于目标信息获取解密信息。
112.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若加密方式为windowsdpapi加密方式,则基于目标信息获取系统用户口令和系统主密钥,并将获取到的系统用户口令和系统主密钥作为解密信息;若加密方式为本地加密方式,则基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥,并将获取到的加密代码文件以及第一加密密钥作为解密信息。
113.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:从目标信息中获取系统用户口令;基于系统用户口令从目标服务器中获取系统主密钥。
114.在本技术的一个实施例中,目标信息包括该数据库项目的第一配置文件信息,计算机程序被处理器执行时还实现以下步骤:基于第一配置文件信息获取数据库项目部署的项目文件夹的路径;基于路径,遍历项目文件夹,以从项目文件夹中获取加密代码文件及以及第一加密密钥。
115.在本技术的一个实施例中,密文密码包括第二密文密码,第二密文密码为加密的该数据库连接工具的数据库连接密码,计算机程序被处理器执行时还实现以下步骤:从目标信息中读取数据库连接工具所使用的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为解密信息。
116.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息;其中,命令执行权限是
对目标服务器进行渗透攻击后得到的。
117.本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
118.在本技术的一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:从目标服务器中收集目标信息;基于目标信息获取目标服务器中数据库项目的数据库连接密码和数据库连接工具的数据库连接密码,其中,数据库连接密码包括明文密码和密文密码;基于目标信息获取解密信息,并基于解密信息对密文密码进行解密,得到解密密码;基于解密密码、明文密码以及目标信息生成渗透网络拓扑图。
119.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于目标信息获取数据库项目的第一配置文件信息以及数据库连接工具的第二配置文件信息;基于第一配置文件信息获取数据库项目部署的项目文件夹的路径,并基于路径,遍历项目文件夹,以从项目文件夹中获取数据库项目的数据库密码配置文件,从数据库密码配置文件中读取数据库项目的数据库连接密码;从第二配置文件信息中读取数据库连接工具的数据库连接密码。
120.在本技术的一个实施例中,目标信息包括注册表信息和服务列表信息,计算机程序被处理器执行时还实现以下步骤:基于注册表信息和服务列表信息,得到目标服务器中安装的软件的软件列表;根据软件列表确定目标服务器中的数据库项目以及数据库连接工具。
121.在本技术的一个实施例中,密文密码包括第一密文密码,第一密文密码为加密的数据库项目的数据库连接密码,计算机程序被处理器执行时还实现以下步骤:确定第一密文密码的加密方式;根据加密方式,基于目标信息获取解密信息。
122.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若加密方式为windowsdpapi加密方式,则基于目标信息获取系统用户口令和系统主密钥,并将获取到的系统用户口令和系统主密钥作为解密信息;若加密方式为本地加密方式,则基于目标信息获取数据库项目的加密代码文件及以及加密代码文件对应的第一加密密钥,并将获取到的加密代码文件以及第一加密密钥作为解密信息。
123.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:从目标信息中获取系统用户口令;基于系统用户口令从目标服务器中获取系统主密钥。
124.在本技术的一个实施例中,目标信息包括该数据库项目的第一配置文件信息,计算机程序被处理器执行时还实现以下步骤:基于第一配置文件信息获取数据库项目部署的项目文件夹的路径;基于路径,遍历项目文件夹,以从项目文件夹中获取加密代码文件及以及第一加密密钥。
125.在本技术的一个实施例中,密文密码包括第二密文密码,第二密文密码为加密的该数据库连接工具的数据库连接密码,计算机程序被处理器执行时还实现以下步骤:从目标信息中读取数据库连接工具所使用的加密算法以及加密算法对应的第二加密密钥,将加密算法和第二加密密钥作为解密信息。
126.在本技术的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于获取到的目标服务器的命令执行权限,从目标服务器中收集目标信息;其中,命令执行权限是
对目标服务器进行渗透攻击后得到的。
127.本实施例提供的计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
128.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
129.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
130.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。