本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程
1. 被动信息收集简介
2. DNS 查询
1. 被动信息收集简介
OSINT
美国军方:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf
北大西洋公约组织:http://information-retrieval.info/docs/NATO-OSINT.html
信息搜集内容
- IP地址段
- 域名信息
- 邮件地址
- 文档内容数据
- 公司地址
- 公司组织架构
- 联系电话/传真号码
- 人员姓名/职务
- 目标系统使用的技术架构
- 公开的商业信息
信息用途
- 用信息描述目标
- 发现
- 社会工程学攻击
- 物理缺口
2. DNS 查询
域名记录
- A:主机地址(域名 -> IP)
- Cname:主机别名记录
- NS:域名服务器记录
- MX:邮件交换记录
- PTR:反向解析(IP -> 域名)
DNS查找:
- 浏览器缓存,浏览器会缓存DNS记录一段时间(2-30min)
- 系统缓存(gethostname)
- 路由器缓存
- 如果还是没有,那么就去检查ISP有没有吧
- 递归搜索
- ISP的DNS服务器会从根域名开始进行递归查询
递归查询:
主机向本地域名服务器的查询一般都是采用递归查询。
如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是返回一个失败的响应,表示无法查询到所需的IP地址。
迭代查询:
本地域名服务器向根域名服务器的查询通常是采用迭代查询。
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么返回给本地域名服务器所要查询的IP地址,要么返回给本地域名服务器下一步应当查询的域名服务器的IP地址。
假设的主机想知道另一个主机(域名为 my.xxsilence.net)的IP地址。具体步骤如下:
① 主机先向其本地域名服务器进行递归查询,如果缓存中没有,继续下一步。
② 本地域名服务器采用迭代查询,先向一个根域名服务器查询。
③ 根域名服务器告诉本地域名服务器,下一次查询的顶级域名服务器 dns.net。
④ 本地域名服务器向顶级域名服务器 dns.net。
⑤ 顶级域名服务器 dns.net,下一次应查询的权限域名服务器dns.xxsilence.net的IP地址。
⑥ 本地域名服务器向权限域名服务器dns.xxsilence.net进行查询。
⑦ 权限域名服务器dns.xxsilence.net告诉本地域名服务器,所查询的主机的IP地址。
⑧ 本地域名服务器最后把查询结果告诉主机。