Metasploit常用命令-端口扫描


日期:Mar-21-2022

作者:狐狸大剑眼镜

参考:

视频:https://www.bilibili.com/video/BV127411c7yE?from=search&seid=3411919452169440371&spm_id_from=333.337.0.0

书籍:Metasploit渗透测试魔鬼训练营

基本命令

1.msfconsole

进入msf终端,

2.creds

creds -h 查看帮助文档,creds命令可以列出获取到的信息,比如用户名密码,数据库密码,开放端口及服务。

3.search

search -h 查看帮助文档,搜索可以用的模块,常用方法search+关键词

4.spool命令

直接输入spool可获取使用方法,功能是可以将当前屏幕重定向到某个文件中

5.show advanced命令

以一个模块为例,首先进入该模块

use exploit/multi/samba/usermap_script

显示此模块的高级选项

show advanced

使用实例

使用search命令寻找攻击Samba服务模块:search samba

选择使用渗透工具模块:use exploit/multi/samba/usermap_script

查看与该渗透模块相兼容的攻击载荷:show payloads

设置攻击载荷:set payload /cmd/unix/bind_netcat及使用netcat工具在渗透攻击成功后指向shell,并通过netcat绑定在一个监听端口上。

查看该渗透工具模块的参数:show options

设置参数目标主机ip:set rhost ip

启动攻击:exploit

使用metasploit进行端口扫描

可以输入search portscan查看相关端口扫描器

按端口号划分:

(1)知名端口

知名端口即众所周知的端口,0到1023,这些端口号一般固定分配给一些服务,比如21端口分给FTP服务,25端口给SMTP服务,80端口给http服务,135端口分配给RPC服务等等。

(2)动态端口

范围从1024到65535,这些端口号一般不固定分配给某个服务,程序关闭后就会释放所占用的端口。动态端口也常常被木马程序所利用,如冰河默认端口是7626、WAY 2.4是8011、Netspy 3.0是7306...

按协议类型:

可以分为TCP,UDP,IP和ICMP(internet控制消息协议)等端口

(1)TCP端口

TCP端口,即传输控制协议端口,需要在客户端和服务端之间建立连接,这样可以提供可靠的数据传输,常见的包括FTP服务21端口,Telnet服务23端口,SMTP服务的25端口,以及HTTP服务的80端口。

(2) UDP端口

即数据包协议端口,无需再客户端和服务端之间建立连接,安全性得不到保障,常见DNS服务的3端口,SNMP(简单网络管理协议)服务的161端口,qq使用的8000和4000端口等。

Metasploit端口扫描器

(1)ack

通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测。

(2) ftpbounce

通过FTP bounce攻击的原理对TCP服务进行枚举,一些新的FTP服务软件可以很好的防范FTP bounce攻击,但是一些旧的Solaris及FreeBSD系统的FTP服务中此类的攻击方式仍能可以利用。

(3)syn

使用TCP SYN标志的方式探测开放的端口。

扫描器向主机的端口发送请求连接的SYN包,扫描器再收到SYN/ACK后,不是发送ACK应答而是发送RST包请求断开连接,这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会记录到系统日志中,但是这种扫描需要root权限。

(4)tcp

通过一次完整的TCP连接来判断端口是否开放,这种扫描方式最准确,但是速度比较慢。

扫描视图与每一个TCP端口进行三次握手,如果能成功建立连接,则证明端口开放,否则关闭,但是最容易被防火墙和IDS检测到,并且再目标主机上记录大量的连接请求。

(xmas)

一种更为隐蔽的扫描方式,通过发送FIN,PSH和URG标志,能够躲避一些高级的TCP标记检测器的过滤,不支持windows。

实验

使用back命令回到msf>控制台

输入search portscan查找扫描工具

ack

其通常用来探测防火墙规则,一般情况下这种扫描不能确定端口开放情况,用于发现防火墙规则,确定他们是否再运行状态以及哪些端口是过滤的。

(1)选择模块

(2)set命令查看参数

设置GATEWAY_PROBE_HOST 为任意一个内网可连通的ip地址
(3)show options 查看还需要设置哪些参数
(4)设置rhosts,目标主机ip或者域名
(5)设置参数threads,线程,越大越快
(6)参数timeout,超时时间
(7)ports,设置扫描端口区间
(8)查看最终设置

(9)执行攻击run