前言

被动信息收集定义可认为如下:

  • 公开渠道可获得的信息
  • 与目标系统不产生直接交互
  • 尽量避免留下一切痕迹

有两个最早的官方文件如下:
美国军方:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf
北大西洋公约组织:http://information-retrieval.info/docs/NATO-OSINT.html

1、收集的信息内容

以下这些都是要收集的目标信息:

  • IP地址段
  • 域名信息
  • 邮件地址
  • 文档图片数据
  • 公司地址
  • 公司组织架构
  • 联系电话/传真号码
  • 人员姓名/职务
  • 目标系统使用的技术架构
  • 公开的商业信息

2、DNS域名记录

  • A记录:主机记录,是使用最广泛的DNS记录;(比如说,www.baidu.com可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡!)
  • NS记录:也称为域名服务器记录,用于说明这个区域有哪些DNS服务器承担解析的任务
  • SOA记录:起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主DNS服务器
  • MX记录:邮件交换记录,MX记录是无可或缺的,比如:A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里
  • Cname记录:别名记录
  • PTR记录:反向地址解析记录,作用是把IP地址解析为域名。DNS的反向区域负责从IP到域名的解析,因此如果要创建PTR记录,必须在反向区域中创建

3、DNS查询过程(有图)


1、本地的DNS服务器一开始是不知道www.baidu.com的IP地址,它会去问根域服务器(即.域);
2、根域服务器只解析13个根域名服务器,所以不会直接www.baidu.com返回的IP地址,而是会返回.com域3、的域名服务器的地址,让本地域名服务器去问.com服务器;
4、本地DNS服务器去问.com服务器,但是.com服务器也不知道www.baidu.com的IP地址,但是会返回一个存储了baidu.com这个域名的服务器的地址,让本地服务器去问baidu.com域名服务器;
5、本地服务器就去问记录了baidu.com域名服务器,问它知不知道www.baidu.com对应的ip地址是多少。这个服务器一查,确实有一个域名是baidu.com的主机进行了A记录解析(即www.baidu.com),对应着一个ip地址,它会将ip地址返回给本地DNS服务器;
6、本地服务器拿到这个ip,先在本地缓存一份,然后再把www.baidu.com对应的ip地址返回给请求的主机;
这时候,当有其他主机问本地DNS服务器www.baidu.com对应的ip是多少时,本地DNS服务器发现自己的缓存中有这条记录,就会直接返回www.baidu.com的ip。
7、主机和本地服务器之间的查询称为递归查询,而本地服务器与各种域名服务器之间的查询称为迭代查询。

4、DNS信息收集——nslookup

nslookup是一个很好用的查DNS信息的命令
一些指令如下:

nslookup
> server   #本地DNS
Default server: 192.168.37.2
Address: 192.168.37.2#53> sina.com
Server:  192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer:
Name: sina.com
Address: 66.102.251.33> set type=mx #指定查询类型
> sina.com
Server: 192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer:
sina.com mail exchanger = 10 freemx2.sinamail.sina.com.cn.
sina.com mail exchanger = 5 freemx1.sinamail.sina.com.cn.
sina.com mail exchanger = 10 freemx3.sinamail.sina.com.cn.>server (IP) # 可以设置查询使用的域名服务器>nslookup -type=any 163.com #显示所有信息

5、DNS信息收集——dig

还有一个命令是dig:

dig @8.8.8.8 sina.com;        #dig @指定DNS服务器   要收集的域名
dig @8.8.8.8 sina.com any;
dig @8.8.8.8 sina.com mx;

可以多尝试用不同的DNS服务器

反向查询:

dig -x(反向) IP

查询DNS服务器bind版本信息,用于攻击DNS服务器:

dig +noall(什么也不输出) +answer(只显示answer) txt chaos VERSION.BIND @ns3.dnsv4.com

得到bind到官网查询,看是否最新版本,对比得到有什么漏洞
有很多bind是查不到的
建议自己做的话不要放出来

6、DNS追踪:

