MSF简介:
MSF(Metaspolit Framework)是一个开源工具,由Ruby语言编写的模板化框架,具有很好的扩展性.
在这里示例以kali操作系统为基础
kali上启动命令:
systemctl start postgresql(开启数据库服务)
msfconsole(启动msf服务)
MSF基础
MSF由多个模块组成:
- Auxiliaries:辅助模块
- Exploit:漏洞利用模块
- Payload:攻击载荷模块
- Post:后期渗透模块
- Encoders:编码工具模块
渗透步骤
在使用msf渗透测试时,可以综合使用上述模块,对目标系统进行侦查并发动攻击,大致步骤如下:
扫描目标系统,寻找可利用的漏洞
选择并配置一个漏洞利用模块
选择并配置一个攻击载荷模块
选择一个编码技术,用来绕过杀毒软件的查杀
渗透攻击
主机扫描
扫描和收集信息是渗透测试中的第一步,主要目标就是尽可能多地发现有关目标机器的信息,该步骤主要关注点是目标机器的IP地址,可用服务,开放端口等
举例:
使用辅助模块进行端口扫描
首先利用search命令搜索portscan有哪些可用的端口扫描模块
然后使用use命令利用该漏洞模块
使用show options 命令查看需要设置的参数
使用辅助的模块进行服务扫描
扫描目标机器上运行的服务时,有多种基于服务的扫描技术可以选择,例如SMB,FTP等,只需执行特定类型的扫描就可以发现服务,通过search命令搜索scanner可以发现大量的扫描模块
使用Nmap扫描
在Metasploit中同样可以使用Nmap扫描,使用方法和独立使用Nmap工具一样.这里不做赘述,这里扫描的机器为linux
漏洞利用
收集到目标系统的相关信息后,可以对症下药的为其选择Exploit和Payload,从扫描结果来看,主机运行这Samba3.x服务,可以使用search samba来搜索samba可以利用的漏洞模块
搜索结果会按照漏洞模块被利用成功的相对难易度进行Rank排序,一般的话选择Excellent:即杰出而且时间最新的,其他的可以具体情况结合Description来选择不同的漏洞利用模块
这里我们选择 exploit/multi/samba/usermap_script 进行渗透测试
use exploit/multi/samba/usermap_script 利用该模块
show options 查看模块的需要设置参数信息
info exploit/multi/samba/usermap_script 查看模块的详细信息
show payloads 查看模块可以利用的payload
这里我们选择cmd/unix/reverse反向攻击载荷模块利用
然后我们设置基本的参数:被攻击主机IP(RHOST),漏洞利用的端口号(RPORT),发动攻击主机IP(LHOST)
然后就可以输入run或者exploit开始攻击了
后渗透攻击:信息收集
后渗透信息收集利用阶段是Metasploit最精彩的阶段。Metasploit有如下优势:
1.纯内存工作模式,不需要对磁盘进行任何写入操作
2.使用加密通信协议,而且可以同时与几个信道通信
3.在被攻击进程内,不需要创建新的进程
4.易于在多进程之间迁移
5.平台通用,适用于windows,linux,bsd系统,并支持intel x86和intel x64平台
接下来介绍的是我们拿到shell之后可以做的那些事儿:
1.进程迁移:当拿到shell之后第一件是先whoami看下自身权限,如果是系统权限,那么我们就可以开始为所欲为了,如果是普通用户,我们就得考虑提升权限了。提权的话又分为两个,一个是纵向提权(向上提权),一个是横向提权(获取同级别的角色权限)
2.收集系统信息:内网经验浅谈
3.权限提升:
提权的方式:
输入系统命令:getsystem
利用系统漏洞提权:
类似于windows溢出提权,linux脏牛漏洞,内核提权等
4.令牌窃取
5.hash攻击
以上的后渗透攻击我会单独去每一个写出实验文章。今天就到这里啦