Kali与MSF之信息收集

Posted sGanYu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kali与MSF之信息收集相关的知识,希望对你有一定的参考价值。

目录

kali内通过DNS或IP地址收集目标信息

1、Whois

2、Nslookup

3、Host

4、ICMP Ping

MSF内主机探测与端口扫描

一、主机探测

arp_sweep模块主机探测

Nmap主机探测

二、端口扫描

使用syn端口扫描

使用Nmap端口探测

高级TCP空闲扫描


攻击机:linux kali

靶机:win7、win10和metasploittable2

kali内通过DNS或IP地址收集目标信息

1、Whois

用来查询域名注册信息数据库的工具,一般的域名注册信息会包含域名所有者、服务商、注册日期等等,这些信息在做渗透攻击之前是很有价值的

注:进行whois查询时不能带有www、ftp等前缀,机构在注册域名时通常会注册一个上层域名,其子域名由自身的域名服务器管理,在whois数据库查询失败

2、Nslookup(查询指定域名对应的ip地址)

nslookup命令:nslookup -type=参数 domain

参数作用
A对ip地址解析
AAAA地址记录
AFSDB文件系统数据库服务器记录
ATMAATM地址记录
CNAME别名记录
ISDN域名对应的ISDN号码
MB存放指定邮箱的服务器
MG邮件组记录
MINFO邮件组和邮箱的信息记录
MR改名的邮箱记录
MX查找邮件转发服务器
NS名字服务器记录
PTR反向记录
RP负责人记录
RT路由穿透记录
SRVTCP服务器信息记录
TXT域名对应的文本信息
X25域名对应的X.25地址记录

实例:

┌──(root💀kali)-[~/桌面]

└─# nslookup -type=A baidu.com

Server: 192.168.200.2

Address: 192.168.200.2#53

Non-authoritative answer:

Name: baidu.com Address: 220.181.38.148

Name: baidu.com Address: 220.181.38.251

┌──(root💀kali)-[~/桌面]

└─# nslookup -type=MX baidu.com

Server: 192.168.200.2

Address: 192.168.200.2#53

Non-authoritative answer:

baidu.com mail exchanger = 15 mx.n.shifen.com.

baidu.com mail exchanger = 20 mx1.baidu.com.

baidu.com mail exchanger = 20 jpmx.baidu.com.

baidu.com mail exchanger = 20 mx50.baidu.com.

baidu.com mail exchanger = 20 usmx01.baidu.com.

baidu.com mail exchanger = 10 mx.maillb.baidu.com.

3、host

(有时候我们会搜索到主机名而不是ip地址,出现这种情况可以用host工具)

4、ICMP Ping

Ping(全称Packet Internet Grope,英特网包探索器)。用于测试网络连接的程序,由于在网络管理和维护工作中使用频率非常高,几乎所有操作系统都集成了这个工具,Ping程序会发送一个ICMP echo请求消息给目的主机,并报告应答情况

通过ping探测主机是否活跃

MSF内主机探测与端口扫描

一、主机探测

MSF关于主机发现模块

  • arp_sweep

  • ipv6_multicast_ping

  • ipv6_neighbor

  • upd_probe

  • upd_sweep

  • ... ...

(1)想使用metasploit框架,需要启用metasploit所依赖的postgresql数据库

在kali Linux上启动postgresql命令【systemctl start postgresql】,然后启动msfconsole

(2)上述的主机探测模块位于auxiliary/scanner/discovery中

模块作用
auxiliary/scanner/discovery/arp_sweepARP扫描本地网络探测
auxiliary/scanner/discovery/ipv6_multicast_pingIPv6本地Ping探测
auxiliary/scanner/discovery/ipv6_neighborIPv6本地邻居探测
auxiliary/scanner/discovery/ipv6_neighbor_router_advertisement使用路由器公告IPv6本地邻居探测
auxiliary/scanner/discovery/empty_udp基于UDP的空探测器
auxiliary/scanner/discovery/udp_probe基于UDP的服务探测器
auxiliary/scanner/discovery/udp_sweep发送UDP数据包探测指定主机是否活跃,并发现UDP服务

arp_sweep模块主机探测

ARP 协议是根据目标主机的 IP 地址获取对应的 MAC 地址。如果目标主机存在,将返回 MAC 地址。在TCP/IP网络环境中,一台主机在发送数据帧前需要使用ARP将目标IP地址转换成MAC地址,而这个转换过程是需要通过发送ARP请求来完成。利用这一点,用户可以基于 ARP 协议对目标主机进行扫描,来判断目标主机是否启用。

(1)使用auxiliary/scanner/discovery/arp_sweep模块,show options查看需要设置的参数,yes为必选

(2)必须设置rhosts,选择性设置threads(线程)

(3)exploit后,可以看见扫出了3个靶机ip[注:192.168.200.1和192.168.200.2为虚拟网卡]

Nmap主机探测

与主机发现相关的nmap参数

