要求:熟练掌握域名收集、子域名、IP地址收集的各种工具的使用,结果写入实验报告
警示:遵纪守法
工具:kail
信息收集
信息收集又称 网络踩点(footprinting),攻击者通过各种途径对要攻击的目标进行有计划和有步骤的信息收集,从而了解目标网络环境和信息安全状况的过程。
信息收集内容包括:IP地址段、域名信息、邮件地址、公司地址、公司组织架构、联系电话/传真、人员姓名/职务、目标系统的技术架构、公开的商业信息
信息收集用途:信息描述目标、发现目标、社会工程学攻击、物理缺口
域名收集工具(dig、host):
dig
dig(domain information group)是常用的域名查询工具,可从DNS域名服务器查询主机地址信息,获取到详细的域名信息。
kali中有dig工具不需要重复下载
名词解释
DNS:Domain Name System 。域名系统是因特网的主要服务,作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS使用TCP和UDP端口53。
A记录:正向解析,主机记录,最广泛的DNS记录;域名->IP
NS记录:也称为域名服务器记录,用于说明这个区域有哪些DNS服务器承担解析的任务;
ns.hebtu.edu.cn
cname记录:别名记录;允许将多个名字映射到同一台计算机
如www.xuesheng.cn 对应IP110.10.10.10
web.xuesheng.cn 对应IP110.10.10.10
PTR记录:反向地址解析记录,作用是把IP地址解析为域名
IP->域名
基本用法:dig 域名
输出内容解释:
第一部分:前两行
第一行会打印出已安装的 dig 版本,以及查询的域名;如上图中,dig版本为9.16.13-Debian,要查询的域名为www.baidu.com
第二行显示全局选项(默认情况下,仅有 cmd)。
如果你不希望一二行被包括在输出中,请使用+nocmd参数。 (此参数必须是 dig 命令后的第一个参数)
第二部分:Got answer(三四五行)
三四五行输出包括从被请求机构(DNS 服务器)收到响应的详细技术信息。标题显示由 dig 执行操作的「操作码」和「操作状态」的「标头」,上述示例中的「操作状态」是NOERROR,这意味着被请求的 DNS 服务器可没有任何阻碍地提供查询。
也可以用+comments参数隐藏这一部分输出,使用此参数时还会禁用一些其它节输出的标题。
第三部分:OPT PSEUDOSECTION
「OPT」伪装部分仅在较新版本的 dig 工具中显示。要隐藏此部分输出可以使用+noedns参数。
第四部分: QUESTION SECTION
显示 dig 将要查询的内容,默认情况下 dig 会查询 A 记录。可以使用+noquestion参数禁用此部分输出。
第五部分:ANSWER SECTION
「ANSWER」部分为我们提供了查询的答案,正如我们已经提到的,默认情况下 dig 将请求 A 记录。 在这里,我们可以看到 www.baidu.com 域名指向的 IP 地址。
可以使用+noanswer参数删除此部分输出。
第六部分:最后一段
其中包括有关查询的统计信息,包括Query time、SERVER、WHEN、MSG SIZE rcvd。
可以使用+nostats参数禁用此部分输出。
具体查询语句
(注意:下列语句中带的参数不区分大小写,即dig www.baidu.com A与dig www.baidu.com a等同)
查询A记录:dig 域名 A
查询MX记录: dig 域名 MX
查询CNAME记录: dig 域名 cname
查询NS记录: dig 域名 NS
查询上述所有记录: dig 域名 NYA
查询A记录并显示简要的返回结果: dig 域名 A +short
从指定的dns服务器(8.8.8.8)进行查询: dig @服务器ip 域名
反向查询(查询IP的DNS): dig -x ip +short
跟踪整个查询过程: dig +trace 域名
host
常用的分析域名查询工具,可测试域名系统工作是否正常;功能:名字->IP地址,IP->名字
查询域名对应的IP地址: host 网址
基本用法:查询域名对应的IP地址: host 域名
具体查询语句
显示域名查询的详细信息: host -v 域名
查询域名的MX信息: host -t mx 域名
显示详细的DNS信息: host -a 域名
用其它DNS查询百度主机: host 域名 其他DNSip(例:host www.baidu.com 8.8.8.8)
子域名工具(dnsenum、dnsrecon、fierce、oneforall):
dnsenum
功能:获取各种DNS资源记录,根据字典暴力枚举子域名、主机名、C段网络扫描和反向网络查找
基本用法
dnsenum [选项] 域名
将会得到
Host's addresses:
__________________
# 主机地址
Name Servers:
______________
# 名称服务器
Mail (MX) Servers:
___________________
# 邮件(MX)服务器
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
# 尝试区域传输并获取绑定版本
Brute forcing with /usr/share/dnsenum/dns.txt:
_______________________________________________
# 使用/usr/share/dnsenum/dns.txt强制执行
# 使用字典文件进行dns查询
域名 class C netranges:
________________________________
# 域名C类网络范围
域名 ip blocks:
_______________________
# 域名的ip块
Performing reverse lookup on 512 ip addresses:
_______________________________________________
# 对512个ip地址执行反向查找
具体用法
用dnsenum -h可以查询全部命令
常用命令:
–dnsserver 将指定DNS服务器用于A,NS和MX查询。
–enum Shortcut选项相当于–threads 5 -s 15 -w。
–noreverse跳过反向查找操作。
–private在文件domain_ips.txt的末尾显示并保存私有ips。
–subfile 将所有有效的子域写入此文件。
-t, - timeout tcp和udp超时值,以秒为单位(默认值:10秒)。
–threads 将执行不同查询的线程数。
-v, - verbose详细:显示所有进度和所有错误消息。
-f, - file 从此文件中读取子域以执行暴力破解。
-u,使用有效子域更新使用-f开关指定的文件。
-r, - delay在子域上递归,强制所有具有NS记录的已发现的子域。
-o --output 以XML格式输出。将扫描的结果输出成为文件。
例如: dnsenum -r -f /usr/share/dnsenum/dns.txt 域名
dnsenum -f /usr/share/dnsenum/dns.txt --dnsserver 8.8.8.8 cisco.com -O cisco.txt
dnsrecon
强大的域名信息收集和枚举工具,支持所有域名枚举和域名资源记录查询
基本用法
dnsrecon -d 目标域名 -D 字典文件
还可以在后面加-t brt 使用内建字典枚举域名和IP地址;-t std 默认的标准查询;-t axfr对所有的NS服务器进行域传送测试
具体用法
此工具可以完成:
区域传输 ---- Zone Transfer
反向查询 ---- Reverse Lookup
暴力猜解 ---- Domain and Host Brute-Force
标准记录枚举 ---- Standard Record Enumeration (wildcard,SOA,MX,A,TXT etc.)
缓存窥探 ---- Cache Snooping
区域遍历 ---- Zone Walking
Google查询 ---- Google Lookup
dnsrecon -h可以查询全部命令
usage: dnsrecon.py [-h] -d DOMAIN [-n NS_SERVER] [-r RANGE] [-D DICTIONARY] [-f] [-a]
[-s] [-b] [-y] [-k] [-w] [-z] [--threads THREADS]
[--lifetime LIFETIME] [--tcp] [--db DB] [-x XML] [-c CSV] [-j JSON]
[--iw] [--disable_check_recursion] [--disable_check_bindversion]
[-v] [-t TYPE]
optional arguments:
-h, --help 显示此帮助消息并退出
-d DOMAIN, --domain DOMAIN
目标域.
-n NS_SERVER, --name_server NS_SERVER
要使用的域服务器。如果没有给出,则目标的SOA将被使用。可以使用逗号指定多个服务器分隔列表。
-r RANGE, --range RANGE
格式中反向查找暴力的IP范围(第一个-last)或in(范围/位掩码)
-D DICTIONARY, --dictionary DICTIONARY
用于暴力的子域和主机名字典文件武力筛选出强制域查找,记录保存时解析为通配符定义的IP地址记录
-f 从强制域查找中筛选出可解析的记录保存记录时使用通配符定义的IP地址。
-a 使用标准枚举执行AXFR
-s 使用执行SPF记录中IPv4范围的反向查找标准枚举
-b 使用标准枚举执行Bing枚举
-y 使用标准枚举执行Yandex枚举
-k 执行crt。sh枚举和标准枚举
-w 对IP进行深入的whois记录分析和反向查找执行标准枚举时通过Whois找到的范围
-z 使用标准枚举执行DNSSEC区域漫游
--threads THREADS 反向查找、正向查找中使用的线程数,暴力和SRV记录枚举。
--lifetime LIFETIME 等待服务器响应查询的时间。默认值为3
--tcp 使用tcp协议进行查询
--db DB SQLite 3文件以保存找到的记录。
-x XML, --xml XML XML文件,用于保存找到的记录。
-c CSV, --csv CSV 将输出保存到逗号分隔的值文件。
-j JSON, --json JSON 将输出保存到JSON文件
--iw 即使发现通配符记录,也继续强制域执行暴力。
--disable_check_recursion
在名称服务器上禁用递归检查
--disable_check_bindversion
在名称服务器上禁用BIND版本检查
-v 启用冗余
-t TYPE, --type TYPE 要执行的枚举类型。std: SOA, NS, A, AAAA, MX and
SRV.
rvl: 反向查找给定的CIDR或IP范围。
brt:使用给定字典强制域和主机。
srv:SRV记录。
axfr:测试所有NS服务器的区域传输。
bing: 执行bing搜索子域和主机。
yand:对子域和主机执行Yandex搜索。
crt: 执行crt。sh搜索子域和主机。
snoop: 执行缓存对给定域的所有NS服务器进行监听,测试都包含包含域的文件,文件用-D指定选项
tld: 删除给定域的tld并对其进行测试在IANA注册的所有TLD.
zonewalk: 执行DNSSEC区域使用NSEC记录行走。
dnsrecon -d 目标域名 -D 字典文件 -t {std|brt|axfr}
-t brt 使用内建字典枚举域名和IP地址;-t std 默认的标准查询;-t axfr对所有的NS服务器进行域传送测试
fierce
功能:综合使用多种技术扫描IP地址和主机名的枚举工具,包括反向查找某个IP地址段中的域名
用法:fierce --domain 目标域名 [-dnsserver 指定DNS] [-range ip地址范围] [-threads 线程数] [-wordlist 字典路径]
oneforall–功能强大的子域收集工具
在线工具查询https://phpinfo.me/domain/
ip信息查询
DNS信息收集工具dnsenum、fierce和dnsrecon都支持IP地址收集
netdiscover :一款支持主动/被动的ARP侦查工具,有线和无线网络均可
用法:netdiscover [-p] -r 地址范围
nmap :经典端口扫描工具,集成了主机发现模块
用法:nmap [-PA [端口]] [-PS [端口]] [-PU [端口]] -sn -n 地址范围
-sn: ping扫描- 禁止端口扫描
-PS [portlist]: TCP SYN扫描
-PA[portlist]: TCP ACK扫描
-PU [portlist]: UDP 扫描
FOFA-强大的网络空间资产搜索引擎
局域网嗅探
Metasploit中的psnuffle模块
截获同一局域网内用户登录某应用(FTP, HTTP, TELNET等)的明文账号
WEB挖掘分析
通过搜索引擎从WEB站点中寻找和搜索攻击目标的相关信息
site: 域名
inurl: login
allinurl: login admin
intext: 关键字 // 寻找正文中含有关键字的网页
allintext: 关键字 // 寻找正文中的多个关键字
filetype: 关键字 // 指定访问的文件类型