MSF系列:
发现和端口扫描
Nmap扫描
db_nmap -sV 192.168.1.0/24
Auxiliary模块
RHOSTS在指定目标时可以指定多个目标
指定IP范围:192.168.171.1.20-192.168.171.30
指定两个主机段:192.168.1.0/24,192.168.11.0/24
导入文件中的IP:file:/rooot/host.txt
search arp
arp扫描
INTERFACE可以指定使用哪个网卡发包,SHOST可以伪装成别的IP,SMAC可以伪装成别的MAC地址,THREADS设置扫描的线程数
search portscan
端口扫描有以下几个模块,我们这里用syn扫描
步骤都差不多,show options查看要填写的参数信息,然后run运行
IPID Idle扫描
向一个空闲主机发包,这个空闲主机必须要有一个特点,它的IP包头里的ID值是顺序增长的,假如发给它第一个包的响应ID是1,下一次响应的ID就是2
根据它这个变化的IPID的值,伪装扫描的源IP地址,把源IP改成目标的IP,以目标IP为源IP向这个空闲主机发包,根据这个ID的值判断目标主机是否活着,目标端口是否开放
用这种方法的关键是找到一台空间的机器。首先它很少跟网络中的其他机器通信,还有IPID是递增的。
下面这个模块可以帮助我们找到空闲主机
auxiliary/scanner/ip/ipidseq
测试结果
UDP扫描
auxiliary/scanner/discovery/udp_sweep auxiliary/scanner/discovery/udp_probe
密码嗅探
auxiliary/sniffer/psnuffle
不仅支持实时抓取密码,也支持从pcap抓包文件中提取密码
功能类似dsniff
目前只支持pop3、imap、ftp、HTTP GET协议
可以什么都不配置,直接run,默认抓取本机的流量,也可以分析pcap文件里面可能存在的密码
set PCAPFILE /root/pcap
SNMP扫描
auxiliary/scanner/snmp/snmp_login
SNMP中Community其实就相当于PASSWORD,如果是可读的,就能读取服务器上的配置,如果是可写的,那就可以更改这些配置。
这个模块就是用来破解SNMP的Community,默认使用了一个密码字典
auxiliary/scanner/snmp/snmp_enum
如果破解出来了密码,我们可以用这个模块来读取SNMP的配置
设置这里破解出来的COMMUNITY和RHOSTS然后就可以了
auxiliary/scanner/snmp/snmp_enumusers
用这个可以枚举Winodws上面有多少个用户和用户账号
auxiliary/scanner/snmp/snmp_enumshares
用这个可以枚举Windows上开了多少个文件共享,隐藏的共享不能枚举出来
SMB服务扫描
SMB版本扫描
auxiliary/scanner/smb/smb_version
扫描命名管道,判断SMB服务类型
auxiliary/scanner/smb/pipe_auditor
扫描通过SMB管道可以访问的DCERPC服务
auxiliary/scanner/smb/pipe_dcerpc_auditor
SMB共享枚举
auxiliary/scanner/smb/smb_enumshares
SMB用户枚举
auxiliary/scanner/smb/smb_enumusers
SID枚举
- SID是安全标识符,每安装一个操作系统就会根据系统时间之类的随机数生成一个SID
- 在一个系统上有账号A,删除之后再创建一个A,我们看来是一样的,但是操作系统看来是不一样的,它们SID不同
auxiliary/scanner/smb/smb_lookupsid
SSH服务扫描
ssh版本扫描
auxiliary/scanner/ssh/ssh_version
ssh密码爆破
auxiliary/scanner/ssh/ssh_login
/usr/share/metasploit-framework/data/wordlists/root_userpass.txt 是msf自带的“用户-密码”文件,格式为“账号 密码”,账号和密码以空格分隔
/usr/share/metasploit-framework/data/wordlists下面有许多msf自带的字典
ssh公钥登录
ssh可以不使用账号密码登录
auxiliary/scanner/ssh/ssh_login_pubkey
系统补丁
基于已取得的sessions进行检测
post/windows/gather/enum_patches
我们用ms80_067取得XP SP3上一个sessions
进入sessions中,将Meterpreter Shell迁移到别的进程中,比如迁移到下图中的进程
然后用这个sessions查目标系统上的补丁
SQL server
Mssql扫描端口:
一般是TCP 1433,也可以用动态端口(随机生成的端口),如果是动态端口我们可能就错过了Mssql服务
也可以通过UDP 1434判断是否开起了SQL server,我们可以通过连接UDP的1434端口查询TCP的动态端口
auxiliary/scanner/mssql/mssql_ping
爆破密码:
一般爆破的mssql用户名是sa
auxiliary/scanner/mssql/mssql_login
远程代码执行:
auxiliary/admin/mssql/mssql_exec
CMD可以设置为自己想要执行的命令
FTP服务
FTP版本扫描:
auxiliary/scanner/ftp/ftp_version
FTP是否支持匿名登录:
auxiliary/scanner/ftp/anonymous
暴力破解
auxiliary/scanner/ftp/ftp_login