网络安全:kali之MSF工具基本使用方法
Posted 诺卡先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全:kali之MSF工具基本使用方法相关的知识,希望对你有一定的参考价值。
1、进入MSF工具:nsfconsole
2、查询漏洞利用工具:search 漏洞编号
3、打开工具:use 工具id
4、查看工具配置参数:show options
5、查看工具的详细信息:info
6、配置参数:
set 参数头 目标主机
set 参数头 目标端口
(参数配置根据实际所缺参数为准)
7、运行工具:run或者exploit
@返回命令:back
@新版kali已经自动配置Payload;不需要再次自己配置(当然也可以自己配置:set payload windows/***/…/…),这里推荐使用反向连接,不会被防火墙阻隔
MSF专业术语讲解
渗透攻击(Exploit)
渗透攻击是指由攻击者或者渗透测试者利用系统、应用或服务中的安全漏洞,所进行的攻击行为。流行的攻击技术包括:缓冲区溢出、Web应用程序漏洞攻击,以及利用配置错误等。
攻击载荷(Payload)
攻击载何是我们期望目标系统在被渗透攻击后而执行的代码。在MSF框架中可以自由的选择、传送和植入。比如,反弹式shell是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。
溢出代码(Shellcode)
shellcode是在渗透攻击时作为攻击载荷运行的一组机器指令。shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令后,才会提供一个命令行shell或者Meterpreter shell,这也是shellcode名称的由来。
模块(Module)
在MSF中,一个模块是指MSF框架中所使用的一段软件代码组件。在某些时候,你可能会使用一个渗透攻击模块(Exploit module),也就是用于实际发起渗透攻击的软件组件。而在其它时候,则可能使用一个辅助模块(auxiliary module),用来扫描一些诸如扫描或系统查点的攻击动作。
监听器(Listener)
监听器是MSF中用来等待连入网络连接的组件。举例来说,在目标主机被渗透攻击之后,它可能会通过互联网回连到攻击主机上,而监听器组件在攻击主机上等待被渗透攻击的系统来连接,并负责处理这些网络连接。
Kali之MSF的MS08-067漏洞复现详解
1、MSF初识:
MSF即Metasploit Framework,是一个综合性的渗透测试工具,集成信息收集、漏洞扫描、漏洞利用以及提权等功能的工具。
目前安装的kali都自带MSF,可以直接在图形界面打开
也可以在kali的终端通过使用命令msfconsole来打开。
2、MSF的目录结构和基本命令
1)msf的安装目录:
┌──(kali㉿kali)-[~]
└─$ ls /usr/share/metasploit-framework/
或者2022版kali以后(在这之前的版本不知道可不可行)的直接桌面按如下步骤找到msf安装目录。
2)msf主要目录:
2.1、modules目录,子目录是一些用于渗透攻击的模块。
①auxiliary模块:主要包含渗透测试过程中所需的一些辅助性脚本,这些脚本有扫描、嗅探、破解、指纹识别、注入、Dos攻击等功能。
②encoders模块:编码工具,用于躲过入侵检测和过滤系统。
③exploit模块:即渗透攻击模块,利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法,攻击方法包括主动攻击(active exploit)和被动攻击(passive exploit),
④nops模块:参考了两位大佬的解释,过程略有偏差,但最终意义相同,看你怎么理解:
&由于IDS/IPS会检查数据包中不规则的数据,所以在某些场合下(比如针对溢出攻击),某些特殊的滑行字符串(NOPS x90x90…)会因为被拦截而导致攻击失效,这时需要修改exploit中的NOPs.nops文件夹下的东西,会在payload生成时用到。如打开php的NOPS生成脚本,就会发现它返回了指定长度的空格。
&提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区, 这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存 地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。
⑤payloads模块:攻击载荷,是攻击者发送给系统执行的指令的。payload主要是在目标机执行的,exploits是在本地执行作用于目标机。分为3种类型的payloads,分别是single、stages和stagers。
single:all-in-one。完整的payload,这些payload都是一体化的,不需要依赖外部的库和包。
stagers:目标计算机内存有限时,先传输一个较小的payload用于建立连接
stages:利用stagers建立的连接下载后续payload
⑥post模块:该模块exploits执行成功后,向目标机发送一些功能性指令,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击、提权、获取hash等。
2.2、data目录
存放 meterpreter、passivex、vnc等工具和一些用户接口代码,wordlists等一些其他模块用到的数据文件
2.3、plugins和scripts目录
plugins是一个插件目录,需要用load加载,它提供数据库连接插件的功能和各种渗透攻击的插件。
scripts目录里面存放都是meterpreter利用的脚本。
3)MSF基本命令
①启动与关闭:
启动:msfconsole 正常启动
msfconsole -q 不显示msf的logo
关闭:exit
②问号(?)命令:查看所有的命令或某一命令的使用方法
命令 | 功能 |
---|---|
back | 从当前环境返回 |
banner | 显示一个MSF banner |
color | 颜色转换 |
connect | 连接一个主机 |
info | 显示一个或多个模块的信息 |
irb | 进入irb脚本模式 |
jobs | 显示和管理作业 |
kill | 杀死一个进程 |
load | 加载一个插件 |
loadpath | 在一个路径搜索并加载模块 |
quit | 退出MSF |
resource | 运行存储在一个文件中的命令 |
route | 查看一个会话的路由信息 |
search | 搜索模块名和描述 |
set | 给一个变量赋值 |
setg | 把一个值赋给全局变量 |
show | 显示所给类型的模块,或所有模块 |
sleep | sleep函数,睡眠时间 |
unload | 卸载一个模块 |
unset | 解除一个或多个变量 |
unsetg | 解除一个或多个全局变量 |
use | 通过名称选择一个模块 |
version | 显示MSF和控制台库版本号 |
3、MSF之MS08-067漏洞攻防还原
1、ms08-067漏洞介绍
MS08-067漏洞是2008年的一个特大漏洞,该漏洞目前早已修补。ms08_067漏洞是的著名远程溢出漏洞,它的影响范围非常大,甚至一些vista的系统都会有这个远程溢出的漏洞,主要针对的是windows server 2003、windows xp。
这里需要xp系统的推荐这篇文章:
Windows xp下载
2、攻击过程/步骤
环境准备:
靶机:Windows xp sp2 ,IP地址:192.168.231.34
攻击机:kali 2022.1 ,IP地址:192.168.231.124
步骤:
先确认攻击机和靶机之间是可以ping通的。
先是xp系统,也就是靶机ping攻击机,ping成功。
拿kali去ping靶机xp系统也能ping得通。
既然两台机器之间能互相ping通,现在可以开始对漏洞信息得搜集和攻击了。
使用netstat -an查看xp系统都开放了哪些端口,是否开启了445端口。可以看到445端口已开启。
现在利用kali的nmap工具对xp系统进行信息搜集看是否存在ms08-067漏洞。
使用命令:
cd /usr/share/nmap/scripts/
先进入nmap得漏洞插件目录,ls 查看存在ms08-067模块。
现在使用命令:nmap --script=vuln 192.168.231.34对靶机进行漏洞扫描:主机存活,且445端口开放。
开启msf,用search命令查看可利用模块。
①使用命令use exploit/windows/smb/ms08_067_netapi进入模块里。
②命令没写完就敲回车了,一个小错误。
③show options命令查看相关的使用说明。
设置好RHOST和LHOST后,在show options一次,可以看到已经设置好,待触发攻击。
用exploit命令开始对靶机发起攻击。如下:已成功渗透攻击靶机到后台。
现在可以通过命令行对靶机进行创建文件夹、查看目录或者新建文件等,甚至对靶机有危害的操作或行为。。。。。。
至此,MS08-067漏洞的复现结束。感兴趣的可以自己想着怎么做到攻击成果最大化。
以上是关于网络安全:kali之MSF工具基本使用方法的主要内容,如果未能解决你的问题,请参考以下文章