目录
二.确定渗透测试目标,将收集到的信息粘贴如下,并筛选出重点测试服务器
一、了解信息收集工具
1.whois
主要用来查询域名是否已经被注册,以及注册域名的详细信息的数据库,如域名所有人、域名注册商、域名注册日期、过期日期等
语法:whois[选择参数][必要参数]
选择参数:
-a搜寻所有数据库
-c找到最小的包含一个 mnt-irt 属性的匹配
-d同时返回 DNS 反向查询的代理对象(需支持RPSL协议)
-F快速输出原始数据
-H隐藏法律声明内容
-iATTR 进行一次反向查询
-l将精确度降低一级的查询 (需支持RPSL协议)
-L找到所有低精确度匹配
-m找到第一级较高精确度匹配
-M找到所有较高精确度匹配
-r查询联系信息时关闭递归查询
-R显示本地域名对象副本
-x精确匹配
-h[主机] 连接到指定 HOST 服务器
-p[端口] 连接到指定 PORT 端口
-t[类型] 查询指定类型对象头信息
-T[类型] 查找指定类型的对象
-v[类型] 查询指定类型对象冗余信息
-q [版本|类型] 查询特定的服务器信息(需支持RPSL协议)
2.host
host指令提供一个简单的DNS解析的功能。正常地使用名称到IP的解析。名称是可以被解析的域名,也可以是点分十进制的IPV4的地址或冒号分隔的IPV6的地址,有一个反向解析的功能
语法:host [参数]
常用参数:
-a显示详细的DNS信息
-c指定查询类型,默认值为“IN”
-C查询指定主机的完整的SOA记录
-r不使用递归的查询方式查询域名
-t指定查询的域名信息类型
-v显示指令执行的详细信息
-w如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出
-4使用IPv4查询传输 (默认)
-6使用IPv6查询传输
3.dig
dig 命令主要用来从 DNS 域名服务器查询主机地址信息,可以用来测试域名系统工作是否正常
@<服务器地址>:指定进行域名解析的域名服务器;
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x<IP地址>:执行逆向域名查询;
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。
4.dnsenum
尽一切可能收集一个域的信息,它能够通过Google或者字典文件猜测可能存在的域名,以及对一个网段进行反查询。
可以查询网站主机的主机地址信息、域名服务器、MX record(函数交换记录),在域名服务器上执行axfr请求,并通过Google脚本得到扩展域名信息,提取子域名并且查询,计算C类地址并执行Whois查询,执行反向查询,把地址段写入文件
5.dnsdict6
扫描网站并显示有多少域或者子域,也可以扫描ipv6/ipv4地址。dnsdict6是一款功能强大的工具,它可以提取那些对用户限制或者不可见的子域。这一切证明了它是一个用来获取网站信息的好工具。
主要用来查ipv6
命令格式: dnsdict6 [options] [domain] [字典]
-4 查询ipv4地址
-D 显示自带的字典
-t 线程数 最高32,默认是8
-d 显示NS MX域名信息
-S SRV服务名称猜解
-[smlxu] 选择字典大小
-s(mall=100),-m(edium=1419)(DEFAULT)
-l(arge=2601),-x(treme=5886) or -u(ber=16724)
6.fierce
Fierce显示指定域的DNS信息,是一个侦察工具,不能用于IP扫描或者DDos。Fierce可以使用几种不同的策略来快速扫描指定的域。通过扫描指定的域,可以获取子域的IP地址,而这些IP地址信息正是使用NMap等扫描工具所需要的
使用-dns参数实现Fierce的基本扫描,其用法为fierce -dns 指定的域
使用-connect参数可以实现基于HTTP的暴力破解,该参数后面指定了一个包含HTTP头内容的文档。使用-connect参数进行信息收集时,会返回HTTP头的内容。但是由于每次暴力破解时都要进行HTTP连接,并且发送HTTP头内容,所以会很消耗时间fierce -dns 指定的域 -connect 指定头内容的文档
使用-search参数指定要搜索的域列表,域列表中指定了属于同一公司的其他域fierce -dns examplecompany.com -search corpcompany, blahcompany
通过-dnsserver参数指定DNS服务器根据IP地址来查找域名,一般与-range参数一起使用,-range参数指定了IP地址范围fierce -range 192.168.1.0-255 -dnsserver 114.114.114.114
二.确定渗透测试目标,将收集到的信息粘贴如下,并筛选出重点测试服务器
在渗透测试的过程中,信息收集是其中最重要的一部分,你收集到目标的信息越多,你的渗透切入点就越多,你对目标渗透的成功率也就越高。所以,有的大牛说:渗透测试的本质是信息收集。这里信息收集我分为两大类,第一大类是对目标网站的正面信息收集(组成网站的信息),第二大类是从网站的侧面来进行信息收集。
第一类:正面信息收集
(1)网站页面信息收集
我们在浏览目标网站的网页时,往往可以发现一些比较重要的信息。从网站的URL观察,有些URL会暴露网站使用的脚本语言。再往下观察网站是否有在线客服窗口,网站底部你可能在网站页面观察到的信息有:URL信息(1.例如使用的OA.xxxcom2.使用的脚本语言)、在线客服、技术支持、关于公司的联系方式(邮箱、电话号码、工作地点等)、备案号、营业执照、后台登录接口、友情链接、某些二维码等。
(2)域名信息
在渗透测试过程中,一般在目标的主站很少有发现漏洞点的存在,这时候我们就要从从主站之外的接口进行渗透测试,这时我们可以从域名出发收集信息。
第二类:侧面信息收集
(1)站长之家
whois查询
得到目标URL之后,我们可以通过站长之家来进行whios查询这家公司的信息。例如:公司名称,注册人或者机构、联系方式:邮箱,手机号码,备案号,ip,域名,DNS,少量子域名等。
(2)网络空间搜索引擎
常用的空间搜索引擎一般有:FOFA、shodan、zoomeye。其中FOFA一般搜索到的是一些网站的信息,收集到的偏软件类信息比较多;而shodan和zoomeye则是搜索网络在线设备信息,偏向于收集硬件的信息。具体使用规则需要自己去摸索。
(3)Google语法
Google语法是最强大的搜索手段之一,你可以收集到一些敏感页面、敏感目录、网站内可下载的文件、可能出现的sql注入点和文件上传点、未授权访问页面等。
(4)WAF探测
通过识别网站是否存在WAF以及网站存在什么样的WAF,根据自己的水平(能否绕过此类WAF)来决定还应不应该花时间耗在绕WAF上(不仅限于参加比赛)。
实际操作:
1)whois
对baidu.com进行whois查询
2)host
查询域名对应的ip地址
host baidu.com
详细的DNS信息
host -a baidu.com
查询域名的MX信息
host -t MX baidu.com
3)dig
对baidu.com的递归查询过程:
dig +trac baidu.com
4)dnsenum
desenum baidu.com
5)dnsdict6
现在的版本已经没有该工具:
下载:Index of /lookaside/pkgs/thc-ipv6/thc-ipv6-2.7.tar.gz/2975dd54be35b68c140eb2a6b8ef5e59
之后将文件拖进kali系统
tar zvxf thc-ipv6-2.7.tar.gz
cd thc-ipv6-2.7
apt-get install libpcap-dev libssl-dev
make
cp dnsdict6 /usr/bin
输入dnsdict6验证是否运行成功
探测baidu.com,子域名信息
dnsdict6 -4
查看自带字典
Dnsdict6 -D
用自己写的字典进行爆破
Nano 1.txt
Cat 1.txt
Dnsdict6 baidu.com 1.txt