Windows-LOL

Living Off The Land


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


相关文章

相关资源


Powershell

开启执行策略

关闭执行策略

远程下载文件保存在本地

命令行执行 ps1 文件 (绕过本地权限执行)

ExecutionPolicy Bypass: 绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell 的安全策略规定了 PowerShell 不允许运行命令和文件。通过设置这个参数,可以绕过任意一个安全保护规则。在渗透测试中,基本每次运行 PowerShell 脚本时都要使用这个参数。

  • WindowStyle Hidden: 隐藏窗口。

  • NoLogo: 启动不显示版权标志的 PowerShell.

  • NonInteractive (-Nonl): 非交互模式,PowerShell 不为用户提供交互的提示。

  • NoProfile (-NoP): PowerShell 控制台不加载当前用户的配置文件。

  • Noexit: 执行后不退出 Shell。这在使用键盘记录等脚本时非常重要。

本地隐藏绕过权限执行脚本

远程下载并执行

将命令拆分为字符串,然后进行拼接

用IEX下载远程PS1脚本绕过权限执行


白名单

smb

kali 使用 Impacket

windows 命令行下拷贝

Bitsadmin

bitsadmin 是一个命令行工具,可用于创建下载或上传工作和监测其进展情况。

certutil

某些时候,服务器版本过低,无法使用 powershell,这时候可用 certutil 上线。

certutil 用于备份证书服务,支持 xp-win10 都支持。由于 certutil 下载文件都会留下缓存,所以一般都建议下载完文件后对缓存进行删除。

缓存目录为: %USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content

ipc$

MSBuild

Mshta.exe

Mshta.exe 运行 Microsoft HTML 应用程序主机,这是 Windows OS 实用程序,负责运行 HTA(HTML 应用程序)文件。可以用来运行 JavaScript 或 VBScript 的 HTML 文件。

目标端

这个基本上已经不好用了,杀软拦截的厉害

Rundll32.exe

Rundll32.exe 与 Windows 操作系统相关联,可调用从 DLL(16位或32位)导出的函数并将其存储在适当的内存库中。

url.dll

调用 API ShellExecute 打开程序

执行 js 文件

执行 hta 文件

zipfldr.dll

ieframe.dll

编写一个 .url 文件

shdocvw.dll

编写一个 .url 文件

相关文章

Regsvr32.exe

Regsvr32 是一个命令行实用程序,用于注册和注销 OLE 控件,例如 Windows 注册表中的 DLL 和 ActiveX 控件。Windows XP 和更高版本的 Windows 的 %systemroot%\ System32 文件夹中安装了 Regsvr32.exe。

Regsvr32 使用 “squablydoo” 技术绕过应用程序白名单。签名的 Microsoft 二进制文件 Regsvr32 可以请求一个 .sct 文件,然后在其中执行包含的 PowerShell 命令。这两个 Web 请求(即 .sct 文件和 PowerShell 下载 / 执行)都可以在同一端口上发生。“PSH(Binary)” 将向磁盘写入文件,允许下载 / 执行自定义二进制文件。

Msiexec.exe

msiexec 支持远程下载功能,将msi文件上传到服务器,通过如下命令远程执行:

攻击端

目标端

msxsl.exe

msxsl.exe 是微软用于命令行下处理 XSL 的一个程序,所以通过他,我们可以执行 JavaScript 进而执行系统命令。

下载地址 : https://www.microsoft.com/en-us/download/details.aspx?id=21714

msxsl.exe 需要接受两个文件,XML 及 XSL 文件,可以远程加载

demo.xml

exec.xsl

pubprn.vbs

在 Windows 7 以上版本存在一个名为 PubPrn.vbs 的微软已签名 WSH 脚本,其位于C:\Windows\System32\Printing_Admin_Scripts\en-US,仔细观察该脚本可以发现其显然是由用户提供输入(通过命令行参数),之后再将参数传递给 GetObject()

conhost

schtasks

SC

forfiles

iwr


Other

perl

python

ruby

lua