3.Kail安全渗透测试系统之前期信息收集工具使用实践
https://mp.weixin.qq.com/s/8UVQZnFsfSoS9pAsn7zAtQ|cost[TOC]
本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 [master@weiyigeek.top] 中我将及时回复。
免责申明:本文分享旨在给网络安全从业人员、网站开发人员以及运维管理人员在日常工作中进行安全测试以及防范恶意攻击, 请勿恶意使用下面介绍技术进行非法网络攻击,作者不为此承担任何责任,所有渗透都需获取授权,谨防从入门到入狱!
【中华人民共和国网络安全法】: http://www.npc.gov.cn/npc/c30834/201611/270b43e8b35e4f7ea98502b6f0e26f8a.shtml
0x00 前言简述
描述: 在渗透测试中前期站点的信息收集占据非常重要的角色,其决定了后续安全渗透测试能走多远,通常针对于Web端收集信息包括但不限于:Whois域名信息、DNS解析历史(包含各类型)、子域名信息、域名供应商、域名注册邮箱、路由信息
等。
知识扩展: 什么是WHOIS查询?
您可以用WHOIS来查看域名的当前信息状态,包括域名是否已被注册、域名当前持有者、所有者联系方式、注册日期、过期日期、域名状态、DNS解析服务器等。
知识扩展: 什么是正向查找区域”和”反向查找区域?
DNS服务器里面有两个区域,即”正向查找区域”和”反向查找区域”,正向查找区域就是我们通常所说的域名解析,反向查找区域即是这里所说的IP反向解析,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名, 所以当我们拿到一个IP有可能不知道其资产属于谁,此时便可使用此种方式进行反查所属域名。
域名Whois域名信息
在线查询站点:
IP及DNS解析记录
在线查询站点:
网站域名DNS一键检测(推荐)
在线查询站点:
0x01 域名信息收集相关工具
1.whois 命令 - 网站whois记录查询 (常用)
描述: whois 是目录服务的客户端工具,它在RFC 3912数据库中搜索对象。
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24Usage: whois [OPTION]... OBJECT...
These flags are supported by whois.ripe.net and some RIPE-like servers:
-l find the one level less specific match
-L find all levels less specific matches
-m find all one level more specific matches
-M find all levels of more specific matches
-c find the smallest match containing a mnt-irt attribute
-x exact match
-b return brief IP address ranges with abuse contact
-B turn off object filtering (show email addresses)
-G turn off grouping of associated objects
-d return DNS reverse delegation objects too
-i ATTR[,ATTR]... do an inverse look-up for specified ATTRibutes
-T TYPE[,TYPE]... only look for objects of TYPE
-K only primary keys are returned
-r turn off recursive look-ups for contact information
-R force to show local copy of the domain object even
if it contains referral
-a also search all the mirrored databases
-s SOURCE[,SOURCE]... search the database mirrored from SOURCE
-g SOURCE:FIRST-LAST find updates from SOURCE from serial FIRST to LAST
-t TYPE request template for object of TYPE
-v TYPE request verbose template for object of TYPE
-q [version|sources|types] query specified server info
使用示例1
whois weiyigeek.top
2.host 命令 - 网络域名解析查询
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time]
[-R number] [-m flag] [-p port] hostname [server]
参数:
-a is equivalent to -v -t ANY
-A is like -a but omits RRSIG, NSEC, NSEC3
-c specifies query class for non-IN data
-C compares SOA records on authoritative nameservers
-d is equivalent to -v
-l lists all hosts in a domain, using AXFR
-m set memory debugging flag (trace|record|usage)
-N changes the number of dots allowed before root lookup is done
-p specifies the port on the server to query
-r disables recursive processing
-R specifies number of retries for UDP packets
-s a SERVFAIL response should stop query
-t specifies the query type
-T enables TCP/IP mode
-U enables UDP mode
-v enables verbose output
-V print version number and exit
-w specifies to wait forever for a reply
-W specifies how long to wait for a reply
-4 use IPv4 query transport only
-6 use IPv6 query transport only
使用示例1
2
3
4
5
6
7
8
9# 1.返回A/CNAME等记录
host www.weiyigeek.top
# www.weiyigeek.top has address 82.156.18.253
# 2.返回域名所有解析记录
host -a blog.weiyigeek.top 223.6.6.6
# 3.返回逆向域信息通常需要指定NS地址
host -l blog.weiyigeek.top ns.qq.com
3.dig 命令 - 网络域名解析记录查询 (常用)
描述: 此处命令是运维人员在排除域名解析时的必备工具之一。
使用示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14# 1.查询指定站点域名解析信息
dig weiyigeek.top ang
# 2.验证是否DNS域传送泄露漏洞
dig @223.6.6.6 weiyigeek.topaxfr
# 3.查询域名指定类型解析信息(//q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a])
dig @223.6.6.6 weiyigeek.top mx
# 4.查看反向解析,例如一个IP地址:222.211.233.244,其逆向域名表达方式为:244.233.221.222.in-addr.arpa
dig -x 222.211.233.244 @223.6.6.6
# 5.查询hinfo记录信息,温馨提示此方法比较老现在一般都不添加 hinfo 记录。
dig @ns17.xincache.com weiyigeek.top hinfo
0x02 子域名信息收集相关工具
1.dnsenum 命令 - 子域名暴力破解 (推荐)
描述: 此工具也逻辑被查询域名站点的子域名等相关信息,并且还涵盖了域名AXFR解析以及暴力破解子域名,并且记录其域名的C段信息。
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30Usage: dnsenum [Options] <domain>
GENERAL OPTIONS:
--dnsserver <server> Use this DNS server for A, NS and MX queries.
--enum Shortcut option equivalent to --threads 5 -s 15 -w.
--noreverse Skip the reverse lookup operations.
--nocolor Disable ANSIColor output.
--private Show and save private ips at the end of the file domain_ips.txt.
--subfile <file> Write all valid subdomains to this file.
-t, --timeout <value> The tcp and udp timeout values in seconds (default: 10s).
--threads <value> # 将执行不同查询的线程数。
-v, --verbose Be verbose: show all the progress and all the error messages.
GOOGLE SCRAPING OPTIONS:
-p, --pages <value> # 抓取名称时要处理的谷歌搜索页面数,默认为5个页面必须指定-s开关。
-s, --scrap <value> # 将从Google中抓取的子域的最大数量(默认为15)。
BRUTE FORCE OPTIONS:
-f, --file <file> Read subdomains from this file to perform brute force. (Takes priority over default dns.txt)
-u, --update <a|g|r|z>
Update the file specified with the -f switch with valid subdomains.
a (all) Update using all results.
g Update using only google scraping results.
r Update using only reverse lookup results.
z Update using only zonetransfer results.
-r, --recursion Recursion on subdomains, brute force all discovered subdomains that have an NS record.WHOIS NETRANGE OPTIONS:
-d, --delay <value> The maximum value of seconds to wait between whois queries, the value is defined randomly, default: 3s.
-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:
-e, --exclude <regexp> Exclude PTR records that match the regexp expression from reverse lookup results, useful on invalid hostnames.
OUTPUT OPTIONS:
-o --output <file> Output in XML format. Can be imported in MagicTree (www.gremwell.com)
使用示例1
2
3
4
5
6
7
8
9
10
11# 1.显示域名解析记录以及暴力破解子域名信息
dnsenum weiyigeek.top
# 2.指定二级域名前缀进行暴力破解
dnsenum --noreverse -f /usr/share/dnsenum/dns.txt weiyigeek.top
# 3.使用Google搜索引擎进行查询二级域(需要科学上网)
dnsenum -p 10 -s 15 --threads 5
# 4.参数 --enum 相当于 –threads 5 -s 15 -w
dnsenum --enum weiyigeek.top
2.fierce 命令 - 用于定位非连续IP空间的DNS侦察工具 (推荐)
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19usage: fierce [-h] [--domain DOMAIN] [--connect] [--wide] [--traverse TRAVERSE] [--search SEARCH [SEARCH ...]] [--range RANGE] [--delay DELAY]
[--subdomains SUBDOMAINS [SUBDOMAINS ...] | --subdomain-file SUBDOMAIN_FILE] [--dns-servers DNS_SERVERS [DNS_SERVERS ...] | --dns-file
DNS_FILE] [--tcp]
options:
-h, --help show this help message and exit
--domain DOMAIN domain name to test
--connect attempt HTTP connection to non-RFC 1918 hosts
--wide scan entire class c of discovered records
--traverse TRAVERSE scan IPs near discovered records, this won't enter adjacent class c's
--search SEARCH [SEARCH ...]
filter on these domains when expanding lookup
--range RANGE scan an internal IP range, use cidr notation
--delay DELAY time to wait between lookups
--subdomains SUBDOMAINS [SUBDOMAINS ...] use these subdomains
--subdomain-file SUBDOMAIN_FILE use subdomains specified in this file (one per line)
--dns-servers DNS_SERVERS [DNS_SERVERS ...]
use these dns servers for reverse lookups
--dns-file DNS_FILE use dns servers specified in this file for reverse lookups (one per line)
--tcp use TCP instead of UDP
使用示例:1
2
3
4
5# 1.查询指定域名进行暴力破解二级域名
fierce --domain weiyigeek.top
# 2.查询指定域名和二级域文件进行暴露破解
fierce --domain weiyigeek.top --subdomain-file subdomain.txt
3.dnsrecon 命令 - 域名DNS记录
描述: 此命令主要用于DNS枚举和扫描。
语法参数:1
2
3usage: dnsrecon [-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]
[-v] [-t TYPE]
使用示例1
2
3
4
5
6
7
8# 1.扫描指定站点并保存记录在当前命令执行目录的dnsrecon.xml文件下
dnsrecon -d baidu.com -v --lifetime 20 -t std --xml dnsrecon.xml
# 2.指定暴力破解二级域字典
dnsrecon -d weiyigeek.top -v -D /usr/share/wordlists/wfuzz/general/common.txt --lifetime 20 -t std --xml dnsrecon.xml
# 3.指定dns服务器进行查询并使用bing进行搜索
dnsrecon -n 8.8.8.8 -t bing -d thepaper.cn
知识扩展: 什么是SRV记录?
SRV记录是服务器资源记录的缩写,记录服务器提供的服务,SRV记录的作用是说明一个服务器能够提供什么样的服务。
SRV记录是DNS记录中的新鲜面孔,在RFC2052中才对SRV记录进行了定义,因此很多老版本的DNS服务器并不支持SRV记录。
RFC2782中定义的格式是:_Service._Proto.Name TTL Class SRV Priority Weight Port Target
参考地址: https://skyao.io/learning-dns/dns/record/srv.html
4.dnstracer 命令 - 枚举DNS域和IP信息
描述: 此处命令可直接出来目标服务器的 DNS域 和 IP信息,在最新的Kali中已经被移除,若需使用请apt install dnstracer
命令安装,在kali2.0版本中还是存在的此处做一个了解即可。
使用示例:1
2
3
4# 示例1.
dnstracer -r 3 -v weiyigeek.top
# 示例2.
dnstracer -v -o -s 223.6.6.6 -4 www.weiyigeek.top
5.dnsmap 命令 - 枚举域DNS信息
描述: 在最新的Kali中已经被移除,若需使用请apt install dnsmap
命令安装,在kali2.0版本中还是存在的此处做一个了解即可。
使用示例1
dnsmap weiyigeek.top -w /usr/share/wordlists/wfuzz/general/common.txt
6.dnswalk 命令 - DNS数据库调试器
描述:它执行特定区域的区域传输,并检查数据库在许多方面的内部一致性以及准确性。在最新的Kali中已经被移除,若需使用请apt install dnsmap
命令安装,该工具不好使用由于zone transfers
一般被禁用了,如果是开启了通常存在传输域漏洞。
语法示例1
Usage: dnswalk [-OPTIONS [-MORE_OPTIONS]] [--] [PROGRAM_ARG1 ...]
使用示例1
2
3
4
5
6# 示例1.正向与反向查询
dnswalk weiyigeek.top.
dnswalk 4.3.2.1.in-addr.arpa.
# 示例2.
dnswalk -r -d weiyigeek.top.
0x03 路由信息跟踪相关工具
描述: 不论是在网络运维还是安全测试中,有时需要查询一个主机到另一个主机经过的路有的跳数及数据延迟情况,用来判断每一个路由跳转包的丢失情况等,来判断是否被防火墙拦截。
1.traceroute 命令 - 路由跟踪 (常用)
描述: Traceroute / Tracert 的实现都借助了TTL然后都向目的地址发送一系列的探测包的TTL初始值分别为1,2,3;根据返回的超时通知(ICMP Time Exceeded Message)得到源地址与目的地址之前的每一跳路由信息,实际两种实现原理上有些许的差别;
- Traceroute(Linux/Unix):
- 使用协议:IP + ICMP + UDP
由于采用UDP协议常常被运营商设置为只能白名单通信的ACL,其次被一些防火墙设置所拦截
- 路由跟踪:TTL
- 结束标志:端口不可达
- 使用效果: 一般
- 特征:目标端口号默认33434每次探测增加1(
故意选择大于30000的断开,由于UDP协议标准规定必须小于30000
)
- 使用协议:IP + ICMP + UDP
- Tracert(Windows):
- 使用协议:IP + ICMP
ICMP Echo Request/ Reply 基本上是不被运营商封禁的,但是存在ICMP协议包大小限制,路由来去路径不一致
- 路由跟踪:TTL
通过递增TTL实现路由检测
- 结束标志:ICMP 应答包
- 使用效果: 较好
- 特征:ICMP 包中的IP头类型
0x07
,每跳默认发送3个探测包,在未能到达路由器或者未返回ICMP超时通知情况下,相应位置会以*号显示,并且每个站点都会返回一个ICMP Type=11 code=0
包回去只有到达目标地址时候才返回一个ICMP Type=3 code=3
;
- 使用协议:IP + ICMP
- ping 也可以作为源路由跟踪工具,单元由于IP头的限制记录路由字段最大值是40字节,而每个IP要占有4个字节外加3个点分符即35bit,所以最多只能记录9条数据 40 * 8 / 35;
- 特征:发送 ECHO request -> ICMP Type=8 code=0 , 当被ping者接受相关ICMP包的时候,返回ICMP Type=0 code=8 的相应包;
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56Usage:
traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
Options:
-4 Use IPv4
-6 Use IPv6
-d --debug Enable socket level debugging
-F --dont-fragment Do not fragment packets
-f first_ttl --first=first_ttl Start from the first_ttl hop (instead from 1)
-g gate,... --gateway=gate,... Route packets through the specified gateway (maximum 8 for IPv4 and 127 for IPv6)
-I --icmp Use ICMP ECHO for tracerouting
-T --tcp Use TCP SYN for tracerouting (default port is 80)
-i device --interface=device Specify a network interface to operate with
-m max_ttl --max-hops=max_ttl Set the max number of hops (max TTL to bereached). Default is 30
-N squeries --sim-queries=squeries Set the number of probes to be tried simultaneously (default is 16)
-n Do not resolve IP addresses to their domain names
-p port --port=port Set the destination port to use. It is either
initial udp port value for "default" method
(incremented by each probe, default is 33434), or
initial seq for "icmp" (incremented as well,default from 1), or some constant destinationport for other methods (with default of 80 for "tcp", 53 for "udp", etc.)
-t tos --tos=tos Set the TOS (IPv4 type of service) or TC (IPv6 traffic class) value for outgoing packets
-l flow_label --flowlabel=flow_label Use specified flow_label for IPv6 packets
-w MAX,HERE,NEAR --wait=MAX,HERE,NEAR
Wait for a probe no more than HERE (default 3)
times longer than a response from the same hop,
or no more than NEAR (default 10) times than somenext hop, or MAX (default 5.0) seconds (floatpoint values allowed too)
-q nqueries --queries=nqueries Set the number of probes per each hop. Default is3
-r Bypass the normal routing and send directly to a host on an attached network
-s src_addr --source=src_addr Use source src_addr for outgoing packets
-z sendwait --sendwait=sendwait
Minimal time interval between probes (default 0).
If the value is more than 10, then it specifies a
number in milliseconds, else it is a number of
seconds (float point values allowed too)
-e --extensions Show ICMP extensions (if present), including MPLS
-A --as-path-lookups Perform AS path lookups in routing registries and print results directly after the corresponding addresses
-M name --module=name Use specified module (either builtin or external) for traceroute operations. Most methods have their shortcuts (`-I' means `-M icmp' etc.)
-O OPTS,... --options=OPTS,...
Use module-specific option OPTS for the
traceroute module. Several OPTS allowed,
separated by comma. If OPTS is "help", print info
about available options
--sport=num Use source port num for outgoing packets. Implies `-N 1'
--fwmark=num Set firewall mark for outgoing packets
-U --udp Use UDP to particular port for tracerouting
(instead of increasing the port per each probe),
default port is 53
-UL Use UDPLITE for tracerouting (default dest port is 53)
-D --dccp Use DCCP Request for tracerouting (default port is 33434)
-P prot --protocol=prot Use raw packet of protocol prot for tracerouting
--mtu Discover MTU along the path being traced. Implies `-F -N 1'
--back Guess the number of hops in the backward path andprint if it differs
Arguments:
+ host The host to traceroute to
packetlen The full packet length (default is the length of an IP header plus 40). Can be ignored or increased to a minimal allowed value
使用示例:1
2
3
4
5
6
7
8# 1.默认使用的是UDP协议(30000以上的端口)
traceroute weiyigeek.top
# 2.如果有防火墙可能被墙使用-n不能解析域名
traceroute -I -n weiyigeek.top
# 3.使用TCP 协议 -T -p
traceroute -T -P 80 -n weiyigeek.top
2.tcptraceroute 命令 - 打印路由包跟踪到网络主机
描述: tcptracroute 等价于 traceroute -T 命令,所以此处简单了解即可,推荐使用 traceroute 命令。
语法参数:1
2
3Usage: /usr/sbin/tcptraceroute [-hvnFSAE] [-i dev] [-f furst_ttl] [-l length]
[-q nqueries] [-t tos] [-m max_ttl] [-p src_port] [-s src_addr]
[-w wait_time] host [dest_port] [length]
使用示例:1
2
3
4
5
6
7
8
9
10
11
12┌──(root㉿kali)-[~]
└─# tcptraceroute weiyigeek.top
Running: traceroute -T -O info weiyigeek.top # 等同于
traceroute to weiyigeek.top (82.156.18.253), 30 hops max, 60 byte packets
1 192.168.228.2 (192.168.228.2) 0.078 ms 0.035 ms *
2 82.156.18.253 (82.156.18.253) <syn,ack> 32.846 ms 31.019 ms 30.670 ms
┌──(root㉿kali)-[~]
└─# traceroute -T -O info weiyigeek.top
traceroute to weiyigeek.top (82.156.18.253), 30 hops max, 60 byte packets
1 192.168.228.2 (192.168.228.2) 0.090 ms 0.041 ms *
2 82.156.18.253 (82.156.18.253) <syn,ack> 36.147 ms 33.634 ms 33.468 ms
3.tctrace 命令 - 打印路由包跟踪到网络主机
描述: 通过向目标发送TCP/SYN数据包来获取相关信息,在最新的Kali中已经被移除,若需使用请apt install irpas
命令安装,此处仍然是简单了解。
语法参数:1
2
3
4
5
6
7
8
9
10Usage: tctrace [-vn] [-pX] [-mX] [-tX] [-DX] [-SX] -i<dev> -d<destination>
-v verbose
-n reverse lookup IPs
-pX send X probes (default=3)
-mX maximum TTL (default=30)
-tX timeout X sec (default=3)
-DX destination port (default=80)
-SX source port (default=1064)
-i<dev> use this device
-d<des> trace to this destination
使用示例:1
2
3
4┌──(root㉿kali)-[~]
└─# tctrace -i eth0 -d weiyigeek.top
1(1) [192.168.228.2]
2(1) [82.156.18.253] (reached; open)
4.intrace 命令 - 被动路由跟踪工具
描述:intrace 是一款类似于Traceroute的被动路由跟踪工具,用户可以针对已建立的 TCP 连接跟踪其 IP 的跳跃。
在最新的Kali中已经被移除,若需使用请apt install intrace
命令安装,此处仍然是简单了解。
知识扩展: intrace 与 Traceroute 不同之处?
intrace 命令不同的是它不主动发送数据包,而是通过监听当前主机和目标主机的数据包,进行分析从而获取路由信息,这样既可以进行网络侦查,又可以绕过防火墙的限制避免被防火墙发现;
工具使用非常简单, 只要开启监听,然后等待获取和目标主机的数据包, 然后就可以获取路由跟踪信息了, 该端口号必须在TCP连接中使用到, 否则就无法捕获对应的数据包;
语法参数:1
2Usage:
intrace <-h 主机> [-p <端口>] [-d <调试级别>] [-s <载荷大小>] [-6]
使用示例:1
intrace -h www.weiyigeek.top -p 80 -s 4
5.protos 命令 - 基于IP协议路由扫描 (常用)
描述: Protos 是一个ip协议的扫描工具特别适用于路由。
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 用法:
./protos -i eth0 -d 10.1.2.3 -v
# 参数:
-v 详细信息
-V 显示不支持的协议
-u don't ping targets first
-s 慢速扫描 (对每一个远程设备)
-L 显示长协议名称和引用的RFC
-p x 探测数量 (默认=5)
-S x 睡眠 x 秒 (default=1)
-a x x 秒后继续扫描 (default=3)
-d dest 目标IP地址 (IP or IP/MASK)
-i interface 网卡接口
-W 不扫描,仅打印协议列表
使用示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 示例1
protos -i eth0 -d 82.156.18.253 -v
# 82.156.18.253 is alive
# TARGET 82.156.18.253
# Running in verbose mode
# Afterscan delay is 3
# running in fast scan - pause every 1 probes
# continuing scan afterwards for 3 secs
# supported protocols will be reported
# you supplied the target(s) 82.156.18.253
# Scanning 82.156.18.253
# >>>>>>>>> RESULTS >>>>>>>>>>
# 82.156.18.253 may be running (did not negate):
# ICMP TCP UDP GRE # 允许的协议
0x04 搜索引擎多维度信息收集工具
1.dmitry 命令 - Deepmagic信息收集工具 (常用)
描述: 此工具可以帮助我们,查询网站whois、收集Netcraft信息、收集的子域信息、网站端口信息、Google搜索语法。
语法参数:1
2
3
4
5
6
7
8
9
10
11Usage: dmitry [-winsepfb] [-t 0-9] [-o %host.txt] host
-o Save output to %host.txt or to file specified by -o file
-i Perform a whois lookup on the IP address of a host
-w Perform a whois lookup on the domain name of a host
-n Retrieve Netcraft.com information on a host
-s Perform a search for possible subdomains
-e Perform a search for possible email addresses
-p Perform a TCP port scan on a host
* -f Perform a TCP port scan on a host showing output reporting filtered ports
* -b Read in the banner received from the scanned port
* -t 0-9 Set the TTL in seconds when scanning a TCP port ( Default 2 ) *Requires the -p flagged to be passed
示例使用:1
2
3
4
5
6
7
8
9
10
11
12
13# 1.使用google引擎进行扫描
dmitry -iwnse weiyigeek.top
# 2.针对目标做端口扫描
dmitry -p weiyigeek.top -f -b
# Gathered TCP Port information for 82.156.18.253
# ---------------------------------
# Port State
# 1/tcp filtered
# 2/tcp filtered
# 3/tcp filtered
2.theHarvester 命令 - 搜索引擎Web信息搜寻 (推荐)
描述: 此供工具可以快速收集域名站点邮箱帐号以及子域名信息,在Kail 2.0中名为theharvester 当前最新版本已经更改为 theHarvester
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24usage: theHarvester [-h] -d DOMAIN [-l LIMIT] [-S START] [-p] [-s]
[--screenshot SCREENSHOT] [-v] [-e DNS_SERVER] [-r]
[-n] [-c] [-f FILENAME] [-b SOURCE]
# 常用参数
-d DOMAIN, --domain DOMAIN Company name or domain to search.
-l LIMIT, --limit LIMIT Limit the number of search results, default=500.
-S START, --start START Start with result number X, default=0.
-p, --proxies Use proxies for requests, enter proxies in proxies.yaml.
-s, --shodan Use Shodan to query discovered hosts.
--screenshot SCREENSHOT Take screenshots of resolved domains specify outputdirectory: --screenshot output_directory
-v, --virtual-host Verify host name via DNS resolution and search for virtual hosts.
-e DNS_SERVER, --dns-server DNS_SERVER DNS server to use for lookup.
-r, --take-over Check for takeovers.
-n, --dns-lookup Enable DNS server lookup, default False.
-c, --dns-brute Perform a DNS brute force on the domain.
-f FILENAME, --filename FILENAME Save the results to an XML and JSON file.
-b SOURCE, --source SOURCE anubis, baidu, bevigil, binaryedge, bing, bingapi,
bufferoverun, censys, certspotter, crtsh,
dnsdumpster, duckduckgo, fullhunt, github-code,
hackertarget, hunter, intelx, omnisint, otx,
pentesttools, projectdiscovery, qwant, rapiddns,
rocketreach, securityTrails, sublist3r,
threatcrowd, threatminer, urlscan, virustotal,
yahoo, zoomeye
使用示例:1
2
3
4
5# 1.从google引擎中搜寻指定域名下的邮箱账户以及子域名信息
theHarvester -d weiyigeek.top -l 100 -b baidu
# 2.在bing中收集某公司的邮箱账户以及子域名信息
theHarvester -d cqksy.cn -l 100 -b bing
3.metagoofil 命令 - 元数据收集工具 (推荐)
描述: Metagoofil 是一款利用Google收集信息的工具(需要科学上网),目前支持的类型如下 pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx
等,它可以自动在搜素引擎中检索和分析文件,还具有提供Mac地址,用户名列表等其他功能。
温馨提示: 此工具在最新版本的Kali中被移除,在Kali 2.0及以下是存在的若需安装我们可执行若需命令进行安装:1
2┌──(root㉿kali)-[~]
└─# apt install metagoofil
语法参数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29# Metagoofil v1.2.0 - Search Google and download specific file types.
usage: metagoofil.py [-h] -d DOMAIN [-e DELAY] [-f [SAVE_FILE]]
[-i URL_TIMEOUT] [-l SEARCH_MAX]
[-n DOWNLOAD_FILE_LIMIT] [-o SAVE_DIRECTORY]
[-r NUMBER_OF_THREADS] -t FILE_TYPES [-u [USER_AGENT]]
[-w]
options:
-d DOMAIN Domain to search.
-e DELAY Delay (in seconds) between searches. If it's too
small Google may block your IP, too big and your search may take a while. Default: 30.0
-f [SAVE_FILE] Save the html links to a file.
no -f = Do not save links
-f = Save links to html_links_<TIMESTAMP>.txt
-f SAVE_FILE = Save links to SAVE_FILE
-i URL_TIMEOUT Number of seconds to wait before timeout for
unreachable/stale pages. Default: 15
-l SEARCH_MAX Maximum results to search. Default: 100
-n DOWNLOAD_FILE_LIMIT Maximum number of files to download per filetype.Default: 100
-o SAVE_DIRECTORY Directory to save downloaded files. Default is
current working directory, "."
-r NUMBER_OF_THREADS Number of downloader threads. Default: 8
-t FILE_TYPES file_types to download
(pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx). To search
all 17,576 three-letter file extensions, type "ALL"
-u [USER_AGENT] User-Agent for file retrieval against -d domain.
no -u = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
-u = Randomize User-Agent
-u "My custom user agent 2.0" = Your customized User-Agent
-w Download the files, instead of just viewing search results.
使用示例:1
2# 1.搜寻站点下 doc,pdf 类型的格式文件并保存在指定目录中和
metagoofil -d weiyigeek.top -t doc,pdf -l 200 -n 50 -o examplefiles -f results.html
温馨提示: 通过这个工具我们可以看到收集到的资料非常多,例如,用户名,路径信息,文件相关信息,在渗透测试中我们往往需要可以通过此种方式找寻到的用户名进行暴力破解,然后通过生成的HTML版的报告,我们可以非常清晰的看到我们收集的信息种类。
4.maltegoce 工具 - 可视化信息收集展示
描述: 此工具在最新版本的Kali中默认是没安装的,你可以执行apt install maltego
进行安装,在Kali 2.0及以下是存在的此处我们简单了解,通常我们可以从应用程序>01信息搜集>maltego
进行打开,该工具可能需要科学上网访问哟,建议注册时使用 Google Email ,注册地址为 https://redirect.paterva.com/maltego/redirect/m3ceregister
使用示例:1
2
3
4
5
6
7
8
9
10──(root㉿kali)-[~]
└─# maltego
# java is /usr/bin/java
# found java executable in PATH
# pwd: file:/usr/share/maltego/maltego-ui/modules/ext/Java_Config_App.jar
# install conf: /usr/share/maltego/etc/maltego.conf
# install version: v4.4.1
# user conf: /root/.maltego/v4.4.1/etc/maltego.conf
# current java: /usr/lib/jvm/java-17-openjdk-amd64
# ......
使用效果
5.amap 命令 - 基于端口协议扫描
描述:此工具在最新版本的Kali中被移除,在Kali 2.0及以下是存在的,若需安装我们执行apt install amap && apt install amap-align
命令即可,此处我们简单了解,它是下一代工具工具扫描者,可以发送随机数据,还是是一个私有协议测试工具,目前物联网、工控的私有协议比较多。
它可检测指定端口上的信息,其配置文件默认路径为:
- Using trigger(触发) file
/etc/amap/appdefs.trig
- Using response(响应) file
/etc/amap/appdefs.resp
- Using trigger file
/etc/amap/appdefs.rp
语法参数:1
Usage: amap [-A|-B|-P|-W] [-1buSRHUdqv] [[-m] -o <file>] [-D <file>] [-t/-T sec] [-c cons] [-C retries] [-p proto] [-i <file>] [target port [port] ...]
使用示例:1
2# 1.在指定的在制定的50到200端口范围内,运行在192.168.1.110这个ip上面正在运行的程序
amap -bq 192.168.1.110 1-1000
6.automater 命令 - 域名分析工具 (丢弃)
描述: 此工具在最新版本的Kali中被移除,在Kali 2.0及以下是存在的此处我们简单了解,automater是分析URL的域名,DNS解析,IP地址,和MD5哈希OSINT工具,其配置文件路径在/usr/share/automater/tekdefense.xml
中,另一个配置文件相同目录下的/sites.xml已经启用.
Automater将从以下来源返回相关结果:
- IPvoid.com
- Robtex.com
- Fortiguard.com
- unshorten.me
- Urlvoid.com
- Labs.alienvault.com
- ThreatExpert
- VxVault
- VirusTotal
语法参数:1
2
3
4
5
6
7
8
9usage: Automater.py [-h] [-O OUTPUT] [-b] [-f CEF] [-W WEB] [-C CSV][-d DELAY][-S SOURCE] [--proxy PROXY] [-a USERAGENT] [-V][-r] [-v]target
# 参数:
-s 指定搜索源(sitename),以;分割
--proxy 1.1.1.1:8080
-a useragent
-V 版本
-r 从github下载最新得tekdefense.xml文件
-v 显示详细信息
使用示例:1
2
3
4
5
6
7
8
9
10
11# 示例1.常规使用
automater baidu.com
# 示例2.
automater -s robtex 50.116.53.73
# 示例3.分析了前段时间的想哭蠕虫文件hash值
automater 84c82835a5d21bbcf75a61706d8ab549 -Vvr -a FireFox
# 示例4.查询一个DNS的IP网址 114.114.114.114
automater -v 114.114.114.114
你好看友,欢迎关注博主微信公众号哟! ❤
这将是我持续更新文章的动力源泉,谢谢支持!(๑′ᴗ‵๑)
温馨提示: 未解锁的用户不能粘贴复制文章内容哟!
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主,
将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!
@WeiyiGeek - 为了能到远方,脚下的每一步都不能少
欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】
或者个人公众号【WeiyiGeek】
联系我。
更多文章来源于【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】, 个人首页地址( https://weiyigeek.top )
专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注、转个发、赞个助】,这将对我的肯定,我将持续整理发布更多优质原创文章!。
最后更新时间:
文章原始路径:_posts/网安大类/渗透系统/Kail/3.Kail安全渗透测试系统之前期信息收集工具使用实践.md
转载注明出处,原文地址:https://blog.weiyigeek.top/2023/6-1-744.html
本站文章内容遵循 知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议