MSF信息收集

扫描

1.nmap扫描

例如:

db_nmap -sV 192.168.1.0/24  //参数sv为全面扫描

Nmap IP ID Idle 扫描

互联网上的每个IP数据包都有一个分段身份识别号(IP ID)。许多操作系统只是简单的把该识别号递增,因此分析最后一次的IPID就可以告诉攻击者已经发送了多少数据包
目的是扫描空闲主机,而且 IP ID 为递增序列的主机(僵尸主机)
相关
使用的msf测试模块如下:

 use auxiliary/scanner/ip/ipidseq

MSF信息收集_第1张图片
并未找到我的网段内存在僵尸主机,但是找到后我们可以进行进一步的扫描。

nmap -PN -sI 1.1.1.2 1.1.1.3
 //假如1.1.1.2为我们找到的僵尸机,然后要扫描1.1.1.3的端口,就可以使用如上命令。

空闲扫描

2.Auxiliary 扫描模块

 RHOSTS <> RHOST
  192.168.1.20-192.168.1.30    //指定一个网段
  192.168.1.0/24,192.168.11.0/24  //指定多个网段,用逗号隔开
  file:/root/h.txt    //将网段保存在文件内

arp扫描

use auxiliary/scanner/discovery/arp_sweep 

查看需要配置的参数
INTERFACE ̵RHOSTS̵ SHOST̵ SMAC̵ THREADS
MSF信息收集_第2张图片

portscan

在auxiliary/scanner/portscan 下存在如下扫描:

use auxiliary/scanner/portscan/ack        
use auxiliary/scanner/portscan/tcp
use auxiliary/scanner/portscan/ftpbounce
use auxiliary/scanner/portscan/xmas
use auxiliary/scanner/portscan/syn

例如使用syn

use auxiliary/scanner/portscan/syn

参数
INTERFACE̵ 接口 PORTS̵ 端口 RHOSTS̵ 主机 THREADS线程

udp扫描

相关模块

use auxiliary/scanner/discovery/udp_sweep  //使用模块
set rhosts 192.168.0.1-192.168.0.160 //设置扫描ip段

MSF信息收集_第3张图片

密码嗅探

使用模块

use auxiliary/sniffer/psnuffle 

支持从pcap包中抓取密码
功能类似于dsniff
目前只支持pop3̵,imap̵,ftp̵,HTTP ,GET 协议

例如:

use auxiliary/sniffer/psnuffle  //使用该模块

show options //查看参数

MSF信息收集_第4张图片
其中filter 为过滤,可以不做设置,interface为接口,默认为所有,pcapfile指定从一个包中抓取,protocals为协议,默认为all。
直接run,就可以监听kali本机所支持的协议的所有密码的请求。

抓取到了账户和密码,虽然是登陆失败的。

设置抓包文件

set PCAPFILE 1.pcap

直接run

SNMP扫描

首先将Snmp的配置文件改下,避免出现扫描不到。

vi /etc/default/snmpd   # 侦听地址改为0.0.0.0

重启snmp服务

cd  /etc/init.d

ls snmpd

./snmpd stop

./snmpd start

使用snmp爆破模块

use auxiliary/scanner/snmp/snmp_login 
show options

PASS_FILE /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt
为默认的破解密码,包含一百多个值。

设置配置项

执行:
在这里插入图片描述
可以看到,爆出来两个,一个为private,具有读写权限,而public只是具有读的权限。

然后运用其他模块查看或者更改配置信息

 use auxiliary/scanner/snmp/snmp_enum 

MSF信息收集_第5张图片
window下的

use auxiliary/scanner/snmp/snmp_enumusers (windows) //显示用户 auxiliary/scanner/snmp/snmp_enumshares (windows)      //显示共享文件夹

SMB 扫描

1.版本检测
use auxiliary/scanner/smb/smb_version 

set rhosts 192.168.0.122, 192.168.0.126 - 192.168.0.136

需要设置RHOSTS,smb服务的密码和账户可以不设置。