参数作用
-sP使用ping探测主机
-snPing Scan只进行主机发现,不进行端口扫描
-P0/Pn默认视为指定的主机已开启,跳过主机发现阶段
-PS使用TCP ACK的方式来发现
-PA使用TCP SYN的方式来发现
-PU使用UDP Ping的方式来发现
-PY使用SCTP的方式来发现
-PE/-PP/-PM使用ICMP echo/timestamp/netmask扫描
-PR使用ARP Ping的方式扫描
-R/-n总是进行DNS解析/不进行DNS解析

二、端口扫描

MSF关于端口探测的模块

  • /portscan/ack

  • /portscan/ftpbounce

  • /portscan/syn

  • /portscan/tcp

  • /portscan/xmas

  • ... ...

上述的端口扫描模块位于auxiliary/scanner/portscan中

模块作用
auxiliary/scanner/portscan/ackack方式探测防火墙未屏蔽的端口
auxiliary/scanner/portscan/ftpbounce通过FTP bounce攻击原理对TCP服务枚举
auxiliary/scanner/portscan/syn使用TCP SYN方式探测开放的端口
auxiliary/scanner/portscan/tcp通过一次完整的TCP判断端口开放
auxiliary/scanner/portscan/xmas更为隐秘的扫描方式,发送FIN、URG等

使用syn端口扫描

(1)使用auxiliary/scanner/portscan/syn模块,show options查看需要配置的参数

(2)设置rhosts和threads

(3)exploit 

使用Nmap端口探测

与端口扫描相关的参数

参数作用
-sS使用TCP SYN的方式对目标主机进行扫描
-sT适用于找出TCP和UDP端口,需要完成三次握手
-sA使用TCP ACK的方式对目标主机进行扫描
-sU寻找目标主机打开的UDP端口,不需要发送任何的SYN包
-F扫描TOP100端口
-r不进行端口随机打乱扫描
当不输入此参数时,Nmap会将需要扫描的端口进行打乱,这样的扫描更不易被WAF检测到

整理了自己常用Nmap扫描参数

参数作用
nmap -T4 -A -v ip快速扫描,-A将会综合扫描和深入服务枚举,-v显示余
nmap -O ipOS操作系统类型探测
nmap -sS -Pn/P0 ip-sS执行一次隐秘的TCP扫描,-Pn不执行ping命令,视默认主机为存活
nmap -sS -sV ipTCP扫描的同时探测版本

高级TCP空闲扫描

在了解TCP空闲扫描时,首先多嘴一下一般端口的探测原理。去判断端口是否开放,其中一种方法(三次握手协议)是先向该端口发送一个 SYN包,如果进行扫描的目标端口是开放的,则它会返回一个 SYN/ACK 包,反之,关闭的,则返回 RST(异常终止)包,一般通过这种方法判断扫描的目标端口是否开放,并进行枚举

进行TCP空闲扫描前,我们需要在网络上定位一台使用递增IP帧(每个IP数据包都有一个分段身份识别号【IP ID】。大多数操作系统只是简单的把该识别号递增,所以它的IP帧是可以被预测的,利用这个特点计算出它下一个IP帧的标识)机制的空闲主机(空闲主机可以理解为在一定时间内不会发送任何数据包被我们利用的傀儡机)

举个例子:假设已知一台主机 a ,它属于空闲主机,在一定时间内不会发送任何数据包。我们向这台主机a略过SYN包,直接发送一个 SYN/ACK 包。由于主机a没有对我们发送过 SYN 包,但是却接收到SYN/ACK 包之后,它无法理解,根据三次握手协议,会返回给我们一个 RST (异常终止)包,包里会附有 IP ID。已知主机a的IP地址后,我们伪装成主机 a 对目标进行端口探测,如果主机a实际的IP帧与预测的IP帧发生断档,则可以推测该目标端口可能是开放的

使用Metasploit框架内的scanner/ip/ipidseq模块扫描出满足TCP空闲扫描的主机a

一、启动Kali自带的MSF

命令:【msfconsole】

二、使用扫描空闲主机的模块【use auxiliary/scanner/ip/ipidseq】,并且【show options】查看需要进行配置的内容

三、进行配置,在Required下,yes代表必须设置,no代表可以不更改,设置RHOSTS的一个扫描范围,同时设置THREADS的线程数,50或者100

四、exploit

五、扫描完成之后发现一个空闲主机192.168.200.145(由于198.168.200.134是我们的攻击目标,所以不算扫描出两个) ,使用msf内的nmap中的-sI获取192.168.200.145对目标进行扫描

命令:【nmap -PN -sI 傀儡机IP 目标IP】

nmap -PN -sI 192.168.200.145 192.168.200.134

使用空闲扫描,即可不利用自身ip进行扫描获取目标开放端口  

以上是关于Kali与MSF之信息收集的主要内容,如果未能解决你的问题,请参考以下文章

kali信息收集之域名查询

Kali Linux信息收集之dnswalk

kali linux 之 DNS信息收集

安全攻防实战系列MSF

kali linux之主动信息收集(三层发现,四层发现)

MSF魔鬼训练营-3.1.1信息收集-通过DNS和IP地址挖掘目标网络信息