python 远程连接nas(七爪源码使用Python)

构建您的软件安全测试工具包的简介

python 远程连接nas(七爪源码使用Python)(1)

什么是 DNS 及其工作原理

域名服务器 (DNS) 的存在是将给定的域名转换为客户端正在寻找的服务器的 IP 地址。鉴于两台计算机建立连接需要一对 IP 地址,而且人们不会为他们选择访问的每个网站记住看似随机的数字串,因此当用户搜索网站。已建立 DNS 系统以促进翻译。

DNS 转换过程涉及四个不同的服务器,如下所示:

DNS 递归

DNS 递归器是面向客户端的,旨在接收请求。他们将进行额外的查询以获取客户的信息。想想让图书管理员为你找一本书。数据通常缓存在此服务器中,以防止沿整个链发送请求。

根域名服务器

如果 Internet 是一个库,根名称服务器实现等效的杜威十进制系统,存储所有网站名称和相应 IP 的索引。

顶级域名服务器

名称服务器地址主机名的最后一部分(例如 example.com 中的“.com”)。这是根名称服务器查询之后的下一步。

权威域名服务器

权威名称服务器将整个 URL 转换为 IP,是此过程的最后阶段。

python 远程连接nas(七爪源码使用Python)(2)

黑客和 DNS 区域转移

DNS 区域传输是将名称服务器记录从一个 DNS 服务器复制到另一个。 在 1990 年代后期,仅允许 DNS 服务器之间的区域传输成为行业最佳实践。 然而,总会有后来者,你只需要打破 DNS 链中的一个环节。

有了所有的 DNS 信息,就可以确定很多关于使用该域的网络的信息。 除了发现内部寻址方案之外,还可以确定使用哪些特定主机来分析区域信息。 此外,您可以找到目标的主要名称服务器。

创建安全测试工具

Bash 脚本和命令行工具可用于区域传输,但有时编写自己的安全工具更方便,也更有趣。 要开始在 Python 中创建 DNS 区域传输工具,我们将导入两个关键库,如下所示:

import dns.zone import dns.resolver

这些将允许我们查询一组名称服务器(名称服务器)并解析特定目标的 IP。 我们将对名称服务器运行一次查询,然后进行双循环以解析每个 NS 中的 IP 列表并请求传输。

#!/bin/python3 # A Simple function that finds NS records, resolves their IP, and attempts a DNS Zone Transfer import dns.zone import dns.resolver ns_servers = [] def dns_zone_xfer(address): ns_answer = dns.resolver.query(address, 'NS') for server in ns_answer: print("[*] Found NS: {}".format(server)) ip_answer = dns.resolver.query(server.target, 'A') for ip in ip_answer: print("[*] IP for {} is {}".format(server, ip)) try: zone = dns.zone.from_xfr(dns.query.xfr(str(ip), address)) for host in zone: print("[*] Found Host: {}".format(host)) except Exception as e: print("[*] NS {} refused zone transfer!".format(server)) continue

因为我在网上找到了这段代码的大部分内容,所以我决定用一个小的 UI 组件对其进行扩展,以帮助将 URL 传递给区域传输代码,如下所示。

python 远程连接nas(七爪源码使用Python)(3)

我希望你在这里学到了一些有用的东西。 快乐黑客。

关注七爪网,获取更多APP/小程序/网站源码资源!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页