MSF
基础模块大致分为Aux辅助模块、Exploits渗透攻击模块、Post后渗透攻击模块、Payloads攻击载荷模块、Encoders编码器模块、Nops空指令模块
启动MSF之前,先开启企业级的sql数据库postgresql,并设为开机启动:
systemctl start postgresql
systemctl enable postgresql
之后初始化数据库启动
msfdb init
msfconsole
靶机:Metasploit2
靶机集成了许多漏洞,使用账号密码(默认都为msfadmin登陆),修改root密码,并切换成root:
sudo passwd root
su root
修改动态ip地址为静态,确保靶机和攻击机在同一网段
vim /etv/network/interfaces 将dhcp改为static,并依次添加地址、掩码、网关 address 192.168.147.180 netmask 255.255.255.0 gateway 192.168.147.1
重启网卡
/etc/init.d/networking restart
给虚拟机创建快照(备份),已被不时之需
SambaMS-RPC Shell命令注入漏洞:
原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令
查询模块,并use模块。设置参数,将RHOST设定为靶机地址,也可以输入info查看详细设定信息
输入run或者exploit进行渗透攻击,如图
输入whoami,返回root说明此时已经取得root权限
Java RMI SERVER命令执行漏洞
原理:
Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行
ctrl+C,之后back回到msf,查找相关渗透模块,挑选rank为execllent的
info查看详细配置信息
必要配置的都为yes,设置RHOST为靶机
nmap扫描开启端口是否包含1099
进行渗透
渗透失败,可能是防火墙的原因,或是靶机原因。这里看到的确打开了两个session,但是靶机没有返回需要的请求
按照正常流程,最后msf会getshell