1、whois查询网站及服务器信息

如果知道目标的域名,你首先要做的就是通过Whois数据库查询域名的注册信息,Whois数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括DNS服务器的信息。

默认情况下,Kali已经安装了Whois。你只需要输入要查询的域名即可:

利用以上收集到的邮箱、QQ、电话号码、姓名、以及服务商,可以针对性进行攻击,利用社工库进行查找相关管理员信息,另外也可以对相关DNS服务商进行渗透,查看是否有漏洞,利用第三方漏洞平台,查看相关漏洞。

2、Dig使用

可以使用dig命令对DNS服务器进行挖掘。

Dig命令后面直接跟域名,回车即可

Dig常用选项

  • -c 选项,可以设置协议类型(class),包括IN(默认)、CH和HS。
  • -f 选项,dig支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求。来个实际例子吧:
  • -4 和-6 两个选项,用于设置仅适用哪一种作为查询包传输协议,分别对应着IPv4和IPv6。
  • -t 选项,用来设置查询类型,默认情况下是A,也可以设置MX等类型,来一个例子:

  • -q 选项,其实它本身是一个多余的选项,但是它在复杂的dig命令中又是那么的有用。-q选项可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读性,来个例子:

  • -x 选项,是逆向查询选项。可以查询IP地址到域名的映射关系。举一个例子:

跟踪dig全过程

dig非常著名的一个查询选项就是+trace,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来

精简dig输出

使用+nocmd的话,可以节省输出dig版本信息。

Dig可以用来查域传送漏洞,前面介绍了dig的使用,若将查询类型设定为axfr,就能得到域传送数据。这也是我们要用来测试DNS域传送泄露的命令.

3、Nslookup用法

nslookup是站长较为常用的工具之一,它甚至比同类工具dig的使用人数更多,原因是它的运行环境是windows,并且不需要我们再另外安装什么东西。dig是在linux环境里运行的命令,不过也可以在windows环境里使用,只是需要安装dig windows版本的程序。

Nslookup命令以两种方式运行:非交互式和交互式。

本文第一次提到“交互式”的概念,简单说明:交互式系统是指执行过程中允许用户输入数据和命令的系统。而非交互式系统,是指一旦开始运行,不需要人干预就可以自行结束的系统。因此,nslookup以非交互式方式运行,就是指运行后自行结束。而交互式,是指开始运行后,会要求使用者进一步输入数据和命令。

类型

  • A 地址记录
  • AAAA 地址记录
  • AFSDB Andrew文件系统数据库服务器记录
  • ATMA ATM地址记录
  • CNAME 别名记录
  • HINFO 硬件配置记录,包括CPU、操作系统信息
  • ISDN 域名对应的ISDN号码
  • MB 存放指定邮箱的服务器
  • MG 邮件组记录
  • MINFO 邮件组和邮箱的信息记录
  • MR 改名的邮箱记录
  • MX 邮件服务器记录
  • NS 名字服务器记录
  • PTR 反向记录
  • RP 负责人记录
  • RT 路由穿透记录
  • SRV TCP服务器信息记录
  • TXT 域名对应的文本信息
  • X25 域名对应的X.25地址记录

例如

1.设置类型为ns

2.下面的例子查询baidu.com使用的DNS服务器名称:

3.下面的例子展示如何查询baidu.com的邮件交换记录:

4.查看网站cname值。

5.查看邮件服务器记录(-qt=MX)

6.同样nslookup也可以验证是否存在域传送漏洞,步骤如下:

nslookup 进入交互式模式
Server 设置使用的DNS服务器
ls 命令列出某个域中的所有域名

4、fierce工具

在进行了基本域名收集以后,如果能通过主域名得到所有子域名信息,再通过子域名查询其对应的主机IP,这样我们能得到一个较为完整的信息。除了默认使用,我们还可以自己定义字典来进行域名爆破。

使用fierce工具,可以进行域名列表查询:fierce -dns domainName

输出结果表明,程序首先进行了域传送测试,域传送通过一条命令就能获取服务器上所有的域名信息。如果一次就能简单获取服务器上所有记录域名信息,就不再暴力破解。

但从结果上看,“Unsucessful in zone transfer”,
域传送测试是失败了。接着执行暴力破解,测试的数量取决于字典中提供的字符串数量,上例中没有指定字典,在默认情况下在Kali中使用/usr/share/fierce/hosts.txt