dig +trace www.sina.com

进行迭代追查
根域——.com域——sina.com域——www.sina.com;
可以抓包进行对比

7、DNS区域传输

将一个区域文件复制到多个DNS服务器上的过程叫做区域传输,这个功能能够完成DNS服务器之间的数据库同步,一般只发生在DNS服务器之间。
如果DNS区域传输存在漏洞,我们就可以利用DNS区域传输来查看目标的记录
首先我们要先知道一个域名服务器,因为域名服务器有所有主机的记录
采用 dig @域名服务器 域名 传输方法axfr (AXFR(Request for full zone transfer))同步数据库记录;

dig sina.com ns
得到ns1.sina.com
dig @ns1.sina.com sina.com axfr

发起区域传输

host -T(显示时间) -l(区域传输) sina.com ns1.sina.com 

8、DNS字典爆破

一般情况下,都不能直接与域名服务器进行同步。
得到想要的主机记录,这时候就可以使用DNS字典爆破,拿一个字典一个一个尝试,把对应的域名的解析记录全部暴力尝试出来。
建议熟悉一个顺手的命令,然后把字典集成
有以下这些命令:

dpkg -L fierce
#dpkg是进行包管理的,可以搜索出系统中与fierce相关的文件
fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist /usr/share/fierce/hosts.txt
# -dnsserver指定DNS服务器  -dns指定要查询的域  -wordlist指定字典dnsdict6 -d4 -t 16 -x sina.com
# -t指定线程数 -x指定字典级别
这个命令默认集成的字典大且速度快dnsenum -f dnsbig.txt -dnsservrer 8.8.8.8 sina.com -o sina.xml
# -f指定字典 -dnsserver指定DNS服务器 -o指定导出文件dnsmap sina.com -w dns.txt
# -w指定字典
这个命令极慢

9、DNS注册信息

通过注册信息可以进行很多攻击,包括社会工程学
注册时不要留下太多信息,通过服务商进行注册

一些NIC网站:

www.afrinic.net
www.apnic.net
ws.arin.net
www.iana.com
www.icann.org
www.lacnic.net
www.nro.net
www.ripe.net
www.inernic.net

查询注册信息指令如下:

whois sina.com
#通过连接多个nic查询sina的注册信息
whois -h whois.apnic.net 192.0.43.10

结语

DNS查询是很基础也很好用的手段
不论是作为攻击还是防御都要重视
尤其为了安全,不要把很多信息放上注册

有两个不错的可参考博文如下:

https://blog.csdn.net/qq_38684504/article/details/89070247?ops_request_misc=%7B%22request%5Fid%22%3A%22158185330419726867814560%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158185330419726867814560&biz_id=0&utm_source=distribute.pc_search_result.none-task
https://blog.csdn.net/weixin_44479297/article/details/92064337?ops_request_misc=%7B%22request%5Fid%22%3A%22158185330419726867814560%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158185330419726867814560&biz_id=0&utm_source=distribute.pc_search_result.none-task

之后关于被动信息收集,还有shodan等内容

