kali工具(信息收集二)

目录

一、网络扫描

1、masscan

2、nmap

3、unicornscan 

二、DNS分析

1、dnsenum 

2、dnsmap

3、dnsrecon

4、dnstracer

5、dnswalk

6、fierce 

7、urlcrazy

8、dns 字典文件的网址

三、IDS/IPS 识别

1、fragrouter

2、ftest

3、lbd

4、wafw00f


一、网络扫描

1、masscan

Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。

masscan的扫描结果类似于nmap(一个很著名的端口扫描器),在内部,它更像scanrand, unicornscan, and ZMap,采用了异步传输的方式。它和这些扫描器最主要的区别是,它比这些扫描器更快。而且,masscan更加灵活,它允许自定义任意的地址范和端口范围。

         

参数:  

IP地址范围,有三种有效格式,1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233"的范围地址 3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开
-p <ports,--ports <ports>> 指定端口进行扫描
--banners 获取banner信息,支持少量的协议
--rate <packets-per-second> 指定发包的速率
-c <filename>, --conf <filename> 读取配置文件进行扫描
--echo 将当前的配置重定向到一个配置文件中
-e <ifname> , --adapter <ifname> 指定用来发包的网卡接口名称
--adapter-ip <ip-address> 指定发包的IP地址
--adapter-port <port> 指定发包的源端口
--adapter-mac <mac-address> 指定发包的源MAC地址
--router-mac <mac address> 指定网关的MAC地址
--exclude <ip/range> IP地址范围黑名单,防止masscan扫描
--excludefile <filename> 指定IP地址范围黑名单文件
--includefile,-iL <filename> 读取一个范围列表进行扫描
--ping 扫描应该包含ICMP回应请求
--append-output 以附加的形式输出到文件
--iflist 列出可用的网络接口,然后退出
--retries 发送重试的次数,以1秒为间隔
--nmap 打印与nmap兼容的相关信息
--http-user-agent <user-agent> 设置user-agent字段的值
--show [open,close] 告诉要显示的端口状态,默认是显示开放端口
--noshow [open,close] 禁用端口状态显示
--pcap <filename> 将接收到的数据包以libpcap格式存储
--regress 运行回归测试,测试扫描器是否正常运行
--ttl <num> 指定传出数据包的TTL值,默认为255
--wait <seconds> 指定发送完包之后的等待时间,默认为10秒
--offline 没有实际的发包,主要用来测试开销
-sL 不执行扫描,主要是生成一个随机地址列表
--readscan <binary-files> 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式.
--connection-timeout <secs> 抓取banners时指定保持TCP连接的最大秒数,默认是30秒。

例1:扫描指定网段范围的指定端口

masscan -p80,8080-8100 10.0.0.0/8 -- rate 1000000

例2:可以使用 --echo 将当前的配置输出到一个配置文件,利用 -c 来制定配置文件进行扫描:

masscan -p80,8000-8100 10.0.0.0/8 --echo > scan.conf

masscan -c scan.conf --rate 1000

例3:获取Banner

masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x

例4:加载配置文件的方式运行

masscan 10.0.0.0/8 -p80 -c masscan.conf

内容:

rate = 100000
output-format = xxx
output-status = all
output-filename = xxx.xxx
ports = 0-65535
range = 0.0.0.0-255.255.255.255
excludefile = exclude.txt

        

2、nmap

Nmap是一款非常强大的主机发现和端口扫描工具,而且nmap运用自带的脚本,还能完成漏洞检测,同时支持多平台

主机发现

iR                                    随机选择目标
-iL                                   从文件中加载IP地址
-sL                                   简单的扫描目标
-sn                                   Ping扫描-禁用端口扫描
-Pn                                   将所有主机视为在在线,跳过主机发现
-PS[portlist]                        (TCP SYN ping) 需要root权限
-PA[portlist]                        (TCP ACK ping)
-PU[portlist]                        (UDP  ping)
-PY [portlist]                       (SCTP ping)
-PE/PP/PM                             ICMP回显,时间戳和网络掩码请求探测
-PO[协议列表]                         IP协议Ping
-n/-R                                 从不执行DNS解析/始终解析[默认:有时]
--dns-servers                         指定自定义DNS服务器
--system-dns                          使用OS的dns服务器
--traceroute                          跟踪到每个主机的跃点路径

扫描技术

-sS                                    使用TCP的SYN进行扫描
-sT                                    使用TCP进行扫描
-sA                                    使用TCP的ACK进行扫描
-sU                                     UDP扫描
-sI                                     Idle扫描
-sF                                     FIN扫描
-b<FTP中继主机>                        FTP反弹扫描

