信息收集工具使用
目录
子域名收集
dnsenum扫描
优点:
使用Google搜索引擎获取额外的名字与子域名
使用一个txt文件暴力破解子域名
使用whois(DB)查询C类网络范围,并且计算网络范围
反向查询
支持多重查询
介绍常用指令:
--dnsserver <server>:将此DNS服务器用于A,NS和MX查询
--enum:快捷方式选项相当于--threads 5 -s 15 -w
--noreverse:跳过反向查找操作
--subfile <file>:将所有有效的子域写入此file
-t <value>:tcp和udp超时值(以秒为单位,默认值:10s)
--threads <value>:将执行不同查询的线程数
-v:详细信息:显示所有进度和所有错误消息。
-s <value>:将从Google抓取的子域的最大数量(默认值为15)
-p <value>:抓取名称时要处理的Google搜索页面数,默认值为5页,必须指定-s开关
-f <file>:从此文件读取子域进行爆破
-d <value>:在whois查询之间等待的最大值(秒),该值自定义,默认值:3s
-w:在c类网络范围上执行whois查询(这会产生大量的流量,谨慎使用)
-o <file>:以XML格式输出到file文件中。
常用命令组合:
dnsenum --enum baidu.com //快捷方式选项相当于--threads 5 -s 15 -w
dnsenum --dnsserver dns.baidu.com -f /usr/share/dnsenum/dns.txt baidu.com
//-f 指定暴力破解字典文件;--dnsserver,指定dns服务器;baidu.com,为要查找的目标域;
dnsmap
常用命令组合:
dnsmap test.com -w /usr/share/dnsmap/wordlist_TLAs.txt
dnsmap test.com -w /usr/share/dnsmap/wordlist_TLAs.txt -c test.csv
注:域名写在前面,这个工具的顺序不可以乱
-w wordlist_TLAs.txt ,指定暴力破解文件
-c baidu.csv,查询结果文件
路由跟踪
traceroute
介绍常用指令:
-I : 使用icmp、echo进行探测(需要root权限)
-T:使用tcp进行探测(需要root权限)
-f:指定从哪个TTL开始,默认为1
-m:指定traceroute探测的最大跳跃数,即TTL生存。默认值为30。
-n:显示IP地址的时候不要尝试将其映射到主机名。
-N:设置同时发送的数据包。默认值为16。
-w:设置探测等待的时间。默认5秒。
-s:选择另外的网卡接口。默认选择传出接口地址。
-V:输出traceroute版本信息(不会进行信息探测)
-U:使用UDP到特定的目标端口进行路由。默认端口为53。
--mtu:增加每个可显示路由的mtu信息
常用命令组合:
traceroute www.baidu.com //直接测试路由跳数
traceroute -T www.baidu.com //-T 表示使用TCP SYN 进行追踪 (默认端口 80) 返回SYN/ACK则端口开放;返回RST则端口关闭
主机发现
arping
介绍
对直连网络,使用ARP request进行测试,一个特定IP是否正在使用
常用命令使用
arping -c 3 IP //-c 指定测试次数
缺点
arping很明显使用的是arp协议,所以只能对同一网段下测试
fping
介绍
能快速地使用ICMP ECHO一次请求多个主机
常用命令使用
fping -s -r 1 -g IP1 IP2 IP3
//-s 显示最终结果 -r 测试次数 -g 测试范围
nbtscan
介绍
扫描一个IP地址范围的NetBIOS名字信息,它将提供一个关于IP地址,NetBIOS计算机名,服务可用性,登录用户名和MAC地址的报告
常用命令使用
nbtscan 192.168.2.1-254 //给地址范围
nbtscan 192.168.2.0/24 //扫整个网段
以上两个例子说明网段可以有两种方式,所以下面的命令都是可以随意切换输入的IP格式
nbtscan -s : 192.168.2.0/24 //输出更加美观
nbtscan -v 192.168.2.0/24 //输出更加详细的信息
组合使用
nbtscan -v -s : 192.168.2.0/24 //详细信息输出且美观
缺点
只能扫描微软的主机
nping
介绍
nping工具允许用户产生各种网络数据包(TCP、UDP、ICMP 、ARP),也允许用户自定义协议头部,例如:源和目的,TCP和UDP的端口号
常用命令使用
npnig -c 1 --tcp -p 80 --flags syn IP
npnig -c 1 --tcp -p 80 --flags ack IP
npnig -c 1 --udp -p 33434 IP
//-c ping 的次数; --tcp/udp是协议;-p 端口号;--flags是对应tcp协议的,协议数据包可以分为syn和ack数据包标志
protos
介绍
主要用于扫描特定主机上所支持的协议
常用命令使用
protos -i eth0 -d 192.168.2.2 -v
//-i 指定网络设备(ethn); -d 指定目标地址(IP或IP/MASK); -v 显示详细信息
端口扫描
nmap扫描
学习网址:https://nmap.org/man/zh/index.html
默认扫描命令:即
- nmap -sC -sV -oA nmap/initial 10.47.8.40 -Pn -n -v
基本用法
目标探测
-Pn:默认范围内主机都开启,然后对指定的ip或者ip范围直接探测端口号进一步判断
-PS:SYN ping 、-PA:ACK ping、-PU:UDP ping (都不好用)
-PE:使用ICMP或者echo等等请求包来发现主机是否开启
-PR:arp广播ping
-sn:ping scan,进行主机发现,可以指定ip范围(ping 扫描)(不好用)
-sP:ping scan,同上(不好用)
--traceroute:路由跟踪
-n:表示对所有ip不进行反向域名解析(一般来说可以加快nmap的分析速度)
端口扫描
参数一般是-s*开头
-sS:tcp syn扫描(非常好用,隐蔽且效率高)
-sU:udp扫描,可以结合-sS进行使用
-sT:tcp连接,这种是直接与目标请求建立连接 (容易被发现,不建议使用)
-sA:tcp ack扫描
- 比较隐蔽的扫描:
(下面仅当目标系统严格遵循 RFC 793,
它们能躲过一些无状态的防火墙和报文过滤路由器,
但大多数 现代的 IDS 产品可以检测到它们)
-sX:设置 FIN、PSH、和 URG 标志位
-sF:tcp fin扫描
-sN: 指定使用TCP Null
-sV:进行端口开放的服务的对应的版本探测(是对服务)
-O:进行主机的系统探测,和-sV不同,不要搞混(这里是对主机)
-p 指定端口范围进行扫描
-A:综合扫描
-v:表示扫的信息更加详细
-T<num>:例如-T4表示速度级别配置4级
-top-port num :扫描最有可能开放的几num个端口,例如-top-port 300 扫描最有可能开放的300个端口
-iL <文件名>:对多个目标进行扫描,文件里面写域名或ip地址,使用回车或者空格分开
--exclude <排除的目标,[..]>:目的是排除掉不需要扫描的目标
-iR <num>: 随机生成ip目标对其扫描,num填数字,表示随机生成几个目标,感觉这个功能比较鸡肋。
最后一个漏洞扫描,nmap还具有漏洞扫描功能,但是一般情况下扫出来的可能性不大:
-
常见的漏洞扫描:
nmap ip --script=auth,vuln
-
扫描端口并且标记可以爆破的服务:
nmap ip --script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute
-
精确指定漏洞类型探测并扫描端口:
nmap 192.168.121.151 --script=dns-zone-transfer,ftp-anon,ftp-proftpd-backdoor,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221,http-backup-finder,http-cisco-anyconnect,http-iis-short-name-brute,http-put,http-php-version,http-shellshock,http-robots.txt,http-svn-enum,http-webdav-scan,iax2-version,memcached-info,mongodb-info,msrpc-enum,ms-sql-info,mysql-info,nrpe-enum,pptp-version,redis-info,rpcinfo,samba-vuln-cve-2012-1182,smb-vuln-ms08-067,smb-vuln-ms17-010,snmp-info,sshv1,xmpp-info,tftp-enum,teamspeak2-version
tips:
多个不同网段目标扫描的时候最后使用-iL参数,将多个目标写进文件里面
操作系统指纹
xprobe2
介绍
一个主动的操作系统指纹监控工具。它采用模糊签名匹配,概率猜测,多相匹配,和签名数据库进行指纹识别
常用命令使用
xprobe2 192.168.2.2
amap
介绍
是一个用于检测特定端口上运行的具体应用的工具。
常用命令使用
amap -bq 192.168.2.2 80