Metasploit模块
模块是通过Metasploit框架所装载、集成并对外提供的最核心的渗透测试功能实现代码。分为辅助模块(Aux)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(payloads)、编码器模块(Encoders)、空指令模块(Nops)。
辅助模块(Aux)
在渗透信息搜集环节提供了大量的辅助模块支持,包括针对各种网络服务的扫描与查点、构建虚假服务收集登录密码、口令猜测等模块。此外,辅助模块中还包括一些无须加载攻击载荷,同时往往不是取得目标系统远程控制权的渗透攻击,例如:拒绝服务攻击。
msfconsle中输入命令:show auxiliary 可以查看当前Metasploit支持的辅助模块,如下图所示:
渗透攻击模块(Exploits)
利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的代码组件。流行的渗透攻击技术包括缓存区溢出、Web应用程序漏洞攻击、用户配置错误等。
主动渗透攻击:发送网络数据,触发安全漏洞。比如web应用程序渗透攻击、SCADA工业控制系统服务渗透攻击等。
被动渗透攻击:浏览器软件漏洞攻击和文件格式漏洞攻击,引诱目标用户打开触发。
msfconsle中输入命令:show exploits 可以查看当前Metasploit支持的渗透攻击模块,如下图所示:
攻击载荷模块(payloads)
攻击载荷是在渗透攻击成功后促使目标系统运行的一段植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。在传统的渗透代码开发中,攻击载荷只是一段功能简单的ShellCode代码,以汇编语言编制并转换为目标系统CPU体系结构支持的机器代码,在渗透攻击触发漏洞后,将程序执行流程劫持并跳转入这段机器代码中执行,从而完成ShellCode中实现的单一功能。
metasploit攻击载荷模块分为独立(Single)、传输器(Stager)、传输体(Stage)三种类型。 独立攻击载荷是完全自包含的,可直接独立地植入目标系统进行执行,比如“windows/shell_bind_tcp”是适用于Windows操作系统平台,能够将Shell控制会话绑定在指定TCP端口上的攻击载荷。在一些比较特殊情况下,可能会对攻击载荷的大小、运行条件有所限制,比如特定安全漏洞利用时可填充邪恶攻击缓冲区的可用空间很小、windows 7等新型操作系统所引入的NX(堆栈不可执行)、DEP(数据执行保护)等安全防御机制,在这些场景情况下,Metasploit提供了传输器和传输体配对分阶段植入的技术,由渗透攻击模块首先植入代码精悍短小且非常可靠的传输器载荷,然后在运行传输器载荷时进一步下载传输体载荷并执行。
目标系统被渗透攻击之后需要执行的代码。比如反弹式shell、bind shell等。
在msfconsole界面输入:show payloads 可以查看当前系统支持的payloads,如下图所示:
空指令模块(Nops)
空指令(NOP)是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系结构平台上的操作码是ox90.
在渗透攻击构造邪恶数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区,这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。
在msfconsole中输入show nops 可以查看当前系统支持的空指令,如下图所示:
编码器模块(Encoders)
攻击载荷与空指令模块组装完成一个指令序列后,在这段指令被渗透攻击模块加入邪恶数据缓冲区交由目标系统运行之前,Metasploit框架还需要完成一道非常重要的工序——编码。
编码模块的第一个使命是确保攻击载荷中不会出现渗透攻击过程中应加以避免的”坏字符“。
编码器第二个使命是对攻击载荷进行”免杀“处理,即逃避反病毒软件、IDS入侵检测系统和IPS入侵防御系统的检测与阻断。
在msfconsole界面输入:show encoders 可以查看当前系统支持的编码器,如下图所示:
后渗透攻击模块(post)
主要支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各种各样的后渗透攻击动作,比如获取敏感信息,进一步括展,实施跳板攻击等。
在msfconsole界面输入show post 可以显示当前系统支持的后渗透攻击模块,如下图所示:
Metasploit基础命令
首先输入命令行输入msfconsole进入msf模块。
info
展示出制定渗透攻击或模块的相关信息。
Use:
use 命令的作用就是装载
use name 装载一个渗透攻击或模块。
use incognito 加载incognito功能(用来盗窃目标主机的令牌或假冒用户)
use priv 加载特权提升扩展模块,来扩展metasploit库。
use sniffer 加载嗅探模式。
Set:
set function 设置特定的配置参数(设置本地或远程主机参数)。
set target num 指定你所知道的目标的操作系统以及补丁版本类型。
set payload name 指定想要使用的攻击载荷。
Check 检测目标是否选定渗透攻击存在相应的安全漏洞。
Exploit:
exploit 执行渗透攻击或模块来攻击目标。
exploit -j 在计划任务下进行渗透攻击(攻击将在后台进行)。
exploit -z 渗透攻击完成后不与回话进行交互。
exploit -e encoder 制定使用的攻击载荷编码方式(exploit -eshikata_ga_nai)
exploit -h 列出exploit命令的帮助信息。
List:
list_tokens -u 列出目标主机用户的可用令牌。
list_tokens -g 列出目标主机用户组的可用令牌。
Sessions:
sessions -l 列出可用的交互会话(在处理多个shell时使用)。
sessions -l -v 列出所有可用的交互会话以及详细信息,EG:攻击系统时使用了哪 个安全漏洞。
sessions -s script 在所有活跃的metasploit会话中运行一个特定的metasploit 脚本。
sessions -c cmd 在所有活跃的metasploit会话上执行一个命令。
sessions -u sessionID 升级一个普通的win32 shell到metasploit shell。
sniffer:
sniffer_interfaces 列出目标主机所有开放的网络端口。
sniffer_dump interfaceID pcapname 在目标主机上启动嗅探。
sniffer_start interfaceID packet-buffer 在目标主机上针对特定范围的数据包 缓冲区启动嗅探。
sniffer_stats interfaceID 获取正在实施嗅探网络接口的统计数据。
sniffer_stop interfaceID 停止嗅探。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!