端口规格和扫描顺序

-p                                        扫描指定端口
--exclude-ports                           从扫描中排除指定端口
-f                                        快速模式-扫描比默认扫描更少的端口
-r                                        连续扫描端口-不随机化
--top-ports                               扫描<number>最常用的端口

服务/版本探测

-sV                                         探测服务/版本信息
--version-intensity                         设置版本扫描强度(0-9)
--version-all                               尝试每个强度探测
--version-trace                             显示详细的版本扫描活动(用于调试)

脚本扫描

-SC                                           等效于 --script=defult
--script = <lua scripts>,<lua scripts>        以逗号分隔的目录,脚本文件或脚本类别
--script-args = <n1=v1, n2=v2>                为脚本提供参数
--script-args-file=文件名                     从文件名中加载脚本参数
--script-trace                                显示发送和接受的所有数据
--script-updatedb                             更新脚本数据库
--script-help=<lua scripts>                   显示有关脚本的帮助

操作系统检测

-o                                            启用os检测
--osscan-limit                                将os检测限制为可能的目标
--osscan-guess                                推测操作系统检测结果

时间和性能

--host-timeout                           设置超时时间
--scan-delay                             设置探测之间的时间间隔
-T  <0-5>                                设置时间模板,值越小,IDS报警几率越低

防火墙/IDS规避和欺骗

-f                                          报文分段
-s                                          欺骗源地址
-g                                          使用指定的本机端口
--proxies <url,port>                        使用HTTP/SOCK4代理
-data<hex string>                           想发送的数据包中追加自定义的负载
--data-string                               将自定义的ACSII字符串附加到发送数据包中   
--data-length                               发送数据包时,附加随机数据
--spoof-mac                                 MAC地址欺骗
--badsum                                    发送带有虚假TCP/UNP/STCP校验和的数据包

输出

-oN                                          标准输出
-oX                                          XMl输出
-oS                                          script jlddi3
-oG                                          grepable
-oA                                          同时输出三种主要格式
-v                                           信息详细级别
-d                                           调试级别
--packet-trace                               跟踪发送和接收的报文
--reason                                     显示端口处于特殊状态的原因
--open                                       仅显示开放的端口

杂项

-6                                              启动Ipv6扫描
-A                                              启动Os检测,版本检测,脚本扫描和traceroute
-V                                              显示版本号
-h                                              帮助信息

例 1:使用 nmap 扫描一台服务器

默认情况下,Nmap 会扫描 1000 个最有可能开放的 TCP 端口。