Kali linux 学习笔记(七)被动信息收集——DNS(nslookup、dig、区域传输、字典爆破、注册信息) 2020.2.17相关推荐

  1. Kali Linux学习笔记—Web渗透(1)

    Kali Linux学习笔记-WEB渗透 侦察 Httrack 扫描 Nikto vega skipfish w3af Arachni OWASP_ZAP 必须掌握 Burpsuite 必须掌握 实验 ...

  2. Kali Linux学习笔记—无线渗透 WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit)

    Kali linux 学习笔记 无线渗透--WPA攻击(PSK破解.AIROLIB.JTR.cowpatty.pyrit) PSK破解原理 PSK破解过程 实验步骤--使用字典rockyou.txt ...

  3. 2022自学kali linux学习笔记

    关于密码的破解 在Linux上 /etc/passwd /etc/shadow 使用命令 unshadow 第一步 unshadow /etc/passwd /etc/shadow >test_ ...

  4. Kali linux 学习笔记(七十五)拒绝服务——teardrop 2020.4.15

    前言 本节学习teardrop 很古老 利用IP分段偏移 1.简介 teardrop 主要针对早期微软操作系统(95.98.3.x.nt) 近些年有人发现对 2.x 版本的安卓系统.6.0 IOS 系 ...

  5. kali linux学习笔记

    ARP欺骗:netfuck 需先安装wpcapinstall 来源ip就是目标要欺骗的ip 目标ip是本机网关 双向欺骗 爆破常见服务: smb telnet ftp 3389 mssql mysql ...

  6. Kali linux 学习笔记(三十四)无线渗透——WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit) 2020.3.13

    前言 本节学习对WPA的攻击 主要有PSK攻击和AIROLIB.JTR.cowpatty.pyrit等工具的使用 1.WPA PSK攻击 WPA不存在WEP的弱点 只能基于字典暴力破解 PSK破解过程 ...

  7. Linux学习笔记RHEL 7(十)--使用Vsftpd服务传输文件和使用Samba或NFS实现文件共享

    一.文件传输协议 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性 ...

  8. Kali linux 学习笔记(十六)主动信息收集——防火墙识别(scapy、lbd、waf) 2020.2.25

    前言 通过检查回包,识别端口是否经过防火墙过滤 大概有四种情况 当然误差存在一定误差 1.scapy 根据上述四种情况,可以写个脚本 fw_detect.py #!/usr/bin/python im ...

  9. Kali linux 学习笔记(六十一)密码破解——离线破解(Hashcat、oclhashcat、RainbowCrack、John) 2020.4.6

    前言 本节学习离线破解 其实就是HASH破解 1.简介 身份认证 应明确禁止明文传输密码 每次认证使用HASH算法加密密码传输(HASH算法加密容易.解密困难) 服务器端用户数据库应加密保存 破解思路 ...

最新文章

  1. sentinel使用
  2. 基于子类的动态代理:
  3. DFANet: Deep Feature Aggregation for Real-Time Semantic Segmentation(笔记)
  4. gradle spring_使用Gradle的简单Spring MVC Web应用程序
  5. 听说读论文也有trick?这篇文章告诉你深度学习论文阅读最佳姿势
  6. c 站点下html页面拦截器,HTML内容拦截器「HTML Content Blocker」
  7. 关于iOS中MVC和MVVM的区别和联系
  8. cat EOF file
  9. oracle into关键字,oracle - INTO保留关键字不能用作标识符 - 堆栈内存溢出
  10. 基于Python实现的DHT嗅探器
  11. KeyPass密码管理软件使用说明
  12. [Android] [逆向工程] 安卓逆向入门篇
  13. openSetting:fail can only be invoked by user TAP gesture.
  14. ACTS:首屈一指的软件测试策略是什么?
  15. MySQL 5.7.17.0 下载安装笔记
  16. 这个彩蛋表明,图灵测试评估的也许不是计算机,而是人类……
  17. 《软技能:代码之外的生存指南》读书笔记
  18. Docker容器运行GUI程序的方法(直接进入Docker容器运行或通过SSH连接Docker容器运行)
  19. NYOJ_1275 导弹发射 【LIS】
  20. 微信商家收款码和个人收款码区别,你知道吗?

热门文章

  1. 【转帖】每一个不懂爱的人都会遇到一个懂爱的人,然后经历一场撕心裂肺的爱情。不懂爱的人慢慢懂了。懂爱的人,却不敢再爱了。。。
  2. python教学小说03 好卷,隔壁老王也来学python了
  3. go语言main函数
  4. IOT语义交互性之交叉
  5. 东芝电机驱动芯片参数资料,工程师必看
  6. RSS Reader实例开发之使用Service组件
  7. 使用LaTeX制作海报
  8. 心中无敌,天下无敌——转“赢在中国”主持人王利芬的博客片断
  9. Java英语单词(语言基础)
  10. How to cross compile the PPP to arm-xscale