一个内部网络的DNS域名服务器可以提供大量信息,这些信息可以在以后评估网络漏洞。

5、theHarvester的使用

theHarvester是一个社会工程学工具,它通过搜索引擎、PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息。

  • -d 服务器域名
  • -l 限制显示数目
  • -b 调用搜索引擎(baidu,google,bing,bingapi,pgp,linkedin,googleplus,jigsaw,all)
  • -f 结果保存为HTML和XML文件
  • -h 使用傻蛋数据库查询发现主机信息

实例1

theHarvester -d sec-redclub.com -l 100 -b baidu

实战2

输出到html文件中,可以更清晰的看到搜索的网站信息的模型。

theHarvester -d sec-redclub.com -l 100 -b baidu -f myresults.html

6、DNS枚举工具DNSenum

DNSenum是一款非常强大的域名信息收集工具。它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。

本小节将介绍使用DNSenum工具检查DNS枚举。在终端执行如下所示的命令:

输出的信息显示了DNS服务的详细信息。其中,包括主机地址、域名服务地址和邮件服务地址,最后会尝试是否存在域传送漏洞。

使用DNSenum工具检查DNS枚举时,可以使用dnsenum的一些附加选项,如下所示。

  • --threads [number]:设置用户同时运行多个进程数。
  • -r:允许用户启用递归查询。
  • -d:允许用户设置WHOIS请求之间时间延迟数(单位为秒)。
  • -o:允许用户指定输出位置。
  • -w:允许用户启用WHOIS请求。

7、subDomainsbrute二级域名收集

二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称;在国家顶级域名下,它是表示注册企业类别的符号。

我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名。

在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共7个,包括用于科研机构的ac;国际通用域名com、top;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。

以上为工具默认参数,如果是新手,请直接跟主域名即可,不用进行其它设置。

Python subDomainsbrute.py sec-redclub.com

就可以直接运行,等待结果,最后在工具文件夹下面存在txt文件,直接导入扫描工具就可以进行扫描了。

8、layer子域名检测工具

layer子域名检测工具主要是windows一款二级域名检测工具,利用爆破形式。

工具作者:http://www.cnseay.com/4193/

域名对话框直接输入域名就可以进行扫描了,工具显示比较细致,有域名、解析ip、cnd列表、web服务器和网站状态,这些对于一个安全测试人员,非常重要。如下操作:

会显示大部分主要二级域名。

9、Nmap

Nmap是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

功能

  • 主机发现
  • 端口扫描
  • 版本侦测
  • OS侦测

部署方式

  • Kail集成环境
  • 单独安装(使用yum、apt-get工具直接安装)
  • PentestBox环境
  • Windows版等等

Nmap使用