┌──(root💀kali)-[~]
└─# nmap 192.168.1.109   
Starting Nmap 7.91 ( https://nmap.org ) at 2023-03-21 23:08 CST
Nmap scan report for 192.168.1.109
Host is up (0.000079s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
5003/tcp open  filemaker
5555/tcp open  freeciv
MAC Address: 00:0C:29:AF:59:19 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

例 2: 扫描一台机器,查看它打开的端口及详细信息。        

参数说明:

-v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态

┌──(root💀kali)-[~]
└─# nmap -v 192.168.1.109
Starting Nmap 7.91 ( https://nmap.org ) at 2023-03-21 23:10 CST
Initiating ARP Ping Scan at 23:10
Scanning 192.168.1.109 [1 port]
Completed ARP Ping Scan at 23:10, 0.04s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 23:10
Completed Parallel DNS resolution of 1 host. at 23:10, 0.01s elapsed
Initiating SYN Stealth Scan at 23:10
Scanning 192.168.1.109 [1000 ports]
Discovered open port 111/tcp on 192.168.1.109
Discovered open port 22/tcp on 192.168.1.109
Discovered open port 5555/tcp on 192.168.1.109
Discovered open port 5003/tcp on 192.168.1.109
Completed SYN Stealth Scan at 23:10, 0.05s elapsed (1000 total ports)
Nmap scan report for 192.168.1.109
Host is up (0.000071s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
5003/tcp open  filemaker
5555/tcp open  freeciv
MAC Address: 00:0C:29:AF:59:19 (VMware)

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
           Raw packets sent: 1001 (44.028KB) | Rcvd: 1001 (40.044KB)

        

例 3:扫描一个范围: 端口 1-65535        

└─# nmap -p 1-65535 192.168.1.63        

 注:生产环境下,我们只需要开启正在提供服务的端口,其他端口都关闭。

         

例 4: 扫描一台机器:查看此服务器开放的端口号和操作系统类型。        

┌──(root💀kali)-[~]
└─# nmap -sS -O www.taobao.com      
Starting Nmap 7.91 ( https://nmap.org ) at 2023-03-21 23:19 CST
Nmap scan report for www.taobao.com (111.6.93.167)
Host is up (0.021s latency).
Other addresses for www.taobao.com (not scanned): 111.6.93.166 2409:8c44:6100:1000:3::3cd 2409:8c44:6100:1000:3::3ce
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.87 seconds

        

参数说明:

-O: 显示出操作系统的类型。 每一种操作系统都有一个指纹。

-sS:半开扫描(half-open)        

TCP 同步扫描(TCP SYN):因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描

(half-open)。你可以发出一个 TCP 同步包(SYN),然后等待回应。如果对方返回 SYN|ACK(响应)包就 表示目标端口正在监听;如果返回 RST 数据包,就表示目标端口没有监听程序;如果收到一个 SYN|ACK 包,源主机就会马上发出一个 RST(复位)数据包断开和目标主机的连接,这实际上由我们的操 作系统内核自动完成的。         

当服务器端口开放时,半连接扫描过程如图 1 ,当服务器端口关闭时,半连接扫描过程如图 2

                

例 5:扫描一个网段中所有机器是什么类型的操作系统。        

└─# nmap -sS -O 192.168.1.0/24    

例 6: 查找一些有特点的 IP 地址中,开启 80 端口的服务器。        

└─# nmap -v -p 80 192.168.1.62-67

例 7:如何更隐藏的去扫描,频繁扫描会被屏蔽或者锁定 IP 地址。

--randomize-hosts # 随机扫描,对目标主机的顺序随机划分

--scan-delay #延时扫描,单位秒,调整探针之间的延迟

(1)随机扫描

┌──(root💀kali)-[~]
└─# nmap -v --randomize-hosts -p 80 192.168.1.62-69                                                         130 ⨯
Starting Nmap 7.91 ( https://nmap.org ) at 2023-03-21 23:26 CST
Initiating ARP Ping Scan at 23:26
Scanning 8 hosts [1 port/host]
Completed ARP Ping Scan at 23:26, 1.41s elapsed (8 total hosts)
Nmap scan report for 192.168.1.66 [host down]
Nmap scan report for 192.168.1.68 [host down]
Nmap scan report for 192.168.1.62 [host down]
Nmap scan report for 192.168.1.63 [host down]
Nmap scan report for 192.168.1.65 [host down]
Nmap scan report for 192.168.1.64 [host down]
Nmap scan report for 192.168.1.69 [host down]
Nmap scan report for 192.168.1.67 [host down]
Read data files from: /usr/bin/../share/nmap
Nmap done: 8 IP addresses (0 hosts up) scanned in 1.45 seconds
           Raw packets sent: 16 (448B) | Rcvd: 0 (0B)

(2)随机扫描+延时扫描 ,默认单位秒

└─# nmap -v --randomize-hosts --scan-delay 3000ms -p 80 192.168.1.62-69        

        

例 8:使用通配符指定 IP 地址

└─# nmap -v --randomize-hosts --scan-delay 30 -p 80 1.*.2.3-8        

例 9:Connect 扫描

└─# nmap -sT 192.168.1.63 -p 80        

这种扫描方式和 SYN 扫描很像,只是这种扫描方式完成了 TCP 的三次握手。          

例 10:UDP 扫描

└─# nmap -sU 192.168.1.63        

        

端口状态解析:

open:从目标端口得到任意的 UDP 应答

open|filtered:如果目标主机没有给出应答

closed:ICMP 端口无法抵达错误

filtered:ICMP 无法抵达错误          

例 11:报文分段扫描

└─# nmap -f -v 192.168.1.63        

         

例 12:使用诱饵主机隐蔽扫描

(1)随机 3 个诱饵

└─# nmap -D RND:3 192.168.1.63          

(2)使用自己 IP 作为诱饵

└─# nmap -D ME 192.168.1.63        

(3)指定单个 IP:192.168.1.14 作为诱饵

└─# nmap -D 192.168.1.14 192.168.1.63        

(4)指定多个 IP 作为诱饵对 192.168.1.63 进行探测

└─# nmap -D 192.168.1.14,192.168.1.18 192.168.1.63

            

例 13:伪造源端口为 8888 对目标进行扫描

└─# nmap --source-port 8888 101.200.128.35

└─# nmap -g 8888 101.200.128.35           

例 14:从互联网上随机选择 10 台主机扫描是否运行 Web 服务器(开放 80 端口)

└─# nmap -v -iR 10 -p 80        

例 15:将所有主机视为联机,跳过主机发现,这种方式可以穿透防火墙,避免被防火墙发现

└─# nmap -Pn 101.200.128.35

        

3、unicornscan 

Unicornscan 是一个新的信息收集引擎,主要用于安全研究和通讯测试,主要特点是精确、灵活而且高效。

发包探测并根据接收到的回包判断端口是否开放

TCP :基于三次握手判断

UDP :无连接,必须基于应用层指令

发包太快:对带宽和本机资源消耗大(自杀)

回包太慢:超时时间过快来不及收包

另一个名称 us

参数:  

us 1.1.1.1默认只扫描TCP常用端口
-i          指定网卡接口
-p          指定目标端口
-s          指定源地址
-B          指定源端口
-H          结果显示主机名
-l          记录日志结果
-L          超时时间
-r          每秒发包总数(默认300 pps )
-R          发包次数
-t          指定TTL值
-T          指定ToS值

-z          嗅探收包
-v          显示详细信息
-W          保存收包
-G          payload组编号
-m          扫描方式
U           UDP协议
sf          TCP连接扫描
T           TCP Syn扫描
            syn[Ss]、fin[Ff]、 urg[Uu]、 psh[Pp]、 ack[Aa] , ece[Ee], cwr[Cc]

例1: 目标端口和网卡扫描

us -i eth0 192.168.1.109:1-4000

        

二、DNS分析

1、dnsenum 

dnsenum 是一款非常强大的域名信息收集工具。它的目的是尽可能多的收集一个域的信息,能够通过谷歌或者字典文件猜测可能存在的域名,以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器、mx record(邮件交换记录),在域名服务器上执行axfr请求,通过谷歌脚本得到扩展域名信息(google hacking),提取自域名并查询,计算C类地址并执行whois查询,执行反向查询,把地址段写入文件等。

参数说明:


    # 使用这个选项指定 dns 服务器,如果不指定,默认使用 /etc/resolv.conf 中指定的 dns 服务器
  --dnsserver   <server>
            Use this DNS server for A, NS and MX queries.
    # 这是一个其他参数的组合,与 --threads 5 -s 15 -w 功能一样
  --enum        Shortcut option equivalent to --threads 5 -s 15 -w.
    # 这个参数是打开本帮助文档
  -h, --help        Print this help message.
    # 这个参数的作用是跳过反向查找操作
  --noreverse       Skip the reverse lookup operations.
    # 禁用 ANSI 颜色输出
  --nocolor     Disable ANSIColor output.
    # 在 domain_ips.txt 文件的末尾显示并保存私人 ips
  --private     Show and save private ips at the end of the file domain_ips.txt.
    # 将扫描到的所有子域写入到这个参数指定的文件中
  --subfile <file>  Write all valid subdomains to this file.
    # 用于指定 tcp 和 udp 超时时间,单位秒,默认 10s
  -t, --timeout <value> The tcp and udp timeout values in seconds (default: 10s).
    # 指定将执行不同查询的线程数
  --threads <value> The number of threads that will perform different queries.
    # 显示详细信息,显示所有进度和所有错误消息
  -v, --verbose     Be verbose: show all the progress and all the error messages.

# 与 Google 搜索引擎结合的参数选项:
GOOGLE SCRAPING OPTIONS:
    # 抓取 Google 搜索引擎搜索结果的页数,默认是抓取 5 个页面,必须指定 -s 参数
  -p, --pages <value>   The number of google search pages to process when scraping names,
            the default is 5 pages, the -s switch must be specified.
    # 从 Google 抓取的最大子域数量,默认为 15
  -s, --scrap <value>   The maximum number of subdomains that will be scraped from Google (default 15).

# 暴力破解选项:
BRUTE FORCE OPTIONS:
    # 指定暴力破解子域的字典文件,优先级大于默认的字典文件
  -f, --file <file> Read subdomains from this file to perform brute force. (Takes priority over default dns.txt)
  # 更新 -f 指定的字典文件中可用的子域
    -u, --update    <a|g|r|z>
            Update the file specified with the -f switch with valid subdomains.
    # 使用所有结果
    a (all)     Update using all results.
    # 只使用 google 抓取的结果
    g       Update using only google scraping results.
    # 只使用反向查询到的子域结果
    r       Update using only reverse lookup results.
    # 只使用区域传输获取到的结果
    z       Update using only zonetransfer results.
    # 递归查询子域,暴力查询所有发现的具有 NS 记录的子域
  -r, --recursion   Recursion on subdomains, brute force all discovered subdomains that have an NS record.

# whois 查询选项:
WHOIS NETRANGE OPTIONS:
    # Whois 查询之间等待的秒数最大值,该值是随机定义的,默认值:3s
  -d, --delay <value>   The maximum value of seconds to wait between whois queries, the value is defined randomly, default: 3s.
  # 在 c 类网络范围上执行 whois 查询
    -w, --whois     Perform the whois queries on c class network ranges.
            # 警告:这会产生很大的网络范围,执行反向查找将花费大量时间
             **Warning**: this can generate very large netranges and it will take lot of time to perform reverse lookups.

# 反向查找选项:
REVERSE LOOKUP OPTIONS:
    # 从反向查找结果中排除与regexp 表达式匹配的 PTR 记录,这对无效的主机名很有用。
  -e, --exclude <regexp>
            Exclude PTR records that match the regexp expression from reverse lookup results, useful on invalid hostnames.

# 输出选项:
OUTPUT OPTIONS:
    # 指定扫描结果以 xml 格式保存到文件中
  -o --output <file>    Output in XML format. Can be imported in MagicTree (www.gremwell.com)

 默认的字典文件所在位置是:/usr/share/dnsenum/dns.txt

例1:实现dns查询

dnsenum taobao.com 

例2:使用字典文件进行dns查询
dnsenum --noreverse -f /usr/share/dnsenum/dns.txt taobao.com

        

2、dnsmap

参数说明:

​
-w 指定用户自己的字典文件。
-r 指定一个目录,将扫描到的结果保存到这个指定的目录中,并以当前时间戳命名。
-d 指定一个正整数,使得 dnsmap 在暴力扫面的时候能够周期性的休眠,这样不会占用系统带宽。单位是毫秒。
-i 后面可以跟一个或者多个 IP 地址,使用逗号隔开,这样扫描结果中就会过滤掉有这些 IP 的结果
-c 保存结果为 CSV 格式。
​

 例1:混合使用

dnsmap taobao.com -d 800 -r /tmp/ -c dns.txt -i 10.55.206.154,10.55.24.100 -w wordlist.txt

        

3、dnsrecon

DNS侦察是渗透测试信息收集中重要的一部分。DNS侦察是为了从DNS服务器返回的记录中,获取更多信息。不用触发IDS/IPS即可获取网络设施相关的信息。大部分的企业不会监控DNS服务器,只会监视是否存在区域传输漏洞。

参数说明:

	  -h, --help                           打印帮助信息并退出

	  -d, --domain      <domain>           目标域名

	  -r, --range       <range>            对给定格式的IP范围进行爆破,格式为(开始IP-结束IP)或(范围/掩码).

	  -n, --name_server <name>             指定一个域名服务器

	  -D, --dictionary  <file>             用来爆破的子域名与主机名字典文件

	  -f                                   在保存结果时忽略枚举域查找结果
                                           
	  -a                                   在标准枚举过程中进行空间域传送测试

	  -s                                   在标准枚举过程中进行IP地址范围的反向查找

	  -g                                   在标准枚举的过程中进行Google枚举

	  -w                                   在标准枚举的过程中进行深度whois查询和IP反查

	  -z                                   在标准枚举的过程中进行DNSSEC域漫游

	       --threads         <number>        指定线程数

	       --lifetime        <number>         指定查询等待的时间

	       --db              <file>           将结果存储为sqlite3数据库的文件

	       --xml             <file>           将结果存储为XML格式的文件

	       --iw                               即使发现了通配符也依然爆破

	  -c, --csv         <file>             CSV格式的文件

	  -j, --json        <file>             json文件

	  -v                                   显示爆破的过程

	  -t, --type        <types>            指定枚举类型:

	       std                如果NS服务器的域传送失败,进行SOA、NS、A、AAAA、MX 和 SRV的枚举(必须使用-d参数指定域名才可使用此参数)

	       rvl                对给定的IP范围或CIDR进行反向查找(必须使用-r指定IP范围)

	       brt                使用指定的字典爆破域名与主机名

	       srv                枚举SRV记录

	       axfr               对所有的NS服务器进行域传送测试

	       goo                对子域名和host进行Google搜索

	       snoop              对-D选项给出的文件进行DNS服务器缓存侦测

	       tld                删除给定域的TLD并测试在IANA中注册的所有的TLD

	       zonewalk           使用NSEC记录进行DNSSEC域漫游


例1:对域名进行子域名查找

dnsrecon -d taobao.com -t std -v  --lifetime 20

例2:对给定的IP范围进行域名反查

dnsrecorn -r 192.168.1.1-192.168.1.254 -t rvl --lifetime 20 -v

        

4、dnstracer

dnstracer 是用于追踪DNF查询请求的,可以从根域->目标域一步一步迭代查看查询请求。

参数说明:


-c: 禁用本地缓存(默认启用)

-C: 启用negative caching(默认禁用)

-o: 启用返回结果概述(默认禁用,-o与-v对应,-o显示查询结果的简略信息,-v显示查询结果的详细信息)

-q <querytype>: 指定查询记录的类型,默认为A记录

-r <retries>: 指定重试的次数,默认3次

-s <server>: 使用这个服务器作为初始请求服务器(默认使用本地DNS服务器)。如果被指定, A.ROOT-SERVERS.NET将被使用(A.ROOT-SERVERS.NET是全球13个主DNS服务器之一)

-t <maximum timeout>: 设置每一次查询等待的时间

-v: 详细输出(默认不显示查询结果,只显示在NS服务器上是否找到记录)

-S <ip address>: 使用此IP地址为数据包的源IP地址

-4: 不查询IPv6服务器

        

5、dnswalk

dnswalk是一个DNS调试器,它执行指定域的传送,并以多种方式检查数据库内部一致性以及准确性。用于域的转换和查询数据库。有时候可能需要了解当前域名所对应的所有二级域名,DNSWALK就是利用DNS区域传输技术来获取DNS对应域名A记录的小TOOL。

DNS Zone Transfers(DNS区域传输)是指一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库。当主服务器出现故障,备用服务器就自动顶替主服务器提供域名解析服务。当DNS服务器被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息。这样就形成了DNS Zone Transfers漏洞工具。通过该漏洞,测试人员可以快速的判定出某个特定zone的所有主机,收集域信息,选择渗透测试目标。
        

参数说明:

-r     对指定域名的子域进行递归查询
-a     发现重复的A记录发出告警
-d     将调试状态信息输出到stderr
-m     仅检查上次运行后发生变化的记录
-F     检查PTR记录IP是否与对应A记录相符
-i     不检查域名中的无效字符
-l     检查区域文件中NS记录主机是否能返回正确的应答

        

6、fierce 

该工具是一个域名扫描综合性工具。它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone Transfer)漏洞。如果存在该漏洞,会自动执行暴力破解,以获取子域名信息。对获取的IP地址,它还会遍历周边IP地址,以获取更多的信息。该工具会将IP地址进行分段统计,以便于后期其他工具扫描,如NMAP。是一款轻量级的DNS手机工具。

参数说明:

--search                                       指定dns服务器

-h, --help                                    显示此帮助消息并退出

--domain                                       指定查询的域名

--connect                                      尝试HTTP连接到非RFC 1918主机

--wide                                         扫描入口IP地址的c段,会收集到更多的信息,产生大流量

--traverse TRAVERSE                            扫描发现的记录附近的IP,这不会进入相邻的c类

--search SEARCH [SEARCH ...]                   展开查找时筛选这些域                        

--range RANGE                                  扫描内部IP范围,使用cidr表示法

--delay DELAY                                  查找之间的等待时间

--subdomains SUBDOMAINS [SUBDOMAINS ...]       使用这些子域

--subdomain_file SUBDOMAIN_FILE                使用此文件中指定的子域(每行一个)

--dns-servers dns_servers[dns_servers…]        使用这些dns服务器进行反向查找

--dns-file                                     用文件指定反向查询DNS服务器列表

--tcp                                          使用tcp而不是UDP

例1:基本扫描

fierce --domain baidu.com

例2:使用此文件中指定的子域进行TCP扫描

fierce --subdomain_file domain.txt --tcp

7、urlcrazy

Typo域名是一类的特殊域名。用户将正确的域名错误拼写产生的域名被称为Typo域名。例如,www.baidu.com错误拼写为www.bidu.com,就形成一个Typo域名。对于热门网站的Typo域名会产生大量的访问量,通常都会被人抢注,以获取流量。而黑客也会利用Typo域名构建钓鱼网站。

        
Kali Linux提供对应的检测工具urlcrazy。该工具统计了常见的几百种拼写错误。它可以根据用户输入的域名,自动生成Typo域名;并且会检验这些域名是否被使用,从而发现潜在的风险。同时,它还会统计这些域名的热度,从而分析危害程度。 

用途:

1、通过错误输入域名检测Typo Squatting误值域名攻击;

2、通过注册常见域名Typo来保护企业域名安全;

3、识别潜在的Typo域名;

4、在渗透测试过程中执行网络钓鱼攻击;

参数说明:

-k, --keyboard=LAYOUT      选项为:qwerty、azerty、qwertz、dvorak(默认值:qwerty)
-p, --popularity           通过谷歌查看域名受欢迎程度
-r, --no-resolve           不解析DNS
-i, --show-invalid         显示无效域名
-f, --format=TYPE          Human readable, JSON, or CSV (default: human readable)
-o, --output=FILE          输出文件
-n, --nocolor              禁用颜色
-d, --debug                为开发启用调试输出
-h, --help                 帮助
-v, --version              版本信息

        

例1:检测baidu.com的Typo域名

urlcrazy -i baidu.com

例2:保存结果到文件中

# -o 参数用于指定保存结果的文件
# -f 参数用来指定数据的保存格式。urlcrazy支持两种格式:human readable 和 CSV,默认为human readable

        

8、dns 字典文件的网址

http://packetstormsecurity.org/Crackers/wordlists/dictionaries/
http://www.cotse.com/tools/wordlists1.htm
http://wordlist.sourceforge.net/

        

三、IDS/IPS 识别

1、fragrouter

Fragroute能够截取、修改和重写向外发送的报文,实现了大部分的IDS攻击功能。Fragroute起重要作用的是一个简单的规则设置语言,以它去实现延迟、复制、丢弃、碎片、重叠、打印、重排、分割、源路由或其他一些向目标主机发送数据包的攻击。这个工具开发的本意是去测试入侵检测系统、防火墙、基本的TCP/IP堆栈的行为。 该工具是为了帮助测试网络入侵检测系统,防火墙和基本TCP/IP堆栈行为而编写的,请不要滥用此软件!

用法:fragrouter[-i接口][-p][-g跃点][-g跃点][-g跃点]攻击

如果攻击是以下情况之一: 
 
-B1:base-1:正常IP转发
 
-F1:frag-1:有序的8字节IP片段
 
-F2:frag-2:有序的24字节IP片段
 
-F3:frag-3:有序的8字节IP片段,一个乱序
 
-F4:frag-4:有序的8字节IP片段,一个副本
 
-F5:frag-5:无序的8字节片段,一个副本
 
-F6:frag-6:有序的8字节片段,首先标记最后一个frag
 
-F7:frag-7:有序16字节片段,fwd覆盖
 
-T1:tcp-1:三次握手正常完成之后,错误的tcp校验,flag标记位设置为FIN/RST,有序的1字节段
 
-T3:tcp-3:3-whs,有序的1字节段,一个副本
 
-T4:tcp-4:3-whs,有序的1字节段,一个覆盖
 
-T5:tcp-5:3-whs,有序2字节段,fwd覆盖
 
-T7:tcp-7:3-whs,有序的1字节段,交错的空段
 
-T8:tcp-8:3-whs,有序的1字节段,一个无序
 
-T9:tcp-9:3-whs,无序的1字节段
 
-C2:tcbc-2:3-whs,有序的1字节段,交错的SYN
 
-C3:tcbc-3:有序1字节空段,3-whs,有序1字节段
 
-R1:tcbt-1:3-whs、RST、3-whs、有序1字节段
 
-I2:ins-2:3-whs,有序的1字节段,错误的TCP校验和
 
-I3:ins-3:3-whs,有序1字节段,无ACK集合
 
-M1:misc-1:Windows NT 4 SP2-http://www.dataprotect.com/ntfrag/
 
-M2:misc-2:Linux IP链-http://www.dataprotect.com/ipchains/

         

2、ftest

防火墙和IDS是网络安全专用工具,可以对网络中各种恶意数据包进行识别和拦截。渗透测试人员必须熟悉各种防火墙和IDS的防护性能,才能保证网络安全。Kali Linux提供专用工具Ftester。该工具主要由两部分组成。

第一部分是ftest,运行在防火墙或IDS的一侧。它根据用户设定的配置文件ftest.conf,对目标主机进行数据包的注入操作。

第二部分是ftestd,运行在防火墙或IDS的另外一侧,往往作为ftest的目标主机。它负责嗅探注入的各种数据包。

通过对比两者的日志文件,来评估防火墙的过滤规则和IDS的检测能力。

参数说明:

 Configuration options:
  -f <conf_file>
  -c <source_ip>:<source_port>:<dest_ip>:<dest_port>:<flags>:<protocol>:<tos>
  -v <verbose>

Timing options:
  -d <delay, 0.25 = 250 ms>
  -s <sleep time, 1 = 1 s>

Evasion options:
  -e <evasion method>
  -t <ids_ttl>

Connection options:
  -r <reset connection>
  -F <end connection>
  -g <IP fragments number, es. 4|IP fragments size, es. 16b>
  -p <TCP segments number, es. 4|TCP segments size, es 6b>
  -k <cksum value, es. 60000>
  -m <marker>
 

         

3、lbd

大型网站为了解决海量访问问题,往往采用负载均衡技术,将用户的访问分配到不同的服务器上。网站的负载均衡可以从DNS和HTTP两个环节进行实施。在进行Web渗透测试的时候,需要先了解网站服务器结构,以确定后期的渗透策略。Kali Linux提供工具lbd来获取网站的负载均衡信息。该工具可以根据DNS域名解析、HTTP服务的header和响应差异,来识别均衡方式。

        
参数说明:

-a            等效于-v -t ANY

-A            就像-a一样,但是省略了RRSIG,NSEC,NSEC3

-c            指定非IN数据的查询类

-C            比较权威名称服务器上的SOA记录

-d            等效于-v

-l            使用AXFR列出域中的所有主机

-m            设置内存调试标志(跟踪|记录|使用)

-N            更改在查找根之前允许的点数

-p            指定服务器上要查询的端口

-r            禁用递归处理

-R            指定UDP数据包的重试次数

-s            SERVFAIL响应应停止查询

-t            指定查询类型

-T            启用TCP / IP模式

-U            启用UDP模式

-v            启用详细输出

-V            打印版本号并退出

-w            指定永久等待应答

-W            指定等待回复的时间

-4            仅使用IPv4查询传输

-6            使用IPv6查询传输

例1:测试baidu.com的负载均衡

ldb baidu.com

        

4、wafw00f

WAFW00F是一个Web应用防火墙
(WAF)指纹识别的工具。

参数说明:

h, --help                       显示此帮助消息并退出

-v, --verbose                   启用详细度,多v选项增加

-a, --findall                   找到所有匹配签名的waf,不要停止测试第一个

-r, --noredirect                不要遵循3xx回复给出的重定向

-t TEST, --test=TEST            WAF测试一个特定的晶圆片

-o OUTPUT, --output=OUTPUT      将输出写入csv、json或文本文件,具体取决于文件扩展名。对于标准输出,指定- as文件名。

-i INPUT, --input-file=INPUT    从文件中读取目标。输入格式可以是csv、json或text。对于csv和json,“url”列名或元素是必需的。

-l, --list                      列出WAFW00F能够检测到的所有WAF

-p PROXY, --proxy=PROXY

                                Use an HTTP proxy to perform requests, examples:

                                http://hostname:8080, socks5://hostname:1080,

                                http://user:pass@hostname:8080

-V, --version                   打印出当前版本的 WafW00f 并退出。

-H HEADERS, --headers=HEADERS   设定一个头文件信息,用以覆盖默认的头信息

例1:测试多个 URL

wafw00f taobao.com baidu.com

例2:匹配所有签名特征的WAFS

wafw00f taobao.com -a

        

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kali Linux是一款专门用于渗透测试和网络安全的操作系统,它集成了大量的安全工具,其中包括一些个人信息收集工具。这些工具主要用于收集目标个人信息,以便进行渗透测试或者安全评估。以下是一些常用的Kali个人信息收集工具: 1. TheHarvester:这是一个用于收集电子邮件地址、子域名、用户名等信息工具。它可以从各种公开来源(如搜索引擎、DNS服务器、PGP密钥服务器等)中获取信息。 2. Maltego:这是一个强大的开源情报和数据挖掘工具,可以帮助分析和可视化目标的个人信息。它可以通过各种公开和私有数据源来收集和分析信息。 3. Recon-ng:这是一个模块化的Web侦察框架,可以用于收集目标的个人信息。它支持多种模块和插件,可以从各种来源(如搜索引擎、社交媒体、WHOIS数据库等)中获取信息。 4. Maltego:这是一个强大的开源情报和数据挖掘工具,可以帮助分析和可视化目标的个人信息。它可以通过各种公开和私有数据源来收集和分析信息。 5. theHarvester:这是一个用于收集电子邮件地址、子域名、用户名等信息工具。它可以从各种公开来源(如搜索引擎、DNS服务器、PGP密钥服务器等)中获取信息。 6. Shodan:这是一个搜索引擎,专门用于搜索与互联网上连接的设备相关的信息。它可以帮助收集目标设备的IP地址、开放端口、操作系统等信息。 7. Metagoofil:这是一个用于从目标网站中提取文档、元数据和其他有用信息工具。它可以帮助收集目标组织的文档结构、文件类型等信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值