MSF信息收集_第6张图片
很神奇的是这个rhosts的设置,设置为192.168.0.1,192.168.0.123逗号之间没有空格,会直接报错,语句不合法,应该设置为192.168.0.1, 192.168.0.123也就是逗号后面要多加一个空格。但是我再设置网段,例如192.168.0.1, 192.168.0.12 - 192.168.0.22这样设置并不会被当作网段,它会将192.168.0.22当成一个单独的网址,也就是只有三个网址被扫描,那么想要扫描的是网段,就需要将-前后的空格给去掉。192.168.0.1, 192.168.0.12-192.168.0.22

可以看到,扫描出了两个主机,其中一个主机无法判断。

2.扫描命名管道,判断smb服务类型
use auxiliary/scanner/smb/pipe_auditor 

扫描的结果如下:
MSF信息收集_第7张图片
设置账号和密码之后,扫描出的结果会更多。

3.扫描通过SMB管道可以访问的rceprc服务
use auxiliary/scanner/smb/pipe_dcerpc_auditor 

MSF信息收集_第8张图片

4.SMB共享枚举

用来枚举smb的共享文件夹

use auxiliary/scanner/smb/smb_enumshares 

5.smb用户枚举

一般情况下是枚举不出来结果的,设置账号密码参数可以枚举出更多。

use auxiliary/scanner/smb/smb_enumusers 
6.sid枚举
use auxiliary/scanner/smb/smb_lookupsid

MSF信息收集_第9张图片

ssh扫描

1.版本 扫描
use auxiliary/scanner/ssh/ssh_version 

ssh版本1.1和ssh版本1.9是存在漏洞的
MSF信息收集_第10张图片

2.ssh密码爆破
use auxiliary/scanner/ssh/ssh_login 

MSF信息收集_第11张图片
设置的是密码和账户文件,rhosts。
已经存在的账户密码文件 USERPASS_FILE 在如下位置

/usr/share/metasploit-framework/data/wordlists/root_userpass.txt

所以,我们测试可以使用

set  /usr/share/metasploit-framework/data/wordlists/root_userpass.txt

由于我将我的真实密码加入了字典,成功的截图不予展示

SSH公钥登陆
 use auxiliary/scanner/ssh/ssh_login_pubkey 

有的设备支持ssh公钥登陆,存在一些生产的机器,所有的公钥都是一样的,倘若能够获取一台机器的ssh公钥,就可以尝试登陆其他的设备。

KEY_PATH参数需要指定

set KEY_FILE id_rsa 
set USERNAME root

检测windows

条件:已经有相关的shell,基于已经有了连接好的session。
例如已经通过msf_17_010拿到目标的shell,然后用命令sessions获取session号。

使用模块:

use post/windows/gather/enum_patches 

show advanced 
set VERBOSE yes 
set session 1

如果出现如下错误:
Known bug in WMI query, try migrating to another process
将session进程迁移到其他的位置,用migrate命令,前面已经提到。

mssql 扫描端口

针对微软的sqlserver进行的一个扫描,主要是两个端口。
TCP1443(或者动态端口)/UDP1434
使用如下模块可以探测:

– use auxiliary/scanner/mssql/mssql_ping 

sqlserver的管理员账号默认为sa,一般不会修改,当我们扫到一台机器开启了如下端口时,可以考虑进行往下探测。

爆破mssql密码
use auxiliary/scanner/mssql/mssql_login

需要设置主机rhosts,密码文件路径,用户名。

远程执行代码

前提是已经破解了mssql的管理员账户密码

use auxiliary/admin/mssql/mssql_exec

set CMD net user user pass /ADD  设置命令执行的内容

ftp扫描

1.版本扫描
use auxiliary/scanner/ftp/ftp_version
2.测试是否能够匿名登陆
use auxiliary/scanner/ftp/anonymous
3.爆破ftp用户密码
use auxiliary/scanner/ftp/ftp_login

注:ftp的2.3.4版本是存在后门漏洞的。

你可能感兴趣的:(msf学习记录)