Nmap的参数和选项繁多,功能非常丰富。我们先来看一下Nmap的通用命令格式:Nmap<扫描选项><扫描目标>(详细教程及下载方式参见:http://nmap.org/)

主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种不同的主机探测方式,比如发送ICMP ECHO/TIMESTAMP/NETMASK报文、发送TCPSYN/ACK包、发送SCTP INIT/COOKIE-ECHO包,用户可以在不同的条件下灵活选用不同的方式来探测目标机。

主机发现的基本用法

扫描局域网192.168.80.1/24范围内哪些IP的主机是活动的。命令如下:nmap –sn 192.168.80.1/24

由图可知:192.168.80.1192.168.80.254192.168.80.166三台主机处于存活状态。

扫描局域网192.168.80.100-200范围内哪些IP的主机是活动的。命令如下:nmap –sP 192.168.80.100-200

端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。Nmap通过探测将端口划分为6个状态:

  • open:端口是开放的。
  • closed:端口是关闭的。
  • filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
  • unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
  • open|filtered:端口是开放的或被屏蔽。
  • closed|filtered:端口是关闭的或被屏蔽。

端口扫描方面非常强大,提供了很多的探测方式:

  • TCP SYN scanning
  • TCP connect scanning
  • TCP ACK scanning
  • TCP FIN/Xmas/NULL scanning
  • UDP scanning
  • 其他方式
  • -sS/sT/sA/sW/sM: 指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
  • -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
  • -sN/sF/sX: 指定使用TCP Null,FIN,and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
  • --scanflags <flags>: 定制TCP包的flags。
  • -sI zombiehost[:probeport]: 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
  • -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。
  • -sO: 使用IP protocol 扫描确定目标机支持的协议类型。
  • -b <FTP relay host>: 使用FTP bounce scan扫描方式
  • -p: 指定端口扫描

在此,我们以主机192.168.80.166为例。命令如下:nmap -sS -p0-65535 -T4 192.168.80.166

参数-sS表示使用TCP SYN方式扫描TCP端口;-p0-65535表示扫描所有端口;-T4表示时间级别配置4级;

扫描特定端口是否开放:nmap -p21,80,445,3306 192.168.80.166

简要的介绍版本的侦测原理。版本侦测主要分为以下几个步骤:

  • 首先检查openopen|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
  • 如果是TCP端口,尝试建立TCP连接。尝试等待片刻(通常6秒或更多,具体时间可以查询文件nmap-services-probesProbe TCP NULL q||对应的totalwaitms)。通常在等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap将接收到的Bannernmap-services-probesNULLprobe中的签名进行对比。查找对应应用程序的名字与版本信息。
  • 如果通过“Welcome Banner”无法确定应用程序版本,那么nmap再尝试发送其他的探测包(即从nmap-services-probes中挑选合适的probe),将probe得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。
  • 如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型。
  • 如果探测到应用程序是SSL,那么调用openSSL进一步的侦查运行在SSL之上的具体的应用类型。
  • 如果探测到应用程序是SunRPC,那么调用brute-force RPC grinder进一步探测具体服务。
  • -sV: 指定让Nmap进行版本侦测
  • --version-intensity <level>: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
  • --version-light: 指定使用轻量侦测方式 (intensity 2)
  • --version-all: 尝试使用所有的probes进行侦测 (intensity 9)
  • --version-trace: 显示出详细的版本侦测过程信息。

对主机192.168.80.166进行版本侦测。命令如下:nmap -sV -p0-65535 -T4 192.168.80.166

Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。

Nmap内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中)。将此指纹数据库作为进行指纹对比的样本库。分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

  • -O: 指定Nmap进行OS侦测。
  • --osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。
  • --osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。

命令:nmap –O 192.168.80.166

  • -vv: 详细显示扫描状态
    nmap -p21,80,445,3306 -vv 192.168.80.166

  • --script: 使用nse脚本,也可自行编写nse脚本,nmap有580多个脚本

nmap --script=auth 192.168.80.166

  • --script=brute: 对弱口令进行暴力破解
    nmap --script=brute 192.168.80.166

  • --script=default: 使用默认nse脚本搜集应用的信息
    nmap --script=default 192.168.80.166

  • --script=vuln: 检测常见漏洞
    nmap --script=vuln 192.168.80.166

优劣势

优势:

  • 功能灵活强大,支持多种目标,大量计算机的同时扫描;
  • 开源,相关帮助文档十分详细;
  • 流行,由于其具有强大的扫描机探测功能,,已被成千上万安全专家使用。

劣势:

  • Nmap参数众多,难以一一记忆;

10、DirBuster

DirBuster是一款路径及网页暴力破解的工具,可以破解出一直没有访问过或者管理员后台的界面路径。Java运行环境+DirBuster程序包

  • 双击运行DirBuster.jar
  • 在URL中输入目标URL或者主机IP地址

  • file with list of dirs/files 栏后点击browse,选择破解的字典库为directory-list-2.3-small.txt

  • 将File extension中填入正确的文件后缀,默认为php,如果为jspaspaspx页面,需要填入jspaspaspx
  • 同样可以选择自己设置字典,线程等等
  • 其他选项不变,点击右下角的start,启动目录查找

  • 观察返回结果,可点击右下角的report,生成目录报告

优点:

  • 敏感目录发掘能力强
  • OWASP安全机构极力推荐

缺点:

  • 探测目录依赖字典文件

