kali渗透测试日记 - 被动信息收集
被动信息收集(防发现)
被动信息收集:利用第三方服务对目标进行访问了解,比如google搜索。不与目标系统直接交互
主动信息收集:将流量流经网站的行为,比如nmap扫描端口。
被动信息收集利用公开渠道获得目标信息,不直接交互,避免留下痕迹
收集内容
- IP地址
- 域名信息
- 邮件地址
- 文档图片数据
- 公司地址
- 公司组织架构
- 联系电话、传真号码
- 人员姓名、职务
- 目标系统使用的技术架构
- 公开的商业信息
信息用途
发现目标、信息描述目标、社工、物理缺口
DNS信息收集
域名解析
A记录Address - 主机名和IP地址关联起来(正向解析)
PTR记录Pointer - IP地址对应到主机(反向解析)
CNAME记录 别名 - 多个名字映射到同一个IP地址(一个域名解析到另一个域名)
MX记录 - 邮件交换记录指向邮件服务器
NS记录 - 域名服务器记录,用来指定由哪个服务器解析
DNS缓存服务器 - 不负责解析域名,只是缓存域名解析结果
通过域名得到IP地址
ping target.cn
nslookup target.cn (安装:apt install dnsutils)
主动收集DNS信息
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
dig target.cn @114.114.114.114 any
dig (选项) target.cn @<DNS服务器地址,指定进行域名解析的域名服务器> any
any:显示所有类型的域名记录,默认只显示A记录
反向DNS查询
dig -x 114.114.114.114
查询DNS服务器bind版本信息
目的:根据版本查询对应的漏洞
dig @${server} TXT CHAOS version.bind
dig @8.8.8.8 CHAOS TXT version.bind
bind版本信息为5.2.210.6.00
查询域名注册信息和备案信息
获取企业名称、联系方式
域名信息
利用whois
命令查询
whois target.cn
或者利用站长之家 http://whois.chinaz.com/
备案信息
Web接口查询:beianbeian.com
天眼查:tianyancha.com
利用Maltego收集子域名信息
http://example.com
顶级域:.com
子域名:example.com
挖掘子域名的重要性
在主域名防御严密时,攻击子域名可以迂回靠近主域名
www.xxx.com防护严密
www.edu.xxx.com可能防护措施松散
子域名挖掘工具
- Maltego子域名挖掘
- 搜索引擎查询,在搜索框中输入 site:target.com,查询结果全部输入该域名的子域名
- 第三方网站查询:站长之家 https://tool.chinaz.com/subdomain 以及 https://dnsdumpster.com/
利用Maltego
Kali预装了Maltego工具,使用免费的CE版本即可。
注册和登录需要fq,建议挂代理进行相关操作。
由于当前的2021.2版本kali代理似乎不能全局设置,可以使用proxychain工具打开Maltego。
新建-左侧工具栏搜索Domain并拖入中间的空白区域
双击输入对应的主域名,这里右击选择To DNS Name(interesting)[Robtex]并等待。
如图即可获得Maltego检索到的子域名DNS,右键可以进一步查询IP等信息。
Maltego的其他功能可以自行挖掘。
Shodan信息收集
https://www.shodan.io
查询IP地址对应的信息:
net: [IP]
指定端口
port:80
其他搜索技巧自行领悟
原文地址:https://www.cnblogs.com/shcjveg/p/15229141.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何在C中定义多行宏定义?
- flutter Icon可以用Image替换
- 如何在C中传递二维数组作为参数?
- volatile相关知识
- c语言二级指针的使用,malloc内存申请
- istio部署模型
- 你所不知道的printf函数
- c语言之——整型的隐式转换与溢出检测
- Istio 的配置分析
- (C99)复合字面量
- 排障集锦:九九八十一难之第十三难!-------------史上最全MySQL 单实例故障排查
- c语言数组越界的避免方法
- 单片机的存储区范例
- 大点干!早点散----------Nginx+Tomcat动静分离
- 大点干!早点散----------深入剖析缓存加速--squid传统代理和透明代理