dnmap分布式集群扫描

dnmap分布式集群扫描,第1张

 安装包及教程地址:dnmap分布式集群扫描-网络安全文档类资源-CSDN下载

DNMAP 集群简介

dnmap是一个用 python 写的进行分布式扫描的 nmap 扫描框架,我们可以用dnmap来通过多个台机器发起一个大规模的扫描,dnmap采用C/S结构,执行大量扫描任务时非常便捷,扫描结果可以统一管理。

使用3台位于不同区域的kali服务器对A类网段进行扫描

 

用户在服务器端设定好nmap执行的命令,dnmap会自动的分配给客户端进行扫描,并将扫描结果提交给服务器。

dnmap有两个可执行文件,分别是 dnmap_client 和 dnmap_server,在进行一个分布式nmap扫描之前,我们可以用dnmap_server 来生成一个dnmap的服务端,然后在其他机器用

dnmap_client 进行连接。然后就能进行分布式的 nmap 扫描了。+

生成证书文件

解压dnmap_v0.6.tgz

┌──(root💀kali)-[~]

└─# tar zxf dnmap_v0.6.tgz

进入查看

──(root💀kali)-[~]

└─# cd dnmap_v0.6

┌──(root💀kali)-[~/dnmap_v0.6]

└─# ls

dnmap_client.py dnmap_server.py README server.pem

因为dnmap自带的用于TLS连接的 pem文件证书太过久远,必须要重新生成一个pem 证书客户端和服务器才能正常连接。

┌──(root💀kali)-[~/dnmap_v0.6]

└─# openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out server.pem

Generating a RSA private key

.......................................+++++

...............................................................................................+++++

writing new private key to 'key.pem'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:beijing

Locality Name (eg, city) []:changping

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cwillchris

Organizational Unit Name (eg, section) []:xue

Common Name (e.g. server FQDN or YOUR name) []:Cwillchris

Email Address []:123@163.com

以上信息可以按照要求填写也可以随意填写。

将新生成的私钥追加到server.pem 证书后面

┌──(root💀kali)-[~/dnmap_v0.6]

└─# ls

dnmap_client.py dnmap_server.py key.pem README server.pem

┌──(root💀kali)-[~/dnmap_v0.6]

└─# cat key.pem >> server.pem

创建 NMAP命令文件

这一步很简单我们只需要将扫描的命令添加到一个文件中即可,每行一条命令。客户端启动后会主动找服务端要任务。当客户端执行完后,会再找服务端要任务。

┌──(root💀kali)-[~/dnmap_v0.6]

└─# vim nmap.txt #插入以下内容

nmap101.200.128.30-31

nmap101.200.128.32-33

nmap101.200.128.34-35

nmap101.200.128.36-37

nmap 101.200.128.38-40

6.2.4 启动 DNMAP 集群

1、使用 dnmap_server 启动 dnmap 的服务端

选项:

-f, 跟一个待会要执行的 nmap 命令的文件

-P, 跟一个用于 TLS 连接的 pem 文件,默认是使用随服务器提供的 server.pem

┌──(root💀kali)-[~/dnmap_v0.6]

└─# python dnmap_server.py -f nmap.txt -P server.pem

提示需要 twisted 库,安装下 twisted

┌──(root💀kali)-[~/dnmap_v0.6]

└─# apt-get install python-twisted-bin python-twisted-core

提示无法定位,由于 Kali2021.1 已经完全是 python3 环境,apt 源已经不提供 python2 相关的依赖包,dnmap

使用的是 python2,所以无法通过在线安装相关的依赖,由于 python-twisted-bin 和 pythontwisted-core 还需要其他的依赖,所以需要离线安装相关的依赖。

注:在安装相关依赖之前,先将 Kali 系统做好快照,因为安装完这些依赖,会导致 Kali 系统无法升级。

将依赖包上传到 Kali,进行安装

安装相关依赖(注意请按照我的顺序,顺序错误会出错)

┌──(root kali)-[~]

└─# dpkg -i python-pkg-resources_40.8.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-zope.interface_4.3.2-1+b2_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-attr_18.2.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-six_1.12.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-automat_0.6.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-constantly_15.1.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-hyperlink_17.3.1-2_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-incremental_16.10.1-3_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-asn1crypto_0.24.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i libffi6_3.2.1-9_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-cffi-backend_1.12.2-1_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-enum34_1.1.6-2_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-ipaddress_1.0.17-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-cryptography_2.6.1-3+deb10u2_amd64.deb

这儿提示报错,卸载 offsec-awae-python2

┌──(root kali)-[~]

└─# dpkg -r offsec-awae-python2

再次安装 python-cryptography_2.6.1-3+deb10u2_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-cryptography_2.6.1-3+deb10u2_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-openssl_19.0.0-1_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-pyasn1_0.4.2-3_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-pyasn1-modules_0.2.1-0.2_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-service-identity_16.0.0-2_all.deb

┌──(root kali)-[~]

└─# dpkg -i python-twisted-bin_18.9.0-3_amd64.deb

┌──(root kali)-[~]

└─# dpkg -i python-twisted-core_18.9.0-3_all.deb

启动 dnmap 服务端

┌──(root kali)-[~/dnmap_v0.6]

└─# python dnmap_server.py -f nmap.txt -P server.pem

查看服务器端口:

┌──(root kali)-[~]

└─# netstat -antup | grep 460

2、使用 dnmap_client 启动 dnmap 的多个客户端

注:我们没有 4 台 Kali 系统。所以我们将 dnmap 服务端和 2 客户端运行在一台机器上。

一共打开 3个 终端窗口。使用 Ctrl+shift+t 可以打开新的终端。

dnmap_client 的参数:

-s, 输入 dnmap 的服务器地址. -p, dnmap 服务的端口号,默认是 46001

打开两个终端,每个终端上执行下面命令: #运行第 1 个 dnmap 客户端

┌──(root kali)-[~/dnmap_v0.6]

└─# python dnmap_client.py -s 192.168.1.53 # -oA 表示将执行结果导出到文件中

#运行第 2 个 dnmap 客户端

┌──(root kali)-[~/dnmap_v0.6]

└─# python dnmap_client.py -s 192.168.1.53

客户端连接成功之后就会执行 namp.txt 中的命令

然后服务端就会输出以下信息

我们可以看到两条命令都执行完成了

我们再打开一个终端 Ctrl+shift+t

┌──(root kali)-[~/dnmap_v0.6]

└─# ls

┌──(root kali)-[~/dnmap_v0.6]

└─# cd nmap_results/

┌──(root kali)-[~/dnmap_v0.6/nmap_results]

└─# ls

20311509.nmap 23080905.nmap 34059114.nmap 66903887.nmap 7944810.nmap

这几个文件名和客户端输出的信息是一致的。我们可以查看一下文件的具体内容

┌──(root kali)-[~/dnmap_v0.6/nmap_results]

└─# cat 93929059.nmap

输出的信息和我们手动执行命令是一致的。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/904831.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-15
下一篇2022-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存