安全工具系列 -- 信息收集(二)相关推荐

  1. 安全工具系列 -- 信息收集

    信息收集概述 信息收集一般都是渗透测试前期用来收集,为了测试目标网站,不得不进行各种信息收集.信息收集要根据不同目标进行不同方向收集,工具部分会在下节课程进行讲解,根据个人渗透测试经验总结文章.本文只 ...

  2. kali渗透测试系列---信息收集

    kali 渗透测试系列 文章目录 kali 渗透测试系列 信息收集 信息收集 信息收集阶段可以说是在整个渗透测试或者攻击很重要的阶段,毕竟知己知彼才能百战百胜,否则从目标主机使用的平台到数据库的使用再 ...

  3. kali信息收集二 Sublist3r安装以及出现的问题

    Sublist3r安装以及出现的问题 安装 1.下载到本地 2.安装依赖 3.使用命令 出现问题 安装 1.下载到本地 打开kali的程序终端 克隆下载到本地,代码如下: git clone http ...

  4. 《内网安全攻防:渗透测试实战指南》读书笔记(二):内网信息收集

    目录 前言 一.收集本机信息 1.手动搜集 (1)查询网络配置 (2)查询操作系统及软件的信息 (3)查询本机服务信息 (4)查询进程列表 (5)查看启动程序信息 (6)查看计划任务 (7)查看主机开 ...

  5. 红蓝对抗-最全信息收集工具

    红蓝对抗最全信息收集工具 信息收集工具 资产发现工具 项目简介 项目地址 项目名称 reconFTW 集成了30个工具的信息收集利器 https://github.com/six2dez/reconf ...

  6. Kali Linux信息收集工具栏之Dmitry tools(工具)

    首先这款工具是信息收集工具里的第一位,大体作用是对IP或者web域名进行whois查询,它的用参数如下图: 首先我们需要知道整个格式是这样的 dmitry [-winsepfb] [-t 0-9] [ ...

  7. 渗透测试如何学习? (*╹▽╹*) 信息收集 ~ 其一

    文章目录 简介 本博客学习基础 收集信息简介 收集那些信息 信息收集一(域名信息收集) 收集目标相关子域名 被动方式收集信息 方法一:Google语法 方法二:使用第三方网站接口查询 方法三:使用网络 ...

  8. 网络安全之内网信息收集

    文章目录 一.本机基础信息收集 二.进程和服务信息收集 三.网络信息收集 四.域内信息收集 一.本机基础信息收集 Hostname 查看当前的主机名(计算机名) Whoami 查看当前用户 Whoam ...

  9. 内网信息收集(超级全)

    内网信息收集 文章首发与奇安信攻防社区 https://forum.butian.net/share/236 简介 在渗透测试中信息收集的深度与广度以及对关键信息的提取,直接或间接的决定了渗透测试的质 ...

  10. 渗透测试信息收集——企业基本信息

    文章目录 企业基本信息 JS信息收集 企业基本信息 1.企业基本信息. 2.员工信息(手机号码.邮箱.姓名等),组织框架.企业法人.企业综合信息等. 3.其中员工信息收集是信息收集中的一项重要工作,员 ...

最新文章

  1. 全面解读WEB 2.0
  2. 25Interpreter(解析器)模式
  3. 彻底理解宽带信号在频域分解为窄带信号
  4. 南阳师范学院ACM集训队博客使用方法
  5. Intent Bundle页面跳转信息的传递
  6. google浏览器插件 开发 获取页面指定数据_程序员必备的4款Chrome插件,编程神器...
  7. WPF中得到一个控件相对其他控件的坐标
  8. 使用BusyBox制作根文件系统的理论分析
  9. XOS 详解1: os_s_xxxx.s
  10. spymemcached 的 useNagle 问题与 TCP/IP延迟发送数据
  11. 处理器(CPU)发展简史
  12. 34. HTTP服务的七层架构技术解析及运用
  13. 简单游戏代码_简单游戏
  14. 2022最新酷盒iApp源码V7.8版+内置超多功能
  15. 记录一个修复ubuntu系统主机前置耳机孔没有声音的方法
  16. Arduino的详细介绍(基于Mega2560)(分文)——pinMode,digitalWrite/digitalRead()
  17. python 批量读取csv_Python Pandas批量读取csv文件到dataframe的方法
  18. 【Python】唯品会购买商品
  19. 77、基于STM32单片机的超市餐饮二维码/条形码摄像头识别结账扫码系统设计
  20. 冲量在线正式加入中关村可信计算产业联盟,共同推动可信计算产业深度发展

热门文章

  1. 高通工具QXDM,QCAT和QPST
  2. c++坦克大战 代码免费复制(附源码)
  3. python:坦克大战源代码
  4. android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
  5. pygame 安装方法
  6. 《信号与系统》解读 前言:为什么要解读《信号与系统》?
  7. 信号与系统学习之第一章(系统的六大基本性质定义与判别:无记忆性、可逆性、因果性、稳定性、时不变性、线性)
  8. 电商erp那个收费模式最合算?
  9. 英特尔傲腾 DC P4800X 固态盘
  10. Chrome历史版本查看